{"openapi":"3.0.0","paths":{"/":{"get":{"operationId":"AppController_getHello","parameters":[],"responses":{"200":{"description":"A simple hello message.","content":{"application/json":{"schema":{"type":"string"}}}}},"summary":"Get a hello message","tags":["App"]}},"/consumer/v1/oauth/clients/{client_id}":{"get":{"operationId":"OAuthController_clientInfo","parameters":[{"name":"client_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Retrieve information about an OAuth client.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OauthClientInfoResponseDto"}}}}},"tags":["OAuth"]},"put":{"description":"Updates the name, redirect URIs, and secret requirement of an OAuth application owned by the authenticated user.","operationId":"OAuthController_updateOwnedClient","parameters":[{"name":"client_id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertOauthClientDto"}}}},"responses":{"default":{"description":"OAuth client updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OauthManagedClientResponseDto_Output"}}}}},"summary":"Update an OAuth client","tags":["OAuth"]},"delete":{"description":"Deletes an OAuth application owned by the authenticated user.","operationId":"OAuthController_deleteOwnedClient","parameters":[{"name":"client_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":"OAuth client deleted."}},"summary":"Delete an OAuth client","tags":["OAuth"]}},"/consumer/v1/oauth/clients":{"get":{"description":"Returns the OAuth applications that the authenticated user can manage.","operationId":"OAuthController_listOwnedClients","parameters":[],"responses":{"default":{"description":"OAuth clients owned by the current user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OauthManagedClientsResponseDto_Output"}}}}},"summary":"List OAuth clients owned by the current user","tags":["OAuth"]},"post":{"description":"Creates a new OAuth application owned by the authenticated user.","operationId":"OAuthController_createOwnedClient","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertOauthClientDto"}}}},"responses":{"default":{"description":"OAuth client created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OauthManagedClientResponseDto_Output"}}}}},"summary":"Create an OAuth client","tags":["OAuth"]}},"/consumer/v1/oauth/clients/{client_id}/rotate-secret":{"post":{"description":"Generates a fresh client secret for a confidential OAuth application owned by the authenticated user.","operationId":"OAuthController_rotateOwnedClientSecret","parameters":[{"name":"client_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"default":{"description":"OAuth client secret rotated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OauthManagedClientResponseDto_Output"}}}}},"summary":"Rotate an OAuth client secret","tags":["OAuth"]}},"/consumer/v1/oauth/authorize":{"get":{"operationId":"OAuthController_authorize","parameters":[{"name":"client_id","required":true,"in":"query","description":"The client identifier issued to the client during the registration process.","schema":{"minLength":1,"type":"string"}},{"name":"redirect_uri","required":true,"in":"query","description":"The redirection endpoint URI registered by the client.","schema":{"format":"uri","type":"string"}},{"name":"scope","required":true,"in":"query","description":"The scope of the access request.","schema":{"minLength":1,"type":"string"}},{"name":"state","required":false,"in":"query","description":"An opaque value used by the client to maintain state between the request and callback.","schema":{"type":"string"}},{"name":"code_challenge","required":false,"in":"query","description":"PKCE code challenge. Public clients must send an S256 challenge.","schema":{"type":"string"}},{"name":"code_challenge_method","required":false,"in":"query","description":"PKCE code challenge method. Only S256 is supported.","schema":{"type":"string","enum":["S256"]}},{"name":"redirect","required":false,"in":"query","description":"If set to 'false', the server will return the redirect_uri with the code as a JSON response instead of redirecting.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Authorize an OAuth client and obtain an authorization code.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OauthAuthorizeResponseDto"}}}}},"tags":["OAuth"]}},"/consumer/v1/oauth/token":{"post":{"operationId":"OAuthController_token","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthTokenDto"}}}},"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OauthTokenResponseDto_Output"}}}}},"tags":["OAuth"]}},"/consumer/v1/oauth/clients/{client_id}/access":{"delete":{"description":"Revoke access for an authorized OAuth client.","operationId":"OAuthController_revokeAccess","parameters":[{"name":"client_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":"Revoke access for an authorized OAuth client."}},"summary":"","tags":["OAuth"]}},"/consumer/v1/guilds/{guildId}/projects/{projectId}/tasks":{"post":{"description":"Create a task in the project specified by the project id","operationId":"TasksController_create","parameters":[{"name":"projectId","required":true,"in":"path","description":"The ID of the project","schema":{"type":"string"}},{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTaskDto"}}}},"responses":{"201":{"description":"Task created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}}},"summary":"Create a task","tags":["Tasks"]},"put":{"description":"Updates the task order or changes the tasks state in the kanban board","operationId":"TasksController_updateTasks","parameters":[{"name":"projectId","required":true,"in":"path","description":"The ID of the project","schema":{"type":"string"}},{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProjectTasksDto"}}}},"responses":{"200":{"description":"Tasks updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProjectTasksDto"}}}},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}}},"summary":"Update task order in kanban board","tags":["Tasks"]},"get":{"description":"Get all task ids from a project specified by the project id","operationId":"TasksController_get","parameters":[{"name":"projectId","required":true,"in":"path","description":"The ID of the project","schema":{"type":"string"}},{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"The number of items to return","schema":{"minimum":1,"maximum":100,"type":"integer"}},{"name":"order","required":false,"in":"query","description":"The order of the items","schema":{"type":"string","enum":["asc","desc"]}},{"name":"after_task_id","required":false,"in":"query","description":"The task id to start from","schema":{"type":"string"}},{"name":"label_id","required":false,"in":"query","description":"The label id to filter","schema":{"type":"string"}}],"responses":{"200":{"description":"Tasks retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTasksFromProjectDto"}}}},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}}},"summary":"Get all task ids from a project","tags":["Tasks"]}},"/consumer/v1/guilds/{guildId}/projects/{projectId}/tasks/{taskId}":{"put":{"description":"Update the data of a task with the given id","operationId":"TasksController_update","parameters":[{"name":"projectId","required":true,"in":"path","description":"The ID of the project","schema":{"type":"string"}},{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"taskId","required":true,"in":"path","description":"The ID of the task","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTaskDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Task updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskDto_Output"}}}}},"summary":"Update a task","tags":["Tasks"]},"delete":{"description":"Delete the data of a task with the given id","operationId":"TasksController_delete","parameters":[{"name":"projectId","required":true,"in":"path","description":"The ID of the project","schema":{"type":"string"}},{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"taskId","required":true,"in":"path","description":"The ID of the task","schema":{"type":"string"}}],"responses":{"204":{"description":"Task deleted"},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}}},"summary":"Delete a task","tags":["Tasks"]},"get":{"description":"Get all data of a single task by the task id","operationId":"TasksController_getSingleTask","parameters":[{"name":"projectId","required":true,"in":"path","description":"The ID of the project","schema":{"type":"string"}},{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"taskId","required":true,"in":"path","description":"The ID of the task","schema":{"type":"string"}}],"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Task retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskDto_Output"}}}}},"summary":"Get a single task","tags":["Tasks"]}},"/consumer/v1/guilds/{guildId}/projects/{projectId}/tasks/sort":{"post":{"description":"Sort tasks in the project specified by the project id","operationId":"TasksController_sortTasks","parameters":[{"name":"projectId","required":true,"in":"path","description":"The ID of the project","schema":{"type":"string"}},{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SortTasksDto"}}}},"responses":{"200":{"description":"Tasks sorted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProjectTasksDto"}}}},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}}},"summary":"Sort tasks","tags":["Tasks"]}},"/consumer/v1/guilds/{guildId}/projects/{projectId}/tasks/{taskId}/comments":{"post":{"description":"Create a comment in the task specified by the task id","operationId":"TasksController_createComment","parameters":[{"name":"projectId","required":true,"in":"path","description":"The ID of the project","schema":{"type":"string"}},{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"taskId","required":true,"in":"path","description":"The ID of the task","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddCommentTaskDto"}}}},"responses":{"201":{"description":"Comment created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}}},"summary":"Create a comment","tags":["Tasks"]},"delete":{"description":"Delete a comment in the task specified by the task id","operationId":"TasksController_deleteComment","parameters":[{"name":"projectId","required":true,"in":"path","description":"The ID of the project","schema":{"type":"string"}},{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"taskId","required":true,"in":"path","description":"The ID of the task","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteCommentTaskDto"}}}},"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Comment deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskDto_Output"}}}}},"summary":"Delete a comment","tags":["Tasks"]},"patch":{"description":"Update a comment in the task specified by the task id","operationId":"TasksController_updateComment","parameters":[{"name":"projectId","required":true,"in":"path","description":"The ID of the project","schema":{"type":"string"}},{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"taskId","required":true,"in":"path","description":"The ID of the task","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCommentTaskDto"}}}},"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Comment updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskDto_Output"}}}}},"summary":"Update a comment","tags":["Tasks"]}},"/consumer/v1/guilds/{guildId}/projects/{projectId}/tasks/{taskId}/comments/summarize":{"get":{"description":"Summarize comments for the task using AI","operationId":"TasksController_summarizeComments","parameters":[{"name":"projectId","required":true,"in":"path","description":"The ID of the project","schema":{"type":"string"}},{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"taskId","required":true,"in":"path","description":"The ID of the task","schema":{"type":"string"}},{"name":"x-ai-operation-id","required":false,"in":"header","description":"Stable UUID for idempotent retries","schema":{"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Comments summarized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SummarizeCommentsResponseDto_Output"}}}}},"summary":"Summarize comments","tags":["Tasks"]}},"/consumer/v1/guilds/{guildId}/projects":{"get":{"description":"Get all projects of the guild","operationId":"ProjectsController_getAll","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"Number of projects to return, including the default project","schema":{"minimum":1,"maximum":100,"type":"integer"}},{"name":"after_cursor","required":false,"in":"query","description":"Project cursor returned by the previous page","schema":{"minLength":1,"type":"string"}}],"responses":{"default":{"description":"List of projects","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetProjectsResponseDto_Output"}}}}},"summary":"Get all projects","tags":["Projects"]},"post":{"description":"Create a new project in the guild","operationId":"ProjectsController_create","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProjectDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Created project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectDto_Output"}}}}},"summary":"Create a new project","tags":["Projects"]}},"/consumer/v1/guilds/{guildId}/projects/{projectId}":{"put":{"description":"Update a project in the specified guild","operationId":"ProjectsController_update","parameters":[{"name":"projectId","required":true,"in":"path","description":"The ID of the project","schema":{"type":"string"}},{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProjectDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Updated project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectDto_Output"}}}}},"summary":"Update a project","tags":["Projects"]},"delete":{"description":"Delete a project in the specified guild","operationId":"ProjectsController_delete","parameters":[{"name":"projectId","required":true,"in":"path","description":"The ID of the project","schema":{"type":"string"}},{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"204":{"description":"Project deleted"},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}}},"summary":"Delete a project","tags":["Projects"]},"get":{"description":"Get a project in the specified guild","operationId":"ProjectsController_getOne","parameters":[{"name":"projectId","required":true,"in":"path","description":"The ID of the project","schema":{"type":"string"}},{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Project data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectDto_Output"}}}}},"summary":"Get a project","tags":["Projects"]}},"/consumer/v1/guilds/{guildId}/permissions/grant":{"put":{"description":"Grants the specified permission to a user or team, determined by the body content","operationId":"PermissionsController_grantPermission","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionDto"}}}},"responses":{"204":{"description":"Permission granted"},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}}},"summary":"Grant a permission to a user or team","tags":["Permissions"]}},"/consumer/v1/guilds/{guildId}/permissions/revoke":{"put":{"description":"Revokes the specified permission from a user or team, determined by the body content","operationId":"PermissionsController_revokePermission","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionDto"}}}},"responses":{"204":{"description":"Permission granted"},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}}},"summary":"Revoke a permission from a user or team","tags":["Permissions"]}},"/consumer/v1/guilds/{guildId}/permissions/preset":{"put":{"description":"Applies a permission preset to a user or team, determined by the body content","operationId":"PermissionsController_applyPermissionPreset","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplyPermissionPresetDto"}}}},"responses":{"204":{"description":"Preset applied"},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}}},"summary":"Apply a permission preset to a user or team","tags":["Permissions"]}},"/consumer/v1/guilds/{guildId}/permissions/teams/{teamId}":{"get":{"description":"Get all bnder permission for the specified team","operationId":"PermissionsController_getTeamPermissions","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"teamId","required":true,"in":"path","description":"The ID of the team","schema":{"type":"string"}},{"name":"project_id","required":false,"in":"query","description":"Project scope for team permission reads.","schema":{"type":"string"}}],"responses":{"default":{"description":"Permissions retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AllPermissionsDto_Output"}}}}},"summary":"Get permissions of a team","tags":["Permissions"]}},"/consumer/v1/guilds/{guildId}/permissions/users/{userId}":{"get":{"description":"Get all bnder permission for the specified user","operationId":"PermissionsController_getUserPermissions","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"userId","required":true,"in":"path","description":"The ID of the user","schema":{"minLength":1,"type":"string"}}],"responses":{"default":{"description":"Permissions retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AllPermissionsDto_Output"}}}}},"summary":"Get permissions of a user","tags":["Permissions"]}},"/consumer/v1/guilds/{guildId}/permissions/matrix":{"post":{"description":"Gets direct user and team permission grants for the dashboard permission matrix in one request","operationId":"PermissionsController_getPermissionMatrix","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionsMatrixRequestDto"}}}},"responses":{"default":{"description":"Permission matrix retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionsMatrixResponseDto_Output"}}}}},"summary":"Get permission matrix data","tags":["Permissions"]}},"/consumer/v1/guilds/{guildId}/labels":{"get":{"description":"Get all labels for a guild by the guilds id","operationId":"LabelsController_get","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"default":{"description":"All labels for the guild","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAllLabelsResponseDto_Output"}}}}},"summary":"Get all labels","tags":["Labels"]},"post":{"description":"Create a label for a guild","operationId":"LabelsController_create","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LabelDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"The created label","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LabelResponseDto_Output"}}}}},"summary":"Create a label","tags":["Labels"]}},"/consumer/v1/guilds/{guildId}/labels/{labelId}":{"put":{"description":"Update a label for a guild by the guild and label id","operationId":"LabelsController_update","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"labelId","required":true,"in":"path","description":"The ID of the label","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LabelDto"}}}},"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"The updated label","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LabelResponseDto_Output"}}}}},"summary":"Update a label","tags":["Labels"]},"delete":{"description":"Delete a label for a guild by the guild and label id","operationId":"LabelsController_delete","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"labelId","required":true,"in":"path","description":"The ID of the label","schema":{"type":"string"}}],"responses":{"204":{"description":"The label was deleted"},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}}},"summary":"Delete a label","tags":["Labels"]}},"/consumer/v1/guilds/{guildId}/limits":{"get":{"description":"Get all guild limits and current usage","operationId":"GuildsController_getAllGuildLimits","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"lightweight","required":false,"in":"query","description":"Skip current usage counters for a faster billing-first response","schema":{"type":"boolean"}}],"responses":{"default":{"description":"All guild limits and usages","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAllGuildLimitsResponseDto_Output"}}}}},"summary":"Get all guild limits","tags":["Guilds"]}},"/consumer/v1/guilds/{guildId}/storage-usage":{"get":{"description":"Get a permission-filtered breakdown of workspace storage usage by source","operationId":"GuildsController_getStorageUsageDetails","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"default":{"description":"Workspace storage usage details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StorageUsageDetailsDto_Output"}}}}},"summary":"Get workspace storage usage details","tags":["Guilds"]}},"/consumer/v1/guilds/{guildId}/storage-usage/cleanup":{"post":{"description":"Delete selected visible cloud files, task attachments, or ticket attachments from their source","operationId":"GuildsController_cleanupStorageUsage","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CleanupStorageUsageDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Storage cleanup result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CleanupStorageUsageResultDto_Output"}}}}},"summary":"Clean up selected workspace storage contributors","tags":["Guilds"]}},"/consumer/v1/guilds/{guildId}/ticket-attachment-scan-queue":{"get":{"description":"Get workspace-level antivirus queue backlog, retry, and failure status","operationId":"GuildsController_getTicketAttachmentScanQueueStatus","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Ticket attachment scan queue status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketAttachmentScanQueueStatusDto_Output"}}}}},"summary":"Get ticket attachment scan queue status","tags":["Guilds"]}},"/consumer/v1/guilds/{guildId}/workspace-health":{"get":{"description":"Get active workspace warnings grouped by operational category","operationId":"GuildsController_getWorkspaceHealth","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Workspace health summary and active items","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceHealthResponseDto_Output"}}}}},"summary":"Get workspace health","tags":["Guilds"]}},"/consumer/v1/guilds/{guildId}/workspace-health/history":{"get":{"description":"Get recent lifecycle events for persisted non-malware workspace health rows","operationId":"GuildsController_getWorkspaceHealthHistory","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Workspace health lifecycle timeline","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceHealthHistoryResponseDto_Output"}}}}},"summary":"Get workspace health history","tags":["Guilds"]}},"/consumer/v1/guilds/{guildId}/workspace-health/acknowledge":{"post":{"description":"Move an active workspace health warning into the ignored section until it resolves","operationId":"GuildsController_acknowledgeWorkspaceHealthItem","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceHealthItemActionDto"}}}},"responses":{"204":{"description":""},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}}},"summary":"Ignore a workspace health row","tags":["Guilds"]}},"/consumer/v1/guilds/{guildId}/workspace-health/snooze":{"post":{"description":"Temporarily move an active workspace health warning into the ignored section","operationId":"GuildsController_snoozeWorkspaceHealthItem","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SnoozeWorkspaceHealthItemDto"}}}},"responses":{"204":{"description":""},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}}},"summary":"Snooze a workspace health row","tags":["Guilds"]}},"/consumer/v1/guilds/{guildId}/workspace-health/reactivate":{"post":{"description":"Return an ignored or snoozed workspace health warning to active counts and indicators","operationId":"GuildsController_reactivateWorkspaceHealthItem","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceHealthItemActionDto"}}}},"responses":{"204":{"description":""},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}}},"summary":"Restore an ignored workspace health row","tags":["Guilds"]}},"/consumer/v1/guilds/{guildId}/malware-remediation":{"get":{"description":"List currently blocked malware files across scanned workspace file surfaces","operationId":"GuildsController_getMalwareRemediationReport","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Malware remediation report","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MalwareRemediationReportDto_Output"}}}}},"summary":"Get malware remediation report","tags":["Guilds"]}},"/consumer/v1/guilds/{guildId}/malware-remediation/export":{"post":{"description":"Export the current malware incident list as JSON or CSV","operationId":"GuildsController_exportMalwareRemediationReport","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MalwareRemediationExportDto"}}}},"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Malware remediation export","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MalwareRemediationExportResponseDto_Output"}}}}},"summary":"Export malware remediation report","tags":["Guilds"]}},"/consumer/v1/guilds/{guildId}/malware-remediation/delete-all":{"post":{"description":"Deletes all currently detected malware files the admin can remediate","operationId":"GuildsController_deleteAllMalwareFiles","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Malware deletion result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteMalwareFilesResultDto_Output"}}}}},"summary":"Delete all malware files","tags":["Guilds"]}},"/consumer/v1/guilds/{guildId}/malware-remediation/delete":{"post":{"description":"Deletes one detected malware file the admin can remediate","operationId":"GuildsController_deleteMalwareFile","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MalwareRemediationIncidentRefDto"}}}},"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Malware deletion result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteMalwareFilesResultDto_Output"}}}}},"summary":"Delete one malware file","tags":["Guilds"]}},"/consumer/v1/guilds/{guildId}/malware-remediation/action":{"post":{"description":"Marks a malware incident as false positive","operationId":"GuildsController_updateMalwareIncidentAction","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MalwareRemediationIncidentActionDto"}}}},"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Updated malware incident","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MalwareRemediationIncidentActionResultDto_Output"}}}}},"summary":"Update one malware incident workflow state","tags":["Guilds"]}},"/consumer/v1/guilds/{guildId}/timezones":{"get":{"description":"Get all supported timezones","operationId":"GuildsController_getTimezones","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"default":{"description":"All supported timezones","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetGuildTimezonesResponseDto_Output"}}}}},"summary":"Get all supported timezones","tags":["Guilds"]}},"/consumer/v1/guilds/{guildId}":{"put":{"description":"Update settings for a guild","operationId":"GuildsController_updateGuild","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateGuildDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Updated guild","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GuildResponseDto_Output"}}}}},"summary":"Update settings for a guild","tags":["Guilds"]},"get":{"description":"Get guild settings and properties by the guild id","operationId":"GuildsController_get","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"default":{"description":"The guild","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GuildResponseDto_Output"}}}}},"summary":"Get a guild","tags":["Guilds"]}},"/consumer/v1/guilds/{guildId}/members/{memberId}":{"put":{"description":"Updates settings and preferences for a guild member","operationId":"GuildMemberController_updateGuildMember","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"memberId","required":true,"in":"path","description":"The ID of the guild member","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateGuildMemberDto"}}}},"responses":{"204":{"description":"Settings updated"},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}}},"summary":"Update settings for a guild member","tags":["Guild Member"]},"get":{"description":"Gets preferences and settings of a guild member. This does not return all data you would get from discords api","operationId":"GuildMemberController_getMember","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"memberId","required":true,"in":"path","description":"The ID of the guild member","schema":{"type":"string"}}],"responses":{"default":{"description":"Guild member data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetGuildMemberDto_Output"}}}}},"summary":"Get a guild member","tags":["Guild Member"]},"delete":{"description":"Removes a member from the guild","operationId":"GuildMemberController_removeMember","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"memberId","required":true,"in":"path","description":"The ID of the guild member","schema":{"type":"string"}}],"responses":{"204":{"description":"Member removed from guild"},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}}},"summary":"Remove a member from the guild","tags":["Guild Member"]}},"/consumer/v1/guilds/{guildId}/members/invited":{"get":{"description":"Gets all members that are invited to this guild","operationId":"GuildMemberController_getInvitedMembers","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Invited members","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetGuildInvitedMembersResponseDto_Output"}}}}},"summary":"Get invited members","tags":["Guild Member"]},"post":{"description":"Invites a member to the guild","operationId":"GuildMemberController_inviteMember","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteMemberDto"}}}},"responses":{"204":{"description":"Member invited"},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}}},"summary":"Invite a member to the guild","tags":["Guild Member"]}},"/consumer/v1/guilds/{guildId}/members/invited/{memberId}":{"delete":{"description":"Removes a member from the invited list","operationId":"GuildMemberController_removeInvitedMember","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"memberId","required":true,"in":"path","description":"The ID of the guild member","schema":{"type":"string"}}],"responses":{"204":{"description":"Member removed from invited list"},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}}},"summary":"Remove a member from the invited list","tags":["Guild Member"]}},"/consumer/v1/github/{id}":{"post":{"description":"Enables the GitHub Integration of the Task Manager Bot","operationId":"GithubController_handleGithubRequest","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"X-GitHub-Event","required":true,"in":"header","schema":{"type":"string"}},{"name":"X-Hub-Signature-256","required":true,"in":"header","schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully handled the GitHub Webhook request","content":{"application/json":{"schema":{"type":"string"}}}}},"summary":"Handles GitHub Webhook requests","tags":["Github"]},"get":{"description":"Shows a link to the help page when the user opens the link in the browser","operationId":"GithubController_handleGithubRequestGet","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Info message when user opens the link in browser","content":{"application/json":{"schema":{"type":"string"}}}}},"summary":"Info message when user opens the link in browser","tags":["Github"]}},"/consumer/v1/gitlab/{id}":{"post":{"description":"Enables the GitLab Integration of the Task Manager Bot","operationId":"GitlabController_handleGitlabRequest","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"X-Gitlab-Event","required":true,"in":"header","schema":{"type":"string"}},{"name":"X-Gitlab-Token","required":true,"in":"header","schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully handled the GitLab Webhook request","content":{"application/json":{"schema":{"type":"string"}}}}},"summary":"Handles GitLab Webhook requests","tags":["Gitlab"]}},"/consumer/v1/guilds/{guildId}/events":{"post":{"description":"Create a new event for the guild","operationId":"EventsController_createEvent","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateEventDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Event created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventResponseDto_Output"}}}}},"summary":"Create a new event","tags":["Events"]}},"/consumer/v1/guilds/{guildId}/events/{eventId}":{"put":{"description":"Update an existing event","operationId":"EventsController_updateEvent","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"eventId","required":true,"in":"path","description":"The ID of the event","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateEventDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Event updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventResponseDto_Output"}}}}},"summary":"Update an event","tags":["Events"]},"delete":{"description":"Delete an existing event","operationId":"EventsController_deleteEvent","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"eventId","required":true,"in":"path","description":"The ID of the event","schema":{"type":"string"}},{"name":"recurrence_scope","required":false,"in":"query","schema":{"type":"string","enum":["this","future","all"]}},{"name":"occurrence_start","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"204":{"description":"Event deleted"}},"summary":"Delete an event","tags":["Events"]},"get":{"description":"Get an event by ID","operationId":"EventsController_getEvent","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"eventId","required":true,"in":"path","description":"The ID of the event","schema":{"type":"string"}}],"responses":{"default":{"description":"Event retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventResponseDto_Output"}}}}},"summary":"Get an event","tags":["Events"]}},"/consumer/v1/guilds/{guildId}/events/plan":{"post":{"description":"Plan an event for the guild","operationId":"EventsController_planEvent","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventPlannerDto"}}}},"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Event planned","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventPlannerResponseDto_Output"}}}}},"summary":"Plan an event","tags":["Events"]}},"/consumer/v1/guilds/{guildId}/documents":{"post":{"description":"Creates a new document in the specified guild","operationId":"DocumentsController_create","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDocumentDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Document created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentResponseDto_Output"}}}}},"summary":"Create a new document","tags":["Documents"]},"get":{"description":"Gets a cursor-paginated document page. Can be filtered by project id. Defaults to 100 results","operationId":"DocumentsController_getAll","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"The number of items to return","schema":{"minimum":1,"maximum":100,"type":"integer"}},{"name":"project_id","required":false,"in":"query","description":"The ID of the project","schema":{"type":"string"}},{"name":"after_cursor","required":false,"in":"query","description":"Document cursor returned by the previous page","schema":{"minLength":1,"type":"string"}}],"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Documents retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAllDocumentsResponseDto_Output"}}}}},"summary":"Get all documents","tags":["Documents"]}},"/consumer/v1/guilds/{guildId}/documents/{documentId}":{"delete":{"description":"Deletes a document in the specified guild","operationId":"DocumentsController_delete","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"documentId","required":true,"in":"path","description":"The ID of the document","schema":{"type":"string"}}],"responses":{"204":{"description":"Document deleted"},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}}},"summary":"Delete a document","tags":["Documents"]},"put":{"description":"Updates a document in the specified guild","operationId":"DocumentsController_update","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"documentId","required":true,"in":"path","description":"The ID of the document","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDocumentDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Document updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentResponseDto_Output"}}}}},"summary":"Update a document","tags":["Documents"]},"get":{"description":"Gets the document data by id in the specified guild","operationId":"DocumentsController_get","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"documentId","required":true,"in":"path","description":"The ID of the document","schema":{"type":"string"}}],"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Document retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentResponseDto_Output"}}}}},"summary":"Get a document","tags":["Documents"]}},"/consumer/v1/page/{pageDomain}/documents":{"get":{"description":"Gets all public documents the specified guild to the domain. Can be filtered by project id and number of results limited. Defaults to 100 results maximum","operationId":"PublicDocumentsController_getAll","parameters":[{"name":"pageDomain","required":true,"in":"path","description":"The public domain of a page","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"The number of items to return","schema":{"minimum":1,"maximum":100,"type":"integer"}},{"name":"project_id","required":false,"in":"query","description":"The ID of the project","schema":{"type":"string"}}],"responses":{"default":{"description":"Documents retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPublicDocumentsResponseDto_Output"}}}}},"summary":"Get all public documents","tags":["Public Documents"]}},"/consumer/v1/page/{pageDomain}/documents/search":{"get":{"description":"Searches public documents in the specified domain","operationId":"PublicDocumentsController_search","parameters":[{"name":"pageDomain","required":true,"in":"path","description":"The public domain of a page","schema":{"type":"string"}},{"name":"query","required":true,"in":"query","schema":{"type":"string"}},{"name":"authorization","required":true,"in":"header","schema":{"type":"string"}},{"name":"x-bnder-customer-portal-session","required":true,"in":"header","schema":{"type":"string"}}],"responses":{"default":{"description":"Search results","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDocumentSearchResponseDto_Output"}}}}},"summary":"Search public documents","tags":["Public Documents"]}},"/consumer/v1/page/{pageDomain}/documents/{documentId}":{"get":{"description":"Gets a single public document by id","operationId":"PublicDocumentsController_getOne","parameters":[{"name":"pageDomain","required":true,"in":"path","description":"The public domain of a page","schema":{"type":"string"}},{"name":"documentId","required":true,"in":"path","description":"The ID of the document","schema":{"type":"string"}}],"responses":{"default":{"description":"Document retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentResponseDto_Output"}}}}},"summary":"Get a single public document","tags":["Public Documents"]}},"/consumer/v1/calendar/booking/{calendarKey}/verify-email":{"post":{"operationId":"CalendarController_requestBookingEmailVerification","parameters":[{"name":"calendarKey","required":true,"in":"path","description":"The public calendar key, obtained from the Calendar Manager command \"/event subscription\"","schema":{"minLength":1,"type":"string"}},{"name":"page_domain","required":false,"in":"query","description":"Optional page domain that hosts the booking page","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestBookingEmailVerificationDto"}}}},"responses":{"default":{"description":"Verification email accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingEmailVerificationResponseDto_Output"}}}}},"tags":["Calendar"]}},"/consumer/v1/calendar/booking/{calendarKey}/verify-email/{token}":{"get":{"operationId":"CalendarController_getBookingEmailVerification","parameters":[{"name":"calendarKey","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"token","required":true,"in":"path","schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"}}],"responses":{"default":{"description":"Verification link resolved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetBookingEmailVerificationResponseDto_Output"}}}}},"tags":["Calendar"]}},"/consumer/v1/calendar/booking/{calendarKey}":{"get":{"description":"Returns the user, workspace, and availability details for a booking page link","operationId":"CalendarController_getPublicBookingInfo","parameters":[{"name":"calendarKey","required":true,"in":"path","description":"The public calendar key, obtained from the Calendar Manager command \"/event subscription\"","schema":{"minLength":1,"type":"string"}},{"name":"page_domain","required":false,"in":"query","description":"Optional page domain used to validate booking ownership","schema":{"type":"string"}},{"name":"days","required":false,"in":"query","description":"Optional number of days to return availability for","schema":{"type":"number"}},{"name":"preferred_host_user_id","required":false,"in":"query","description":"Optional host whose availability should be preferred","schema":{"minLength":1,"type":"string"}},{"name":"reschedule_request_id","required":false,"in":"query","description":"Booking request being rescheduled","schema":{"minLength":1,"type":"string"}},{"name":"reschedule_token","required":false,"in":"query","description":"Requester token authorizing reschedule availability","schema":{"minLength":1,"type":"string"}}],"responses":{"default":{"description":"Public booking info retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPublicBookingInfoResponseDto_Output"}}}}},"summary":"Get booking page info by public key","tags":["Calendar"]}},"/consumer/v1/calendar/booking/{calendarKey}/request":{"post":{"description":"Creates a booking request that must be confirmed by the calendar owner","operationId":"CalendarController_createBookingRequest","parameters":[{"name":"calendarKey","required":true,"in":"path","description":"The public calendar key, obtained from the Calendar Manager command \"/event subscription\"","schema":{"minLength":1,"type":"string"}},{"name":"page_domain","required":false,"in":"query","description":"Optional page domain that hosts the booking page","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBookingRequestDto"}}}},"responses":{"default":{"description":"Booking request created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingRequestResponseDto_Output"}}}}},"summary":"Create a booking request","tags":["Calendar"]}},"/consumer/v1/calendar/booking/request/{requestId}":{"get":{"description":"Returns booking request details for requester self-service flows","operationId":"CalendarController_getBookingRequest","parameters":[{"name":"requestId","required":true,"in":"path","description":"Booking request id","schema":{"minLength":1,"type":"string"}},{"name":"token","required":true,"in":"query","description":"Secure booking request token","schema":{"minLength":1,"type":"string"}}],"responses":{"default":{"description":"Booking request retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetBookingRequestResponseDto_Output"}}}}},"summary":"Get booking request details","tags":["Calendar"]}},"/consumer/v1/calendar/booking/request/{requestId}/cancel":{"post":{"description":"Cancels a booking request for the requester","operationId":"CalendarController_cancelBookingRequest","parameters":[{"name":"requestId","required":true,"in":"path","description":"Booking request id","schema":{"minLength":1,"type":"string"}},{"name":"token","required":true,"in":"query","description":"Secure booking request token","schema":{"minLength":1,"type":"string"}}],"responses":{"default":{"description":"Booking request cancelled","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingRequestStatusResponseDto_Output"}}}}},"summary":"Cancel booking request","tags":["Calendar"]}},"/consumer/v1/calendar/booking/request/{requestId}/reschedule":{"post":{"description":"Reschedules a booking request for the requester","operationId":"CalendarController_rescheduleBookingRequest","parameters":[{"name":"requestId","required":true,"in":"path","description":"Booking request id","schema":{"minLength":1,"type":"string"}},{"name":"token","required":true,"in":"query","description":"Secure booking request token","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RescheduleBookingRequestDto"}}}},"responses":{"default":{"description":"Booking request rescheduled","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingRequestStatusResponseDto_Output"}}}}},"summary":"Reschedule booking request","tags":["Calendar"]}},"/consumer/v1/calendar/booking-links/{guildId}":{"get":{"description":"Returns all booking links for the authenticated user in a workspace","operationId":"CalendarController_getBookingLinks","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"default":{"description":"Booking links retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetBookingLinksResponseDto_Output"}}}}},"summary":"List booking links","tags":["Calendar"]},"post":{"description":"Creates a new booking link for the authenticated user","operationId":"CalendarController_createBookingLink","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBookingLinkDto"}}}},"responses":{"default":{"description":"Booking link created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingLinkResponseDto_Output"}}}}},"summary":"Create booking link","tags":["Calendar"]}},"/consumer/v1/calendar/booking-links/{guildId}/{linkId}":{"put":{"description":"Updates booking link metadata like name or slot duration","operationId":"CalendarController_updateBookingLink","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"linkId","required":true,"in":"path","description":"Booking link id","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBookingLinkDto"}}}},"responses":{"default":{"description":"Booking link updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingLinkResponseDto_Output"}}}}},"summary":"Update booking link","tags":["Calendar"]},"delete":{"description":"Deletes a booking link for the authenticated user","operationId":"CalendarController_deleteBookingLink","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"linkId","required":true,"in":"path","description":"Booking link id","schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"description":""}},"summary":"Delete booking link","tags":["Calendar"]}},"/consumer/v1/calendar/booking-links/{guildId}/{linkId}/regenerate":{"post":{"description":"Regenerates the public key for an existing booking link","operationId":"CalendarController_regenerateBookingLink","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"linkId","required":true,"in":"path","description":"Booking link id","schema":{"minLength":1,"type":"string"}}],"responses":{"default":{"description":"Booking link regenerated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingLinkResponseDto_Output"}}}}},"summary":"Regenerate booking link key","tags":["Calendar"]}},"/consumer/v1/calendar/booking-links/{guildId}/requests/by-event/{eventId}":{"get":{"description":"Returns a booking request linked to a calendar event for owner confirmation actions","operationId":"CalendarController_getOwnerBookingRequestByEvent","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"eventId","required":true,"in":"path","description":"Calendar event id","schema":{"minLength":1,"type":"string"}}],"responses":{"default":{"description":"Owner booking request retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOwnerBookingRequestResponseDto_Output"}}}}},"summary":"Get owner booking request by event id","tags":["Calendar"]}},"/consumer/v1/calendar/booking-links/{guildId}/requests/{requestId}/confirm":{"post":{"description":"Confirms a pending booking request from the calendar owner UI","operationId":"CalendarController_confirmBookingRequestAsOwner","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"requestId","required":true,"in":"path","description":"Booking request id","schema":{"minLength":1,"type":"string"}}],"responses":{"default":{"description":"Owner booking request status updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingRequestStatusResponseDto_Output"}}}}},"summary":"Confirm booking request as owner","tags":["Calendar"]}},"/consumer/v1/calendar/booking-links/{guildId}/requests/{requestId}/decline":{"post":{"description":"Declines a pending booking request from the calendar owner UI","operationId":"CalendarController_declineBookingRequestAsOwner","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"requestId","required":true,"in":"path","description":"Booking request id","schema":{"minLength":1,"type":"string"}}],"responses":{"default":{"description":"Owner booking request status updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingRequestStatusResponseDto_Output"}}}}},"summary":"Decline booking request as owner","tags":["Calendar"]}},"/consumer/v1/calendar/{calendarKey}":{"get":{"description":"Get the calendar of a guild member by the public key for the member of a specific guild. Returns the calendar in iCal format","operationId":"CalendarController_getCalendarByPublicKey","parameters":[{"name":"calendarKey","required":true,"in":"path","description":"The public calendar key, obtained from the Calendar Manager command \"/event subscription\"","schema":{"minLength":1,"type":"string"}},{"name":"If-None-Match","in":"header","description":"Previously returned calendar ETag. A matching current representation returns 304.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Current iCal feed","headers":{"ETag":{"description":"Content-derived validator for this iCal representation","schema":{"type":"string"}}},"content":{"text/calendar":{"schema":{"type":"string"}}}},"304":{"description":"The current iCal representation matches If-None-Match","headers":{"ETag":{"description":"Validator matching the cached iCal representation","schema":{"type":"string"}}}}},"summary":"Get calendar by public key","tags":["Calendar"]}},"/consumer/v1/calendar/events/{guildId}/{start}/{end}":{"get":{"description":"Get the calendar events for a user in a specific guild for a specific time frame","operationId":"CalendarController_getCalendar","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"start","required":true,"in":"path","description":"Start date of the time frame to get the calendar for","schema":{"type":"string"}},{"name":"end","required":true,"in":"path","description":"End date of the time frame to get the calendar for","schema":{"type":"string"}}],"responses":{"default":{"description":"Returns the users events. If accessed via api key, the user owning the api key is used.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetUserCalendarResponseDto_Output"}}}}},"summary":"Get calendar events for a user","tags":["Calendar"]}},"/consumer/v1/apikeys/{key}/usage":{"get":{"description":"Get the usage of an API key","operationId":"ApiKeysController_getUsage","parameters":[{"name":"key","required":true,"in":"path","description":"The api key used to authenticate the request","schema":{"type":"string"}}],"responses":{"default":{"description":"API key usage","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyUsageResponseDto_Output"}}}}},"summary":"Get API key usage","tags":["Apikeys"]}},"/consumer/v1/guilds/{guildId}/topics":{"post":{"description":"Create a new topic in the guild","operationId":"TopicsController_create","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTopicDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Created topic","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopicResponseDto_Output"}}}}},"summary":"Create a topic","tags":["Topics"]},"get":{"description":"Get a cursor-paginated topic page. Can be filtered by project id. Default limit is 100","operationId":"TopicsController_getAll","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"The number of items to return","schema":{"minimum":1,"maximum":100,"type":"integer"}},{"name":"project_id","required":false,"in":"query","description":"The ID of the project","schema":{"type":"string"}},{"name":"after_cursor","required":false,"in":"query","description":"Topic cursor returned by the previous page","schema":{"minLength":1,"type":"string"}}],"responses":{"default":{"description":"Retrieved topics","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAllTopicsResponseDto_Output"}}}}},"summary":"Get all topics","tags":["Topics"]}},"/consumer/v1/guilds/{guildId}/topics/{topicId}":{"delete":{"description":"Delete a topic in the guild and all documents inside the topic","operationId":"TopicsController_delete","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"topicId","required":true,"in":"path","description":"The ID of the topic","schema":{"type":"string"}}],"responses":{"204":{"description":"Topic deleted"},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}}},"summary":"Delete a topic","tags":["Topics"]},"put":{"description":"Update an existing topic in the guild","operationId":"TopicsController_update","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"topicId","required":true,"in":"path","description":"The ID of the topic","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTopicDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Updated topic","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopicResponseDto_Output"}}}}},"summary":"Update a topic","tags":["Topics"]},"get":{"description":"Get a topic by the topic id","operationId":"TopicsController_get","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"topicId","required":true,"in":"path","description":"The ID of the topic","schema":{"type":"string"}}],"responses":{"default":{"description":"Retrieved topic","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopicResponseDto_Output"}}}}},"summary":"Get a topic","tags":["Topics"]}},"/consumer/v1/guilds/{guildId}/projects/{projectId}/milestones":{"post":{"description":"Creates a new milestone in the specified project","operationId":"MilestonesController_createMilestone","parameters":[{"name":"projectId","required":true,"in":"path","description":"The ID of the project","schema":{"type":"string"}},{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MilestoneDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"The created milestone","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MilestoneResponseDto_Output"}}}}},"summary":"Creates a new milestone","tags":["Milestones"]},"get":{"description":"Lists all milestones in the specified project","operationId":"MilestonesController_listMilestones","parameters":[{"name":"projectId","required":true,"in":"path","description":"The ID of the project","schema":{"type":"string"}},{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"Number of milestones to return","schema":{"minimum":1,"maximum":100,"type":"integer"}},{"name":"after_cursor","required":false,"in":"query","description":"Milestone cursor returned by the previous page","schema":{"minLength":1,"type":"string"}}],"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Milestones listed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListMilestonesResponseDto_Output"}}}}},"summary":"Lists milestones","tags":["Milestones"]}},"/consumer/v1/guilds/{guildId}/projects/{projectId}/milestones/{milestoneId}":{"delete":{"description":"Deletes a milestone in the specified project","operationId":"MilestonesController_deleteMilestone","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"projectId","required":true,"in":"path","description":"The ID of the project","schema":{"type":"string"}},{"name":"milestoneId","required":true,"in":"path","description":"The ID of the milestone","schema":{"type":"string"}}],"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Milestone deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MilestoneResponseDto_Output"}}}}},"summary":"Deletes a milestone","tags":["Milestones"]},"put":{"description":"Updates a milestone in the specified project","operationId":"MilestonesController_updateMilestone","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"projectId","required":true,"in":"path","description":"The ID of the project","schema":{"type":"string"}},{"name":"milestoneId","required":true,"in":"path","description":"The ID of the milestone","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMilestoneDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Milestone updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MilestoneDto_Output"}}}}},"summary":"Updates a milestone","tags":["Milestones"]},"get":{"description":"Gets a milestone in the specified project","operationId":"MilestonesController_getMilestone","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"projectId","required":true,"in":"path","description":"The ID of the project","schema":{"type":"string"}},{"name":"milestoneId","required":true,"in":"path","description":"The ID of the milestone","schema":{"type":"string"}}],"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Milestone retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MilestoneResponseDto_Output"}}}}},"summary":"Gets a milestone","tags":["Milestones"]}},"/consumer/v1/guilds/{guildId}/files":{"post":{"operationId":"FilesController_createFolder","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFolderDto"}}}},"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Create a new folder in the specified project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderDto_Output"}}}}},"tags":["Files"]}},"/consumer/v1/guilds/{guildId}/files/folder/{folderId}":{"put":{"operationId":"FilesController_updateFolder","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"folderId","required":true,"in":"path","description":"The ID of the folder","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateFolderDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"Update the name or parent of a folder","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderDto_Output"}}}}},"tags":["Files"]},"delete":{"operationId":"FilesController_deleteFolder","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"folderId","required":true,"in":"path","description":"The ID of the folder","schema":{"type":"string"}}],"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Delete a folder and all its contents","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderDto_Output"}}}}},"tags":["Files"]}},"/consumer/v1/guilds/{guildId}/files/{fileId}":{"put":{"operationId":"FilesController_updateFile","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"fileId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateFileDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"Update the name of a file","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileDto_Output"}}}}},"tags":["Files"]}},"/consumer/v1/guilds/{guildId}/pages/domains":{"post":{"description":"Creates a new domain in the","operationId":"PagesController_createDomain","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDomainDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"The created domain","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainResponseDto_Output"}}}}},"summary":"Create a new domain","tags":["Pages"]},"get":{"description":"Gets all domains in the guild","operationId":"PagesController_getDomains","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"List of domains","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetDomainsResponseDto_Output"}}}}},"summary":"Get all domains","tags":["Pages"]}},"/consumer/v1/guilds/{guildId}/pages/domains/{domainId}":{"get":{"description":"Gets a domain in the guild","operationId":"PagesController_getDomain","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"domainId","required":true,"in":"path","description":"The ID of the domain","schema":{"type":"string"}}],"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"The requested domain","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainResponseDto_Output"}}}}},"summary":"Get a domain","tags":["Pages"]},"delete":{"description":"Deletes a domain in the guild","operationId":"PagesController_deleteDomain","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"domainId","required":true,"in":"path","description":"The ID of the domain","schema":{"type":"string"}}],"responses":{"204":{"description":"Domain deleted successfully"},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}}},"summary":"Delete a domain","tags":["Pages"]},"put":{"description":"Updates a domain in the guild","operationId":"PagesController_updateDomain","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"domainId","required":true,"in":"path","description":"The ID of the domain","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDomainDto"}}}},"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"The updated domain","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainResponseDto_Output"}}}}},"summary":"Update a domain","tags":["Pages"]}},"/consumer/v1/guilds/{guildId}/pages/domains/{domainId}/assets/{assetType}":{"post":{"description":"Uploads either the domain logo or background image to the CDN and stores the new asset version.","operationId":"PagesController_uploadDomainAsset","parameters":[{"name":"guildId","required":true,"in":"path","description":"The workspace id that owns the domain.","schema":{"type":"string"}},{"name":"domainId","required":true,"in":"path","description":"The domain id whose asset should be changed.","schema":{"type":"string"}},{"name":"assetType","required":true,"in":"path","description":"The page-domain asset type to upload or delete.","schema":{"type":"string","enum":["logo","background"]}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}},"required":["file"]}}}},"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"The updated domain","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainResponseDto_Output"}}}}},"summary":"Upload one page-domain branding asset","tags":["Pages"]},"delete":{"description":"Deletes either the domain logo or the domain background image from the CDN.","operationId":"PagesController_deleteDomainAsset","parameters":[{"name":"guildId","required":true,"in":"path","description":"The workspace id that owns the domain.","schema":{"type":"string"}},{"name":"domainId","required":true,"in":"path","description":"The domain id whose asset should be changed.","schema":{"type":"string"}},{"name":"assetType","required":true,"in":"path","description":"The page-domain asset type to upload or delete.","schema":{"type":"string","enum":["logo","background"]}}],"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"The updated domain","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainResponseDto_Output"}}}}},"summary":"Delete one page-domain branding asset","tags":["Pages"]}},"/consumer/v1/public/pages/{pageDomain}/branding":{"get":{"description":"Resolves the current page host to the branding payload used by the public user-pages frontend.","operationId":"PublicPagesController_getBranding","parameters":[{"name":"pageDomain","required":true,"in":"path","description":"The public domain of a page","schema":{"type":"string"}}],"responses":{"default":{"description":"Resolved public page branding","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicPageBrandingResponseDto_Output"}}}}},"summary":"Get public branding for one page domain","tags":["Public Pages"]}},"/consumer/v1/chat/usage":{"get":{"operationId":"ChatController_getUsage","parameters":[{"name":"workspaceId","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","required":["source","plan","allowanceTokens","usedTokens","reservedTokens","remainingTokens","periodStart","periodEnd","nextResetAt"],"properties":{"source":{"enum":["free_account","starter_seat","pro_seat"]},"plan":{"enum":["free","starter","pro"]},"allowanceTokens":{"type":"integer"},"usedTokens":{"type":"integer"},"reservedTokens":{"type":"integer"},"remainingTokens":{"type":"integer"},"periodStart":{"type":"string","format":"date-time"},"periodEnd":{"type":"string","format":"date-time"},"nextResetAt":{"type":"string","format":"date-time"},"paidSeatId":{"type":"string"}}}}}}},"summary":"Get the current user's personal AI allowance and usage","tags":["AI Chat"]}},"/consumer/v1/slack/command":{"post":{"operationId":"SlackController_command","parameters":[],"responses":{"201":{"description":""}},"tags":["Slack"]}},"/consumer/v1/slack/events":{"post":{"operationId":"SlackController_events","parameters":[],"responses":{"201":{"description":""}},"tags":["Slack"]}},"/consumer/v1/guilds/{guildId}/virtual-coworkers":{"get":{"description":"Get all virtual coworkers for a guild by the guilds id","operationId":"VirtualCoworkersController_get","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"default":{"description":"All virtual coworkers for the guild","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAllVirtualCoworkersResponseDto_Output"}}}}},"summary":"Get all virtual coworkers","tags":["Virtual Coworkers"]},"post":{"description":"Create a virtual coworker for a guild by the guild id","operationId":"VirtualCoworkersController_create","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VirtualCoworkerDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"The created virtual coworker","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VirtualCoworkerResponseDto_Output"}}}}},"summary":"Create a virtual coworker","tags":["Virtual Coworkers"]}},"/consumer/v1/guilds/{guildId}/virtual-coworkers/eligible-ai-sponsor-seats":{"get":{"operationId":"VirtualCoworkersController_getEligibleAiSponsorSeats","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Eligible sponsoring seats","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EligibleAiSponsorSeatsDto_Output"}}}}},"summary":"Get assigned Pro seats eligible to sponsor autonomous AI usage","tags":["Virtual Coworkers"]}},"/consumer/v1/guilds/{guildId}/virtual-coworkers/{virtualCoworkerId}":{"put":{"description":"Update a virtual coworker for a guild by the guild and virtual coworker id","operationId":"VirtualCoworkersController_update","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"virtualCoworkerId","required":true,"in":"path","description":"The ID of the virtual coworker","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VirtualCoworkerDto"}}}},"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"The updated virtual coworker","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VirtualCoworkerResponseDto_Output"}}}}},"summary":"Update a virtual coworker","tags":["Virtual Coworkers"]},"delete":{"description":"Delete a virtual coworker for a guild by the guild and virtual coworker id","operationId":"VirtualCoworkersController_delete","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"virtualCoworkerId","required":true,"in":"path","description":"The ID of the virtual coworker","schema":{"type":"string"}}],"responses":{"204":{"description":"The virtual coworker was deleted"},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}}},"summary":"Delete a virtual coworker","tags":["Virtual Coworkers"]}},"/consumer/v1/guilds/{guildId}/tickets/mailboxes":{"get":{"operationId":"TicketsController_listMailboxes","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"default":{"description":"Ticket mailbox connections","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketMailboxListResponseDto_Output"}}}}},"summary":"List ticket mailbox connections","tags":["Tickets"]},"post":{"operationId":"TicketsController_createMailbox","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertTicketMailboxDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"Created ticket mailbox connection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketMailboxConnectionDto_Output"}}}}},"summary":"Create ticket mailbox connection","tags":["Tickets"]}},"/consumer/v1/guilds/{guildId}/tickets/mailboxes/{mailboxConnectionId}":{"put":{"operationId":"TicketsController_updateMailbox","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"mailboxConnectionId","required":true,"in":"path","description":"Ticket mailbox connection ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertTicketMailboxDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"Updated ticket mailbox connection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketMailboxConnectionDto_Output"}}}}},"summary":"Update ticket mailbox connection","tags":["Tickets"]},"delete":{"operationId":"TicketsController_deleteMailbox","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"mailboxConnectionId","required":true,"in":"path","description":"Ticket mailbox connection ID","schema":{"type":"string"}}],"responses":{"204":{"description":"Ticket mailbox connection deleted"}},"tags":["Tickets"]}},"/consumer/v1/guilds/{guildId}/tickets/mailboxes/{mailboxConnectionId}/test":{"post":{"operationId":"TicketsController_testMailbox","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"mailboxConnectionId","required":true,"in":"path","description":"Ticket mailbox connection ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestTicketMailboxDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"Ticket mailbox test result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketMailboxTestResponseDto_Output"}}}}},"summary":"Test ticket mailbox connection","tags":["Tickets"]}},"/consumer/v1/guilds/{guildId}/tickets/mailboxes/{mailboxConnectionId}/quarantine":{"get":{"operationId":"TicketsController_listQuarantinedMailboxMessages","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"mailboxConnectionId","required":true,"in":"path","description":"Ticket mailbox connection ID","schema":{"type":"string"}}],"responses":{"default":{"description":"Quarantined inbound messages","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketMailboxQuarantineListResponseDto_Output"}}}}},"summary":"List quarantined inbound mailbox messages","tags":["Tickets"]}},"/consumer/v1/guilds/{guildId}/tickets/mailboxes/{mailboxConnectionId}/quarantine/{quarantinedMessageId}/retry":{"post":{"operationId":"TicketsController_retryQuarantinedMailboxMessage","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"mailboxConnectionId","required":true,"in":"path","description":"Ticket mailbox connection ID","schema":{"type":"string"}},{"name":"quarantinedMessageId","required":true,"in":"path","description":"Quarantined inbound message ID","schema":{"minLength":1,"type":"string"}}],"responses":{"204":{"description":"Quarantined message replayed and removed"}},"tags":["Tickets"]}},"/consumer/v1/guilds/{guildId}/tickets/mailboxes/{mailboxConnectionId}/quarantine/{quarantinedMessageId}/download":{"get":{"operationId":"TicketsController_downloadQuarantinedMailboxMessage","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"mailboxConnectionId","required":true,"in":"path","description":"Ticket mailbox connection ID","schema":{"type":"string"}},{"name":"quarantinedMessageId","required":true,"in":"path","description":"Quarantined inbound message ID","schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"description":"Original RFC 822 email","content":{"message/rfc822":{"schema":{"type":"string","format":"binary"}}}}},"summary":"Download the original quarantined email","tags":["Tickets"]}},"/consumer/v1/guilds/{guildId}/tickets/mailboxes/{mailboxConnectionId}/quarantine/{quarantinedMessageId}":{"delete":{"operationId":"TicketsController_dismissQuarantinedMailboxMessage","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"mailboxConnectionId","required":true,"in":"path","description":"Ticket mailbox connection ID","schema":{"type":"string"}},{"name":"quarantinedMessageId","required":true,"in":"path","description":"Quarantined inbound message ID","schema":{"minLength":1,"type":"string"}}],"responses":{"204":{"description":"Quarantined message dismissed and removed"}},"tags":["Tickets"]}},"/consumer/v1/guilds/{guildId}/tickets/settings":{"get":{"operationId":"TicketsController_getSettings","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"project_id","required":false,"in":"query","description":"Optional project context for project-scoped template enforcement","schema":{"type":"string"}}],"responses":{"default":{"description":"Ticket settings","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketSettingsDto_Output"}}}}},"summary":"Get ticket settings","tags":["Tickets"]},"put":{"operationId":"TicketsController_updateSettings","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"project_id","required":false,"in":"query","description":"Optional project context for project-scoped template enforcement","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTicketSettingsDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"Updated ticket settings","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketSettingsDto_Output"}}}}},"summary":"Update ticket settings","tags":["Tickets"]}},"/consumer/v1/guilds/{guildId}/tickets/templates":{"get":{"operationId":"TicketsController_listTemplates","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"default":{"description":"Ticket templates","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketTemplateListResponseDto_Output"}}}}},"summary":"List ticket templates","tags":["Tickets"]},"post":{"operationId":"TicketsController_createTemplate","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertTicketTemplateDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketTemplateDto"}}}}},"summary":"Create ticket template","tags":["Tickets"]}},"/consumer/v1/guilds/{guildId}/tickets/templates/{templateId}":{"put":{"operationId":"TicketsController_updateTemplate","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"templateId","required":true,"in":"path","description":"Template ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertTicketTemplateDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketTemplateDto"}}}}},"summary":"Update ticket template","tags":["Tickets"]},"delete":{"operationId":"TicketsController_deleteTemplate","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"templateId","required":true,"in":"path","description":"Template ID","schema":{"type":"string"}}],"responses":{"204":{"description":"Template deleted"}},"tags":["Tickets"]}},"/consumer/v1/guilds/{guildId}/tickets":{"get":{"operationId":"TicketsController_listTickets","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"Maximum number of returned tickets","schema":{"minimum":1,"maximum":100,"type":"integer"}},{"name":"project_id","required":false,"in":"query","description":"Filter by project","schema":{"type":"string"}},{"name":"status","required":false,"in":"query","description":"Filter by status","schema":{"type":"string"}},{"name":"assignee_user_id","required":false,"in":"query","description":"Filter by assignee","schema":{"type":"string"}},{"name":"label_id","required":false,"in":"query","description":"Filter by label ID","schema":{"type":"string"}},{"name":"linked_task_id","required":false,"in":"query","description":"Filter by linked task ID","schema":{"type":"string"}},{"name":"ticket_role","required":false,"in":"query","description":"Filter by explicit ticket role","schema":{"type":"string","enum":["standard","master"]}},{"name":"child_ticket_only","required":false,"in":"query","description":"Filter to tickets attached to a master ticket","schema":{"type":"boolean"}}],"responses":{"default":{"description":"Tickets","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketListResponseDto_Output"}}}}},"summary":"List tickets","tags":["Tickets"]},"post":{"operationId":"TicketsController_createTicket","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTicketDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Create ticket","tags":["Tickets"]}},"/consumer/v1/guilds/{guildId}/tickets/analytics":{"get":{"operationId":"TicketsController_getAnalytics","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"project_id","required":true,"in":"query","schema":{"minLength":1,"pattern":"^[^/]+$","type":"string"}},{"name":"from","required":true,"in":"query","schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}},{"name":"to","required":true,"in":"query","schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}},{"name":"assignee_user_id","required":false,"in":"query","schema":{"type":"string"}},{"name":"unassigned","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"customer_id","required":false,"in":"query","schema":{"type":"string"}},{"name":"without_customer","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"type","required":false,"in":"query","schema":{"type":"string"}},{"name":"priority","required":false,"in":"query","schema":{"type":"string","enum":["low","normal","high","urgent"]}},{"name":"comparison_mode","required":false,"in":"query","schema":{"default":"previous_period","type":"string","enum":["previous_period","previous_month","same_period_last_year","custom"]}},{"name":"comparison_from","required":false,"in":"query","schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}},{"name":"comparison_to","required":false,"in":"query","schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"Project ticket analytics","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketAnalyticsResponseDto_Output"}}}}},"summary":"Get project ticket analytics","tags":["Tickets"]}},"/consumer/v1/guilds/{guildId}/tickets/analytics/tickets":{"get":{"operationId":"TicketsController_getAnalyticsTickets","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"project_id","required":true,"in":"query","schema":{"minLength":1,"pattern":"^[^/]+$","type":"string"}},{"name":"from","required":true,"in":"query","schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}},{"name":"to","required":true,"in":"query","schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}},{"name":"assignee_user_id","required":false,"in":"query","schema":{"type":"string"}},{"name":"unassigned","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"customer_id","required":false,"in":"query","schema":{"type":"string"}},{"name":"without_customer","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"type","required":false,"in":"query","schema":{"type":"string"}},{"name":"priority","required":false,"in":"query","schema":{"type":"string","enum":["low","normal","high","urgent"]}},{"name":"metric","required":true,"in":"query","schema":{"type":"string","enum":["backlog","created","closed","reopened","sla_at_risk","sla_breached","sla_compliance","first_response","resolution"]}},{"name":"breakdown","required":false,"in":"query","schema":{"type":"string","enum":["status","priority","type","customer","assignee","age"]}},{"name":"breakdown_value","required":false,"in":"query","schema":{"minLength":1,"maxLength":512,"type":"string"}},{"name":"day","required":false,"in":"query","schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"Insights ticket results","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketAnalyticsTicketsResponseDto_Output"}}}}},"summary":"Drill into tickets represented by an Insights metric","tags":["Tickets"]}},"/consumer/v1/guilds/{guildId}/tickets/{ticketId}":{"get":{"operationId":"TicketsController_getTicket","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"ticketId","required":true,"in":"path","description":"Ticket ID","schema":{"type":"string"}}],"responses":{"default":{"description":"Ticket","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketDto_Output"}}}}},"summary":"Get ticket","tags":["Tickets"]},"delete":{"operationId":"TicketsController_deleteTicket","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"ticketId","required":true,"in":"path","description":"Ticket ID","schema":{"type":"string"}}],"responses":{"204":{"description":"Ticket deleted"}},"tags":["Tickets"]},"put":{"operationId":"TicketsController_updateTicket","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"ticketId","required":true,"in":"path","description":"Ticket ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTicketDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Update ticket","tags":["Tickets"]}},"/consumer/v1/guilds/{guildId}/tickets/{ticketId}/reroute":{"post":{"operationId":"TicketsController_rerouteTicket","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"ticketId","required":true,"in":"path","description":"Ticket ID","schema":{"type":"string"}}],"responses":{"default":{"description":"Rerouted ticket","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketRerouteResponseDto_Output"}}}}},"summary":"Reroute a ticket using people routing policies","tags":["Tickets"]}},"/consumer/v1/guilds/{guildId}/tickets/{ticketId}/messages":{"post":{"operationId":"TicketsController_addMessage","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"ticketId","required":true,"in":"path","description":"Ticket ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddTicketMessageDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketDto"}}}}},"summary":"Add ticket message","tags":["Tickets"]}},"/consumer/v1/guilds/{guildId}/tickets/{ticketId}/knowledge-draft":{"post":{"operationId":"TicketsController_generateKnowledgeDraft","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"ticketId","required":true,"in":"path","description":"Ticket ID","schema":{"type":"string"}},{"name":"x-ai-operation-id","required":false,"in":"header","description":"Stable UUID for idempotent retries","schema":{"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"AI generated knowledge draft","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketKnowledgeDraftResponseDto_Output"}}}}},"summary":"Generate AI knowledge draft from ticket","tags":["Tickets"]}},"/consumer/v1/guilds/{guildId}/tickets/{ticketId}/master/close-children":{"post":{"operationId":"TicketsController_closeMasterChildren","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"ticketId","required":true,"in":"path","description":"Ticket ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloseMasterChildTicketsActionDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"Bulk close child ticket result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloseMasterChildTicketsActionResultDto_Output"}}}}},"summary":"Close linked child tickets of a master ticket","tags":["Tickets"]}},"/consumer/v1/guilds/{guildId}/tickets/{ticketId}/master/update-children":{"post":{"operationId":"TicketsController_updateMasterChildren","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"ticketId","required":true,"in":"path","description":"Ticket ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMasterChildTicketsActionDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"Bulk update child ticket result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMasterChildTicketsActionResultDto_Output"}}}}},"summary":"Update linked child tickets of a master ticket (non-terminal status/priority/labels/assignee)","tags":["Tickets"]}},"/consumer/v1/guilds/{guildId}/tickets/{ticketId}/master/broadcast-message":{"post":{"operationId":"TicketsController_broadcastMasterMessage","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"ticketId","required":true,"in":"path","description":"Ticket ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BroadcastMasterChildMessageActionDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"Master child message broadcast result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BroadcastMasterChildMessageActionResultDto_Output"}}}}},"summary":"Broadcast one public/internal message from a master ticket to selected child tickets","tags":["Tickets"]}},"/consumer/v1/guilds/{guildId}/tickets/{ticketId}/convert-to-master":{"post":{"operationId":"TicketsController_convertToMaster","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"ticketId","required":true,"in":"path","description":"Ticket ID","schema":{"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"Explicit master-ticket conversion result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConvertTicketToMasterResultDto_Output"}}}}},"summary":"Convert a ticket into an explicit master ticket","tags":["Tickets"]}},"/consumer/v1/guilds/{guildId}/tickets/{ticketId}/remove-master-status":{"post":{"operationId":"TicketsController_removeMasterStatus","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"ticketId","required":true,"in":"path","description":"Ticket ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveMasterStatusDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"Explicit master-ticket removal result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveMasterStatusResultDto_Output"}}}}},"summary":"Remove explicit master-ticket status and rewrite child links","tags":["Tickets"]}},"/consumer/v1/guilds/{guildId}/tickets/{ticketId}/audit":{"get":{"operationId":"TicketsController_listAuditEvents","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"ticketId","required":true,"in":"path","description":"Ticket ID","schema":{"type":"string"}}],"responses":{"default":{"description":"Ticket audit events","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketAuditListResponseDto_Output"}}}}},"summary":"List ticket audit timeline","tags":["Tickets"]}},"/consumer/v1/guilds/{guildId}/tickets/{ticketId}/audit/export":{"get":{"operationId":"TicketsController_exportAuditEvents","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"ticketId","required":true,"in":"path","description":"Ticket ID","schema":{"type":"string"}}],"responses":{"default":{"description":"Ticket audit CSV export payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketAuditExportResponseDto_Output"}}}}},"summary":"Export ticket audit timeline as CSV","tags":["Tickets"]}},"/consumer/v1/page/{pageDomain}/tickets/projects":{"get":{"operationId":"PublicTicketsController_getProjects","parameters":[{"name":"pageDomain","required":true,"in":"path","description":"The public domain of a page","schema":{"type":"string"}},{"name":"project_id","required":false,"in":"query","description":"Optional URL project to validate for this request","schema":{"type":"string"}}],"responses":{"default":{"description":"Public ticket project list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicTicketProjectListResponseDto_Output"}}}}},"summary":"List public ticket projects for a domain","tags":["Public Tickets"]}},"/consumer/v1/page/{pageDomain}/tickets":{"post":{"operationId":"PublicTicketsController_createPublicTicket","parameters":[{"name":"pageDomain","required":true,"in":"path","description":"The public domain of a page","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePublicTicketDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"Created public ticket","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketDto_Output"}}}}},"summary":"Create public ticket","tags":["Public Tickets"]}},"/consumer/v1/page/{pageDomain}/customer-portal/context":{"get":{"operationId":"CustomerPortalController_getPublicContext","parameters":[{"name":"pageDomain","required":true,"in":"path","description":"The public domain of a page","schema":{"type":"string"}}],"responses":{"default":{"description":"Public customer portal context","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerPortalPublicContextResponseDto_Output"}}}}},"summary":"Get public customer portal availability for a page","tags":["Customer Portal"]}},"/consumer/v1/page/{pageDomain}/customer-portal/login":{"post":{"operationId":"CustomerPortalController_requestLogin","parameters":[{"name":"pageDomain","required":true,"in":"path","description":"The public domain of a page","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerPortalLoginRequestDto"}}}},"responses":{"default":{"description":"Neutral login response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerPortalLoginResponseDto_Output"}}}}},"summary":"Request a customer portal login link","tags":["Customer Portal"]}},"/consumer/v1/page/{pageDomain}/customer-portal/session":{"post":{"operationId":"CustomerPortalController_createSession","parameters":[{"name":"pageDomain","required":true,"in":"path","description":"The public domain of a page","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerPortalCreateSessionDto"}}}},"responses":{"default":{"description":"Customer portal session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerPortalSessionResponseDto_Output"}}}}},"summary":"Create a customer portal session from a login token","tags":["Customer Portal"]},"get":{"operationId":"CustomerPortalController_getSession","parameters":[{"name":"pageDomain","required":true,"in":"path","description":"The public domain of a page","schema":{"type":"string"}}],"responses":{"default":{"description":"Customer portal context","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerPortalContextResponseDto_Output"}}}}},"summary":"Get customer portal session context","tags":["Customer Portal"]},"delete":{"operationId":"CustomerPortalController_revokeSession","parameters":[{"name":"pageDomain","required":true,"in":"path","description":"The public domain of a page","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"summary":"Revoke a customer portal session","tags":["Customer Portal"]}},"/consumer/v1/page/{pageDomain}/customer-portal/tickets":{"get":{"operationId":"CustomerPortalController_listTickets","parameters":[{"name":"pageDomain","required":true,"in":"path","description":"The public domain of a page","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"Maximum number of tickets to return","schema":{"minimum":1,"maximum":100,"type":"integer"}},{"name":"after_cursor","required":false,"in":"query","description":"Cursor returned by the previous customer portal page","schema":{"minLength":1,"type":"string"}}],"responses":{"default":{"description":"Customer portal tickets","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerPortalTicketListResponseDto_Output"}}}}},"summary":"List tickets visible to the customer portal session","tags":["Customer Portal"]},"post":{"operationId":"CustomerPortalController_createTicket","parameters":[{"name":"pageDomain","required":true,"in":"path","description":"The public domain of a page","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCustomerPortalTicketDto"}}}},"responses":{"default":{"description":"Created ticket","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketDto_Output"}}}}},"summary":"Create a ticket from the customer portal session","tags":["Customer Portal"]}},"/consumer/v1/public/tickets/unsubscribe/{token}":{"get":{"operationId":"PublicTicketThreadController_unsubscribe","parameters":[{"name":"token","required":true,"in":"path","description":"Ticket unsubscribe token","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"summary":"Unsubscribe email from ticket notifications","tags":["Public Tickets"]}},"/consumer/v1/public/tickets/{publicToken}":{"get":{"operationId":"PublicTicketThreadController_getTicket","parameters":[{"name":"publicToken","required":true,"in":"path","description":"Public ticket token","schema":{"type":"string"}}],"responses":{"default":{"description":"Ticket thread","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketDto_Output"}}}}},"summary":"Get public ticket thread","tags":["Public Tickets"]}},"/consumer/v1/public/tickets/{publicToken}/attachments":{"post":{"operationId":"PublicTicketThreadController_uploadPublicAttachments","parameters":[{"name":"publicToken","required":true,"in":"path","description":"Public ticket token","schema":{"type":"string"}}],"responses":{"default":{"description":"Uploaded attachments","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadPublicTicketAttachmentsResponseDto_Output"}}}}},"summary":"Upload public ticket thread attachments","tags":["Public Tickets"]}},"/consumer/v1/public/tickets/{publicToken}/messages":{"post":{"operationId":"PublicTicketThreadController_addPublicMessage","parameters":[{"name":"publicToken","required":true,"in":"path","description":"Public ticket token","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddTicketMessageDto"}}}},"responses":{"default":{"description":"Updated ticket thread","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketDto_Output"}}}}},"summary":"Add public ticket message","tags":["Public Tickets"]}},"/consumer/v1/page/{pageDomain}/tickets/discord-auth/start":{"get":{"operationId":"PublicTicketDiscordAuthController_startDiscordAuth","parameters":[{"name":"pageDomain","required":true,"in":"path","description":"The public domain of a page","schema":{"type":"string"}},{"name":"origin","required":true,"in":"query","description":"Origin of the public ticket page that opened the popup","schema":{"format":"uri","type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Start Discord OAuth for public ticket creation","tags":["Public Tickets"]}},"/consumer/v1/public/tickets/discord-auth/callback":{"get":{"operationId":"PublicTicketDiscordAuthCallbackController_handleCallback","parameters":[{"name":"code","required":false,"in":"query","description":"Discord OAuth authorization code","schema":{"minLength":1,"type":"string"}},{"name":"state","required":true,"in":"query","description":"Server-issued Discord OAuth state","schema":{"minLength":1,"type":"string"}},{"name":"error","required":false,"in":"query","description":"OAuth error returned by Discord when the user denies or cancels","schema":{"minLength":1,"type":"string"}},{"name":"error_description","required":false,"in":"query","description":"Optional OAuth error description from Discord","schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"description":""}},"summary":"Complete Discord OAuth for public ticket creation","tags":["Public Tickets"]}},"/consumer/v1/page/{pageDomain}/tickets/slack-auth/start":{"get":{"operationId":"PublicTicketSlackAuthController_startSlackAuth","parameters":[{"name":"pageDomain","required":true,"in":"path","description":"The public domain of a page","schema":{"type":"string"}},{"name":"origin","required":true,"in":"query","description":"Origin of the public ticket page that opened the popup","schema":{"format":"uri","type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Start Slack OAuth for public ticket creation","tags":["Public Tickets"]}},"/consumer/v1/public/tickets/slack-auth/callback":{"get":{"operationId":"PublicTicketSlackAuthCallbackController_handleCallback","parameters":[{"name":"code","required":false,"in":"query","description":"Slack OAuth authorization code","schema":{"minLength":1,"type":"string"}},{"name":"state","required":true,"in":"query","description":"Server-issued Slack OAuth state","schema":{"minLength":1,"type":"string"}},{"name":"error","required":false,"in":"query","description":"OAuth error returned by Slack when the user denies or cancels","schema":{"minLength":1,"type":"string"}},{"name":"error_description","required":false,"in":"query","description":"Optional OAuth error description from Slack","schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"description":""}},"summary":"Complete Slack OAuth for public ticket creation","tags":["Public Tickets"]}},"/consumer/v1/guilds/{guildId}/people/settings":{"get":{"operationId":"PeopleController_getSettings","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"default":{"description":"People settings","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PeopleSettingsDto_Output"}}}}},"summary":"Get people management settings","tags":["People"]},"put":{"operationId":"PeopleController_updateSettings","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePeopleSettingsDto"}}}},"responses":{"default":{"description":"Updated people settings","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PeopleSettingsDto_Output"}}}}},"summary":"Update people management settings","tags":["People"]}},"/consumer/v1/guilds/{guildId}/people/teams":{"get":{"operationId":"PeopleController_getTeams","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"default":{"description":"People team directory","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PeopleTeamsDto_Output"}}}}},"summary":"Get readable People teams and effective team memberships","tags":["People"]}},"/consumer/v1/guilds/{guildId}/people/teams/{teamId}/delete-preview":{"get":{"operationId":"PeopleController_previewTeamDelete","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"teamId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"default":{"description":"People team deletion impact","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PeopleTeamDeletePreviewDto_Output"}}}}},"summary":"Preview People team deletion impact","tags":["People"]}},"/consumer/v1/guilds/{guildId}/people/self/availability":{"get":{"operationId":"PeopleController_getSelfAvailability","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"default":{"description":"Caller People availability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PeopleSelfAvailabilityDto_Output"}}}}},"summary":"Get caller vacation replacement settings","tags":["People"]},"put":{"operationId":"PeopleController_updateSelfAvailability","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePeopleSelfAvailabilityDto"}}}},"responses":{"default":{"description":"Updated caller People availability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PeopleSelfAvailabilityDto_Output"}}}}},"summary":"Update caller vacation replacement settings","tags":["People"]}},"/consumer/v1/guilds/{guildId}/people/settings/organization":{"patch":{"operationId":"PeopleController_updateOrganizationSettings","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePeopleOrganizationSettingsDto"}}}},"responses":{"default":{"description":"Updated people settings","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PeopleSettingsDto_Output"}}}}},"summary":"Update people organization settings without routing policies","tags":["People"]}},"/consumer/v1/guilds/{guildId}/people/import/discord-roles":{"post":{"operationId":"PeopleController_importDiscordRoles","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"default":{"description":"Updated people settings","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PeopleSettingsDto_Output"}}}}},"summary":"Import Discord roles as people teams","tags":["People"]}},"/consumer/v1/guilds/{guildId}/people/capacity":{"get":{"operationId":"PeopleController_getCapacity","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"range_start","required":false,"in":"query","description":"Optional capacity range start date","schema":{"type":"string"}},{"name":"range_end","required":false,"in":"query","description":"Optional capacity range end date","schema":{"type":"string"}}],"responses":{"default":{"description":"People capacity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PeopleCapacityDto_Output"}}}}},"summary":"Get people capacity snapshot","tags":["People"]}},"/consumer/v1/guilds/{guildId}/people/routing/preview":{"post":{"operationId":"PeopleController_previewRouting","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PeopleRoutingPreviewDto"}}}},"responses":{"default":{"description":"Routing preview decision","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PeopleRoutingDecisionDto_Output"}}}}},"summary":"Preview people routing for a ticket shape","tags":["People"]}},"/consumer/v1/guilds/{guildId}/holiday-settings":{"get":{"operationId":"HolidaysController_getWorkspaceSettings","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceHolidaySettingsResponseDto_Output"}}}}},"summary":"Get workspace holiday settings","tags":["Holidays"]},"put":{"operationId":"HolidaysController_updateWorkspaceSettings","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceHolidaySettingsDto"}}}},"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceHolidaySettingsResponseDto_Output"}}}}},"summary":"Update workspace holiday settings","tags":["Holidays"]}},"/consumer/v1/guilds/{guildId}/members/me/holiday-settings":{"get":{"operationId":"HolidaysController_getUserSettings","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserHolidaySettingsResponseDto_Output"}}}}},"summary":"Get current member holiday settings","tags":["Holidays"]},"put":{"operationId":"HolidaysController_updateUserSettings","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserHolidaySettingsDto"}}}},"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserHolidaySettingsResponseDto_Output"}}}}},"summary":"Update current member holiday settings","tags":["Holidays"]}},"/consumer/v1/guilds/{guildId}/members/{memberId}/holiday-settings":{"get":{"operationId":"HolidaysController_getMemberSettings","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"memberId","required":true,"in":"path","description":"The ID of the guild member","schema":{"type":"string"}}],"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserHolidaySettingsResponseDto_Output"}}}}},"summary":"Get member holiday settings","tags":["Holidays"]},"put":{"operationId":"HolidaysController_updateMemberSettings","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"memberId","required":true,"in":"path","description":"The ID of the guild member","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserHolidaySettingsDto"}}}},"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserHolidaySettingsResponseDto_Output"}}}}},"summary":"Update member holiday settings","tags":["Holidays"]}},"/consumer/v1/holidays/countries":{"get":{"operationId":"HolidaysController_getCountries","parameters":[],"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupportedCountriesResponseDto_Output"}}}}},"summary":"List supported holiday countries","tags":["Holidays"]}},"/consumer/v1/holidays/countries/{countryCode}/regions":{"get":{"operationId":"HolidaysController_getRegions","parameters":[{"name":"countryCode","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupportedRegionsResponseDto_Output"}}}}},"summary":"List supported holiday regions for a country","tags":["Holidays"]}},"/consumer/v1/guilds/{guildId}/holidays":{"get":{"operationId":"HolidaysController_getHolidays","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"from","required":true,"in":"query","schema":{"type":"string"}},{"name":"to","required":true,"in":"query","schema":{"type":"string"}},{"name":"countryCode","required":false,"in":"query","schema":{"minLength":2,"maxLength":2,"type":"string"}},{"name":"regionCode","required":false,"in":"query","schema":{"minLength":2,"maxLength":16,"type":"string"}},{"name":"userId","required":false,"in":"query","schema":{"type":"string"}},{"name":"projectId","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HolidaysResponseDto_Output"}}}}},"summary":"List workspace calendar holidays","tags":["Holidays"]}},"/consumer/v1/guilds/{guildId}/holidays/business-day":{"get":{"operationId":"HolidaysController_isBusinessDay","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"date","required":true,"in":"query","schema":{"type":"string"}},{"name":"countryCode","required":false,"in":"query","schema":{"minLength":2,"maxLength":2,"type":"string"}},{"name":"regionCode","required":false,"in":"query","schema":{"minLength":2,"maxLength":16,"type":"string"}},{"name":"userId","required":false,"in":"query","schema":{"type":"string"}},{"name":"projectId","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessDayResponseDto_Output"}}}}},"summary":"Check whether a date is a business day","tags":["Holidays"]}},"/consumer/v1/guilds/{guildId}/holidays/next-business-day":{"get":{"operationId":"HolidaysController_suggestNextBusinessDay","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"date","required":true,"in":"query","schema":{"type":"string"}},{"name":"countryCode","required":false,"in":"query","schema":{"minLength":2,"maxLength":2,"type":"string"}},{"name":"regionCode","required":false,"in":"query","schema":{"minLength":2,"maxLength":16,"type":"string"}},{"name":"userId","required":false,"in":"query","schema":{"type":"string"}},{"name":"projectId","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NextBusinessDayResponseDto_Output"}}}}},"summary":"Suggest the next business day for a date","tags":["Holidays"]}},"/consumer/v1/guilds/{guildId}/custom-holidays":{"post":{"operationId":"HolidaysController_createCustomHoliday","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCustomHolidayDto"}}}},"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomHolidayResponseDto_Output"}}}}},"summary":"Create a custom workspace holiday","tags":["Holidays"]}},"/consumer/v1/guilds/{guildId}/custom-holidays/{holidayId}":{"patch":{"operationId":"HolidaysController_updateCustomHoliday","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"type":"string"}},{"name":"holidayId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCustomHolidayDto"}}}},"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomHolidayResponseDto_Output"}}}}},"summary":"Update a custom workspace holiday","tags":["Holidays"]},"delete":{"operationId":"HolidaysController_deleteCustomHoliday","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"type":"string"}},{"name":"holidayId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":"Custom holiday deleted"}},"summary":"Delete a custom workspace holiday","tags":["Holidays"]}},"/consumer/v1/guilds/{guildId}/holiday-overrides":{"get":{"operationId":"HolidaysController_getHolidayOverrides","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HolidayOverridesResponseDto_Output"}}}}},"summary":"List workspace holiday overrides","tags":["Holidays"]}},"/consumer/v1/guilds/{guildId}/holiday-overrides/{holidayId}":{"put":{"operationId":"HolidaysController_upsertHolidayOverride","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"type":"string"}},{"name":"holidayId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HolidayOverrideDto"}}}},"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HolidayOverrideResponseDto_Output"}}}}},"summary":"Hide or rename an imported holiday","tags":["Holidays"]},"delete":{"operationId":"HolidaysController_deleteHolidayOverride","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"type":"string"}},{"name":"holidayId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":"Holiday override deleted"}},"summary":"Remove a holiday override","tags":["Holidays"]}},"/consumer/v1/admin/holidays/sync":{"post":{"operationId":"HolidaysController_adminSyncAll","parameters":[],"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminSyncResponseDto_Output"}}}}},"summary":"Sync all enabled holiday targets","tags":["Holidays"]}},"/consumer/v1/admin/holidays/sync/{countryCode}":{"post":{"operationId":"HolidaysController_adminSyncCountry","parameters":[{"name":"countryCode","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminSyncResponseDto_Output"}}}}},"summary":"Sync one holiday country","tags":["Holidays"]}},"/consumer/v1/admin/holidays/sync/{countryCode}/{regionCode}":{"post":{"operationId":"HolidaysController_adminSyncRegion","parameters":[{"name":"countryCode","required":true,"in":"path","schema":{"type":"string"}},{"name":"regionCode","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminSyncResponseDto_Output"}}}}},"summary":"Sync one holiday country and region","tags":["Holidays"]}},"/consumer/v1/guilds/{guildId}/logging-webhooks":{"get":{"operationId":"LoggingWebhooksController_list","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Logging webhook endpoints","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoggingWebhookEndpointListDto_Output"}}}}},"summary":"List logging webhook endpoints","tags":["Logging Webhooks"]},"post":{"operationId":"LoggingWebhooksController_create","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertLoggingWebhookEndpointDto"}}}},"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Created logging webhook endpoint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoggingWebhookEndpoint_Output"}}}}},"summary":"Create logging webhook endpoint","tags":["Logging Webhooks"]}},"/consumer/v1/guilds/{guildId}/logging-webhooks/{endpointId}":{"put":{"operationId":"LoggingWebhooksController_update","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"type":"string"}},{"name":"endpointId","required":true,"in":"path","schema":{"minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertLoggingWebhookEndpointDto"}}}},"responses":{"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}},"default":{"description":"Updated logging webhook endpoint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoggingWebhookEndpoint_Output"}}}}},"summary":"Update logging webhook endpoint","tags":["Logging Webhooks"]},"delete":{"operationId":"LoggingWebhooksController_delete","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"type":"string"}},{"name":"endpointId","required":true,"in":"path","schema":{"minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","type":"string"}}],"responses":{"204":{"description":"Logging webhook endpoint deleted"},"403":{"description":"Missing Discord permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MissingDiscordPermissionErrorDto"}}}}},"tags":["Logging Webhooks"]}},"/consumer/v1/guilds/{guildId}/crm/bootstrap":{"get":{"operationId":"CrmController_getBootstrap","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmBootstrapDto_Output"}}}}},"summary":"Read the CRM schema needed to render the application shell","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/preferences":{"get":{"operationId":"CrmController_getUserPreferences","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmUserPreferencesDto_Output"}}}}},"summary":"Read the caller's cross-device CRM experience preferences","tags":["CRM"]},"put":{"operationId":"CrmController_updateUserPreferences","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCrmUserPreferencesDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmUserPreferencesDto_Output"}}}}},"summary":"Update the caller's cross-device CRM experience preferences","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/plan":{"get":{"operationId":"CrmController_getPlan","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPlanSnapshotDto_Output"}}}}},"summary":"Read effective CRM workspace limits, usage, and personal seat tier","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/reports":{"get":{"operationId":"CrmController_getReport","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"range_days","required":false,"in":"query","schema":{"minimum":7,"maximum":365,"default":30,"type":"integer"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmReportDto_Output"}}}}},"summary":"Read aggregate CRM, work, automation, health, and connector analytics","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/entities/titles":{"post":{"operationId":"CrmController_resolveEntityTitles","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveCrmEntityTitlesDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmEntityTitleListDto_Output"}}}}},"summary":"Resolve display titles for a bounded set of CRM entity references","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/duplicate-reviews":{"get":{"operationId":"CrmController_listDuplicateReviews","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmDuplicateReviewListDto_Output"}}}}},"summary":"List pending native CRM duplicate reviews","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/duplicate-reviews/{entityId}/resolve":{"post":{"operationId":"CrmController_resolveDuplicateReview","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveCrmDuplicateReviewDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmDuplicateReviewDto_Output"}}}}},"summary":"Mark a possible duplicate pair as intentionally separate","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/entities/{entityType}/{entityId}/merge/preview":{"post":{"operationId":"CrmController_previewMerge","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityType","required":true,"in":"path","schema":{"type":"string","enum":["person","organization","record"]}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmMergePreviewRequestDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmMergePreviewDto_Output"}}}}},"summary":"Preview a conflict-preserving Person or Organization merge","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/entities/{entityType}/{entityId}/merge/apply":{"post":{"operationId":"CrmController_applyMerge","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityType","required":true,"in":"path","schema":{"type":"string","enum":["person","organization","record"]}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplyCrmMergeDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmMergeResultDto_Output"}}}}},"summary":"Apply an explicitly confirmed Person or Organization merge","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/entities/{entityType}/{entityId}/maintenance/preview":{"post":{"operationId":"CrmController_previewMaintenance","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityType","required":true,"in":"path","schema":{"type":"string","enum":["person","organization","record"]}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmMaintenancePreviewRequestDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmMaintenancePreviewDto_Output"}}}}},"summary":"Preview archive, restore, anonymization, or safe permanent deletion","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/entities/{entityType}/{entityId}/maintenance/apply":{"post":{"operationId":"CrmController_applyMaintenance","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityType","required":true,"in":"path","schema":{"type":"string","enum":["person","organization","record"]}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplyCrmMaintenanceDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmMaintenanceResultDto_Output"}}}}},"summary":"Apply a previewed and explicitly confirmed CRM maintenance action","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/entities/{entityType}/{entityId}/privacy-export":{"get":{"operationId":"CrmController_exportEntityData","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityType","required":true,"in":"path","schema":{"type":"string","enum":["person","organization","record"]}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}},{"name":"category","required":true,"in":"query","schema":{"type":"string","enum":["profile","relationships","timeline","interactions","signals","consent","commitments","outcomes","connected_sources"]}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPrivacyExportDto_Output"}}}}},"summary":"Export one paginated category of a CRM entity's data","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/templates/preview":{"post":{"operationId":"CrmController_previewTemplate","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmTemplatePreviewRequestDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmTemplatePreviewDto_Output"}}}}},"summary":"Preview a CRM onboarding template or natural-language configuration suggestion","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/templates/apply":{"post":{"operationId":"CrmController_applyTemplate","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplyCrmTemplateDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmTemplateApplyResultDto_Output"}}}}},"summary":"Apply an explicitly confirmed editable CRM configuration template","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/agent-executions":{"get":{"operationId":"CrmController_listAgentExecutions","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}},{"name":"virtual_coworker_id","required":false,"in":"query","schema":{"type":"string"}},{"name":"entity_type","required":false,"in":"query","schema":{"type":"string","enum":["person","organization","record"]}},{"name":"entity_id","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmAgentExecutionListDto_Output"}}}}},"summary":"List auditable virtual coworker CRM execution history","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/forms":{"get":{"operationId":"CrmController_listForms","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmFormDefinitionListDto_Output"}}}}},"summary":"List CRM forms","tags":["CRM"]},"post":{"operationId":"CrmController_createForm","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmFormDefinitionDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmFormDefinitionDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Create a CRM form","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/forms/{entityId}":{"get":{"operationId":"CrmController_getForm","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmFormDefinitionDto_Output"}}}}},"summary":"Get a CRM form","tags":["CRM"]},"put":{"operationId":"CrmController_updateForm","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmFormDefinitionDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmFormDefinitionDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Update a CRM form","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/forms/{entityId}/submissions":{"get":{"operationId":"CrmController_listFormSubmissions","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmFormSubmissionListDto_Output"}}}}},"summary":"List durable CRM form submissions","tags":["CRM"]},"post":{"operationId":"CrmController_submitPrivateForm","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmitCrmFormDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmFormSubmissionDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Submit a private CRM form","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/search":{"get":{"operationId":"CrmController_searchEntities","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"query","required":false,"in":"query","schema":{"maxLength":100,"default":"","type":"string"}},{"name":"entity_types","required":false,"in":"query","schema":{"default":"person,organization,record","type":"string"}},{"name":"record_type_id","required":false,"in":"query","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":20,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmEntitySearchResponseDto_Output"}}}}},"summary":"Search CRM entities for the shared permission-aware picker","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/search/global":{"get":{"operationId":"CrmController_searchCrm","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"query","required":true,"in":"query","schema":{"minLength":1,"maxLength":100,"type":"string"}},{"name":"kinds","required":false,"in":"query","schema":{"default":"person,organization,record,commitment","type":"string"}},{"name":"record_type_id","required":false,"in":"query","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":30,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmGlobalSearchResponseDto_Output"}}}}},"summary":"Search safe CRM entity and work-item projections","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/interactions":{"get":{"operationId":"CrmController_listInteractions","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}},{"name":"entity_type","required":false,"in":"query","schema":{"type":"string","enum":["person","organization","record"]}},{"name":"entity_id","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmInteractionListDto_Output"}}}}},"summary":"List CRM interactions","tags":["CRM"]},"post":{"operationId":"CrmController_createInteraction","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmInteractionDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmInteractionDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Create a CRM interaction and timeline entry","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/interactions/latest":{"post":{"operationId":"CrmController_latestInteractions","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LatestCrmInteractionsDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LatestCrmInteractionListDto_Output"}}}}},"summary":"Resolve the latest CRM interaction for multiple entities","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/interactions/{entityId}":{"get":{"operationId":"CrmController_getInteraction","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmInteractionDto_Output"}}}}},"summary":"Get a CRM interaction","tags":["CRM"]},"put":{"operationId":"CrmController_updateInteraction","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmInteractionDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmInteractionDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Update a CRM interaction and timeline entry","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/signals":{"get":{"operationId":"CrmController_listSignals","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}},{"name":"entity_type","required":false,"in":"query","schema":{"type":"string","enum":["person","organization","record"]}},{"name":"entity_id","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmSignalListDto_Output"}}}}},"summary":"List CRM signals","tags":["CRM"]},"post":{"operationId":"CrmController_createSignal","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmSignalDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmSignalDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Create a CRM signal and timeline entry","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/signals/{entityId}":{"get":{"operationId":"CrmController_getSignal","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmSignalDto_Output"}}}}},"summary":"Get a CRM signal","tags":["CRM"]},"put":{"operationId":"CrmController_updateSignal","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmSignalDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmSignalDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Update a CRM signal and timeline entry","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/timeline/{entityType}/{entityId}":{"get":{"operationId":"CrmController_listTimeline","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityType","required":true,"in":"path","schema":{"type":"string","enum":["person","organization","record"]}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmTimelineListDto_Output"}}}}},"summary":"List one CRM entity's unified timeline","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/people/{entityId}/consent":{"get":{"operationId":"CrmController_listConsent","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmConsentListDto_Output"}}}}},"summary":"List a CRM Person's communication consent evidence","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/people/{entityId}/contactability":{"get":{"operationId":"CrmController_getContactability","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"channel","required":true,"in":"query","schema":{"minLength":1,"maxLength":50,"type":"string"}},{"name":"purpose","required":true,"in":"query","schema":{"type":"string","enum":["marketing","transactional","custom"]}},{"name":"custom_purpose","required":false,"in":"query","schema":{"minLength":1,"maxLength":200,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmContactabilityDto_Output"}}}}},"summary":"Resolve conservative CRM Person contactability","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/consent":{"post":{"operationId":"CrmController_createConsent","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmConsentDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmConsentDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Create auditable CRM communication consent evidence","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/consent/{entityId}":{"put":{"operationId":"CrmController_updateConsent","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmConsentDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmConsentDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Update auditable CRM communication consent evidence","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/segments":{"get":{"operationId":"CrmController_listSegments","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmSegmentListDto_Output"}}}}},"summary":"List reusable static and dynamic CRM Segments","tags":["CRM"]},"post":{"operationId":"CrmController_createSegment","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmSegmentDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmSegmentDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Create a reusable CRM Segment","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/segments/{entityId}":{"get":{"operationId":"CrmController_getSegment","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmSegmentDto_Output"}}}}},"summary":"Get a CRM Segment","tags":["CRM"]},"put":{"operationId":"CrmController_updateSegment","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmSegmentDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmSegmentDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Update or archive a CRM Segment","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/segments/{entityId}/members":{"get":{"operationId":"CrmController_listSegmentMembers","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmSegmentMemberListDto_Output"}}}}},"summary":"Resolve static or filter-derived CRM Segment membership","tags":["CRM"]},"post":{"operationId":"CrmController_addSegmentMember","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmSegmentMemberDto"}}}},"responses":{"204":{"description":""},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Add one entity to a static CRM Segment","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/segments/{segmentId}/members/{entityType}/{entityId}":{"delete":{"operationId":"CrmController_removeSegmentMember","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"segmentId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityType","required":true,"in":"path","schema":{"type":"string","enum":["person","organization","record"]}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"maxLength":500,"type":"string"}}],"responses":{"204":{"description":""},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Remove one entity from a static CRM Segment","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/commitments":{"get":{"operationId":"CrmController_listCommitments","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}},{"name":"entity_type","required":false,"in":"query","schema":{"type":"string","enum":["person","organization","record"]}},{"name":"entity_id","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmCommitmentListDto_Output"}}}}},"summary":"List first-class CRM Commitments","tags":["CRM"]},"post":{"operationId":"CrmController_createCommitment","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmCommitmentDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmCommitmentDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Create a first-class CRM Commitment","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/work":{"get":{"operationId":"CrmController_listWorkItems","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmWorkListDto_Output"}}}}},"summary":"List CRM requests, promises, and customer goals in one paginated workspace","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/commitments/{entityId}":{"get":{"operationId":"CrmController_getCommitment","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmCommitmentDto_Output"}}}}},"summary":"Get a CRM Commitment","tags":["CRM"]},"put":{"operationId":"CrmController_updateCommitment","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmCommitmentDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmCommitmentDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Update or archive a CRM Commitment","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/outcomes":{"get":{"operationId":"CrmController_listOutcomes","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}},{"name":"entity_type","required":false,"in":"query","schema":{"type":"string","enum":["person","organization","record"]}},{"name":"entity_id","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmOutcomeListDto_Output"}}}}},"summary":"List configurable CRM Outcomes","tags":["CRM"]},"post":{"operationId":"CrmController_createOutcome","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmOutcomeDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmOutcomeDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Create a configurable CRM Outcome","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/outcomes/{entityId}":{"get":{"operationId":"CrmController_getOutcome","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmOutcomeDto_Output"}}}}},"summary":"Get a CRM Outcome","tags":["CRM"]},"put":{"operationId":"CrmController_updateOutcome","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmOutcomeDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmOutcomeDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Update or archive a CRM Outcome","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/health-models":{"get":{"operationId":"CrmController_listHealthModels","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmHealthModelListDto_Output"}}}}},"summary":"List optional configurable CRM Health Models","tags":["CRM"]},"post":{"operationId":"CrmController_createHealthModel","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmHealthModelDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmHealthModelDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Create an explainable CRM Health Model","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/health-models/{entityId}":{"get":{"operationId":"CrmController_getHealthModel","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmHealthModelDto_Output"}}}}},"summary":"Get a CRM Health Model","tags":["CRM"]},"put":{"operationId":"CrmController_updateHealthModel","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmHealthModelDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmHealthModelDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Update or archive a CRM Health Model","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/health-models/{entityId}/evaluate":{"post":{"operationId":"CrmController_evaluateHealth","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluateCrmHealthDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmHealthResultDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Evaluate and materialize explainable CRM Health","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/health-results/{modelId}/{entityType}/{entityId}":{"get":{"operationId":"CrmController_getHealthResult","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"modelId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityType","required":true,"in":"path","schema":{"type":"string","enum":["person","organization","record"]}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"maxLength":500,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmHealthResultDto_Output"}}}}},"summary":"Get the latest materialized CRM Health Result","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/lifecycle-definitions":{"get":{"operationId":"CrmController_listLifecycleDefinitions","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmLifecycleDefinitionListDto_Output"}}}}},"summary":"List optional CRM Lifecycle Definitions","tags":["CRM"]},"post":{"operationId":"CrmController_createLifecycleDefinition","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmLifecycleDefinitionDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmLifecycleDefinitionDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Create an optional CRM Lifecycle Definition","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/lifecycle-definitions/{entityId}":{"get":{"operationId":"CrmController_getLifecycleDefinition","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmLifecycleDefinitionDto_Output"}}}}},"summary":"Get a CRM Lifecycle Definition","tags":["CRM"]},"put":{"operationId":"CrmController_updateLifecycleDefinition","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmLifecycleDefinitionDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmLifecycleDefinitionDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Update or archive a CRM Lifecycle Definition","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/lifecycle-instances":{"get":{"operationId":"CrmController_listLifecycleInstances","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}},{"name":"entity_type","required":false,"in":"query","schema":{"type":"string","enum":["person","organization","record"]}},{"name":"entity_id","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmLifecycleInstanceListDto_Output"}}}}},"summary":"List CRM Lifecycle Instances","tags":["CRM"]},"post":{"operationId":"CrmController_createLifecycleInstance","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCrmLifecycleInstanceDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmLifecycleInstanceDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Enroll one CRM entity in an optional Lifecycle","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/lifecycle-instances/{entityId}":{"get":{"operationId":"CrmController_getLifecycleInstance","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmLifecycleInstanceDto_Output"}}}}},"summary":"Get a CRM Lifecycle Instance","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/lifecycle-instances/{entityId}/transition":{"post":{"operationId":"CrmController_transitionLifecycle","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransitionCrmLifecycleDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmLifecycleInstanceDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Transition a CRM Lifecycle after validating requirements","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/lifecycle-instances/{entityId}/transitions":{"get":{"operationId":"CrmController_listLifecycleTransitions","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmLifecycleTransitionListDto_Output"}}}}},"summary":"List append-only CRM Lifecycle transition history","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/handoff-templates":{"get":{"operationId":"CrmController_listHandoffTemplates","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmHandoffTemplateListDto_Output"}}}}},"summary":"List reusable CRM Handoff Templates","tags":["CRM"]},"post":{"operationId":"CrmController_createHandoffTemplate","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmHandoffTemplateDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmHandoffTemplateDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Create a reusable CRM Handoff Template","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/handoff-templates/{entityId}":{"get":{"operationId":"CrmController_getHandoffTemplate","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmHandoffTemplateDto_Output"}}}}},"summary":"Get a CRM Handoff Template","tags":["CRM"]},"put":{"operationId":"CrmController_updateHandoffTemplate","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmHandoffTemplateDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmHandoffTemplateDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Update or archive a CRM Handoff Template","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/handoffs":{"get":{"operationId":"CrmController_listHandoffs","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}},{"name":"entity_type","required":false,"in":"query","schema":{"type":"string","enum":["person","organization","record"]}},{"name":"entity_id","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmHandoffListDto_Output"}}}}},"summary":"List context-rich CRM Handoffs","tags":["CRM"]},"post":{"operationId":"CrmController_createHandoff","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmHandoffDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmHandoffDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Create a context-rich CRM Handoff","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/handoffs/{entityId}":{"get":{"operationId":"CrmController_getHandoff","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmHandoffDto_Output"}}}}},"summary":"Get a CRM Handoff","tags":["CRM"]},"put":{"operationId":"CrmController_updateHandoff","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmHandoffDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmHandoffDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Update or cancel a CRM Handoff","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/handoffs/{entityId}/checklist":{"put":{"operationId":"CrmController_updateHandoffChecklist","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCrmHandoffChecklistDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmHandoffDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Update CRM Handoff checklist evidence","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/handoffs/{entityId}/acknowledge":{"post":{"operationId":"CrmController_acknowledgeHandoff","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcknowledgeCrmHandoffDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmHandoffDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Accept or reject a pending CRM Handoff","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/service-definitions":{"get":{"operationId":"CrmController_listServiceDefinitions","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmServiceDefinitionListDto_Output"}}}}},"summary":"List configurable CRM Service Definitions","tags":["CRM"]},"post":{"operationId":"CrmController_createServiceDefinition","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmServiceDefinitionDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmServiceDefinitionDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Create a configurable CRM Service Definition","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/service-definitions/{entityId}":{"get":{"operationId":"CrmController_getServiceDefinition","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmServiceDefinitionDto_Output"}}}}},"summary":"Get a CRM Service Definition","tags":["CRM"]},"put":{"operationId":"CrmController_updateServiceDefinition","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmServiceDefinitionDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmServiceDefinitionDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Update or archive a CRM Service Definition","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/entitlements":{"get":{"operationId":"CrmController_listEntitlements","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}},{"name":"entity_type","required":false,"in":"query","schema":{"type":"string","enum":["person","organization","record"]}},{"name":"entity_id","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmEntitlementListDto_Output"}}}}},"summary":"List CRM Entitlements","tags":["CRM"]},"post":{"operationId":"CrmController_createEntitlement","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmEntitlementDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmEntitlementDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Grant a CRM Entitlement","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/entitlements/{entityId}":{"get":{"operationId":"CrmController_getEntitlement","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmEntitlementDto_Output"}}}}},"summary":"Get a CRM Entitlement","tags":["CRM"]},"put":{"operationId":"CrmController_updateEntitlement","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmEntitlementDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmEntitlementDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Update or archive a CRM Entitlement","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/entitlements/{entityId}/usage":{"get":{"operationId":"CrmController_listEntitlementUsage","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmEntitlementUsageListDto_Output"}}}}},"summary":"List append-only CRM Entitlement usage","tags":["CRM"]},"post":{"operationId":"CrmController_recordEntitlementUsage","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecordCrmEntitlementUsageDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmEntitlementUsageDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Record transactional CRM Entitlement usage","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/customer-impacts":{"get":{"operationId":"CrmController_listCustomerImpacts","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}},{"name":"entity_type","required":false,"in":"query","schema":{"type":"string","enum":["person","organization","record"]}},{"name":"entity_id","required":false,"in":"query","schema":{"type":"string"}},{"name":"work_type","required":false,"in":"query","schema":{"minLength":1,"maxLength":100,"type":"string"}},{"name":"work_id","required":false,"in":"query","schema":{"minLength":1,"maxLength":500,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmCustomerImpactListDto_Output"}}}}},"summary":"List affected CRM entities for Bnder work","tags":["CRM"]},"post":{"operationId":"CrmController_createCustomerImpact","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmCustomerImpactDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmCustomerImpactDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Link Bnder work to affected CRM entities","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/customer-impacts/{entityId}":{"get":{"operationId":"CrmController_getCustomerImpact","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmCustomerImpactDto_Output"}}}}},"summary":"Get one CRM Customer Impact link","tags":["CRM"]},"put":{"operationId":"CrmController_updateCustomerImpact","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmCustomerImpactDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmCustomerImpactDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Update communications and follow-up for affected CRM entities","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/execution-policy":{"get":{"operationId":"CrmController_getExecutionPolicy","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmExecutionPolicyDto_Output"}}}}},"summary":"Get server-owned CRM execution policy","tags":["CRM"]},"put":{"operationId":"CrmController_updateExecutionPolicy","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCrmExecutionPolicyDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmExecutionPolicyDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Configure trusted CRM meeting automation","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/meeting-extractions":{"get":{"operationId":"CrmController_listMeetingExtractions","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}},{"name":"entity_type","required":false,"in":"query","schema":{"type":"string","enum":["person","organization","record"]}},{"name":"entity_id","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmMeetingExtractionListDto_Output"}}}}},"summary":"List reviewable meeting-to-execution proposals","tags":["CRM"]},"post":{"operationId":"CrmController_createMeetingExtraction","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCrmMeetingExtractionDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmMeetingExtractionDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Create structured work proposals from meeting information","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/meeting-extractions/{entityId}":{"get":{"operationId":"CrmController_getMeetingExtraction","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmMeetingExtractionDto_Output"}}}}},"summary":"Get a meeting-to-execution proposal","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/meeting-extractions/{entityId}/decision":{"post":{"operationId":"CrmController_decideMeetingExtraction","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DecideCrmMeetingExtractionDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmMeetingExtractionDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Approve or reject extracted meeting work","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/meeting-extractions/{entityId}/apply":{"post":{"operationId":"CrmController_applyMeetingExtractionItem","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplyCrmMeetingExtractionItemDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmMeetingExtractionDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Record created work for an approved meeting proposal","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/relationship-review-templates":{"get":{"operationId":"CrmController_listRelationshipReviewTemplates","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmRelationshipReviewTemplateListDto_Output"}}}}},"summary":"List configurable CRM Relationship Review Templates","tags":["CRM"]},"post":{"operationId":"CrmController_createRelationshipReviewTemplate","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmRelationshipReviewTemplateDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmRelationshipReviewTemplateDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Create a CRM Relationship Review Template","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/relationship-review-templates/{entityId}":{"get":{"operationId":"CrmController_getRelationshipReviewTemplate","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmRelationshipReviewTemplateDto_Output"}}}}},"summary":"Get a CRM Relationship Review Template","tags":["CRM"]},"put":{"operationId":"CrmController_updateRelationshipReviewTemplate","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmRelationshipReviewTemplateDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmRelationshipReviewTemplateDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Update or archive a CRM Relationship Review Template","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/relationship-reviews":{"get":{"operationId":"CrmController_listRelationshipReviews","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}},{"name":"entity_type","required":false,"in":"query","schema":{"type":"string","enum":["person","organization","record"]}},{"name":"entity_id","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmRelationshipReviewListDto_Output"}}}}},"summary":"List CRM Relationship Reviews","tags":["CRM"]},"post":{"operationId":"CrmController_createRelationshipReview","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmRelationshipReviewDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmRelationshipReviewDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Create a CRM Relationship Review from a Template or configured sections","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/relationship-reviews/{entityId}":{"get":{"operationId":"CrmController_getRelationshipReview","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmRelationshipReviewDto_Output"}}}}},"summary":"Get a CRM Relationship Review","tags":["CRM"]},"put":{"operationId":"CrmController_updateRelationshipReview","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmRelationshipReviewDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmRelationshipReviewDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Review, publish, close, or archive a CRM Relationship Review","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/people":{"get":{"operationId":"CrmController_listPeople","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPersonListDto_Output"}}}}},"summary":"List CRM People","tags":["CRM"]},"post":{"operationId":"CrmController_createPerson","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmPersonDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPersonDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Create a CRM Person","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/people/identity":{"get":{"operationId":"CrmController_findPeopleByIdentity","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"email","required":false,"in":"query","schema":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string"}},{"name":"phone","required":false,"in":"query","schema":{"maxLength":64,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPersonListDto_Output"}}}}},"summary":"Find duplicate CRM People by exact normalized identity","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/people/{entityId}":{"get":{"operationId":"CrmController_getPerson","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPersonDto_Output"}}}}},"summary":"Get a CRM Person","tags":["CRM"]},"put":{"operationId":"CrmController_updatePerson","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCrmPersonDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPersonDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Update a CRM Person","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/people/{entityId}/organization":{"get":{"operationId":"CrmController_getPersonOrganization","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPersonOrganizationContextDto_Output"}}}}},"summary":"Get the linked Organization and safe email-domain suggestions for a CRM Person","tags":["CRM"]},"put":{"operationId":"CrmController_setPersonOrganization","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetCrmPersonOrganizationDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPersonOrganizationContextDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Link, replace, or remove the primary Organization for a CRM Person","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/organizations":{"get":{"operationId":"CrmController_listOrganizations","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmOrganizationListDto_Output"}}}}},"summary":"List CRM Organizations","tags":["CRM"]},"post":{"operationId":"CrmController_createOrganization","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmOrganizationDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmOrganizationDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Create a CRM Organization","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/organizations/proposals":{"get":{"operationId":"CrmController_listOrganizationProposals","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmOrganizationProposalListDto_Output"}}}}},"summary":"List reviewable legacy Organization proposals","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/organizations/proposals/{entityId}/resolve":{"post":{"operationId":"CrmController_resolveOrganizationProposal","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveCrmOrganizationProposalDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmOrganizationProposalDto_Output"}}}}},"summary":"Create, link, or ignore a legacy Organization proposal","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/organizations/{entityId}":{"get":{"operationId":"CrmController_getOrganization","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmOrganizationDto_Output"}}}}},"summary":"Get a CRM Organization","tags":["CRM"]},"put":{"operationId":"CrmController_updateOrganization","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCrmOrganizationDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmOrganizationDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Update a CRM Organization","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/record-types":{"get":{"operationId":"CrmController_listRecordTypes","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmRecordTypeListDto_Output"}}}}},"summary":"List configurable CRM Record Types","tags":["CRM"]},"post":{"operationId":"CrmController_createRecordType","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmRecordTypeDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmRecordTypeDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Create a configurable CRM Record Type","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/record-types/{entityId}":{"put":{"operationId":"CrmController_updateRecordType","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmRecordTypeDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmRecordTypeDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Update a configurable CRM Record Type","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/records":{"get":{"operationId":"CrmController_listRecords","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}},{"name":"record_type_id","required":true,"in":"query","schema":{"minLength":1,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmRecordListDto_Output"}}}}},"summary":"List CRM Records of one configurable type","tags":["CRM"]},"post":{"operationId":"CrmController_createRecord","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmRecordDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmRecordDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Create a CRM Record","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/records/{entityId}":{"get":{"operationId":"CrmController_getRecord","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmRecordDto_Output"}}}}},"summary":"Get a CRM Record","tags":["CRM"]},"put":{"operationId":"CrmController_updateRecord","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCrmRecordDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmRecordDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Update a CRM Record","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/fields":{"get":{"operationId":"CrmController_listFieldDefinitions","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmFieldDefinitionListDto_Output"}}}}},"summary":"List CRM custom-field definitions","tags":["CRM"]},"post":{"operationId":"CrmController_createFieldDefinition","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmFieldDefinitionDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmFieldDefinitionDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Create a CRM custom-field definition","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/fields/{entityId}":{"put":{"operationId":"CrmController_updateFieldDefinition","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmFieldDefinitionDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmFieldDefinitionDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Update or archive a CRM custom-field definition","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/terminology":{"get":{"operationId":"CrmController_getTerminology","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmTerminologyDto_Output"}}}}},"summary":"Get workspace CRM terminology","tags":["CRM"]},"put":{"operationId":"CrmController_setTerminology","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmTerminologyDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmTerminologyDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Update workspace CRM terminology without changing stable IDs","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/organization-linking-settings":{"get":{"operationId":"CrmController_getOrganizationLinkingSettings","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmOrganizationLinkingSettingsDto_Output"}}}}},"summary":"Get conservative Person-to-Organization email-domain matching settings","tags":["CRM"]},"put":{"operationId":"CrmController_setOrganizationLinkingSettings","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmOrganizationLinkingSettingsDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmOrganizationLinkingSettingsDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Update conservative Person-to-Organization email-domain matching settings","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/relationship-types":{"get":{"operationId":"CrmController_listRelationshipTypes","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmRelationshipTypeListDto_Output"}}}}},"summary":"List CRM relationship definitions","tags":["CRM"]},"post":{"operationId":"CrmController_createRelationshipType","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmRelationshipTypeDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmRelationshipTypeDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Create a CRM relationship definition","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/relationship-types/{entityId}":{"put":{"operationId":"CrmController_updateRelationshipType","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmRelationshipTypeDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmRelationshipTypeDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Update a CRM relationship definition","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/relationships":{"get":{"operationId":"CrmController_listRelationships","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}},{"name":"entity_type","required":false,"in":"query","schema":{"type":"string","enum":["person","organization","record"]}},{"name":"entity_id","required":false,"in":"query","schema":{"type":"string"}},{"name":"relationship_type_id","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmRelationshipListDto_Output"}}}}},"summary":"List CRM relationships","tags":["CRM"]},"post":{"operationId":"CrmController_createRelationship","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmRelationshipDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmRelationshipDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Create a CRM relationship","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/relationships/{entityId}":{"put":{"operationId":"CrmController_updateRelationship","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmRelationshipDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmRelationshipDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Update a CRM relationship","tags":["CRM"]},"delete":{"operationId":"CrmController_removeRelationship","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"204":{"description":""},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Remove a CRM relationship while retaining its audit record","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/layouts":{"get":{"operationId":"CrmController_listFieldLayouts","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmFieldLayoutListDto_Output"}}}}},"summary":"List CRM field layouts","tags":["CRM"]},"post":{"operationId":"CrmController_createFieldLayout","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmFieldLayoutDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmFieldLayoutDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Create a CRM field layout","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/layouts/{entityId}":{"put":{"operationId":"CrmController_updateFieldLayout","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmFieldLayoutDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmFieldLayoutDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Update a CRM field layout","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/views":{"get":{"operationId":"CrmController_listViews","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmViewListDto_Output"}}}}},"summary":"List CRM saved views visible to the caller","tags":["CRM"]},"post":{"operationId":"CrmController_createView","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmViewDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmViewDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Create a CRM saved view","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/views/{entityId}/entities":{"get":{"operationId":"CrmController_listViewEntities","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmViewEntityListDto_Output"}}}}},"summary":"List one materialized CRM saved view without scanning its entity collection","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/views/{entityId}":{"put":{"operationId":"CrmController_updateView","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmViewDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmViewDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Update a CRM saved view","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/automations":{"get":{"operationId":"CrmAutomationController_list","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmAutomationDefinitionListDto_Output"}}}}},"summary":"List CRM automation definitions","tags":["CRM Automations"]},"post":{"operationId":"CrmAutomationController_create","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmAutomationDefinitionDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmAutomationDefinitionDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Create a CRM automation definition","tags":["CRM Automations"]}},"/consumer/v1/guilds/{guildId}/crm/automations/runs":{"get":{"operationId":"CrmAutomationController_listRuns","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}},{"name":"definition_id","required":false,"in":"query","schema":{"type":"string"}},{"name":"event_id","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmAutomationRunListDto_Output"}}}}},"summary":"List CRM automation runs","tags":["CRM Automations"]}},"/consumer/v1/guilds/{guildId}/crm/automations/runs/{entityId}":{"get":{"operationId":"CrmAutomationController_getRun","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmAutomationRunDto_Output"}}}}},"summary":"Get a CRM automation run","tags":["CRM Automations"]}},"/consumer/v1/guilds/{guildId}/crm/automations/runs/{entityId}/logs":{"get":{"operationId":"CrmAutomationController_listRunLogs","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmAutomationRunLogListDto_Output"}}}}},"summary":"List append-only CRM automation run logs","tags":["CRM Automations"]}},"/consumer/v1/guilds/{guildId}/crm/automations/invocations":{"get":{"operationId":"CrmAutomationController_listInvocations","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}},{"name":"status","required":false,"in":"query","schema":{"type":"string","enum":["pending","processing","completed","failed"]}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmAutomationInvocationListDto_Output"}}}}},"summary":"List durable CRM automation invocation outbox items","tags":["CRM Automations"]}},"/consumer/v1/guilds/{guildId}/crm/automations/{entityId}":{"get":{"operationId":"CrmAutomationController_get","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmAutomationDefinitionDto_Output"}}}}},"summary":"Get a CRM automation definition","tags":["CRM Automations"]},"put":{"operationId":"CrmAutomationController_update","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmAutomationDefinitionDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmAutomationDefinitionDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Update a CRM automation definition","tags":["CRM Automations"]}},"/consumer/v1/guilds/{guildId}/crm/automations/events":{"post":{"description":"Requires trigger_type manual.event and source manual; source_provider must be omitted, null or manual. Only explicitly manual workflows match. System and connector events are reserved for trusted publishers.","operationId":"CrmAutomationController_submitEvent","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmitCrmAutomationEventDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmAutomationEventDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Submit an idempotent manual CRM event","tags":["CRM Automations"]}},"/consumer/v1/guilds/{guildId}/crm/automations/runs/{entityId}/execute":{"post":{"operationId":"CrmAutomationController_executeRun","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmAutomationRunDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Claim and resume a CRM automation run","tags":["CRM Automations"]}},"/consumer/v1/guilds/{guildId}/crm/automations/runs/{entityId}/approval":{"post":{"operationId":"CrmAutomationController_decideAction","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DecideCrmAutomationActionDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmAutomationRunDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Approve or reject a waiting CRM automation action","tags":["CRM Automations"]}},"/consumer/v1/guilds/{guildId}/crm/automations/runs/{entityId}/retry":{"post":{"operationId":"CrmAutomationController_retryRun","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmAutomationRunDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Queue a failed CRM automation run for retry","tags":["CRM Automations"]}},"/consumer/v1/guilds/{guildId}/crm/automations/runs/{entityId}/pause":{"post":{"operationId":"CrmAutomationController_pauseRun","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmAutomationRunDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Pause an idle CRM automation or Playbook run","tags":["CRM Automations"]}},"/consumer/v1/guilds/{guildId}/crm/automations/runs/{entityId}/resume":{"post":{"operationId":"CrmAutomationController_resumeRun","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmAutomationRunDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Resume a paused CRM automation or Playbook run","tags":["CRM Automations"]}},"/consumer/v1/guilds/{guildId}/crm/automations/runs/{entityId}/cancel":{"post":{"operationId":"CrmAutomationController_cancelRun","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmAutomationRunDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Cancel a CRM automation run","tags":["CRM Automations"]}},"/consumer/v1/guilds/{guildId}/crm/playbooks":{"get":{"operationId":"CrmPlaybookController_list","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}}],"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPlaybookDefinitionListDto_Output"}}}}},"summary":"List versioned CRM Playbooks","tags":["CRM Playbooks"]},"post":{"operationId":"CrmPlaybookController_create","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmPlaybookDefinitionDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPlaybookDefinitionDto"}}}}},"summary":"Create a CRM Playbook","tags":["CRM Playbooks"]}},"/consumer/v1/guilds/{guildId}/crm/playbooks/{entityId}":{"get":{"operationId":"CrmPlaybookController_get","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPlaybookDefinitionDto_Output"}}}}},"summary":"Get a CRM Playbook","tags":["CRM Playbooks"]},"put":{"operationId":"CrmPlaybookController_update","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmPlaybookDefinitionDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPlaybookDefinitionDto"}}}}},"summary":"Update a CRM Playbook as a new version","tags":["CRM Playbooks"]}},"/consumer/v1/guilds/{guildId}/crm/playbooks/{entityId}/start":{"post":{"operationId":"CrmPlaybookController_start","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartCrmPlaybookDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmAutomationRunDto"}}}}},"summary":"Start an idempotent CRM Playbook run","tags":["CRM Playbooks"]}},"/consumer/v1/guilds/{guildId}/crm/playbooks/{entityId}/runs":{"get":{"operationId":"CrmPlaybookController_listRuns","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}},{"name":"include_archived","required":false,"in":"query","schema":{"default":false,"type":"boolean"}}],"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmAutomationRunListDto_Output"}}}}},"summary":"List runs for one CRM Playbook","tags":["CRM Playbooks"]}},"/consumer/v1/guilds/{guildId}/crm/portal/options":{"get":{"operationId":"CrmPortalController_listOptions","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}},{"name":"kind","required":true,"in":"query","schema":{"$ref":"#/components/schemas/CrmPortalOptionKind"}},{"name":"query","required":false,"in":"query","schema":{"maxLength":100,"default":"","type":"string"}},{"name":"selected_ids","required":false,"in":"query","schema":{"maxItems":100,"default":[],"type":"array","items":{"type":"string","minLength":1}}},{"name":"field_entity_types","required":false,"in":"query","schema":{"maxItems":3,"default":[],"type":"array","items":{"$ref":"#/components/schemas/CrmPortalEntityType"}}},{"name":"field_record_type_ids","required":false,"in":"query","schema":{"maxItems":100,"default":[],"type":"array","items":{"type":"string","minLength":1}}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":50,"default":20,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPortalOptionListDto_Output"}}}}},"summary":"Search bounded CRM metadata options for portal configuration","tags":["CRM"]}},"/consumer/v1/guilds/{guildId}/crm/portal":{"get":{"operationId":"CrmPortalController_getConfiguration","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPortalConfigurationDto_Output"}}}}},"summary":"Get the composable CRM customer portal configuration","tags":["CRM"]},"put":{"operationId":"CrmPortalController_setConfiguration","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertCrmPortalConfigurationDto"}}}},"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmPortalConfigurationDto_Output"}}}}},"summary":"Replace the composable CRM customer portal configuration","tags":["CRM"]}},"/consumer/v1/page/{pageDomain}/customer-portal/crm":{"get":{"operationId":"PublicCrmPortalController_getContext","parameters":[{"name":"pageDomain","required":true,"in":"path","schema":{"type":"string"}},{"name":"authorization","required":true,"in":"header","schema":{"type":"string"}}],"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicCrmPortalContextDto_Output"}}}}},"summary":"Get CRM portal sections scoped to the authenticated external contact","tags":["Customer Portal"]}},"/consumer/v1/page/{pageDomain}/customer-portal/crm/sections/{componentId}":{"get":{"operationId":"PublicCrmPortalController_getSection","parameters":[{"name":"pageDomain","required":true,"in":"path","schema":{"type":"string"}},{"name":"componentId","required":true,"in":"path","schema":{"type":"string"}},{"name":"cursor","required":true,"in":"query","schema":{"type":"string"}},{"name":"authorization","required":true,"in":"header","schema":{"type":"string"}}],"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicCrmPortalSectionPageDto_Output"}}}}},"summary":"Get the next bounded page of one CRM portal section","tags":["Customer Portal"]}},"/consumer/v1/page/{pageDomain}/customer-portal/crm/action":{"put":{"operationId":"PublicCrmPortalController_performAction","parameters":[{"name":"pageDomain","required":true,"in":"path","schema":{"type":"string"}},{"name":"authorization","required":true,"in":"header","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicCrmPortalActionDto"}}}},"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicCrmPortalActionResultDto_Output"}}}}},"summary":"Perform an explicitly granted CRM portal action","tags":["Customer Portal"]}},"/consumer/v1/page/{pageDomain}/crm/forms/{formId}":{"get":{"operationId":"PublicCrmFormsController_getForm","parameters":[{"name":"pageDomain","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"formId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicCrmFormDto_Output"}}}}},"summary":"Get a public or customer-portal CRM form","tags":["Public CRM Forms"]}},"/consumer/v1/page/{pageDomain}/crm/forms/{formId}/submissions":{"post":{"operationId":"PublicCrmFormsController_submitForm","parameters":[{"name":"pageDomain","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"formId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmitCrmFormDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicCrmFormSubmissionResultDto"}}}}},"summary":"Submit a public or customer-portal CRM form","tags":["Public CRM Forms"]}},"/consumer/v1/page/{pageDomain}/crm/forms/{formId}/multipart-submissions":{"post":{"operationId":"PublicCrmFormsController_submitMultipartForm","parameters":[{"name":"pageDomain","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"formId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["values","form_started_at","files"],"properties":{"values":{"type":"string","description":"JSON object containing form field values"},"target_entity_id":{"type":"string"},"idempotency_key":{"type":"string","description":"Stable key used to safely retry one logical submission"},"form_started_at":{"type":"integer","format":"int64"},"website":{"type":"string","description":"Honeypot; browsers must leave this empty"},"files":{"type":"array","items":{"type":"string","format":"binary"}}}}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicCrmFormSubmissionResultDto"}}}}},"summary":"Submit a public or customer-portal CRM form with files","tags":["Public CRM Forms"]}},"/consumer/v1/guilds/{guildId}/connectors/catalog":{"get":{"operationId":"ConnectorController_catalog","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorCatalogDto_Output"}}}}},"summary":"List native connector capabilities and deployment availability","tags":["CRM Connectors"]}},"/consumer/v1/guilds/{guildId}/connectors":{"get":{"operationId":"ConnectorController_list","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorConnectionListDto_Output"}}}}},"summary":"List workspace connector connections","tags":["CRM Connectors"]},"post":{"operationId":"ConnectorController_create","parameters":[{"name":"guildId","required":true,"in":"path","description":"The id of a discord guild","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConnectorConnectionDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorConnectionDto"}}}},"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}}},"summary":"Create a connector connection without exposing stored credentials","tags":["CRM Connectors"]}},"/consumer/v1/guilds/{guildId}/connectors/sources/{entityType}/{entityId}":{"get":{"operationId":"ConnectorController_sources","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"entityType","required":true,"in":"path","schema":{"type":"string","enum":["person","organization","record"]}},{"name":"entityId","required":true,"in":"path","schema":{"minLength":1,"maxLength":300,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSourceListDto_Output"}}}}},"summary":"List minimized connector sources and freshness for one CRM entity","tags":["CRM Connectors"]}},"/consumer/v1/guilds/{guildId}/connectors/{connectionId}":{"get":{"operationId":"ConnectorController_get","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"connectionId","required":true,"in":"path","schema":{"minLength":1,"maxLength":200,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorConnectionDto_Output"}}}}},"summary":"Get connector connection metadata","tags":["CRM Connectors"]},"put":{"operationId":"ConnectorController_update","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"connectionId","required":true,"in":"path","schema":{"minLength":1,"maxLength":200,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateConnectorConnectionDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorConnectionDto_Output"}}}}},"summary":"Update connector configuration or rotate credentials","tags":["CRM Connectors"]}},"/consumer/v1/guilds/{guildId}/connectors/{connectionId}/actions":{"post":{"operationId":"ConnectorController_action","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"connectionId","required":true,"in":"path","schema":{"minLength":1,"maxLength":200,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorActionDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorConnectionDto_Output"}}}}},"summary":"Test, pause, resume, import, repair, or disconnect a connection","tags":["CRM Connectors"]}},"/consumer/v1/guilds/{guildId}/connectors/{connectionId}/disconnect-preview":{"get":{"operationId":"ConnectorController_disconnectPreview","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"connectionId","required":true,"in":"path","schema":{"minLength":1,"maxLength":200,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorDisconnectPreviewDto_Output"}}}}},"summary":"Preview source links and proven source-only entities affected by disconnect","tags":["CRM Connectors"]}},"/consumer/v1/guilds/{guildId}/connectors/{connectionId}/diagnostics":{"get":{"operationId":"ConnectorController_diagnostics","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"connectionId","required":true,"in":"path","schema":{"minLength":1,"maxLength":200,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorDiagnosticsDto_Output"}}}}},"summary":"Generate a redacted connector support report and aggregate operational metrics","tags":["CRM Connectors"]}},"/consumer/v1/guilds/{guildId}/connectors/{connectionId}/authorization":{"post":{"operationId":"ConnectorController_authorize","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"connectionId","required":true,"in":"path","schema":{"minLength":1,"maxLength":200,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorAuthorizationDto_Output"}}}}},"summary":"Start a workspace-bound connector OAuth flow","tags":["CRM Connectors"]}},"/consumer/v1/guilds/{guildId}/connectors/{connectionId}/mappings":{"get":{"operationId":"ConnectorController_mappings","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"connectionId","required":true,"in":"path","schema":{"minLength":1,"maxLength":200,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorMappingListDto_Output"}}}}},"summary":"List versioned connector mappings","tags":["CRM Connectors"]},"put":{"operationId":"ConnectorController_updateMapping","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"connectionId","required":true,"in":"path","schema":{"minLength":1,"maxLength":200,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertConnectorMappingDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorMappingListDto_Output"}}}}},"summary":"Create a new immutable connector mapping version","tags":["CRM Connectors"]}},"/consumer/v1/guilds/{guildId}/connectors/{connectionId}/discovery":{"get":{"operationId":"ConnectorController_discovery","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"connectionId","required":true,"in":"path","schema":{"minLength":1,"maxLength":200,"type":"string"}},{"name":"object_type","required":false,"in":"query","schema":{"maxLength":100,"type":"string"}},{"name":"refresh","required":false,"in":"query","schema":{"default":false,"type":"boolean"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorDiscoveryDto_Output"}}}}},"summary":"Discover provider accounts, locations, object types, and cached or refreshed fields","tags":["CRM Connectors"]}},"/consumer/v1/guilds/{guildId}/connectors/{connectionId}/preview":{"post":{"operationId":"ConnectorController_preview","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"connectionId","required":true,"in":"path","schema":{"minLength":1,"maxLength":200,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorPreviewDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorPreviewResultDto_Output"}}}}},"summary":"Preview minimized source data and sampled mapping outcomes without importing","tags":["CRM Connectors"]}},"/consumer/v1/guilds/{guildId}/connectors/{connectionId}/jobs":{"get":{"operationId":"ConnectorController_jobs","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"connectionId","required":true,"in":"path","schema":{"minLength":1,"maxLength":200,"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":50,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorJobListDto_Output"}}}}},"summary":"List redacted connector import and event-processing history","tags":["CRM Connectors"]}},"/consumer/v1/guilds/{guildId}/connectors/{connectionId}/jobs/{jobId}/cancel":{"post":{"operationId":"ConnectorController_cancelJob","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"connectionId","required":true,"in":"path","schema":{"minLength":1,"maxLength":200,"type":"string"}},{"name":"jobId","required":true,"in":"path","schema":{"minLength":1,"maxLength":500,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorJobActionResultDto_Output"}}}}},"summary":"Request cooperative cancellation of queued or running connector work","tags":["CRM Connectors"]}},"/consumer/v1/guilds/{guildId}/connectors/{connectionId}/conflicts":{"get":{"operationId":"ConnectorController_conflicts","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"connectionId","required":true,"in":"path","schema":{"minLength":1,"maxLength":200,"type":"string"}}],"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorConflictListDto_Output"}}}}},"summary":"List open connector identity and mapping conflicts","tags":["CRM Connectors"]}},"/consumer/v1/guilds/{guildId}/connectors/{connectionId}/conflicts/{conflictId}":{"post":{"operationId":"ConnectorController_resolveConflict","parameters":[{"name":"guildId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"connectionId","required":true,"in":"path","schema":{"minLength":1,"maxLength":200,"type":"string"}},{"name":"conflictId","required":true,"in":"path","schema":{"minLength":1,"maxLength":300,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveConnectorConflictDto"}}}},"responses":{"400":{"description":"Custom code error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomCodeErrorDto"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorConflictListDto_Output"}}}}},"summary":"Resolve a connector conflict by linking an entity or ignoring the source object","tags":["CRM Connectors"]}},"/consumer/v1/connectors/webhooks/providers/{connectorId}":{"post":{"operationId":"ConnectorWebhookController_receiveProvider","parameters":[{"name":"connectorId","required":true,"in":"path","schema":{"type":"string","enum":["stripe","square","hubspot"]}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorWebhookResultDto"}}}}},"summary":"Receive an app-wide provider webhook and route it by verified external account","tags":["CRM Connector Webhooks"]}},"/consumer/v1/connectors/webhooks/{connectionId}":{"post":{"operationId":"ConnectorWebhookController_receive","parameters":[{"name":"connectionId","required":true,"in":"path","schema":{"minLength":1,"maxLength":200,"type":"string"}}],"requestBody":{"required":true,"description":"Generic webhook schema; native providers send their documented provider payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundConnectorEventDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorWebhookResultDto"}}}}},"summary":"Receive an authenticated push event for an opaque connector connection","tags":["CRM Connector Webhooks"]}},"/consumer/v1/connectors/webhooks/oauth/callback":{"get":{"operationId":"ConnectorWebhookController_oauthCallback","parameters":[{"name":"code","required":false,"in":"query","schema":{"minLength":1,"maxLength":10000,"type":"string"}},{"name":"state","required":true,"in":"query","schema":{"minLength":20,"maxLength":300,"type":"string"}},{"name":"error","required":false,"in":"query","schema":{"maxLength":200,"type":"string"}},{"name":"error_description","required":false,"in":"query","schema":{"maxLength":1000,"type":"string"}},{"name":"hmac","required":false,"in":"query","schema":{"maxLength":200,"type":"string"}},{"name":"host","required":false,"in":"query","schema":{"maxLength":1000,"type":"string"}},{"name":"shop","required":false,"in":"query","schema":{"maxLength":300,"type":"string"}},{"name":"timestamp","required":false,"in":"query","schema":{"minimum":-9007199254740991,"maximum":9007199254740991,"type":"integer"}}],"responses":{"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorAuthorizationResultDto_Output"}}}}},"summary":"Complete a one-time connector OAuth callback","tags":["CRM Connector Webhooks"]}}},"info":{"title":"bnder api","description":"The bnder API description","version":"1.0","contact":{}},"tags":[{"name":"bnder","description":""}],"servers":[],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"OauthClientInfoResponseDto":{"type":"object","properties":{"client_id":{"type":"string","description":"The unique identifier of the OAuth client."},"name":{"type":"string","description":"The name of the OAuth client."},"redirect_uris":{"type":"array","items":{"type":"string","format":"uri","description":"A valid redirect URI for the OAuth client."},"description":"An array of valid redirect URIs for the OAuth client."},"is_official":{"type":"boolean","description":"Indicates whether the OAuth client is an official application."}},"required":["client_id","name","redirect_uris","is_official"]},"OauthManagedClientsResponseDto_Output":{"type":"object","properties":{"applications":{"type":"array","items":{"type":"object","properties":{"client_id":{"type":"string","description":"The unique identifier of the OAuth client."},"client_secret":{"type":"string","description":"The client secret of the OAuth client. Empty when the client does not require one."},"name":{"type":"string","description":"Display name of the OAuth client."},"redirect_uris":{"type":"array","items":{"type":"string","format":"uri","description":"Allowed redirect URI for this OAuth client."},"description":"Redirect URIs allowed for this OAuth client."},"requires_secret":{"type":"boolean","description":"Whether the OAuth client must send a client secret during code and token exchange."}},"required":["client_id","client_secret","name","redirect_uris","requires_secret"],"additionalProperties":false},"description":"OAuth applications owned by the authenticated user."}},"required":["applications"],"additionalProperties":false},"UpsertOauthClientDto":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120,"description":"Display name of the OAuth client."},"redirect_uris":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","format":"uri","description":"Allowed redirect URI for this OAuth client."},"description":"Redirect URIs allowed for this OAuth client."},"requires_secret":{"default":false,"description":"Whether the OAuth client must send a client secret during code and token exchange.","type":"boolean"}},"required":["name","redirect_uris"]},"OauthManagedClientResponseDto_Output":{"type":"object","properties":{"client_id":{"type":"string","description":"The unique identifier of the OAuth client."},"client_secret":{"type":"string","description":"The client secret of the OAuth client. Empty when the client does not require one."},"name":{"type":"string","description":"Display name of the OAuth client."},"redirect_uris":{"type":"array","items":{"type":"string","format":"uri","description":"Allowed redirect URI for this OAuth client."},"description":"Redirect URIs allowed for this OAuth client."},"requires_secret":{"type":"boolean","description":"Whether the OAuth client must send a client secret during code and token exchange."}},"required":["client_id","client_secret","name","redirect_uris","requires_secret"],"additionalProperties":false},"OauthAuthorizeResponseDto":{"type":"object","properties":{"redirect_uri":{"type":"string","format":"uri","description":"The redirection endpoint URI registered by the client."}},"required":["redirect_uri"]},"OAuthTokenDto":{"type":"object","properties":{"grant_type":{"type":"string","enum":["authorization_code","refresh_token"],"description":"Grant access request"},"code":{"description":"The authorization code received from the authorization server.","type":"string","minLength":1},"redirect_uri":{"description":"The redirection endpoint URI registered by the client.","type":"string","format":"uri"},"client_id":{"type":"string","minLength":1,"description":"The client identifier issued to the client during the registration process."},"client_secret":{"description":"The client secret issued to confidential clients. Required when the client is configured to require a secret.","type":"string","minLength":1},"code_verifier":{"description":"PKCE code verifier required when redeeming public-client authorization codes.","type":"string","minLength":1},"refresh_token":{"description":"The refresh token issued to the client.","type":"string","minLength":1}},"required":["grant_type","client_id"]},"OauthTokenResponseDto_Output":{"type":"object","properties":{"access_token":{"type":"string","minLength":1,"description":"The access token issued by the authorization server."},"token_type":{"type":"string","description":"The type of the token issued.","enum":["Bearer"]},"expires_in":{"type":"number","description":"The lifetime in seconds of the access token."},"refresh_token":{"description":"The refresh token which can be used to obtain new access tokens.","type":"string","minLength":1}},"required":["access_token","token_type","expires_in"],"additionalProperties":false},"MissingDiscordPermissionErrorDto":{"type":"object","properties":{"message":{"type":"string","description":"Human readable error message","enum":["Missing Discord Permission"]},"statusCode":{"type":"number","description":"HTTP status code","enum":[403]},"permission":{"type":"string","enum":["SET_STATE","MANAGE_TASKS","MANAGE_TICKETS","MANAGE_PERMISSIONS","MANAGE_PROJECTS","MANAGE_DOCUMENTS","READ_DOCUMENTS","MANAGE_TOPICS","VIEW_TASKS","MANAGE_LABELS","MANAGE_MILESTONES","MANAGE_SETTINGS","VIEW_WORKSPACE_HEALTH","CREATE_EVENTS","MANAGE_FILES","VIEW_CRM","MANAGE_CRM","MANAGE_CRM_SCHEMA","MANAGE_CRM_CONNECTORS","EXPORT_CRM","MERGE_CRM"],"description":"Missing Discord permission"}},"required":["message","statusCode","permission"]},"CustomCodeErrorDto":{"type":"object","properties":{"code":{"type":"string","enum":["MISSING_GUILD_ID","MISSING_TOPIC_ID","MISSING_TOPIC_NAME","MISSING_TASK_ID","MISSING_DOCUMENT_ID","MISSING_PROJECT_ID","MISSING_PERMISSION","MISSING_DOCUMENT_TITLE","MISSING_DOCUMENT_CONTENT","MAX_DOCUMENTS_REACHED","INVALID_PROJECT_ID","PROJECT_IN_BIN","INVALID_TOPIC_ID","TOPIC_IN_BIN","USER_NOT_IN_GUILD","BOTS_NOT_IN_GUILD","NO_PERMISSION_IN_REQUEST","MISSING_USER_TEAM_TO_GRANT","INVALID_PERMISSION","MISSING_PROJECT_NAME","PROJECT_NAME_IS_DEFAULT","MAX_PROJECTS_PER_GUILD_REACHED","PROJECT_NAME_ALREADY_EXISTS","PROJECT_NAME_TOO_LONG","DELETE_DEFAULT_PROJECT","MISSING_TASK_TEXT","TASK_TEXT_TOO_LONG","INVALID_ASSIGNED_USER_IDS","INVALID_ASSIGNED_TEAM_IDS","MAX_TASKS_PER_GUILD_REACHED","MAX_TASK_CUSTOM_FIELDS_PER_PROJECT_REACHED","MAX_ASSIGNEES_PER_TASK_REACHED","TASK_DOES_NOT_EXIST","TOPIC_NAME_ALREADY_EXISTS","TOPIC_NAME_TOO_LONG","MAX_TOPICS_REACHED","TOPIC_DOES_NOT_EXIST","INVALID_PRESET","INVALID_COLOR","MAX_AMOUNT_OF_LABELS_PER_GUILD","LABEL_NAME_TOO_LONG","LABEL_NAME_ALREADY_EXISTS","LABEL_NOT_FOUND","MAX_AMOUNT_OF_LABELS_PER_OBJECT","INVALID_TIMEZONE","MAX_SUBTASKS_PER_TASK_REACHED","MAX_AMOUNT_OF_COMMENTS_PER_TASKS","TASK_DESCRIPTION_TOO_LONG","INVALID_ASSIGNEE_ID","INVALID_TICKET_REPORTER_ID","MAX_AMOUNT_OF_EVENTS_PER_GUILD_REACHED","TOO_MANY_PREMIUM_USERS","SUBTASKS_NOT_ALLOWED","DAILY_REPEAT_NOT_ALLOWED","MAX_EVENT_INVITEES_REACHED","INVALID_EVENT_INVITED_TEAM_IDS","TASK_ATTACHMENT_TOO_LARGE","TASK_COMMENT_ATTACHMENTS_NOT_ALLOWED","GUILD_STORAGE_LIMIT_REACHED","SUBSCRIBERS_NOT_ALLOWED","MAX_AMOUNT_OF_MILESTONES_PER_GUILD","MILESTONE_NAME_ALREADY_EXISTS","SEARCH_NOT_ALLOWED","TASK_DUPLICATE_WARNINGS_NOT_ALLOWED","TASK_SMART_SUGGESTIONS_NOT_INCLUDED_IN_SEAT","TASK_DUPLICATE_WARNINGS_NOT_ENABLED","INVALID_DEPENDENCY_ID","DEPENDENCIES_NOT_ALLOWED","FILE_MOVE_NOT_ALLOWED","FILE_SHARE_NOT_ALLOWED","FILE_RENAME_NOT_ALLOWED","FILE_UPLOAD_TYPE_NOT_ALLOWED","FOLDER_MOVE_NOT_ALLOWED","FOLDER_RENAME_NOT_ALLOWED","FOLDER_SHARE_NOT_ALLOWED","TOO_MANY_COLUMNS","COLUMN_NAME_TOO_LONG","AUTO_PRIORITY_NOT_ENABLED","USER_NOT_ALLOWED_TO_USE_AUTO_PRIORITY","AUTO_LABELING_NOT_ENABLED","USER_NOT_ALLOWED_TO_USE_AUTO_LABELING","AUTO_LABEL_SUGGESTIONS_NOT_ENABLED","COLUMN_NAME_NOT_ALLOWED","TODO_SUGGESTIONS_NOT_ENABLED","USER_NOT_ALLOWED_TO_TODO_SUGGESTIONS","FILE_PUBLIC_NOT_ALLOWED","GUILD_IS_DISCORD_SERVER","CANT_REMOVE_OWNER","USER_MAIL_ALREADY_EXISTS","PASSWORD_NOT_STRONG_ENOUGH","USER_MAIL_INVALID","USER_MAIL_NOT_VERIFIED","MAX_AMOUNT_OF_GUILDS","DISPLAY_NAME_INVALID","IMAGE_WRONG_DIMENSIONS","MAX_AMOUNT_OF_PUBLIC_DOCUMENTS","REPEAT_END_NOT_ALLOWED","MAX_SYNC_CALENDARS_REACHED","MAX_PAGE_DOMAINS","PAGE_DOMAIN_ALREADY_EXISTS","PAGE_DOMAIN_INVALID_FORMAT","PAGE_DOMAIN_CUSTOM_DOMAINS_NOT_ALLOWED","PAGE_DOMAIN_CLOUDFLARE_ERROR","PAGE_DOMAIN_BLACKLISTED_SUBDOMAIN","CANNOT_USE_COMMENT_SUMMARIZATION","NO_COMMENTS_TO_SUMMARIZE","USER_ALREADY_HAS_PRO_SEAT","PEOPLE_PRO_WORKSPACE_REQUIRED","MAX_AMOUNT_OF_VIRTUAL_COWORKERS","DISCORD_OAUTH_RATE_LIMITED","MAX_BOOKING_LINKS_REACHED","MAX_BOOKING_ADVANCE_DAYS_REACHED","CRM_ENTITIES_LIMIT_REACHED","CRM_RECORD_TYPES_LIMIT_REACHED","CRM_FIELDS_LIMIT_REACHED","CRM_LIFECYCLES_LIMIT_REACHED","CRM_VIEWS_LIMIT_REACHED","CRM_SEGMENTS_LIMIT_REACHED","CRM_FORMS_LIMIT_REACHED","CRM_AUTOMATIONS_LIMIT_REACHED","CRM_AUTOMATION_RUNS_LIMIT_REACHED","CRM_CONNECTORS_LIMIT_REACHED","CRM_IMPORT_ROWS_LIMIT_REACHED","CRM_FREE_IMPORT_ALREADY_USED","CRM_STARTER_SEAT_REQUIRED","CRM_PRO_SEAT_REQUIRED","TEAM_BOOKING_REQUIRES_PRO","TICKET_ENFORCED_TEMPLATE_PROJECT_ID_REQUIRED","TICKET_INBOUND_EMAIL_PROJECT_ID_REQUIRED","TICKET_INBOUND_EMAIL_LOCAL_PART_INVALID","TICKET_INBOUND_EMAIL_LOCAL_PART_DUPLICATE","TICKET_INBOUND_EMAIL_LOCAL_PART_ALREADY_USED","TICKET_TEMPLATE_NOT_FOUND","TICKET_SLA_POLICIES_NOT_ALLOWED","TICKET_EMAIL_TO_TICKET_NOT_ALLOWED","TICKET_REPLY_BY_EMAIL_NOT_ALLOWED","TICKET_MAILBOXES_NOT_ALLOWED","TICKET_MAILBOX_LIMIT_REACHED","TICKET_MAILBOX_CONNECTION_NOT_FOUND","TICKET_MAILBOX_PROVIDER_NOT_CONFIGURED","TICKET_MAILBOX_HOST_NOT_ALLOWED","TICKET_MAILBOX_DUPLICATE_INBOX","TICKET_ATTACHMENT_LIMIT_REACHED","TICKET_KNOWLEDGE_DRAFT_AI_NOT_ALLOWED","TICKET_ANALYTICS_NOT_ALLOWED","TICKET_ANALYTICS_NOT_AVAILABLE","TICKET_ANALYTICS_WORKLOAD_TOO_LARGE","TICKET_PUBLIC_KNOWLEDGE_SUGGESTIONS_NOT_ALLOWED","TICKET_PUBLIC_DISCORD_LOGIN_NOT_ALLOWED","TICKET_PUBLIC_DISCORD_OAUTH_STATE_INVALID","TICKET_PUBLIC_DISCORD_OAUTH_DENIED","TICKET_PUBLIC_DISCORD_OAUTH_FAILED","TICKET_PUBLIC_DISCORD_REPORTER_DMS_DISABLED","TICKET_PUBLIC_DISCORD_REPORTER_SESSION_INVALID","TICKET_PUBLIC_DISCORD_REPORTER_NOT_IN_WORKSPACE","TICKET_PUBLIC_SLACK_LOGIN_NOT_ALLOWED","TICKET_PUBLIC_SLACK_OAUTH_STATE_INVALID","TICKET_PUBLIC_SLACK_OAUTH_DENIED","TICKET_PUBLIC_SLACK_OAUTH_FAILED","TICKET_PUBLIC_SLACK_REPORTER_DMS_DISABLED","TICKET_PUBLIC_SLACK_REPORTER_SESSION_INVALID","TICKET_PUBLIC_SLACK_REPORTER_NOT_IN_WORKSPACE","TICKET_PUBLIC_PROJECT_USED_BY_PAGE_DOMAIN"],"description":"Machine readable error code"},"limit":{"type":"number","description":"Optional limit value relevant to the error","nullable":true}},"required":["code"]},"CreateTaskDto":{"type":"object","properties":{"text":{"type":"string","minLength":1,"maxLength":1250,"description":"The text of the task"},"description":{"description":"The description of the task","type":"string","maxLength":2000},"crm_entities":{"description":"People, Organizations, and Records linked to the task","maxItems":50,"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"assigned_user_ids":{"default":[],"description":"The IDs of the users assigned to the task","type":"array","items":{"type":"string"}},"assigned_team_ids":{"default":[],"description":"The IDs of the teams assigned to the task","type":"array","items":{"type":"string"}},"status":{"default":0,"description":"The zero-based project column index","type":"integer","minimum":0,"maximum":9007199254740991},"deadline":{"description":"The deadline of the task (ISO 8601, empty string allowed)","type":"string"},"start_date":{"description":"The planned start date of the task (ISO 8601, empty string allowed)","type":"string"},"effort":{"description":"The effort of the task in hours","type":"number","minimum":0,"maximum":96},"label_ids":{"default":[],"description":"The IDs of the labels assigned to the task","type":"array","items":{"type":"string"}},"priority":{"default":1,"description":"0: Low, 1: Normal, 2: High, 3: Urgent","type":"integer","minimum":0,"maximum":3},"repeat_end_date":{"description":"The date when the task repetition ends for supported daily, weekly, or monthly task repeats.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"repeat_days_interval":{"description":"Repeat every N days. Use this for daily or weekly repeats. Mutually exclusive with repeat_at_day_of_month. Tasks do not support yearly repeats.","type":"number","minimum":0,"maximum":365},"repeat_at_day_of_month":{"description":"Repeat every month on this calendar day. Mutually exclusive with repeat_days_interval.","type":"number","minimum":0,"maximum":31},"subtasks":{"description":"The subtasks of the task","type":"array","items":{"type":"object","properties":{"text":{"type":"string","description":"The text of the subtask"},"completed":{"type":"boolean","description":"Whether the subtask is completed"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"When the subtask was created"}},"required":["text","completed","created_at"]}},"subscribers_user_ids":{"default":[],"description":"IDs of users subscribed to receive changes on the task","type":"array","items":{"type":"string"}},"milestone_id":{"description":"The ID of the milestone the task belongs to","type":"string"},"task_relationships":{"description":"Canonical typed task relationships","type":"array","items":{"type":"object","properties":{"task_id":{"type":"string","description":"Referenced task ID"},"type":{"type":"string","enum":["depends_on","duplicate_of","related_to"],"description":"Directional relationship type"}},"required":["task_id","type"]}},"custom_fields":{"default":{},"type":"object","additionalProperties":{},"description":"Task custom field values keyed by field id"},"idempotency_key":{"description":"Stable key used to make retries of one task creation attempt idempotent","type":"string","minLength":16,"maxLength":128}},"required":["text"]},"TaskDto":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the task"},"status":{"type":"number","description":"The status of the task. This status can be used as index to map the task to a project column. Then the status represents the column the task is in."},"text":{"type":"string","minLength":1,"maxLength":1250,"description":"The text of the task"},"description":{"description":"The description of the task","type":"string","minLength":1,"maxLength":2000},"customer_id":{"description":"The ID of the customer linked to the task","type":"string"},"crm_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]},"description":"People, Organizations, and Records linked to the task"},"assigned_user_ids":{"type":"array","items":{"type":"string"},"description":"The IDs of the users assigned to the task"},"assigned_team_ids":{"type":"array","items":{"type":"string"},"description":"The IDs of the teams assigned to the task"},"project_id":{"type":"string","minLength":7,"maxLength":20,"description":"The ID of the project the task belongs to"},"deadline":{"description":"The deadline of the task","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"start_date":{"description":"The planned start date of the task","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"effort":{"description":"The effort of the task in hours","type":"number","minimum":0,"maximum":96},"priority":{"type":"number","minimum":0,"maximum":3,"description":"The priority of the task. 0: Low, 1: Normal, 2: High, 3: Urgent"},"repeat_days_interval":{"description":"The number of days between task repetitions","type":"number","minimum":1,"maximum":365},"repeat_end_date":{"description":"The date when the task repetition ends","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"label_ids":{"default":[],"description":"The IDs of the labels assigned to the task","type":"array","items":{"type":"string"}},"creation_date":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"The creation date of the task"},"creator_id":{"type":"string","description":"The ID of the user who created the task"},"in_bin":{"type":"boolean","description":"Whether the task is in the bin"},"delete_at":{"description":"The date the task will be deleted","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"history":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number","description":"History item ID"},"timestamp":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Timestamp of the history entry"},"executor":{"type":"string","description":"ID of the user who executed the action"},"data":{"description":"Payload of the history entry"}},"required":["id","timestamp","executor","data"]},"description":"The history of the task"},"subtasks":{"type":"array","items":{"type":"object","properties":{"creation_date":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Creation date of the subtask"},"text":{"type":"string","description":"The text of the subtask"},"completed":{"type":"boolean","description":"Whether the subtask is completed"}},"required":["creation_date","text","completed"]},"description":"The subtasks of the task"},"comments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Stable ID of the comment"},"text":{"type":"string","description":"The text of the comment"},"author_id":{"type":"string","description":"ID of the comment author"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Creation date of the comment"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"size":{"type":"number","description":"Attachment file size in bytes"},"type":{"type":"string","description":"Attachment type"}},"required":["id","name","size","type"]},"description":"The attachments of the comment"},"crm_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]},"description":"CRM entities referenced by the comment"}},"required":["id","text","author_id","created_at","attachments","crm_entities"]},"description":"The comments of the task"},"subscribers_user_ids":{"type":"array","items":{"type":"string"},"description":"The IDs of the users subscribed to the task"},"milestone_id":{"description":"The ID of the milestone the task belongs to","type":"string"},"dependencies":{"description":"Read-only blocker IDs derived from canonical typed task relationships","type":"array","items":{"type":"string"}},"task_relationships":{"type":"array","items":{"type":"object","properties":{"task_id":{"type":"string","description":"Referenced task ID"},"type":{"type":"string","enum":["depends_on","duplicate_of","related_to"],"description":"Directional relationship type"}},"required":["task_id","type"]},"description":"Canonical typed task relationships"},"attachments":{"description":"The attachments of the task","type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"size":{"type":"number","description":"Attachment file size in bytes"},"type":{"type":"string","description":"Attachment type"}},"required":["id","name","size","type"]}},"custom_fields":{"type":"object","additionalProperties":{},"description":"Task custom field values keyed by field id"}},"required":["id","status","text","crm_entities","assigned_user_ids","assigned_team_ids","project_id","priority","creation_date","creator_id","in_bin","history","subtasks","comments","subscribers_user_ids","task_relationships","custom_fields"]},"UpdateTaskDto":{"type":"object","properties":{"status":{"description":"The zero-based project column index","type":"integer","minimum":0,"maximum":9007199254740991},"text":{"description":"The text of the task","type":"string","minLength":1,"maxLength":1250},"description":{"description":"The description of the task","type":"string","maxLength":2000},"crm_entities":{"description":"People, Organizations, and Records linked to the task","maxItems":50,"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"assigned_user_ids":{"description":"The IDs of the users assigned to the task","type":"array","items":{"type":"string"}},"assigned_team_ids":{"description":"The IDs of the teams assigned to the task","type":"array","items":{"type":"string"}},"project_id":{"description":"The ID of the project the task belongs to","type":"string","minLength":7,"maxLength":20},"deadline":{"description":"The deadline of the task","type":"string"},"start_date":{"description":"The planned start date of the task","type":"string"},"effort":{"description":"The effort of the task in hours","type":"number","minimum":0,"maximum":96},"priority":{"description":"The priority of the task. 0: Low, 1: Normal, 2: High, 3: Urgent","type":"integer","minimum":0,"maximum":3},"repeat_days_interval":{"description":"Repeat every N days. Use this for daily or weekly repeats. Mutually exclusive with repeat_at_day_of_month. Tasks do not support yearly repeats.","type":"number","minimum":0,"maximum":365},"repeat_at_day_of_month":{"description":"Repeat every month on this calendar day. Mutually exclusive with repeat_days_interval.","type":"number","minimum":0,"maximum":31},"repeat_end_date":{"description":"The date when the task repetition ends for supported daily, weekly, or monthly task repeats.","type":"string"},"label_ids":{"description":"The IDs of the labels assigned to the task","type":"array","items":{"type":"string"}},"in_bin":{"description":"Whether the task is in the bin","type":"boolean"},"subtasks":{"description":"The subtasks of the task","type":"array","items":{"type":"object","properties":{"text":{"type":"string"},"completed":{"type":"boolean"},"created_at":{"type":"string"}},"required":["text","completed","created_at"]}},"subscribers_user_ids":{"description":"The IDs of the users subscribed to the task","type":"array","items":{"type":"string"}},"milestone_id":{"description":"The ID of the milestone the task belongs to","type":"string"},"task_relationships":{"description":"Canonical typed task relationships","type":"array","items":{"type":"object","properties":{"task_id":{"type":"string","description":"Referenced task ID"},"type":{"type":"string","enum":["depends_on","duplicate_of","related_to"],"description":"Directional relationship type"}},"required":["task_id","type"]}},"custom_fields":{"type":"object","additionalProperties":{},"description":"Task custom field values keyed by field id"}}},"TaskDto_Output":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the task"},"status":{"type":"number","description":"The status of the task. This status can be used as index to map the task to a project column. Then the status represents the column the task is in."},"text":{"type":"string","minLength":1,"maxLength":1250,"description":"The text of the task"},"description":{"description":"The description of the task","type":"string","minLength":1,"maxLength":2000},"customer_id":{"description":"The ID of the customer linked to the task","type":"string"},"crm_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false},"description":"People, Organizations, and Records linked to the task"},"assigned_user_ids":{"type":"array","items":{"type":"string"},"description":"The IDs of the users assigned to the task"},"assigned_team_ids":{"type":"array","items":{"type":"string"},"description":"The IDs of the teams assigned to the task"},"project_id":{"type":"string","minLength":7,"maxLength":20,"description":"The ID of the project the task belongs to"},"deadline":{"description":"The deadline of the task","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"start_date":{"description":"The planned start date of the task","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"effort":{"description":"The effort of the task in hours","type":"number","minimum":0,"maximum":96},"priority":{"type":"number","minimum":0,"maximum":3,"description":"The priority of the task. 0: Low, 1: Normal, 2: High, 3: Urgent"},"repeat_days_interval":{"description":"The number of days between task repetitions","type":"number","minimum":1,"maximum":365},"repeat_end_date":{"description":"The date when the task repetition ends","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"label_ids":{"default":[],"description":"The IDs of the labels assigned to the task","type":"array","items":{"type":"string"}},"creation_date":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"The creation date of the task"},"creator_id":{"type":"string","description":"The ID of the user who created the task"},"in_bin":{"type":"boolean","description":"Whether the task is in the bin"},"delete_at":{"description":"The date the task will be deleted","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"history":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number","description":"History item ID"},"timestamp":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Timestamp of the history entry"},"executor":{"type":"string","description":"ID of the user who executed the action"},"data":{"description":"Payload of the history entry"}},"required":["id","timestamp","executor","data"],"additionalProperties":false},"description":"The history of the task"},"subtasks":{"type":"array","items":{"type":"object","properties":{"creation_date":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Creation date of the subtask"},"text":{"type":"string","description":"The text of the subtask"},"completed":{"type":"boolean","description":"Whether the subtask is completed"}},"required":["creation_date","text","completed"],"additionalProperties":false},"description":"The subtasks of the task"},"comments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Stable ID of the comment"},"text":{"type":"string","description":"The text of the comment"},"author_id":{"type":"string","description":"ID of the comment author"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Creation date of the comment"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"size":{"type":"number","description":"Attachment file size in bytes"},"type":{"type":"string","description":"Attachment type"}},"required":["id","name","size","type"],"additionalProperties":false},"description":"The attachments of the comment"},"crm_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false},"description":"CRM entities referenced by the comment"}},"required":["id","text","author_id","created_at","attachments","crm_entities"],"additionalProperties":false},"description":"The comments of the task"},"subscribers_user_ids":{"type":"array","items":{"type":"string"},"description":"The IDs of the users subscribed to the task"},"milestone_id":{"description":"The ID of the milestone the task belongs to","type":"string"},"dependencies":{"description":"Read-only blocker IDs derived from canonical typed task relationships","type":"array","items":{"type":"string"}},"task_relationships":{"type":"array","items":{"type":"object","properties":{"task_id":{"type":"string","description":"Referenced task ID"},"type":{"type":"string","enum":["depends_on","duplicate_of","related_to"],"description":"Directional relationship type"}},"required":["task_id","type"],"additionalProperties":false},"description":"Canonical typed task relationships"},"attachments":{"description":"The attachments of the task","type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"size":{"type":"number","description":"Attachment file size in bytes"},"type":{"type":"string","description":"Attachment type"}},"required":["id","name","size","type"],"additionalProperties":false}},"custom_fields":{"type":"object","additionalProperties":{},"description":"Task custom field values keyed by field id"}},"required":["id","status","text","crm_entities","assigned_user_ids","assigned_team_ids","project_id","priority","label_ids","creation_date","creator_id","in_bin","history","subtasks","comments","subscribers_user_ids","task_relationships","custom_fields"],"additionalProperties":false},"UpdateProjectTasksDto":{"type":"object","properties":{"task_ids":{"type":"object","properties":{},"additionalProperties":{"type":"array","items":{"type":"string"}},"description":"The tasks to update"},"check_tasks_exists":{"description":"Check if every task exists and remove it if not","type":"boolean"}},"required":["task_ids"]},"SortTasksDto":{"type":"object","properties":{"column":{"type":"string","description":"The column to sort"},"sort_property":{"type":"string","enum":["created_at_asc","created_at_desc","priority_asc","priority_desc","deadline_asc","deadline_desc"],"description":"The property to sort by"}},"required":["column","sort_property"]},"GetTasksFromProjectDto":{"type":"object","properties":{"tasks":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the task"},"status":{"type":"number","description":"The status of the task. This status can be used as index to map the task to a project column. Then the status represents the column the task is in."},"text":{"type":"string","minLength":1,"maxLength":1250,"description":"The text of the task"},"description":{"description":"The description of the task","type":"string","minLength":1,"maxLength":2000},"customer_id":{"description":"The ID of the customer linked to the task","type":"string"},"crm_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]},"description":"People, Organizations, and Records linked to the task"},"assigned_user_ids":{"type":"array","items":{"type":"string"},"description":"The IDs of the users assigned to the task"},"assigned_team_ids":{"type":"array","items":{"type":"string"},"description":"The IDs of the teams assigned to the task"},"project_id":{"type":"string","minLength":7,"maxLength":20,"description":"The ID of the project the task belongs to"},"deadline":{"description":"The deadline of the task","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"start_date":{"description":"The planned start date of the task","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"effort":{"description":"The effort of the task in hours","type":"number","minimum":0,"maximum":96},"priority":{"type":"number","minimum":0,"maximum":3,"description":"The priority of the task. 0: Low, 1: Normal, 2: High, 3: Urgent"},"repeat_days_interval":{"description":"The number of days between task repetitions","type":"number","minimum":1,"maximum":365},"repeat_end_date":{"description":"The date when the task repetition ends","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"label_ids":{"default":[],"description":"The IDs of the labels assigned to the task","type":"array","items":{"type":"string"}},"creation_date":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"The creation date of the task"},"creator_id":{"type":"string","description":"The ID of the user who created the task"},"in_bin":{"type":"boolean","description":"Whether the task is in the bin"},"delete_at":{"description":"The date the task will be deleted","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"history":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number","description":"History item ID"},"timestamp":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Timestamp of the history entry"},"executor":{"type":"string","description":"ID of the user who executed the action"},"data":{"description":"Payload of the history entry"}},"required":["id","timestamp","executor","data"]},"description":"The history of the task"},"subtasks":{"type":"array","items":{"type":"object","properties":{"creation_date":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Creation date of the subtask"},"text":{"type":"string","description":"The text of the subtask"},"completed":{"type":"boolean","description":"Whether the subtask is completed"}},"required":["creation_date","text","completed"]},"description":"The subtasks of the task"},"comments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Stable ID of the comment"},"text":{"type":"string","description":"The text of the comment"},"author_id":{"type":"string","description":"ID of the comment author"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Creation date of the comment"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"size":{"type":"number","description":"Attachment file size in bytes"},"type":{"type":"string","description":"Attachment type"}},"required":["id","name","size","type"]},"description":"The attachments of the comment"},"crm_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]},"description":"CRM entities referenced by the comment"}},"required":["id","text","author_id","created_at","attachments","crm_entities"]},"description":"The comments of the task"},"subscribers_user_ids":{"type":"array","items":{"type":"string"},"description":"The IDs of the users subscribed to the task"},"milestone_id":{"description":"The ID of the milestone the task belongs to","type":"string"},"dependencies":{"description":"Read-only blocker IDs derived from canonical typed task relationships","type":"array","items":{"type":"string"}},"task_relationships":{"type":"array","items":{"type":"object","properties":{"task_id":{"type":"string","description":"Referenced task ID"},"type":{"type":"string","enum":["depends_on","duplicate_of","related_to"],"description":"Directional relationship type"}},"required":["task_id","type"]},"description":"Canonical typed task relationships"},"attachments":{"description":"The attachments of the task","type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"size":{"type":"number","description":"Attachment file size in bytes"},"type":{"type":"string","description":"Attachment type"}},"required":["id","name","size","type"]}},"custom_fields":{"type":"object","additionalProperties":{},"description":"Task custom field values keyed by field id"}},"required":["id","status","text","crm_entities","assigned_user_ids","assigned_team_ids","project_id","priority","creation_date","creator_id","in_bin","history","subtasks","comments","subscribers_user_ids","task_relationships","custom_fields"]},"description":"Task Objects found in the project"},"task_ids":{"type":"object","properties":{},"additionalProperties":{"type":"array","items":{"type":"string"}},"description":"The tasks to update"},"check_tasks_exists":{"description":"Check if every task exists and remove it if not","type":"boolean"}},"required":["tasks","task_ids"]},"AddCommentTaskDto":{"type":"object","properties":{"text":{"type":"string","minLength":1,"maxLength":4000,"description":"The text of the comment"},"crm_entities":{"default":[],"description":"CRM entities referenced by the comment","maxItems":20,"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}}},"required":["text"]},"DeleteCommentTaskDto":{"type":"object","properties":{"comment_id":{"type":"string","description":"The stable ID of the comment"}},"required":["comment_id"]},"UpdateCommentTaskDto":{"type":"object","properties":{"comment_id":{"type":"string","description":"The stable ID of the comment"},"text":{"type":"string","minLength":1,"maxLength":4000,"description":"The text of the comment"}},"required":["comment_id","text"]},"SummarizeCommentsResponseDto_Output":{"type":"object","properties":{"summary":{"type":"string","description":"The summarized text of the comments"}},"required":["summary"],"additionalProperties":false},"SuggestTodosDto":{"type":"object","properties":{"operationId":{"description":"Stable ID used to make AI retries idempotent","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string","description":"Title of the task"},"description":{"description":"Description of the task","type":"string","maxLength":2000}},"required":["title"]},"SuggestTodosResponseDto_Output":{"type":"object","properties":{"todos":{"type":"array","items":{"type":"string"},"description":"List of suggested todos"}},"required":["todos"],"additionalProperties":false},"GetProjectsResponseDto_Output":{"type":"object","properties":{"projects":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the project"},"name":{"type":"string","minLength":1,"maxLength":32,"description":"The name of the project"},"in_bin":{"description":"Whether the project is in bin","type":"boolean"},"deleted_at":{"description":"The date and time of deletion","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"manager":{"description":"The ID of the manager","type":"string"},"columns":{"description":"The columns in the project. These are column names. Each column can contain tasks. The task will have a number as status set, that can be mapped to these columns by index.","type":"array","items":{"type":"string"}},"done_tasks_columns":{"description":"Columns in which tasks are expected to be done","type":"array","items":{"type":"string"}},"default_column":{"description":"The default column for new tasks.","type":"string"},"tickets_enabled_public":{"description":"Whether public ticket creation is enabled for this project.","type":"boolean"},"task_custom_fields":{"description":"Project-scoped task custom field definitions","type":"array","items":{"type":"object","properties":{"id":{"description":"Stable field id","type":"string"},"label":{"type":"string","minLength":1,"description":"Field label"},"description":{"description":"Field description","type":"string"},"type":{"type":"string","enum":["text","number","email","date","file","boolean","single_select","multi_select","single_user","multi_user","single_team","multi_team"],"description":"Field type"},"required":{"type":"boolean","description":"Whether the field is required"},"archived":{"description":"Whether the field is archived","type":"boolean"},"options":{"description":"Select options for select fields","type":"array","items":{"type":"object","properties":{"id":{"description":"Stable option id","type":"string"},"label":{"type":"string","minLength":1,"description":"Option label"}},"required":["label"],"additionalProperties":false}}},"required":["label","type","required"],"additionalProperties":false}},"crm_entities":{"description":"People, Organizations, and Records linked to the project when CRM access is allowed","type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}}},"required":["id","name"],"additionalProperties":false}},"next_cursor":{"type":"string","description":"Cursor for the next page, or null when all projects were returned","nullable":true}},"required":["projects","next_cursor"],"additionalProperties":false},"SearchResponseDto_Output":{"type":"object","properties":{"tasks":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the task"},"status":{"type":"number","description":"The status of the task. This status can be used as index to map the task to a project column. Then the status represents the column the task is in."},"text":{"type":"string","minLength":1,"maxLength":1250,"description":"The text of the task"},"description":{"description":"The description of the task","type":"string","minLength":1,"maxLength":2000},"customer_id":{"description":"The ID of the customer linked to the task","type":"string"},"crm_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false},"description":"People, Organizations, and Records linked to the task"},"assigned_user_ids":{"type":"array","items":{"type":"string"},"description":"The IDs of the users assigned to the task"},"assigned_team_ids":{"type":"array","items":{"type":"string"},"description":"The IDs of the teams assigned to the task"},"project_id":{"type":"string","minLength":7,"maxLength":20,"description":"The ID of the project the task belongs to"},"deadline":{"description":"The deadline of the task","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"start_date":{"description":"The planned start date of the task","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"effort":{"description":"The effort of the task in hours","type":"number","minimum":0,"maximum":96},"priority":{"type":"number","minimum":0,"maximum":3,"description":"The priority of the task. 0: Low, 1: Normal, 2: High, 3: Urgent"},"repeat_days_interval":{"description":"The number of days between task repetitions","type":"number","minimum":1,"maximum":365},"repeat_end_date":{"description":"The date when the task repetition ends","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"label_ids":{"default":[],"description":"The IDs of the labels assigned to the task","type":"array","items":{"type":"string"}},"creation_date":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"The creation date of the task"},"creator_id":{"type":"string","description":"The ID of the user who created the task"},"in_bin":{"type":"boolean","description":"Whether the task is in the bin"},"delete_at":{"description":"The date the task will be deleted","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"history":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number","description":"History item ID"},"timestamp":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Timestamp of the history entry"},"executor":{"type":"string","description":"ID of the user who executed the action"},"data":{"description":"Payload of the history entry"}},"required":["id","timestamp","executor","data"],"additionalProperties":false},"description":"The history of the task"},"subtasks":{"type":"array","items":{"type":"object","properties":{"creation_date":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Creation date of the subtask"},"text":{"type":"string","description":"The text of the subtask"},"completed":{"type":"boolean","description":"Whether the subtask is completed"}},"required":["creation_date","text","completed"],"additionalProperties":false},"description":"The subtasks of the task"},"comments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Stable ID of the comment"},"text":{"type":"string","description":"The text of the comment"},"author_id":{"type":"string","description":"ID of the comment author"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Creation date of the comment"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"size":{"type":"number","description":"Attachment file size in bytes"},"type":{"type":"string","description":"Attachment type"}},"required":["id","name","size","type"],"additionalProperties":false},"description":"The attachments of the comment"},"crm_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false},"description":"CRM entities referenced by the comment"}},"required":["id","text","author_id","created_at","attachments","crm_entities"],"additionalProperties":false},"description":"The comments of the task"},"subscribers_user_ids":{"type":"array","items":{"type":"string"},"description":"The IDs of the users subscribed to the task"},"milestone_id":{"description":"The ID of the milestone the task belongs to","type":"string"},"dependencies":{"description":"Read-only blocker IDs derived from canonical typed task relationships","type":"array","items":{"type":"string"}},"task_relationships":{"type":"array","items":{"type":"object","properties":{"task_id":{"type":"string","description":"Referenced task ID"},"type":{"type":"string","enum":["depends_on","duplicate_of","related_to"],"description":"Directional relationship type"}},"required":["task_id","type"],"additionalProperties":false},"description":"Canonical typed task relationships"},"attachments":{"description":"The attachments of the task","type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"size":{"type":"number","description":"Attachment file size in bytes"},"type":{"type":"string","description":"Attachment type"}},"required":["id","name","size","type"],"additionalProperties":false}},"custom_fields":{"type":"object","additionalProperties":{},"description":"Task custom field values keyed by field id"}},"required":["id","status","text","crm_entities","assigned_user_ids","assigned_team_ids","project_id","priority","label_ids","creation_date","creator_id","in_bin","history","subtasks","comments","subscribers_user_ids","task_relationships","custom_fields"],"additionalProperties":false},"description":"The list of tasks matching the search query"},"events":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Id of the event"},"guildId":{"type":"string","description":"Id of the workspace the event belongs to"},"title":{"type":"string","description":"Title of the event"},"location":{"description":"Location of the event","type":"string"},"description":{"description":"Detailed event notes","type":"string"},"start":{"type":"string","description":"Start date and time of the event"},"end":{"type":"string","description":"End date and time of the event"},"isFromTask":{"type":"boolean","description":"Is the event from a task deadline"},"invitees":{"type":"array","items":{"type":"string"},"description":"User ids of the invitees"},"directInvitees":{"type":"array","items":{"type":"string"},"description":"Direct user invitee ids"},"teamInvitees":{"type":"array","items":{"type":"string"},"description":"Team ids of the invitees"},"crmEntities":{"description":"CRM attendees and linked entities when CRM access is allowed","type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}},"accepted":{"type":"array","items":{"type":"string"},"description":"User ids of the accepted invitees"},"declined":{"type":"array","items":{"type":"string"},"description":"User ids of the declined invitees"},"creator":{"type":"string","description":"Discord user id of the creator"},"repeated":{"type":"boolean","description":"Is the event repeated"},"repeatEnd":{"description":"End date of the repeat","type":"string"},"repeatIntervalDays":{"description":"Interval in days for the repeat","type":"number"},"recurrenceRule":{"description":"Flexible recurrence rule","type":"object","properties":{"frequency":{"type":"string","enum":["daily","weekly","monthly"]},"interval":{"type":"integer","minimum":1,"maximum":365},"weekdays":{"maxItems":7,"type":"array","items":{"type":"integer","minimum":1,"maximum":7}},"monthlyPattern":{"type":"object","properties":{"type":{"type":"string","enum":["day_of_month","nth_weekday"]},"day":{"type":"integer","minimum":1,"maximum":31},"weekday":{"type":"integer","minimum":1,"maximum":7},"ordinal":{"type":"integer","minimum":-1,"maximum":5}},"required":["type"],"additionalProperties":false}},"required":["frequency","interval"],"additionalProperties":false},"recurrenceTimezone":{"description":"IANA timezone used to interpret recurrence rules and exceptions","type":"string"},"recurrenceExceptions":{"type":"array","items":{"type":"string"},"description":"Local calendar dates excluded from the series"},"type":{"type":"string","description":"Type of the event, e.g. \"event\" or \"task\""},"externalId":{"description":"External id of the event, e.g. Google Calendar event id","type":"string"},"externalCalendarId":{"description":"External calendar id, e.g. Google Calendar id","type":"string"}},"required":["id","guildId","title","start","end","isFromTask","invitees","directInvitees","teamInvitees","accepted","declined","creator","repeated","recurrenceExceptions","type"],"additionalProperties":false},"description":"The list of events matching the search query"},"documents":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"ID of the document"},"project_id":{"type":"string","description":"ID of the project the document belongs to"},"title":{"type":"string","description":"Title of the document"},"content":{"type":"string","description":"Content of the document"},"topic_id":{"description":"ID of the topic the document belongs to","type":"string"},"in_bin":{"type":"boolean","description":"Whether the document is in the bin"},"delete_date":{"description":"Date the document will be deleted if in the bin","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"last_modified":{"description":"Date the document was last modified","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"is_public":{"type":"boolean","description":"Whether the document is public"},"crm_entities":{"description":"CRM entities linked to the document when allowed","type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}}},"required":["id","project_id","title","content","in_bin","is_public"],"additionalProperties":false},"description":"The list of documents matching the search query"},"tickets":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Ticket ID"},"guild_id":{"type":"string","description":"Workspace ID"},"project_id":{"type":"string","description":"Project ID"},"title":{"type":"string","description":"Ticket title"},"description":{"type":"string","description":"Ticket description"},"type":{"type":"string","description":"Ticket type"},"priority":{"type":"string","enum":["low","normal","high","urgent"],"description":"Ticket priority"},"status":{"type":"string","description":"Configurable status ID, or a customer-safe lifecycle status on public endpoints"},"status_name":{"description":"Resolved status label, or a customer-safe label on public endpoints","type":"string"},"ticket_role":{"type":"string","enum":["standard","master"],"description":"Explicit master-ticket role"},"viewer_email":{"description":"Viewer email resolved from per-recipient public token","type":"string"},"reporter_email":{"type":"string","description":"Reporter email"},"reporter_name":{"description":"Reporter name","type":"string"},"reporter_origin":{"type":"string","enum":["agent","email","public_form","discord","slack"],"description":"Source where the reporter created the ticket"},"notify_emails":{"type":"array","items":{"type":"string"},"description":"Additional notify emails"},"unsubscribed_emails":{"type":"array","items":{"type":"string"},"description":"Users who unsubscribed from notifications"},"assignee_user_id":{"description":"Assigned internal user","type":"string"},"virtual_coworker_assigned_by_user_id":{"description":"Human user who delegated the currently assigned virtual coworker","type":"string"},"virtual_coworker_assigned_at":{"description":"Timestamp when the currently assigned virtual coworker took ownership","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"template_id":{"description":"Template ID","type":"string"},"custom_fields":{"type":"object","additionalProperties":{},"description":"Template custom field values"},"label_ids":{"type":"array","items":{"type":"string"},"description":"Internal label IDs"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"type":{"type":"string","description":"Attachment mime type"},"size":{"type":"number","description":"Attachment size in bytes"},"url":{"description":"Optional public URL","type":"string"},"source":{"description":"Attachment upload origin","type":"string","enum":["public","internal"]},"scan":{"description":"Antivirus scan metadata","type":"object","properties":{"status":{"type":"string","enum":["not_scanned","queued","scanning","clean","malware","scan_failed","scan_skipped_limit"],"description":"Antivirus scan status"},"provider":{"type":"string","enum":["clamav"],"description":"Antivirus scan provider"},"queuedAt":{"description":"When the attachment was queued for scanning","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"startedAt":{"description":"When the current scan attempt started","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannedAt":{"description":"When the attachment was last scanned","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextRetryAt":{"description":"When the scan queue will retry after a failed dispatch","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannerVersion":{"description":"Scanner engine version","type":"string"},"signatureVersion":{"description":"Scanner signature database version","type":"string"},"findingName":{"description":"Malware signature name when detected","type":"string"},"error":{"description":"Last scan error","type":"string"},"attempts":{"description":"Number of scan attempts","type":"number"}},"required":["status","provider"],"additionalProperties":false}},"required":["id","name","type","size"],"additionalProperties":false},"description":"Ticket-level attachments"},"messages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Message ID"},"text":{"type":"string","description":"Message content"},"visibility":{"type":"string","enum":["public","internal"],"description":"Message visibility"},"author_type":{"type":"string","enum":["reporter","support","system"],"description":"Author type"},"author_id":{"description":"Author user ID for internal users","type":"string"},"author_email":{"description":"Author email for public users","type":"string"},"author_name":{"description":"Author display name","type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Message creation timestamp"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"type":{"type":"string","description":"Attachment mime type"},"size":{"type":"number","description":"Attachment size in bytes"},"url":{"description":"Optional public URL","type":"string"},"source":{"description":"Attachment upload origin","type":"string","enum":["public","internal"]},"scan":{"description":"Antivirus scan metadata","type":"object","properties":{"status":{"type":"string","enum":["not_scanned","queued","scanning","clean","malware","scan_failed","scan_skipped_limit"],"description":"Antivirus scan status"},"provider":{"type":"string","enum":["clamav"],"description":"Antivirus scan provider"},"queuedAt":{"description":"When the attachment was queued for scanning","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"startedAt":{"description":"When the current scan attempt started","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannedAt":{"description":"When the attachment was last scanned","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextRetryAt":{"description":"When the scan queue will retry after a failed dispatch","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannerVersion":{"description":"Scanner engine version","type":"string"},"signatureVersion":{"description":"Scanner signature database version","type":"string"},"findingName":{"description":"Malware signature name when detected","type":"string"},"error":{"description":"Last scan error","type":"string"},"attempts":{"description":"Number of scan attempts","type":"number"}},"required":["status","provider"],"additionalProperties":false}},"required":["id","name","type","size"],"additionalProperties":false},"description":"Message attachments"}},"required":["id","text","visibility","author_type","created_at","attachments"],"additionalProperties":false},"description":"Public supporter and reporter chat"},"internal_notes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Message ID"},"text":{"type":"string","description":"Message content"},"visibility":{"type":"string","enum":["public","internal"],"description":"Message visibility"},"author_type":{"type":"string","enum":["reporter","support","system"],"description":"Author type"},"author_id":{"description":"Author user ID for internal users","type":"string"},"author_email":{"description":"Author email for public users","type":"string"},"author_name":{"description":"Author display name","type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Message creation timestamp"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"type":{"type":"string","description":"Attachment mime type"},"size":{"type":"number","description":"Attachment size in bytes"},"url":{"description":"Optional public URL","type":"string"},"source":{"description":"Attachment upload origin","type":"string","enum":["public","internal"]},"scan":{"description":"Antivirus scan metadata","type":"object","properties":{"status":{"type":"string","enum":["not_scanned","queued","scanning","clean","malware","scan_failed","scan_skipped_limit"],"description":"Antivirus scan status"},"provider":{"type":"string","enum":["clamav"],"description":"Antivirus scan provider"},"queuedAt":{"description":"When the attachment was queued for scanning","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"startedAt":{"description":"When the current scan attempt started","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannedAt":{"description":"When the attachment was last scanned","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextRetryAt":{"description":"When the scan queue will retry after a failed dispatch","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannerVersion":{"description":"Scanner engine version","type":"string"},"signatureVersion":{"description":"Scanner signature database version","type":"string"},"findingName":{"description":"Malware signature name when detected","type":"string"},"error":{"description":"Last scan error","type":"string"},"attempts":{"description":"Number of scan attempts","type":"number"}},"required":["status","provider"],"additionalProperties":false}},"required":["id","name","type","size"],"additionalProperties":false},"description":"Message attachments"}},"required":["id","text","visibility","author_type","created_at","attachments"],"additionalProperties":false},"description":"Internal ticket comments"},"linked_task_ids":{"type":"array","items":{"type":"string"},"description":"Linked task IDs"},"customer_id":{"description":"Linked customer ID","type":"string"},"crm_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false},"description":"People, Organizations, and Records linked to the ticket"},"customer_portal_visible":{"type":"boolean","description":"Whether this ticket is visible in the authenticated customer portal","nullable":true},"customer_portal_replies_enabled":{"type":"boolean","description":"Whether public/customer portal viewers can add replies to this ticket thread"},"customer_portal_uploads_enabled":{"type":"boolean","description":"Whether public/customer portal viewers can upload attachments to this ticket thread"},"file_upload_allowed_mime_types":{"description":"Allowed upload MIME types or category wildcards such as image/*. Empty allows all file types","type":"array","items":{"type":"string"}},"knowledge_document_id":{"description":"Read-only primary document index derived from document links","type":"string"},"linked_knowledge_document_ids":{"type":"array","items":{"type":"string"},"description":"Canonical linked knowledge document IDs"},"master_ticket_id":{"description":"Read-only master ticket index derived from relationships","type":"string"},"linked_ticket_ids":{"type":"array","items":{"type":"string"},"description":"Read-only child ticket index derived from relationships"},"ticket_relationships":{"type":"array","items":{"type":"object","properties":{"ticket_id":{"type":"string","description":"Referenced ticket ID"},"type":{"type":"string","enum":["duplicate_of","child_of","caused_by","blocks","related"],"description":"Directional relationship type relative to the current ticket"}},"required":["ticket_id","type"],"additionalProperties":false},"description":"Canonical typed ticket relationships"},"master_sync_policy":{"description":"Master-child sync policy","type":"object","properties":{"master_to_children":{"type":"object","properties":{"status":{"type":"boolean"},"priority":{"type":"boolean"},"labels":{"type":"boolean"},"assignee":{"type":"boolean"},"internal_notes":{"type":"boolean"}},"required":["status","priority","labels","assignee","internal_notes"],"additionalProperties":false},"child_to_master":{"type":"object","properties":{"reopen_on_reporter_reply":{"type":"boolean"},"aggregate_escalation":{"type":"boolean"}},"required":["reopen_on_reporter_reply","aggregate_escalation"],"additionalProperties":false}},"required":["master_to_children","child_to_master"],"additionalProperties":false},"sla_id":{"description":"SLA definition ID","type":"string"},"sla_warning_active":{"type":"boolean","description":"True when ticket passed warning threshold"},"people_routing_audit":{"description":"Last persisted People routing decision for observability","type":"object","properties":{"matched_policy_id":{"type":"string"},"chosen_assignee_user_id":{"type":"string"},"fallback_reason":{"type":"string","enum":["policy_target","policy_backup","assignee_manager_chain","team_lead_or_manager","workspace_default_escalation","vacation_replacement","no_matching_policy","no_eligible_candidate"]},"candidate_user_ids":{"type":"array","items":{"type":"string"}},"candidates":{"default":[],"type":"array","items":{"type":"object","properties":{"user_id":{"type":"string","description":"Candidate user id"},"display_name":{"description":"Candidate display name at routing time","type":"string"},"fallback_reason":{"type":"string","enum":["policy_target","policy_backup","assignee_manager_chain","team_lead_or_manager","workspace_default_escalation","vacation_replacement","no_matching_policy","no_eligible_candidate"],"description":"Fallback pool that produced this candidate"},"eligible":{"type":"boolean","description":"Whether this candidate was eligible for assignment"},"skipped_reason":{"description":"Reason an ineligible candidate was skipped","type":"string","enum":["not_workspace_member","inactive_member","inactive_profile","vacation_replacement","routing_disabled","missing_capacity","no_available_capacity"]},"utilization":{"description":"Capacity utilization at routing time","type":"number"},"available_minutes":{"description":"Available capacity minutes at routing time","type":"number"},"booked_minutes":{"description":"Booked capacity minutes at routing time","type":"number"},"open_task_count":{"description":"Open tasks counted at routing time","type":"number"},"open_ticket_count":{"description":"Open assigned tickets counted at routing time","type":"number"},"sla_risk_ticket_count":{"description":"SLA-risk tickets counted at routing time","type":"number"},"overload":{"description":"Whether booked work exceeded available capacity","type":"boolean"}},"required":["user_id","fallback_reason","eligible"],"additionalProperties":false}},"fallback_path":{"default":[],"type":"array","items":{"type":"object","properties":{"reason":{"type":"string","enum":["policy_target","policy_backup","assignee_manager_chain","team_lead_or_manager","workspace_default_escalation","vacation_replacement","no_matching_policy","no_eligible_candidate"],"description":"Fallback pool that was evaluated"},"user_ids":{"type":"array","items":{"type":"string"},"description":"Raw users considered in this pool"},"eligible_user_ids":{"type":"array","items":{"type":"string"},"description":"Users still eligible after routing filters"},"skipped_user_ids":{"type":"array","items":{"type":"string"},"description":"Users skipped by routing filters"},"chosen_user_id":{"description":"Chosen user id when this pool selected the assignee","type":"string"}},"required":["reason","user_ids","eligible_user_ids","skipped_user_ids"],"additionalProperties":false}},"selection_mode":{"type":"string","enum":["capacity","rotation"]},"source":{"type":"string","enum":["ticket_create","manual_reroute","sla_warning","sla_breach","availability_handoff","preview"]},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Timestamp when the routing decision was recorded"},"manual_override":{"description":"Manual override metadata when the auto-routed assignee was changed","type":"object","properties":{"previous_assignee_user_id":{"description":"Auto-routed assignee before manual override","type":"string"},"next_assignee_user_id":{"description":"Manual assignee after the override","type":"string"},"reason":{"description":"Operator-entered reason for the manual override","type":"string"},"actor_user_id":{"description":"User who performed the override when available","type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Timestamp when the manual override was recorded"}},"required":["created_at"],"additionalProperties":false}},"required":["fallback_reason","candidate_user_ids","candidates","fallback_path","source","created_at"],"additionalProperties":false},"ticket_age_minutes":{"type":"number","description":"Calculated ticket age in minutes"},"waiting_on_reporter_since":{"description":"Since when ticket waits on reporter","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Creation timestamp"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Last update timestamp"},"closed_at":{"description":"Resolution timestamp","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"public_token":{"type":"string","description":"Capability token for public responses"},"statistics":{"type":"object","properties":{"first_response_at":{"description":"Timestamp of first public support response","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"first_response_minutes":{"description":"Time to first response in minutes","type":"number"},"resolved_at":{"description":"Timestamp when ticket was resolved","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"resolution_minutes":{"description":"Resolution time in minutes","type":"number"}},"additionalProperties":false,"description":"Persisted ticket statistics"},"master_rollup":{"description":"Computed roll-up summary for master tickets","type":"object","properties":{"child_ticket_ids":{"type":"array","items":{"type":"string"},"description":"Resolved child ticket IDs included in roll-up"},"child_count_total":{"type":"number","description":"Total child ticket count"},"child_count_open":{"type":"number","description":"Open child ticket count"},"child_count_closed":{"type":"number","description":"Closed child ticket count"},"child_count_sla_warning":{"type":"number","description":"Child tickets currently in SLA warning"},"child_counts_by_status":{"type":"array","items":{"type":"object","properties":{"status":{"type":"string","description":"Child status ID"},"status_name":{"description":"Resolved child status label","type":"string"},"count":{"type":"number","description":"Number of child tickets in this status"}},"required":["status","count"],"additionalProperties":false},"description":"Child counts grouped by status"},"latest_customer_reply_at":{"description":"Latest public reporter reply timestamp across children","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"affected_customer_ids":{"type":"array","items":{"type":"string"},"description":"Distinct affected customer IDs from child tickets"},"affected_project_ids":{"type":"array","items":{"type":"string"},"description":"Distinct affected project IDs from child tickets"}},"required":["child_ticket_ids","child_count_total","child_count_open","child_count_closed","child_count_sla_warning","child_counts_by_status","affected_customer_ids","affected_project_ids"],"additionalProperties":false}},"required":["id","guild_id","project_id","title","description","type","priority","status","ticket_role","reporter_email","reporter_origin","notify_emails","unsubscribed_emails","custom_fields","label_ids","attachments","messages","internal_notes","linked_task_ids","crm_entities","customer_portal_replies_enabled","customer_portal_uploads_enabled","linked_knowledge_document_ids","linked_ticket_ids","ticket_relationships","sla_warning_active","ticket_age_minutes","created_at","updated_at","public_token","statistics"],"additionalProperties":false},"description":"The list of tickets matching the search query"},"files":{"type":"array","items":{"type":"object","properties":{"source_key":{"type":"string","description":"Stable file-search source key"},"surface":{"type":"string","enum":["cloud_file","task_attachment","task_comment_attachment","ticket_attachment","ticket_message_attachment","ticket_internal_note_attachment"],"description":"The source surface where this file is attached"},"file_id":{"type":"string","description":"Stored file id"},"task_id":{"description":"Parent task id for task attachment hits","type":"string"},"comment_id":{"description":"Parent task comment id for task comment attachment hits","type":"string"},"ticket_id":{"description":"Parent ticket id for ticket attachment hits","type":"string"},"message_id":{"description":"Parent ticket message or internal note id for message attachment hits","type":"string"},"project_id":{"description":"Project id used for routing and permission context","type":"string"},"name":{"type":"string","description":"File name"},"type":{"type":"string","description":"File MIME type"},"size":{"type":"number","description":"File size in bytes"},"path":{"description":"Cloud file path when available","type":"string"},"snippet":{"description":"Matched extracted text snippet","type":"string"},"updated_at":{"description":"Best-effort source update time","type":"string"}},"required":["source_key","surface","file_id","name","type","size"],"additionalProperties":false},"description":"The list of files matching the search query"},"results":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["task","event","document","ticket","file"],"description":"The object type of this search hit"},"score":{"type":"number","description":"Normalized ranking score used to sort the unified search results"},"exact_match":{"type":"boolean","description":"Whether the query exactly matched the result title or primary identifier"},"recency_score":{"type":"number","description":"Recency contribution that was added to the final ranking score"},"task":{"description":"Task payload when the result type is task","type":"object","properties":{"id":{"type":"string","description":"The ID of the task"},"status":{"type":"number","description":"The status of the task. This status can be used as index to map the task to a project column. Then the status represents the column the task is in."},"text":{"type":"string","minLength":1,"maxLength":1250,"description":"The text of the task"},"description":{"description":"The description of the task","type":"string","minLength":1,"maxLength":2000},"customer_id":{"description":"The ID of the customer linked to the task","type":"string"},"crm_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false},"description":"People, Organizations, and Records linked to the task"},"assigned_user_ids":{"type":"array","items":{"type":"string"},"description":"The IDs of the users assigned to the task"},"assigned_team_ids":{"type":"array","items":{"type":"string"},"description":"The IDs of the teams assigned to the task"},"project_id":{"type":"string","minLength":7,"maxLength":20,"description":"The ID of the project the task belongs to"},"deadline":{"description":"The deadline of the task","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"start_date":{"description":"The planned start date of the task","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"effort":{"description":"The effort of the task in hours","type":"number","minimum":0,"maximum":96},"priority":{"type":"number","minimum":0,"maximum":3,"description":"The priority of the task. 0: Low, 1: Normal, 2: High, 3: Urgent"},"repeat_days_interval":{"description":"The number of days between task repetitions","type":"number","minimum":1,"maximum":365},"repeat_end_date":{"description":"The date when the task repetition ends","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"label_ids":{"default":[],"description":"The IDs of the labels assigned to the task","type":"array","items":{"type":"string"}},"creation_date":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"The creation date of the task"},"creator_id":{"type":"string","description":"The ID of the user who created the task"},"in_bin":{"type":"boolean","description":"Whether the task is in the bin"},"delete_at":{"description":"The date the task will be deleted","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"history":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number","description":"History item ID"},"timestamp":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Timestamp of the history entry"},"executor":{"type":"string","description":"ID of the user who executed the action"},"data":{"description":"Payload of the history entry"}},"required":["id","timestamp","executor","data"],"additionalProperties":false},"description":"The history of the task"},"subtasks":{"type":"array","items":{"type":"object","properties":{"creation_date":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Creation date of the subtask"},"text":{"type":"string","description":"The text of the subtask"},"completed":{"type":"boolean","description":"Whether the subtask is completed"}},"required":["creation_date","text","completed"],"additionalProperties":false},"description":"The subtasks of the task"},"comments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Stable ID of the comment"},"text":{"type":"string","description":"The text of the comment"},"author_id":{"type":"string","description":"ID of the comment author"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Creation date of the comment"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"size":{"type":"number","description":"Attachment file size in bytes"},"type":{"type":"string","description":"Attachment type"}},"required":["id","name","size","type"],"additionalProperties":false},"description":"The attachments of the comment"},"crm_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false},"description":"CRM entities referenced by the comment"}},"required":["id","text","author_id","created_at","attachments","crm_entities"],"additionalProperties":false},"description":"The comments of the task"},"subscribers_user_ids":{"type":"array","items":{"type":"string"},"description":"The IDs of the users subscribed to the task"},"milestone_id":{"description":"The ID of the milestone the task belongs to","type":"string"},"dependencies":{"description":"Read-only blocker IDs derived from canonical typed task relationships","type":"array","items":{"type":"string"}},"task_relationships":{"type":"array","items":{"type":"object","properties":{"task_id":{"type":"string","description":"Referenced task ID"},"type":{"type":"string","enum":["depends_on","duplicate_of","related_to"],"description":"Directional relationship type"}},"required":["task_id","type"],"additionalProperties":false},"description":"Canonical typed task relationships"},"attachments":{"description":"The attachments of the task","type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"size":{"type":"number","description":"Attachment file size in bytes"},"type":{"type":"string","description":"Attachment type"}},"required":["id","name","size","type"],"additionalProperties":false}},"custom_fields":{"type":"object","additionalProperties":{},"description":"Task custom field values keyed by field id"}},"required":["id","status","text","crm_entities","assigned_user_ids","assigned_team_ids","project_id","priority","label_ids","creation_date","creator_id","in_bin","history","subtasks","comments","subscribers_user_ids","task_relationships","custom_fields"],"additionalProperties":false},"event":{"description":"Event payload when the result type is event","type":"object","properties":{"id":{"type":"string","description":"Id of the event"},"guildId":{"type":"string","description":"Id of the workspace the event belongs to"},"title":{"type":"string","description":"Title of the event"},"location":{"description":"Location of the event","type":"string"},"description":{"description":"Detailed event notes","type":"string"},"start":{"type":"string","description":"Start date and time of the event"},"end":{"type":"string","description":"End date and time of the event"},"isFromTask":{"type":"boolean","description":"Is the event from a task deadline"},"invitees":{"type":"array","items":{"type":"string"},"description":"User ids of the invitees"},"directInvitees":{"type":"array","items":{"type":"string"},"description":"Direct user invitee ids"},"teamInvitees":{"type":"array","items":{"type":"string"},"description":"Team ids of the invitees"},"crmEntities":{"description":"CRM attendees and linked entities when CRM access is allowed","type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}},"accepted":{"type":"array","items":{"type":"string"},"description":"User ids of the accepted invitees"},"declined":{"type":"array","items":{"type":"string"},"description":"User ids of the declined invitees"},"creator":{"type":"string","description":"Discord user id of the creator"},"repeated":{"type":"boolean","description":"Is the event repeated"},"repeatEnd":{"description":"End date of the repeat","type":"string"},"repeatIntervalDays":{"description":"Interval in days for the repeat","type":"number"},"recurrenceRule":{"description":"Flexible recurrence rule","type":"object","properties":{"frequency":{"type":"string","enum":["daily","weekly","monthly"]},"interval":{"type":"integer","minimum":1,"maximum":365},"weekdays":{"maxItems":7,"type":"array","items":{"type":"integer","minimum":1,"maximum":7}},"monthlyPattern":{"type":"object","properties":{"type":{"type":"string","enum":["day_of_month","nth_weekday"]},"day":{"type":"integer","minimum":1,"maximum":31},"weekday":{"type":"integer","minimum":1,"maximum":7},"ordinal":{"type":"integer","minimum":-1,"maximum":5}},"required":["type"],"additionalProperties":false}},"required":["frequency","interval"],"additionalProperties":false},"recurrenceTimezone":{"description":"IANA timezone used to interpret recurrence rules and exceptions","type":"string"},"recurrenceExceptions":{"type":"array","items":{"type":"string"},"description":"Local calendar dates excluded from the series"},"type":{"type":"string","description":"Type of the event, e.g. \"event\" or \"task\""},"externalId":{"description":"External id of the event, e.g. Google Calendar event id","type":"string"},"externalCalendarId":{"description":"External calendar id, e.g. Google Calendar id","type":"string"}},"required":["id","guildId","title","start","end","isFromTask","invitees","directInvitees","teamInvitees","accepted","declined","creator","repeated","recurrenceExceptions","type"],"additionalProperties":false},"document":{"description":"Document payload when the result type is document","type":"object","properties":{"id":{"type":"string","description":"ID of the document"},"project_id":{"type":"string","description":"ID of the project the document belongs to"},"title":{"type":"string","description":"Title of the document"},"content":{"type":"string","description":"Content of the document"},"topic_id":{"description":"ID of the topic the document belongs to","type":"string"},"in_bin":{"type":"boolean","description":"Whether the document is in the bin"},"delete_date":{"description":"Date the document will be deleted if in the bin","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"last_modified":{"description":"Date the document was last modified","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"is_public":{"type":"boolean","description":"Whether the document is public"},"crm_entities":{"description":"CRM entities linked to the document when allowed","type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}}},"required":["id","project_id","title","content","in_bin","is_public"],"additionalProperties":false},"ticket":{"description":"Ticket payload when the result type is ticket","type":"object","properties":{"id":{"type":"string","description":"Ticket ID"},"guild_id":{"type":"string","description":"Workspace ID"},"project_id":{"type":"string","description":"Project ID"},"title":{"type":"string","description":"Ticket title"},"description":{"type":"string","description":"Ticket description"},"type":{"type":"string","description":"Ticket type"},"priority":{"type":"string","enum":["low","normal","high","urgent"],"description":"Ticket priority"},"status":{"type":"string","description":"Configurable status ID, or a customer-safe lifecycle status on public endpoints"},"status_name":{"description":"Resolved status label, or a customer-safe label on public endpoints","type":"string"},"ticket_role":{"type":"string","enum":["standard","master"],"description":"Explicit master-ticket role"},"viewer_email":{"description":"Viewer email resolved from per-recipient public token","type":"string"},"reporter_email":{"type":"string","description":"Reporter email"},"reporter_name":{"description":"Reporter name","type":"string"},"reporter_origin":{"type":"string","enum":["agent","email","public_form","discord","slack"],"description":"Source where the reporter created the ticket"},"notify_emails":{"type":"array","items":{"type":"string"},"description":"Additional notify emails"},"unsubscribed_emails":{"type":"array","items":{"type":"string"},"description":"Users who unsubscribed from notifications"},"assignee_user_id":{"description":"Assigned internal user","type":"string"},"virtual_coworker_assigned_by_user_id":{"description":"Human user who delegated the currently assigned virtual coworker","type":"string"},"virtual_coworker_assigned_at":{"description":"Timestamp when the currently assigned virtual coworker took ownership","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"template_id":{"description":"Template ID","type":"string"},"custom_fields":{"type":"object","additionalProperties":{},"description":"Template custom field values"},"label_ids":{"type":"array","items":{"type":"string"},"description":"Internal label IDs"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"type":{"type":"string","description":"Attachment mime type"},"size":{"type":"number","description":"Attachment size in bytes"},"url":{"description":"Optional public URL","type":"string"},"source":{"description":"Attachment upload origin","type":"string","enum":["public","internal"]},"scan":{"description":"Antivirus scan metadata","type":"object","properties":{"status":{"type":"string","enum":["not_scanned","queued","scanning","clean","malware","scan_failed","scan_skipped_limit"],"description":"Antivirus scan status"},"provider":{"type":"string","enum":["clamav"],"description":"Antivirus scan provider"},"queuedAt":{"description":"When the attachment was queued for scanning","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"startedAt":{"description":"When the current scan attempt started","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannedAt":{"description":"When the attachment was last scanned","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextRetryAt":{"description":"When the scan queue will retry after a failed dispatch","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannerVersion":{"description":"Scanner engine version","type":"string"},"signatureVersion":{"description":"Scanner signature database version","type":"string"},"findingName":{"description":"Malware signature name when detected","type":"string"},"error":{"description":"Last scan error","type":"string"},"attempts":{"description":"Number of scan attempts","type":"number"}},"required":["status","provider"],"additionalProperties":false}},"required":["id","name","type","size"],"additionalProperties":false},"description":"Ticket-level attachments"},"messages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Message ID"},"text":{"type":"string","description":"Message content"},"visibility":{"type":"string","enum":["public","internal"],"description":"Message visibility"},"author_type":{"type":"string","enum":["reporter","support","system"],"description":"Author type"},"author_id":{"description":"Author user ID for internal users","type":"string"},"author_email":{"description":"Author email for public users","type":"string"},"author_name":{"description":"Author display name","type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Message creation timestamp"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"type":{"type":"string","description":"Attachment mime type"},"size":{"type":"number","description":"Attachment size in bytes"},"url":{"description":"Optional public URL","type":"string"},"source":{"description":"Attachment upload origin","type":"string","enum":["public","internal"]},"scan":{"description":"Antivirus scan metadata","type":"object","properties":{"status":{"type":"string","enum":["not_scanned","queued","scanning","clean","malware","scan_failed","scan_skipped_limit"],"description":"Antivirus scan status"},"provider":{"type":"string","enum":["clamav"],"description":"Antivirus scan provider"},"queuedAt":{"description":"When the attachment was queued for scanning","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"startedAt":{"description":"When the current scan attempt started","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannedAt":{"description":"When the attachment was last scanned","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextRetryAt":{"description":"When the scan queue will retry after a failed dispatch","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannerVersion":{"description":"Scanner engine version","type":"string"},"signatureVersion":{"description":"Scanner signature database version","type":"string"},"findingName":{"description":"Malware signature name when detected","type":"string"},"error":{"description":"Last scan error","type":"string"},"attempts":{"description":"Number of scan attempts","type":"number"}},"required":["status","provider"],"additionalProperties":false}},"required":["id","name","type","size"],"additionalProperties":false},"description":"Message attachments"}},"required":["id","text","visibility","author_type","created_at","attachments"],"additionalProperties":false},"description":"Public supporter and reporter chat"},"internal_notes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Message ID"},"text":{"type":"string","description":"Message content"},"visibility":{"type":"string","enum":["public","internal"],"description":"Message visibility"},"author_type":{"type":"string","enum":["reporter","support","system"],"description":"Author type"},"author_id":{"description":"Author user ID for internal users","type":"string"},"author_email":{"description":"Author email for public users","type":"string"},"author_name":{"description":"Author display name","type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Message creation timestamp"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"type":{"type":"string","description":"Attachment mime type"},"size":{"type":"number","description":"Attachment size in bytes"},"url":{"description":"Optional public URL","type":"string"},"source":{"description":"Attachment upload origin","type":"string","enum":["public","internal"]},"scan":{"description":"Antivirus scan metadata","type":"object","properties":{"status":{"type":"string","enum":["not_scanned","queued","scanning","clean","malware","scan_failed","scan_skipped_limit"],"description":"Antivirus scan status"},"provider":{"type":"string","enum":["clamav"],"description":"Antivirus scan provider"},"queuedAt":{"description":"When the attachment was queued for scanning","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"startedAt":{"description":"When the current scan attempt started","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannedAt":{"description":"When the attachment was last scanned","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextRetryAt":{"description":"When the scan queue will retry after a failed dispatch","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannerVersion":{"description":"Scanner engine version","type":"string"},"signatureVersion":{"description":"Scanner signature database version","type":"string"},"findingName":{"description":"Malware signature name when detected","type":"string"},"error":{"description":"Last scan error","type":"string"},"attempts":{"description":"Number of scan attempts","type":"number"}},"required":["status","provider"],"additionalProperties":false}},"required":["id","name","type","size"],"additionalProperties":false},"description":"Message attachments"}},"required":["id","text","visibility","author_type","created_at","attachments"],"additionalProperties":false},"description":"Internal ticket comments"},"linked_task_ids":{"type":"array","items":{"type":"string"},"description":"Linked task IDs"},"customer_id":{"description":"Linked customer ID","type":"string"},"crm_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false},"description":"People, Organizations, and Records linked to the ticket"},"customer_portal_visible":{"type":"boolean","description":"Whether this ticket is visible in the authenticated customer portal","nullable":true},"customer_portal_replies_enabled":{"type":"boolean","description":"Whether public/customer portal viewers can add replies to this ticket thread"},"customer_portal_uploads_enabled":{"type":"boolean","description":"Whether public/customer portal viewers can upload attachments to this ticket thread"},"file_upload_allowed_mime_types":{"description":"Allowed upload MIME types or category wildcards such as image/*. Empty allows all file types","type":"array","items":{"type":"string"}},"knowledge_document_id":{"description":"Read-only primary document index derived from document links","type":"string"},"linked_knowledge_document_ids":{"type":"array","items":{"type":"string"},"description":"Canonical linked knowledge document IDs"},"master_ticket_id":{"description":"Read-only master ticket index derived from relationships","type":"string"},"linked_ticket_ids":{"type":"array","items":{"type":"string"},"description":"Read-only child ticket index derived from relationships"},"ticket_relationships":{"type":"array","items":{"type":"object","properties":{"ticket_id":{"type":"string","description":"Referenced ticket ID"},"type":{"type":"string","enum":["duplicate_of","child_of","caused_by","blocks","related"],"description":"Directional relationship type relative to the current ticket"}},"required":["ticket_id","type"],"additionalProperties":false},"description":"Canonical typed ticket relationships"},"master_sync_policy":{"description":"Master-child sync policy","type":"object","properties":{"master_to_children":{"type":"object","properties":{"status":{"type":"boolean"},"priority":{"type":"boolean"},"labels":{"type":"boolean"},"assignee":{"type":"boolean"},"internal_notes":{"type":"boolean"}},"required":["status","priority","labels","assignee","internal_notes"],"additionalProperties":false},"child_to_master":{"type":"object","properties":{"reopen_on_reporter_reply":{"type":"boolean"},"aggregate_escalation":{"type":"boolean"}},"required":["reopen_on_reporter_reply","aggregate_escalation"],"additionalProperties":false}},"required":["master_to_children","child_to_master"],"additionalProperties":false},"sla_id":{"description":"SLA definition ID","type":"string"},"sla_warning_active":{"type":"boolean","description":"True when ticket passed warning threshold"},"people_routing_audit":{"description":"Last persisted People routing decision for observability","type":"object","properties":{"matched_policy_id":{"type":"string"},"chosen_assignee_user_id":{"type":"string"},"fallback_reason":{"type":"string","enum":["policy_target","policy_backup","assignee_manager_chain","team_lead_or_manager","workspace_default_escalation","vacation_replacement","no_matching_policy","no_eligible_candidate"]},"candidate_user_ids":{"type":"array","items":{"type":"string"}},"candidates":{"default":[],"type":"array","items":{"type":"object","properties":{"user_id":{"type":"string","description":"Candidate user id"},"display_name":{"description":"Candidate display name at routing time","type":"string"},"fallback_reason":{"type":"string","enum":["policy_target","policy_backup","assignee_manager_chain","team_lead_or_manager","workspace_default_escalation","vacation_replacement","no_matching_policy","no_eligible_candidate"],"description":"Fallback pool that produced this candidate"},"eligible":{"type":"boolean","description":"Whether this candidate was eligible for assignment"},"skipped_reason":{"description":"Reason an ineligible candidate was skipped","type":"string","enum":["not_workspace_member","inactive_member","inactive_profile","vacation_replacement","routing_disabled","missing_capacity","no_available_capacity"]},"utilization":{"description":"Capacity utilization at routing time","type":"number"},"available_minutes":{"description":"Available capacity minutes at routing time","type":"number"},"booked_minutes":{"description":"Booked capacity minutes at routing time","type":"number"},"open_task_count":{"description":"Open tasks counted at routing time","type":"number"},"open_ticket_count":{"description":"Open assigned tickets counted at routing time","type":"number"},"sla_risk_ticket_count":{"description":"SLA-risk tickets counted at routing time","type":"number"},"overload":{"description":"Whether booked work exceeded available capacity","type":"boolean"}},"required":["user_id","fallback_reason","eligible"],"additionalProperties":false}},"fallback_path":{"default":[],"type":"array","items":{"type":"object","properties":{"reason":{"type":"string","enum":["policy_target","policy_backup","assignee_manager_chain","team_lead_or_manager","workspace_default_escalation","vacation_replacement","no_matching_policy","no_eligible_candidate"],"description":"Fallback pool that was evaluated"},"user_ids":{"type":"array","items":{"type":"string"},"description":"Raw users considered in this pool"},"eligible_user_ids":{"type":"array","items":{"type":"string"},"description":"Users still eligible after routing filters"},"skipped_user_ids":{"type":"array","items":{"type":"string"},"description":"Users skipped by routing filters"},"chosen_user_id":{"description":"Chosen user id when this pool selected the assignee","type":"string"}},"required":["reason","user_ids","eligible_user_ids","skipped_user_ids"],"additionalProperties":false}},"selection_mode":{"type":"string","enum":["capacity","rotation"]},"source":{"type":"string","enum":["ticket_create","manual_reroute","sla_warning","sla_breach","availability_handoff","preview"]},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Timestamp when the routing decision was recorded"},"manual_override":{"description":"Manual override metadata when the auto-routed assignee was changed","type":"object","properties":{"previous_assignee_user_id":{"description":"Auto-routed assignee before manual override","type":"string"},"next_assignee_user_id":{"description":"Manual assignee after the override","type":"string"},"reason":{"description":"Operator-entered reason for the manual override","type":"string"},"actor_user_id":{"description":"User who performed the override when available","type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Timestamp when the manual override was recorded"}},"required":["created_at"],"additionalProperties":false}},"required":["fallback_reason","candidate_user_ids","candidates","fallback_path","source","created_at"],"additionalProperties":false},"ticket_age_minutes":{"type":"number","description":"Calculated ticket age in minutes"},"waiting_on_reporter_since":{"description":"Since when ticket waits on reporter","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Creation timestamp"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Last update timestamp"},"closed_at":{"description":"Resolution timestamp","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"public_token":{"type":"string","description":"Capability token for public responses"},"statistics":{"type":"object","properties":{"first_response_at":{"description":"Timestamp of first public support response","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"first_response_minutes":{"description":"Time to first response in minutes","type":"number"},"resolved_at":{"description":"Timestamp when ticket was resolved","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"resolution_minutes":{"description":"Resolution time in minutes","type":"number"}},"additionalProperties":false,"description":"Persisted ticket statistics"},"master_rollup":{"description":"Computed roll-up summary for master tickets","type":"object","properties":{"child_ticket_ids":{"type":"array","items":{"type":"string"},"description":"Resolved child ticket IDs included in roll-up"},"child_count_total":{"type":"number","description":"Total child ticket count"},"child_count_open":{"type":"number","description":"Open child ticket count"},"child_count_closed":{"type":"number","description":"Closed child ticket count"},"child_count_sla_warning":{"type":"number","description":"Child tickets currently in SLA warning"},"child_counts_by_status":{"type":"array","items":{"type":"object","properties":{"status":{"type":"string","description":"Child status ID"},"status_name":{"description":"Resolved child status label","type":"string"},"count":{"type":"number","description":"Number of child tickets in this status"}},"required":["status","count"],"additionalProperties":false},"description":"Child counts grouped by status"},"latest_customer_reply_at":{"description":"Latest public reporter reply timestamp across children","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"affected_customer_ids":{"type":"array","items":{"type":"string"},"description":"Distinct affected customer IDs from child tickets"},"affected_project_ids":{"type":"array","items":{"type":"string"},"description":"Distinct affected project IDs from child tickets"}},"required":["child_ticket_ids","child_count_total","child_count_open","child_count_closed","child_count_sla_warning","child_counts_by_status","affected_customer_ids","affected_project_ids"],"additionalProperties":false}},"required":["id","guild_id","project_id","title","description","type","priority","status","ticket_role","reporter_email","reporter_origin","notify_emails","unsubscribed_emails","custom_fields","label_ids","attachments","messages","internal_notes","linked_task_ids","crm_entities","customer_portal_replies_enabled","customer_portal_uploads_enabled","linked_knowledge_document_ids","linked_ticket_ids","ticket_relationships","sla_warning_active","ticket_age_minutes","created_at","updated_at","public_token","statistics"],"additionalProperties":false},"file":{"description":"File payload when the result type is file","type":"object","properties":{"source_key":{"type":"string","description":"Stable file-search source key"},"surface":{"type":"string","enum":["cloud_file","task_attachment","task_comment_attachment","ticket_attachment","ticket_message_attachment","ticket_internal_note_attachment"],"description":"The source surface where this file is attached"},"file_id":{"type":"string","description":"Stored file id"},"task_id":{"description":"Parent task id for task attachment hits","type":"string"},"comment_id":{"description":"Parent task comment id for task comment attachment hits","type":"string"},"ticket_id":{"description":"Parent ticket id for ticket attachment hits","type":"string"},"message_id":{"description":"Parent ticket message or internal note id for message attachment hits","type":"string"},"project_id":{"description":"Project id used for routing and permission context","type":"string"},"name":{"type":"string","description":"File name"},"type":{"type":"string","description":"File MIME type"},"size":{"type":"number","description":"File size in bytes"},"path":{"description":"Cloud file path when available","type":"string"},"snippet":{"description":"Matched extracted text snippet","type":"string"},"updated_at":{"description":"Best-effort source update time","type":"string"}},"required":["source_key","surface","file_id","name","type","size"],"additionalProperties":false}},"required":["type","score","exact_match","recency_score"],"additionalProperties":false,"description":"Unified ranked workspace search result. Exactly one payload field is populated based on type."},"description":"Unified ranked search results across all supported object types"}},"required":["tasks","events","documents","tickets","files","results"],"additionalProperties":false},"CreateProjectDto":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":32,"description":"Name of the project"},"manager":{"description":"The manager of the project","type":"string"},"columns":{"description":"The columns in the project","type":"array","items":{"type":"string"}},"columns_with_done_tasks":{"description":"The columns in the project that are considered done","type":"array","items":{"type":"string"}},"default_column":{"description":"The default column for new tasks","type":"string"},"tickets_enabled_public":{"description":"Whether tickets can be created publicly for this project","type":"boolean"},"task_custom_fields":{"description":"Project-scoped task custom field definitions","type":"array","items":{"type":"object","properties":{"id":{"description":"Stable field id","type":"string"},"label":{"type":"string","minLength":1,"description":"Field label"},"description":{"description":"Field description","type":"string"},"type":{"type":"string","enum":["text","number","email","date","file","boolean","single_select","multi_select","single_user","multi_user","single_team","multi_team"],"description":"Field type"},"required":{"type":"boolean","description":"Whether the field is required"},"archived":{"description":"Whether the field is archived","type":"boolean"},"options":{"description":"Select options for select fields","type":"array","items":{"type":"object","properties":{"id":{"description":"Stable option id","type":"string"},"label":{"type":"string","minLength":1,"description":"Option label"}},"required":["label"]}}},"required":["label","type","required"]}},"crm_entities":{"description":"People, Organizations, and Records linked to the project","maxItems":50,"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}}},"required":["name"]},"ProjectDto_Output":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the project"},"name":{"type":"string","minLength":1,"maxLength":32,"description":"The name of the project"},"in_bin":{"description":"Whether the project is in bin","type":"boolean"},"deleted_at":{"description":"The date and time of deletion","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"manager":{"description":"The ID of the manager","type":"string"},"columns":{"description":"The columns in the project. These are column names. Each column can contain tasks. The task will have a number as status set, that can be mapped to these columns by index.","type":"array","items":{"type":"string"}},"done_tasks_columns":{"description":"Columns in which tasks are expected to be done","type":"array","items":{"type":"string"}},"default_column":{"description":"The default column for new tasks.","type":"string"},"tickets_enabled_public":{"description":"Whether public ticket creation is enabled for this project.","type":"boolean"},"task_custom_fields":{"description":"Project-scoped task custom field definitions","type":"array","items":{"type":"object","properties":{"id":{"description":"Stable field id","type":"string"},"label":{"type":"string","minLength":1,"description":"Field label"},"description":{"description":"Field description","type":"string"},"type":{"type":"string","enum":["text","number","email","date","file","boolean","single_select","multi_select","single_user","multi_user","single_team","multi_team"],"description":"Field type"},"required":{"type":"boolean","description":"Whether the field is required"},"archived":{"description":"Whether the field is archived","type":"boolean"},"options":{"description":"Select options for select fields","type":"array","items":{"type":"object","properties":{"id":{"description":"Stable option id","type":"string"},"label":{"type":"string","minLength":1,"description":"Option label"}},"required":["label"],"additionalProperties":false}}},"required":["label","type","required"],"additionalProperties":false}},"crm_entities":{"description":"People, Organizations, and Records linked to the project when CRM access is allowed","type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}}},"required":["id","name"],"additionalProperties":false},"UpdateProjectDto":{"type":"object","properties":{"name":{"description":"The name of the project","type":"string","minLength":1,"maxLength":32},"in_bin":{"description":"Whether the project is in bin","type":"boolean"},"manager":{"description":"The ID of the manager","type":"string"},"columns":{"description":"The columns in the project","type":"array","items":{"type":"string"}},"columns_with_done_tasks":{"description":"The columns in the project that are considered done","type":"array","items":{"type":"string"}},"default_column":{"description":"The default column for new tasks","type":"string"},"tickets_enabled_public":{"description":"Whether tickets can be created publicly for this project","type":"boolean"},"task_custom_fields":{"description":"Project-scoped task custom field definitions","type":"array","items":{"type":"object","properties":{"id":{"description":"Stable field id","type":"string"},"label":{"type":"string","minLength":1,"description":"Field label"},"description":{"description":"Field description","type":"string"},"type":{"type":"string","enum":["text","number","email","date","file","boolean","single_select","multi_select","single_user","multi_user","single_team","multi_team"],"description":"Field type"},"required":{"type":"boolean","description":"Whether the field is required"},"archived":{"description":"Whether the field is archived","type":"boolean"},"options":{"description":"Select options for select fields","type":"array","items":{"type":"object","properties":{"id":{"description":"Stable option id","type":"string"},"label":{"type":"string","minLength":1,"description":"Option label"}},"required":["label"]}}},"required":["label","type","required"]}},"crm_entities":{"description":"People, Organizations, and Records linked to the project","maxItems":50,"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}}}},"PermissionDto":{"type":"object","properties":{"permission":{"type":"string"},"user_id":{"type":"string"},"team_id":{"type":"string"},"project_id":{"type":"string"}},"required":["permission"]},"ApplyPermissionPresetDto":{"type":"object","properties":{"preset":{"type":"string"},"user_id":{"type":"string"},"team_id":{"type":"string"},"project_id":{"type":"string"}},"required":["preset"]},"AllPermissionsDto_Output":{"type":"object","properties":{"globalPermissions":{"type":"object","properties":{},"additionalProperties":{"type":"boolean"}},"projectPermissions":{"type":"object","properties":{},"additionalProperties":{"type":"object","properties":{},"additionalProperties":{"type":"boolean"}}}},"additionalProperties":false},"PermissionsMatrixRequestDto":{"type":"object","properties":{"team_ids":{"default":[],"description":"People team ids to include in the permission matrix","type":"array","items":{"type":"string"}},"user_ids":{"default":[],"description":"Workspace user ids to include in the permission matrix","type":"array","items":{"type":"string"}}}},"PermissionsMatrixResponseDto_Output":{"type":"object","properties":{"owner_id":{"description":"Workspace owner user id","type":"string"},"teams":{"type":"object","additionalProperties":{"type":"object","properties":{"globalPermissions":{"type":"object","properties":{},"additionalProperties":{"type":"boolean"}},"projectPermissions":{"type":"object","properties":{},"additionalProperties":{"type":"object","properties":{},"additionalProperties":{"type":"boolean"}}}},"additionalProperties":false},"description":"Direct permissions keyed by team id"},"users":{"type":"object","additionalProperties":{"type":"object","properties":{"globalPermissions":{"type":"object","properties":{},"additionalProperties":{"type":"boolean"}},"projectPermissions":{"type":"object","properties":{},"additionalProperties":{"type":"object","properties":{},"additionalProperties":{"type":"boolean"}}}},"additionalProperties":false},"description":"Permissions keyed by user id; workspace owner includes effective owner grants"}},"required":["teams","users"],"additionalProperties":false},"GetAllLabelsResponseDto_Output":{"type":"object","properties":{"labels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The id of the label"},"name":{"type":"string","description":"The name of the label"},"color":{"description":"The color of the label","type":"string"},"description":{"description":"The description of the label","type":"string"}},"required":["id","name"],"additionalProperties":false},"description":"List of labels"}},"required":["labels"],"additionalProperties":false},"LabelDto":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":32,"description":"The name of the label"},"color":{"description":"The color of the label","type":"string"},"description":{"description":"The description of the label","type":"string","maxLength":200}},"required":["name"]},"LabelResponseDto_Output":{"type":"object","properties":{"id":{"type":"string","description":"The id of the label"},"name":{"type":"string","description":"The name of the label"},"color":{"description":"The color of the label","type":"string"},"description":{"description":"The description of the label","type":"string"}},"required":["id","name"],"additionalProperties":false},"SuggestLabelDto":{"type":"object","properties":{"operationId":{"description":"Stable ID used to make AI retries idempotent","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"text":{"type":"string","description":"The text to base label suggestions on"}},"required":["text"]},"GetAllGuildLimitsResponseDto_Output":{"type":"object","properties":{"max_projects":{"type":"number","description":"Maximal number of projects that can be created in the guild"},"max_topics":{"type":"number","description":"Maximal number of topics that can be created in the guild"},"max_labels":{"type":"number","description":"Maximal number of labels that can be created in the guild"},"current_projects":{"type":"number","description":"Current number of projects in the guild"},"current_topics":{"type":"number","description":"Current number of topics in the guild"},"current_labels":{"type":"number","description":"Current number of labels in the guild"},"subscription_tier":{"type":"string","enum":["free","starter","pro"],"description":"The workspace subscription tier"},"seat_count":{"type":"number","description":"Total number of active paid seats in the guild"},"seat_user_ids":{"type":"array","items":{"type":"string"},"description":"User IDs of seat-assigned users in the guild"},"seat_counts_by_tier":{"type":"object","properties":{"starter":{"type":"number","description":"Number of active Starter seats"},"pro":{"type":"number","description":"Number of active Pro seats"}},"required":["starter","pro"],"additionalProperties":false,"description":"Active paid seats split by tier"},"seat_user_ids_by_tier":{"type":"object","properties":{"starter":{"type":"array","items":{"type":"string"},"description":"User IDs assigned to Starter seats"},"pro":{"type":"array","items":{"type":"string"},"description":"User IDs assigned to Pro seats"}},"required":["starter","pro"],"additionalProperties":false,"description":"Seat-assigned users split by tier"},"max_task_assignees":{"type":"number","description":"Maximal number of task assignees that can be added to a task in the guild"},"max_labels_per_object":{"type":"number","description":"Maximal number of labels that can be added to a task or document in the guild"},"max_event_invitees":{"type":"number","description":"Maximal number of invitees that can be added to an event in the guild"},"free_task_assignees":{"type":"number","description":"Number of task assignees that can be added to a task in the guild without a premium plan"},"task_assignees_per_seat":{"type":"number","description":"Additional task assignees allowed in the shared workspace for each paid seat"},"free_projects":{"type":"number","description":"Number of projects that can be created in the guild without a premium plan"},"free_topics":{"type":"number","description":"Number of topics that can be created in the guild without a premium plan"},"free_labels":{"type":"number","description":"Number of labels that can be created in the guild without a premium plan"},"free_labels_per_object":{"type":"number","description":"Number of labels that can be assigned to a single object in the guild without a premium plan"},"free_event_invitees":{"type":"number","description":"Number of invitees that can be added to an event in the guild without a premium plan"},"storage_bytes_used":{"type":"number","description":"Storage used in bytes"},"storage_bytes_limit":{"type":"number","description":"Storage limit in bytes"},"free_milestones":{"type":"number","description":"Number of milestones that can be created in the guild without a premium plan"},"max_milestones":{"type":"number","description":"Maximal number of milestones that can be created in the guild"},"current_milestones":{"type":"number","description":"Current number of milestones in the guild"},"projects_per_seat":{"type":"number","description":"Maximal number of projects that can be created in the guild per seat"},"labels_per_seat":{"type":"number","description":"Legacy field; zero because labels are not a commercial seat limit"},"topics_per_seat":{"type":"number","description":"Legacy field; zero because topics are not a commercial seat limit"},"event_invites_per_seat":{"type":"number","description":"Additional event invitees allowed in the shared workspace for each paid seat"},"storage_bytes_per_seat":{"type":"number","description":"Maximal number of labels that can be assigned to a single object in the guild per seat"},"milestones_per_seat":{"type":"number","description":"Maximal number of milestones that can be created in the guild per seat"},"suggested_seats":{"description":"Suggested number of seats for the guild","type":"number"},"max_public_documents":{"type":"number","description":"Maximal number of public documents that can be created in the guild"},"current_public_documents":{"type":"number","description":"Current number of public documents in the guild"},"public_documents_per_seat":{"type":"number","description":"Legacy field; zero because public documents are not a commercial seat limit"},"free_public_documents":{"type":"number","description":"Number of public documents that can be created in the guild without a premium plan"},"current_page_sessions_per_month":{"type":"number","description":"Current number of public page sessions in the current month"},"max_page_sessions_per_month":{"type":"number","description":"Maximal number of public page sessions allowed in the current month"},"free_page_sessions_per_month":{"type":"number","description":"Number of public page sessions allowed per month without a premium plan"},"page_sessions_per_month_per_seat":{"type":"number","description":"Additional public page sessions allowed per month for each paid seat"},"current_page_sessions_per_hour":{"type":"number","description":"Current number of public page sessions in the last hour"},"max_page_sessions_per_hour":{"type":"number","description":"Maximal number of public page sessions allowed in the last hour"},"free_page_sessions_per_hour":{"type":"number","description":"Number of public page sessions allowed per hour without a premium plan"},"page_sessions_per_hour_per_seat":{"type":"number","description":"Additional public page sessions allowed per hour for each paid seat"},"current_webhook_logging_endpoints":{"type":"number","description":"Current number of logging webhook endpoints in the guild"},"max_webhook_logging_endpoints":{"type":"number","description":"Maximal number of logging webhook endpoints allowed in the guild"},"webhook_logging_endpoints_per_seat":{"type":"number","description":"Additional logging webhook endpoints allowed for each paid seat"},"current_attachment_scan_bytes_per_month":{"type":"number","description":"Attachment antivirus scan bytes used in the current month"},"max_attachment_scan_bytes_per_month":{"type":"number","description":"Maximal attachment antivirus scan bytes allowed in the current month"},"attachment_scan_bytes_per_month_per_seat":{"type":"number","description":"Additional monthly attachment scan bytes allowed for each paid seat"},"current_attachment_scan_bytes_per_hour":{"type":"number","description":"Attachment antivirus scan bytes used in the current hour"},"max_attachment_scan_bytes_per_hour":{"type":"number","description":"Maximal attachment antivirus scan bytes allowed in the current hour"},"attachment_scan_bytes_per_hour_per_seat":{"type":"number","description":"Additional hourly attachment scan bytes allowed for each paid seat"}},"required":["max_projects","max_topics","max_labels","current_projects","current_topics","current_labels","subscription_tier","seat_count","seat_user_ids","seat_counts_by_tier","seat_user_ids_by_tier","max_task_assignees","max_labels_per_object","max_event_invitees","free_task_assignees","task_assignees_per_seat","free_projects","free_topics","free_labels","free_labels_per_object","free_event_invitees","storage_bytes_used","storage_bytes_limit","free_milestones","max_milestones","current_milestones","projects_per_seat","labels_per_seat","topics_per_seat","event_invites_per_seat","storage_bytes_per_seat","milestones_per_seat","max_public_documents","current_public_documents","public_documents_per_seat","free_public_documents","current_page_sessions_per_month","max_page_sessions_per_month","free_page_sessions_per_month","page_sessions_per_month_per_seat","current_page_sessions_per_hour","max_page_sessions_per_hour","free_page_sessions_per_hour","page_sessions_per_hour_per_seat","current_webhook_logging_endpoints","max_webhook_logging_endpoints","webhook_logging_endpoints_per_seat","current_attachment_scan_bytes_per_month","max_attachment_scan_bytes_per_month","attachment_scan_bytes_per_month_per_seat","current_attachment_scan_bytes_per_hour","max_attachment_scan_bytes_per_hour","attachment_scan_bytes_per_hour_per_seat"],"additionalProperties":false},"StorageUsageDetailsDto_Output":{"type":"object","properties":{"storage_bytes_used":{"type":"number","description":"Workspace storage counter in bytes"},"storage_bytes_limit":{"type":"number","description":"Workspace storage limit in bytes"},"visible_storage_bytes":{"type":"number","description":"Bytes visible to the requesting user in this response"},"restricted_or_other_bytes":{"type":"number","description":"Bytes not itemized because of permissions or unsupported sources"},"summaries":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string","enum":["cloud_files","task_attachments","ticket_attachments","restricted_or_other"],"description":"Storage source bucket"},"bytes":{"type":"number","description":"Visible bytes used by this source"},"item_count":{"type":"number","description":"Number of visible contributing records in this source"}},"required":["source","bytes","item_count"],"additionalProperties":false},"description":"Storage usage grouped by source"},"top_files":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Source object id"},"source":{"type":"string","enum":["cloud_files","task_attachments","ticket_attachments","restricted_or_other"],"description":"Storage source bucket"},"name":{"type":"string","description":"Display name for the source object"},"project_id":{"description":"Project id for project-scoped sources","type":"string"},"bytes":{"type":"number","description":"Bytes used by this source object"},"attachment_count":{"type":"number","description":"Number of attachments represented by this source object"},"cleanup_allowed":{"type":"boolean","description":"Whether the requesting user can use storage-panel cleanup for this object"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment id"},"name":{"type":"string","description":"Attachment display name"},"type":{"type":"string","description":"Attachment MIME type or file type"},"size":{"type":"number","description":"Attachment size in bytes"},"comment_id":{"description":"Task comment id when this attachment belongs to a task comment","type":"string"}},"required":["id","name","type","size"],"additionalProperties":false},"description":"Largest attachments represented by this source object"}},"required":["id","source","name","bytes","attachment_count","cleanup_allowed","attachments"],"additionalProperties":false},"description":"Largest visible cloud-storage files"},"top_tasks":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Source object id"},"source":{"type":"string","enum":["cloud_files","task_attachments","ticket_attachments","restricted_or_other"],"description":"Storage source bucket"},"name":{"type":"string","description":"Display name for the source object"},"project_id":{"description":"Project id for project-scoped sources","type":"string"},"bytes":{"type":"number","description":"Bytes used by this source object"},"attachment_count":{"type":"number","description":"Number of attachments represented by this source object"},"cleanup_allowed":{"type":"boolean","description":"Whether the requesting user can use storage-panel cleanup for this object"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment id"},"name":{"type":"string","description":"Attachment display name"},"type":{"type":"string","description":"Attachment MIME type or file type"},"size":{"type":"number","description":"Attachment size in bytes"},"comment_id":{"description":"Task comment id when this attachment belongs to a task comment","type":"string"}},"required":["id","name","type","size"],"additionalProperties":false},"description":"Largest attachments represented by this source object"}},"required":["id","source","name","bytes","attachment_count","cleanup_allowed","attachments"],"additionalProperties":false},"description":"Largest visible tasks by attachment bytes"},"top_tickets":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Source object id"},"source":{"type":"string","enum":["cloud_files","task_attachments","ticket_attachments","restricted_or_other"],"description":"Storage source bucket"},"name":{"type":"string","description":"Display name for the source object"},"project_id":{"description":"Project id for project-scoped sources","type":"string"},"bytes":{"type":"number","description":"Bytes used by this source object"},"attachment_count":{"type":"number","description":"Number of attachments represented by this source object"},"cleanup_allowed":{"type":"boolean","description":"Whether the requesting user can use storage-panel cleanup for this object"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment id"},"name":{"type":"string","description":"Attachment display name"},"type":{"type":"string","description":"Attachment MIME type or file type"},"size":{"type":"number","description":"Attachment size in bytes"},"comment_id":{"description":"Task comment id when this attachment belongs to a task comment","type":"string"}},"required":["id","name","type","size"],"additionalProperties":false},"description":"Largest attachments represented by this source object"}},"required":["id","source","name","bytes","attachment_count","cleanup_allowed","attachments"],"additionalProperties":false},"description":"Largest visible tickets by attachment bytes"}},"required":["storage_bytes_used","storage_bytes_limit","visible_storage_bytes","restricted_or_other_bytes","summaries","top_files","top_tasks","top_tickets"],"additionalProperties":false},"CleanupStorageUsageDto":{"type":"object","properties":{"items":{"minItems":1,"maxItems":50,"type":"array","items":{"type":"object","properties":{"source":{"type":"string","enum":["cloud_files","task_attachments","ticket_attachments"],"description":"Storage source to clean up"},"id":{"type":"string","minLength":1,"description":"Source object id to clean up"},"attachment_id":{"description":"Specific attachment id to delete instead of the full source object","type":"string","minLength":1},"comment_id":{"description":"Task comment id for comment attachment cleanup","type":"string","minLength":1}},"required":["source","id"]},"description":"Visible storage contributors to delete"}},"required":["items"]},"CleanupStorageUsageResultDto_Output":{"type":"object","properties":{"requested_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Requested contributor count"},"deleted_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Deleted attachment or file count"},"reclaimed_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Storage bytes reclaimed"},"failed_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Contributor cleanup failures"},"failures":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string","enum":["cloud_files","task_attachments","ticket_attachments"]},"id":{"type":"string"},"attachment_id":{"type":"string"},"comment_id":{"type":"string"},"message":{"type":"string"}},"required":["source","id","message"],"additionalProperties":false},"description":"Per-contributor cleanup failures"}},"required":["requested_count","deleted_count","reclaimed_bytes","failed_count","failures"],"additionalProperties":false},"TicketAttachmentScanQueueStatusDto_Output":{"type":"object","properties":{"total":{"type":"number"},"due":{"type":"number"},"scheduled":{"type":"number"},"running":{"type":"number"},"failed":{"type":"number"},"exhausted":{"type":"number"},"stuck":{"type":"number"},"total_bytes":{"type":"number"},"max_attempts":{"type":"number"},"oldest_next_attempt_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","nullable":true},"newest_error_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","nullable":true},"truncated":{"type":"boolean"},"recent_failures":{"type":"array","items":{"type":"object","properties":{"queue_type":{"type":"string","enum":["ticket_attachment","stored_file"]},"surface":{"type":"string"},"ticket_id":{"type":"string"},"task_id":{"type":"string","nullable":true},"comment_id":{"type":"string","nullable":true},"file_id":{"type":"string"},"file_name":{"type":"string"},"file_size":{"type":"number"},"scan_token":{"type":"string","nullable":true},"attempts":{"type":"number"},"next_attempt_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"leased_until":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","nullable":true},"last_error":{"type":"string","nullable":true},"dead_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","nullable":true}},"required":["ticket_id","file_id","file_name","file_size","attempts","next_attempt_at","updated_at","leased_until","last_error","dead_at"],"additionalProperties":false}}},"required":["total","due","scheduled","running","failed","exhausted","stuck","total_bytes","max_attempts","oldest_next_attempt_at","newest_error_at","truncated","recent_failures"],"additionalProperties":false},"WorkspaceHealthResponseDto_Output":{"type":"object","properties":{"summary":{"type":"object","properties":{"critical_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"warning_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"info_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"active_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"acknowledged_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"snoozed_count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["critical_count","warning_count","info_count","active_count","acknowledged_count","snoozed_count"],"additionalProperties":false},"sections":{"type":"array","items":{"type":"object","properties":{"category":{"type":"string","enum":["security","quota","integration","delivery","billing","automation","system"]},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Stable health item id"},"guild_id":{"type":"string","description":"Workspace id"},"category":{"type":"string","enum":["security","quota","integration","delivery","billing","automation","system"]},"severity":{"type":"string","enum":["info","warning","critical"]},"status":{"type":"string","enum":["active","acknowledged","resolved","snoozed"]},"source":{"type":"string","description":"Health provider source"},"title_key":{"type":"string","description":"Localization key for the health title"},"description_key":{"type":"string","description":"Localization key for the health description"},"action_key":{"description":"Localization key for the primary action","type":"string"},"action_route":{"description":"Client route or settings target for the primary action","type":"string"},"affected_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"first_seen_at":{"type":"string","description":"Computed first seen timestamp"},"last_seen_at":{"type":"string","description":"Computed last seen timestamp"},"resolved_at":{"type":"string","nullable":true},"acknowledged_at":{"type":"string","nullable":true},"acknowledged_by_user_id":{"type":"string","nullable":true},"snoozed_until":{"type":"string","nullable":true},"details":{"description":"Structured, non-localized item details","type":"object","additionalProperties":{}}},"required":["id","guild_id","category","severity","status","source","title_key","description_key","first_seen_at","last_seen_at"],"additionalProperties":false}}},"required":["category","items"],"additionalProperties":false}}},"required":["summary","sections"],"additionalProperties":false},"WorkspaceHealthHistoryResponseDto_Output":{"type":"object","properties":{"events":{"type":"array","items":{"type":"object","properties":{"item_id":{"type":"string","description":"Stable health item id"},"category":{"type":"string","enum":["security","quota","integration","delivery","billing","automation","system"]},"severity":{"type":"string","enum":["info","warning","critical"]},"source":{"type":"string","description":"Health provider source"},"title_key":{"type":"string","description":"Localization key for the health title"},"description_key":{"type":"string","description":"Localization key for the health description"},"action_key":{"type":"string","nullable":true},"action_route":{"type":"string","nullable":true},"affected_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"nullable":true},"event":{"type":"string","enum":["first_seen","seen","reopened","resolved"]},"event_at":{"type":"string","description":"When this history event occurred"},"item_first_seen_at":{"type":"string","nullable":true},"item_last_seen_at":{"type":"string","nullable":true},"item_resolved_at":{"type":"string","nullable":true}},"required":["item_id","category","severity","source","title_key","description_key","event","event_at"],"additionalProperties":false}}},"required":["events"],"additionalProperties":false},"WorkspaceHealthItemActionDto":{"type":"object","properties":{"item_id":{"type":"string","minLength":1,"description":"Stable health item id to update"}},"required":["item_id"]},"SnoozeWorkspaceHealthItemDto":{"type":"object","properties":{"item_id":{"type":"string","minLength":1,"description":"Stable health item id to update"},"duration_hours":{"default":24,"description":"How long the row should be snoozed","type":"integer","minimum":1,"maximum":720}},"required":["item_id"]},"MalwareRemediationReportDto_Output":{"type":"object","properties":{"generated_at":{"type":"string","description":"Report generation timestamp"},"workspace_id":{"type":"string","description":"Workspace id"},"summary":{"type":"object","properties":{"incident_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Detected malware incident count"},"total_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Total bytes currently blocked as malware"},"cloud_file_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Cloud file incident count"},"task_attachment_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Task attachment incident count"},"task_comment_attachment_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Task comment attachment incident count"},"ticket_attachment_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Ticket attachment incident count"}},"required":["incident_count","total_bytes","cloud_file_count","task_attachment_count","task_comment_attachment_count","ticket_attachment_count"],"additionalProperties":false},"incidents":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Stable incident id"},"surface":{"type":"string","enum":["cloud_file","task_attachment","task_comment_attachment","ticket_attachment"],"description":"File surface where malware was detected"},"parent_id":{"type":"string","description":"Owning file, task, or ticket id"},"parent_name":{"description":"Owning object display name","type":"string"},"project_id":{"description":"Project id for project-scoped incidents","type":"string"},"file_id":{"type":"string","description":"Malware file id"},"file_name":{"type":"string","description":"Malware file display name"},"file_type":{"type":"string","description":"Malware file MIME type"},"file_size":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Malware file size in bytes"},"comment_id":{"description":"Task comment id for comment attachment incidents","type":"string"},"finding_name":{"description":"ClamAV malware signature name","type":"string"},"scanner_version":{"description":"Scanner version that produced the result","type":"string"},"signature_version":{"description":"Signature database version that produced the result","type":"string"},"scanned_at":{"type":"string","description":"When the malware result was recorded","nullable":true},"remediation_status":{"default":"open","description":"Admin remediation workflow state","type":"string","enum":["open","false_positive"]},"remediation_note":{"type":"string","description":"Admin remediation note","nullable":true},"remediation_updated_at":{"type":"string","description":"Last remediation metadata update timestamp","nullable":true},"remediation_updated_by":{"type":"string","description":"User id that last updated remediation metadata","nullable":true}},"required":["id","surface","parent_id","file_id","file_name","file_type","file_size","scanned_at","remediation_status","remediation_note","remediation_updated_at","remediation_updated_by"],"additionalProperties":false},"description":"Current malware incidents"}},"required":["generated_at","workspace_id","summary","incidents"],"additionalProperties":false},"MalwareRemediationExportDto":{"type":"object","properties":{"format":{"default":"json","description":"Export format","type":"string","enum":["json","csv"]}}},"MalwareRemediationExportResponseDto_Output":{"type":"object","properties":{"file_name":{"type":"string","description":"Suggested export file name"},"content_type":{"type":"string","description":"Export MIME type"},"content":{"type":"string","description":"Export content"}},"required":["file_name","content_type","content"],"additionalProperties":false},"DeleteMalwareFilesResultDto_Output":{"type":"object","properties":{"requested_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Malware incidents requested for deletion"},"deleted_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Malware files deleted"},"reclaimed_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Storage bytes reclaimed"},"failed_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Deletion failure count"},"failures":{"type":"array","items":{"type":"object","properties":{"incident_id":{"type":"string"},"surface":{"type":"string","enum":["cloud_file","task_attachment","task_comment_attachment","ticket_attachment"]},"file_id":{"type":"string"},"message":{"type":"string"}},"required":["incident_id","surface","file_id","message"],"additionalProperties":false},"description":"Per-incident deletion failures"}},"required":["requested_count","deleted_count","reclaimed_bytes","failed_count","failures"],"additionalProperties":false},"MalwareRemediationIncidentRefDto":{"type":"object","properties":{"incident_id":{"type":"string","minLength":1,"description":"Stable incident id from the remediation report"}},"required":["incident_id"]},"MalwareRemediationIncidentActionDto":{"type":"object","properties":{"incident_id":{"type":"string","minLength":1,"description":"Stable incident id from the remediation report"},"action":{"type":"string","enum":["mark_false_positive","restore_false_positive"],"description":"Per-incident remediation action"},"note":{"description":"Optional false-positive note","type":"string","maxLength":1000}},"required":["incident_id","action"]},"MalwareRemediationIncidentActionResultDto_Output":{"type":"object","properties":{"incident":{"type":"object","properties":{"id":{"type":"string","description":"Stable incident id"},"surface":{"type":"string","enum":["cloud_file","task_attachment","task_comment_attachment","ticket_attachment"],"description":"File surface where malware was detected"},"parent_id":{"type":"string","description":"Owning file, task, or ticket id"},"parent_name":{"description":"Owning object display name","type":"string"},"project_id":{"description":"Project id for project-scoped incidents","type":"string"},"file_id":{"type":"string","description":"Malware file id"},"file_name":{"type":"string","description":"Malware file display name"},"file_type":{"type":"string","description":"Malware file MIME type"},"file_size":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Malware file size in bytes"},"comment_id":{"description":"Task comment id for comment attachment incidents","type":"string"},"finding_name":{"description":"ClamAV malware signature name","type":"string"},"scanner_version":{"description":"Scanner version that produced the result","type":"string"},"signature_version":{"description":"Signature database version that produced the result","type":"string"},"scanned_at":{"type":"string","description":"When the malware result was recorded","nullable":true},"remediation_status":{"default":"open","description":"Admin remediation workflow state","type":"string","enum":["open","false_positive"]},"remediation_note":{"type":"string","description":"Admin remediation note","nullable":true},"remediation_updated_at":{"type":"string","description":"Last remediation metadata update timestamp","nullable":true},"remediation_updated_by":{"type":"string","description":"User id that last updated remediation metadata","nullable":true}},"required":["id","surface","parent_id","file_id","file_name","file_type","file_size","scanned_at","remediation_status","remediation_note","remediation_updated_at","remediation_updated_by"],"additionalProperties":false,"description":"Updated incident"}},"required":["incident"],"additionalProperties":false},"GetGuildTimezonesResponseDto_Output":{"type":"object","properties":{"timezones":{"type":"array","items":{"type":"string"}}},"required":["timezones"],"additionalProperties":false},"UpdateGuildDto":{"type":"object","properties":{"language":{"description":"Language code, e.g., 'en', 'fr', 'es'","type":"string","minLength":0,"maxLength":50},"log_level":{"description":"Log level (0-3)","type":"number","minimum":0,"maximum":3},"auto_labeling_enabled":{"description":"Enable or disable auto-labeling","type":"boolean"},"auto_label_suggestions_enabled":{"description":"Enable or disable auto-label suggestions","type":"boolean"},"todo_suggestions_enabled":{"description":"Enable or disable to-do suggestions","type":"boolean"},"task_duplicate_warnings_enabled":{"description":"Enable or disable task duplicate warnings","type":"boolean"},"timezone":{"description":"Timezone code, e.g., 'America/New_York'","type":"string"},"dateformat":{"description":"Date format, e.g., 'MM/DD/YYYY'","type":"string"},"private_responses":{"description":"Enable or disable private responses","type":"boolean"},"auto_priority":{"description":"Enable or disable automatic priority assignment","type":"boolean"},"user_languages":{"description":"Enable or disable user-specific languages","type":"boolean"},"user_timezones":{"description":"Enable or disable user-specific timezones","type":"boolean"},"restrict_internal_member_selectors_to_approved_users":{"description":"Show only manually approved members in internal assignment-like member selectors","type":"boolean"},"default_assignee":{"description":"Default assignee setting (0-2)","type":"number","minimum":0,"maximum":2},"error_reporting":{"description":"Enable or disable error reporting","type":"boolean"},"week_start_day":{"description":"Week start day, either 'sunday' or 'monday'","type":"string"},"private_messages_enabled":{"description":"Enable or disable private messages","type":"boolean"},"task_cleanup_policy":{"description":"Task cleanup policy in days","type":"number","minimum":0,"maximum":365},"file_upload_allowed_mime_types":{"description":"Allowed upload MIME types or category wildcards such as image/*. Empty allows all file types","maxItems":100,"type":"array","items":{"type":"string","pattern":"^[a-z0-9][a-z0-9!#$&^_.+-]*\\/(?:[a-z0-9][a-z0-9!#$&^_.+-]*|\\*)$"}},"regenerate_github_key":{"description":"Regenerate GitHub key","type":"boolean"},"regenerate_gitlab_key":{"description":"Regenerate GitLab key","type":"boolean"},"owner_id":{"description":"ID of the guild owner","type":"string"},"name":{"description":"Name of the guild","type":"string","minLength":1,"maxLength":50},"onboarding_completed_checklist_item_ids":{"description":"Completed onboarding checklist item ids for this workspace","maxItems":40,"type":"array","items":{"type":"string","minLength":1,"maxLength":80}},"onboarding_setup_state":{"description":"Current onboarding setup run state","type":"object","properties":{"page_title":{"type":"string","minLength":1,"maxLength":160,"description":"Onboarding public page title"},"public_url":{"type":"string","maxLength":2048,"description":"Public portal URL when available","nullable":true},"public_ticket_url":{"type":"string","maxLength":2048,"description":"Public request form URL when available","nullable":true},"created_docs":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":160,"description":"Created onboarding artifact id"},"title":{"type":"string","minLength":1,"maxLength":240,"description":"Created onboarding artifact title"}},"required":["id","title"]},"description":"Starter documents created by onboarding"},"created_task":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":160,"description":"Created onboarding artifact id"},"title":{"type":"string","minLength":1,"maxLength":240,"description":"Created onboarding artifact title"}},"required":["id","title"],"description":"Starter task created by onboarding","nullable":true},"created_ticket":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":160,"description":"Created onboarding artifact id"},"title":{"type":"string","minLength":1,"maxLength":240,"description":"Created onboarding artifact title"}},"required":["id","title"],"description":"Starter ticket created by onboarding","nullable":true},"template_applied":{"type":"boolean","description":"Whether starter template artifacts were applied"},"request_form_ready":{"type":"boolean","description":"Whether public request form settings were persisted"},"skipped_starter_items_for_limit":{"type":"boolean","description":"Whether plan limits skipped optional starter artifacts"},"completed":{"type":"boolean","description":"Whether the onboarding run completed"}},"required":["page_title","public_url","public_ticket_url","created_docs","created_task","created_ticket","template_applied","request_form_ready","skipped_starter_items_for_limit","completed"]}}},"GuildResponseDto_Output":{"type":"object","properties":{"language":{"type":"string","description":"Language of the guild"},"auto_labeling_enabled":{"type":"boolean","description":"Whether auto labeling is enabled"},"auto_label_suggestions_enabled":{"type":"boolean","description":"Whether auto-label suggestions are enabled for the guild."},"todo_suggestions_enabled":{"type":"boolean","description":"Whether todo suggestions are enabled for the guild."},"task_duplicate_warnings_enabled":{"type":"boolean","description":"Whether task duplicate warnings are enabled for the guild."},"auto_priority":{"type":"boolean","description":"Whether auto priority is enabled"},"timezone":{"type":"string","description":"Timezone of the guild"},"dateformat":{"type":"string","description":"Date format of the guild"},"private_responses":{"type":"boolean","description":"Whether private responses are enabled"},"user_languages":{"type":"boolean","description":"Whether user languages are enabled"},"user_timezones":{"type":"boolean","description":"Whether user timezones are enabled"},"restrict_internal_member_selectors_to_approved_users":{"type":"boolean","description":"Whether internal member selectors only show manually approved members"},"default_assignee":{"type":"number","description":"Default assignee for tasks"},"error_reporting":{"type":"boolean","description":"Whether error reporting is enabled"},"week_start_day":{"type":"string","description":"Week start day for the guild"},"github_key":{"description":"GitHub key for the guild, uses for GitHub integration","type":"string"},"gitlab_key":{"description":"GitLab key for the guild, uses for GitLab integration","type":"string"},"private_messages_enabled":{"type":"boolean","description":"Whether private messages are enabled"},"log_level":{"type":"number","description":"Log level for the guild"},"subscription_tier":{"type":"string","enum":["free","starter","pro"],"description":"The workspace subscription tier"},"seat_count":{"type":"number","description":"The number of paid seats in the workspace"},"seat_user_ids":{"type":"array","items":{"type":"string"},"description":"The user ids that currently hold a paid seat"},"seat_counts_by_tier":{"type":"object","properties":{"starter":{"type":"number","description":"Number of active Starter seats"},"pro":{"type":"number","description":"Number of active Pro seats"}},"required":["starter","pro"],"additionalProperties":false,"description":"Active paid seats split by tier"},"seat_user_ids_by_tier":{"type":"object","properties":{"starter":{"type":"array","items":{"type":"string"},"description":"User IDs assigned to Starter seats"},"pro":{"type":"array","items":{"type":"string"},"description":"User IDs assigned to Pro seats"}},"required":["starter","pro"],"additionalProperties":false,"description":"Seat-assigned users split by tier"},"task_cleanup_policy":{"description":"Days after which tasks in the done state should be deleted. 0 removes it","type":"number","minimum":0,"maximum":365},"file_upload_allowed_mime_types":{"type":"array","items":{"type":"string"},"description":"Allowed upload MIME types or category wildcards such as image/*. Empty allows all file types"}},"required":["language","auto_labeling_enabled","auto_label_suggestions_enabled","todo_suggestions_enabled","task_duplicate_warnings_enabled","auto_priority","timezone","dateformat","private_responses","user_languages","user_timezones","restrict_internal_member_selectors_to_approved_users","default_assignee","error_reporting","week_start_day","private_messages_enabled","log_level","subscription_tier","seat_count","seat_user_ids","seat_counts_by_tier","seat_user_ids_by_tier","file_upload_allowed_mime_types"],"additionalProperties":false},"GetUserGuildsResponseDto_Output":{"type":"object","properties":{"guilds":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the guild"},"id":{"type":"string","description":"ID of the guild"},"icon":{"type":"string","description":"Icon of the guild","nullable":true},"owner":{"type":"boolean","description":"Whether the user is the owner of the guild"},"active_subscription":{"type":"boolean","description":"Whether the guild has an active subscription"},"subscription_end":{"type":"string","description":"The date the subscription ends","nullable":true},"subscription_tier":{"type":"string","enum":["free","starter","pro"],"description":"The workspace subscription tier"},"seat_count":{"type":"number","description":"The number of paid seats in the workspace"},"seat_user_ids":{"type":"array","items":{"type":"string"},"description":"The user ids that currently hold a paid seat"},"seat_counts_by_tier":{"type":"object","properties":{"starter":{"type":"number","description":"Number of active Starter seats"},"pro":{"type":"number","description":"Number of active Pro seats"}},"required":["starter","pro"],"additionalProperties":false,"description":"Active paid seats split by tier"},"seat_user_ids_by_tier":{"type":"object","properties":{"starter":{"type":"array","items":{"type":"string"},"description":"User IDs assigned to Starter seats"},"pro":{"type":"array","items":{"type":"string"},"description":"User IDs assigned to Pro seats"}},"required":["starter","pro"],"additionalProperties":false,"description":"Seat-assigned users split by tier"},"is_hidden":{"type":"boolean","description":"Whether the guild is hidden in the app"},"is_discord_server":{"type":"boolean","description":"Whether the guild is a discord server"},"workspace_type":{"type":"string","enum":["discord","slack","bnder"],"description":"Workspace type"},"onboarding_intent":{"type":"string","description":"Onboarding intent that created the workspace, if any","nullable":true},"onboarding_source":{"type":"string","description":"Onboarding source that created the workspace, if any","nullable":true},"onboarding_completed_checklist_item_ids":{"type":"array","items":{"type":"string"},"description":"Completed onboarding checklist item ids for the workspace"},"onboarding_setup_state":{"type":"object","properties":{"page_title":{"type":"string","minLength":1,"maxLength":160,"description":"Onboarding public page title"},"public_url":{"type":"string","maxLength":2048,"description":"Public portal URL when available","nullable":true},"public_ticket_url":{"type":"string","maxLength":2048,"description":"Public request form URL when available","nullable":true},"created_docs":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":160,"description":"Created onboarding artifact id"},"title":{"type":"string","minLength":1,"maxLength":240,"description":"Created onboarding artifact title"}},"required":["id","title"],"additionalProperties":false},"description":"Starter documents created by onboarding"},"created_task":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":160,"description":"Created onboarding artifact id"},"title":{"type":"string","minLength":1,"maxLength":240,"description":"Created onboarding artifact title"}},"required":["id","title"],"additionalProperties":false,"description":"Starter task created by onboarding","nullable":true},"created_ticket":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":160,"description":"Created onboarding artifact id"},"title":{"type":"string","minLength":1,"maxLength":240,"description":"Created onboarding artifact title"}},"required":["id","title"],"additionalProperties":false,"description":"Starter ticket created by onboarding","nullable":true},"template_applied":{"type":"boolean","description":"Whether starter template artifacts were applied"},"request_form_ready":{"type":"boolean","description":"Whether public request form settings were persisted"},"skipped_starter_items_for_limit":{"type":"boolean","description":"Whether plan limits skipped optional starter artifacts"},"completed":{"type":"boolean","description":"Whether the onboarding run completed"}},"required":["page_title","public_url","public_ticket_url","created_docs","created_task","created_ticket","template_applied","request_form_ready","skipped_starter_items_for_limit","completed"],"additionalProperties":false,"description":"Current onboarding setup run state","nullable":true},"restrict_internal_member_selectors_to_approved_users":{"type":"boolean","description":"Whether internal member selectors only show manually approved members"}},"required":["name","id","icon","owner","active_subscription","subscription_end","subscription_tier","seat_count","seat_user_ids","seat_counts_by_tier","seat_user_ids_by_tier","is_hidden","is_discord_server","workspace_type","onboarding_intent","onboarding_source","onboarding_completed_checklist_item_ids","onboarding_setup_state","restrict_internal_member_selectors_to_approved_users"],"additionalProperties":false},"description":"List of guilds the user is in"}},"required":["guilds"],"additionalProperties":false},"PremiumUsersDto":{"type":"object","properties":{"userIds":{"type":"array","items":{"type":"string"},"description":"Array of user IDs that are premium users"}},"required":["userIds"]},"PremiumUsersDto_Output":{"type":"object","properties":{"userIds":{"type":"array","items":{"type":"string"},"description":"Array of user IDs that are premium users"}},"required":["userIds"],"additionalProperties":false},"TieredPremiumUsersDto":{"type":"object","properties":{"seat_user_ids_by_tier":{"type":"object","properties":{"starter":{"type":"array","items":{"type":"string"},"description":"User IDs assigned to Starter seats"},"pro":{"type":"array","items":{"type":"string"},"description":"User IDs assigned to Pro seats"}},"required":["starter","pro"],"description":"Paid seat assignments split by tier"}},"required":["seat_user_ids_by_tier"]},"TieredPremiumUsersDto_Output":{"type":"object","properties":{"seat_user_ids_by_tier":{"type":"object","properties":{"starter":{"type":"array","items":{"type":"string"},"description":"User IDs assigned to Starter seats"},"pro":{"type":"array","items":{"type":"string"},"description":"User IDs assigned to Pro seats"}},"required":["starter","pro"],"additionalProperties":false,"description":"Paid seat assignments split by tier"}},"required":["seat_user_ids_by_tier"],"additionalProperties":false},"CreateGuildDto":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100,"description":"The name of the guild"},"onboarding_intent":{"description":"Optional onboarding intent that created the workspace","type":"string","enum":["support_portal","help_center","bug_report_portal","client_portal","email_to_ticket","discord_support"]},"onboarding_source":{"description":"Optional onboarding source that led to workspace creation","type":"string","minLength":1,"maxLength":128},"timezone":{"description":"Optional IANA timezone detected by the creating client","type":"string","minLength":1,"maxLength":64},"language":{"description":"Optional supported language code detected by the creating client","type":"string","minLength":2,"maxLength":16},"dateformat":{"description":"Optional supported date format derived from the creating client's locale","type":"string"}},"required":["name"]},"GetUserSingleGuildResponseDto_Output":{"type":"object","properties":{"name":{"type":"string","description":"Name of the guild"},"id":{"type":"string","description":"ID of the guild"},"icon":{"type":"string","description":"Icon of the guild","nullable":true},"owner":{"type":"boolean","description":"Whether the user is the owner of the guild"},"active_subscription":{"type":"boolean","description":"Whether the guild has an active subscription"},"subscription_end":{"type":"string","description":"The date the subscription ends","nullable":true},"subscription_tier":{"type":"string","enum":["free","starter","pro"],"description":"The workspace subscription tier"},"seat_count":{"type":"number","description":"The number of paid seats in the workspace"},"seat_user_ids":{"type":"array","items":{"type":"string"},"description":"The user ids that currently hold a paid seat"},"seat_counts_by_tier":{"type":"object","properties":{"starter":{"type":"number","description":"Number of active Starter seats"},"pro":{"type":"number","description":"Number of active Pro seats"}},"required":["starter","pro"],"additionalProperties":false,"description":"Active paid seats split by tier"},"seat_user_ids_by_tier":{"type":"object","properties":{"starter":{"type":"array","items":{"type":"string"},"description":"User IDs assigned to Starter seats"},"pro":{"type":"array","items":{"type":"string"},"description":"User IDs assigned to Pro seats"}},"required":["starter","pro"],"additionalProperties":false,"description":"Seat-assigned users split by tier"},"is_hidden":{"type":"boolean","description":"Whether the guild is hidden in the app"},"is_discord_server":{"type":"boolean","description":"Whether the guild is a discord server"},"workspace_type":{"type":"string","enum":["discord","slack","bnder"],"description":"Workspace type"},"onboarding_intent":{"type":"string","description":"Onboarding intent that created the workspace, if any","nullable":true},"onboarding_source":{"type":"string","description":"Onboarding source that created the workspace, if any","nullable":true},"onboarding_completed_checklist_item_ids":{"type":"array","items":{"type":"string"},"description":"Completed onboarding checklist item ids for the workspace"},"onboarding_setup_state":{"type":"object","properties":{"page_title":{"type":"string","minLength":1,"maxLength":160,"description":"Onboarding public page title"},"public_url":{"type":"string","maxLength":2048,"description":"Public portal URL when available","nullable":true},"public_ticket_url":{"type":"string","maxLength":2048,"description":"Public request form URL when available","nullable":true},"created_docs":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":160,"description":"Created onboarding artifact id"},"title":{"type":"string","minLength":1,"maxLength":240,"description":"Created onboarding artifact title"}},"required":["id","title"],"additionalProperties":false},"description":"Starter documents created by onboarding"},"created_task":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":160,"description":"Created onboarding artifact id"},"title":{"type":"string","minLength":1,"maxLength":240,"description":"Created onboarding artifact title"}},"required":["id","title"],"additionalProperties":false,"description":"Starter task created by onboarding","nullable":true},"created_ticket":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":160,"description":"Created onboarding artifact id"},"title":{"type":"string","minLength":1,"maxLength":240,"description":"Created onboarding artifact title"}},"required":["id","title"],"additionalProperties":false,"description":"Starter ticket created by onboarding","nullable":true},"template_applied":{"type":"boolean","description":"Whether starter template artifacts were applied"},"request_form_ready":{"type":"boolean","description":"Whether public request form settings were persisted"},"skipped_starter_items_for_limit":{"type":"boolean","description":"Whether plan limits skipped optional starter artifacts"},"completed":{"type":"boolean","description":"Whether the onboarding run completed"}},"required":["page_title","public_url","public_ticket_url","created_docs","created_task","created_ticket","template_applied","request_form_ready","skipped_starter_items_for_limit","completed"],"additionalProperties":false,"description":"Current onboarding setup run state","nullable":true},"restrict_internal_member_selectors_to_approved_users":{"type":"boolean","description":"Whether internal member selectors only show manually approved members"}},"required":["name","id","icon","owner","active_subscription","subscription_end","subscription_tier","seat_count","seat_user_ids","seat_counts_by_tier","seat_user_ids_by_tier","is_hidden","is_discord_server","workspace_type","onboarding_intent","onboarding_source","onboarding_completed_checklist_item_ids","onboarding_setup_state","restrict_internal_member_selectors_to_approved_users"],"additionalProperties":false},"UpdateGuildMemberDto":{"type":"object","properties":{"active_project_id":{"description":"The ID of the active project for discord commands","type":"string","minLength":0,"maxLength":50},"language":{"description":"The language code for the user","type":"string","minLength":0,"maxLength":50},"event_reminders":{"description":"Whether the user wants to receive event reminders","type":"boolean"},"direct_messages":{"description":"Whether the user wants to receive direct messages","type":"boolean"},"timezone":{"type":"string","description":"The timezone for the user"},"working_start":{"description":"Working hour start in minute of day","type":"number","minimum":0,"maximum":1440},"working_end":{"description":"Working hour end in minute of day","type":"number","minimum":0,"maximum":1440},"working_days":{"description":"Working days as ISO weekday numbers (1=Mon, 7=Sun)","type":"array","items":{"type":"number","minimum":1,"maximum":7}},"ticket_new_ticket_notification_project_id":{"description":"Project id for the member's 'notify on new tickets' preference","type":"string","minLength":1,"maxLength":100},"ticket_new_ticket_notification_enabled":{"description":"Whether the member wants notifications when new tickets are created in the configured project","type":"boolean"},"web_app_push_notification_type":{"description":"Browser-push notification category for the member's workspace preference","type":"string","enum":["tasks","tickets","calendar","files","milestones","billing"]},"web_app_push_notification_enabled":{"description":"Whether the member wants browser-push notifications for the configured category","type":"boolean"},"web_app_push_notification_project_id":{"description":"Optional project id for the member's browser-push notification category override","type":"string","minLength":1,"maxLength":100},"notification_preference_type":{"description":"Notification workflow for the member's notification preference","type":"string","enum":["task_assigned","task_repeated","task_comment","task_subscriber_added","task_subscriber_update","task_deleted","ticket_created","ticket_assigned","ticket_reassigned","ticket_reporter_update","ticket_mentioned","ticket_status_closed","ticket_auto_closed","ticket_sla_warning","ticket_sla_breach","milestone_due"]},"notification_preference_enabled":{"description":"Whether the member wants the configured notification workflow","type":"boolean"},"notification_preference_project_id":{"description":"Optional project id for the member's notification workflow override","type":"string","minLength":1,"maxLength":100},"task_smart_guard_type":{"description":"Task Smart guard category for the member's workspace preference","type":"string","enum":["deadlines","owners","availability","dependencies","stale_tasks","task_quality","priority","todos"]},"task_smart_guard_enabled":{"description":"Whether the member wants task Smart guard cards for the configured category","type":"boolean"},"show_in_restricted_member_selectors":{"description":"Whether the member stays visible when internal selectors are restricted to approved users","type":"boolean"}}},"GetGuildInvitedMembersResponseDto_Output":{"type":"object","properties":{"invited_members":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"mail":{"type":"string"}},"required":["id","name","mail"],"additionalProperties":false},"description":"The members that are invited to this guild"}},"required":["invited_members"],"additionalProperties":false},"InviteMemberDto":{"type":"object","properties":{"member_email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","description":"The email of the member to invite"}},"required":["member_email"]},"GetGuildMemberDto_Output":{"type":"object","properties":{"active_project_id":{"type":"string","description":"The ID of the active project for discord commands"}},"required":["active_project_id"],"additionalProperties":false},"DiscordOauthRedirectDto_Output":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL to redirect the user to after the OAuth process is complete."}},"required":["url"],"additionalProperties":false},"DiscordOauthSuccessDto_Output":{"type":"object","properties":{"jwt":{"type":"string","description":"The JWT token for authenticated requests."}},"required":["jwt"],"additionalProperties":false},"DiscordOauthRefreshDto_Output":{"type":"object","properties":{"refresh_token":{"type":"string","minLength":1,"description":"The refresh token provided by Discord."},"access_token":{"type":"string","description":"The new access token."},"token_type":{"type":"string","description":"The type of token, typically 'Bearer'."},"expires_in":{"type":"number","description":"The number of seconds until the access token expires."},"scope":{"type":"string","description":"The scopes granted by the access token."}},"required":["refresh_token","access_token","token_type","expires_in","scope"],"additionalProperties":false},"SlackOauthRedirectDto_Output":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL to redirect the user to after the OAuth process is complete."}},"required":["url"],"additionalProperties":false},"SlackOauthSuccessDto_Output":{"type":"object","properties":{"jwt":{"type":"string","description":"The JWT token for authenticated requests."}},"required":["jwt"],"additionalProperties":false},"SlackOauthRefreshRequestDto":{"type":"object","properties":{"refresh_token":{"type":"string","minLength":1,"description":"The refresh token provided by Slack."}},"required":["refresh_token"]},"SlackOauthRefreshDto_Output":{"type":"object","properties":{"refresh_token":{"type":"string","minLength":1,"description":"The refresh token provided by Slack."},"access_token":{"type":"string","description":"The new access token."},"token_type":{"type":"string","description":"The type of token, typically 'Bearer'."},"expires_in":{"type":"number","description":"The number of seconds until the access token expires."},"scope":{"type":"string","description":"The scopes granted by the access token."}},"required":["refresh_token","access_token","token_type","expires_in","scope"],"additionalProperties":false},"SlackOauthInstallSuccessDto_Output":{"type":"object","properties":{"success":{"type":"boolean","description":"Whether the Slack app install completed successfully."},"guild_id":{"description":"The Bnder guild id linked to the Slack workspace.","type":"string"},"slack_team_id":{"description":"The Slack team id linked to the guild.","type":"string"}},"required":["success"],"additionalProperties":false},"CreateEventDto":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":500,"description":"Title of the event"},"location":{"description":"Description of the event","type":"string"},"description":{"description":"Detailed event notes","type":"string","maxLength":10000},"start":{"type":"string","description":"Start date and time of the event"},"end":{"type":"string","description":"End date and time of the event"},"invitees":{"description":"User invitees of the event","type":"array","items":{"type":"string"}},"team_invitees":{"description":"Team invitees of the event","type":"array","items":{"type":"string"}},"crm_entities":{"description":"CRM People attending the event plus linked Organizations and Records","maxItems":50,"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"repeat_interval_days":{"description":"Repeat interval in days","type":"number","minimum":1},"recurrence_rule":{"description":"Flexible recurrence rule","type":"object","properties":{"frequency":{"type":"string","enum":["daily","weekly","monthly"]},"interval":{"type":"integer","minimum":1,"maximum":365},"weekdays":{"maxItems":7,"type":"array","items":{"type":"integer","minimum":1,"maximum":7}},"monthly_pattern":{"type":"object","properties":{"type":{"type":"string","enum":["day_of_month","nth_weekday"]},"day":{"type":"integer","minimum":1,"maximum":31},"weekday":{"type":"integer","minimum":1,"maximum":7},"ordinal":{"type":"integer","minimum":-1,"maximum":5}},"required":["type"]}},"required":["frequency","interval"]},"recurrence_exceptions":{"description":"Local calendar dates excluded from the series","maxItems":366,"type":"array","items":{"type":"string"}},"repeat_until":{"description":"Repeat until date","type":"string"},"type":{"description":"Type of the event","type":"string","enum":["event","task","out_of_office","birthday"]}},"required":["title","start","end"]},"EventResponseDto_Output":{"type":"object","properties":{"id":{"type":"string","description":"Id of the event"},"guildId":{"type":"string","description":"Id of the workspace the event belongs to"},"title":{"type":"string","description":"Title of the event"},"location":{"description":"Location of the event","type":"string"},"description":{"description":"Detailed event notes","type":"string"},"start":{"type":"string","description":"Start date and time of the event"},"end":{"type":"string","description":"End date and time of the event"},"isFromTask":{"type":"boolean","description":"Is the event from a task deadline"},"invitees":{"type":"array","items":{"type":"string"},"description":"User ids of the invitees"},"directInvitees":{"type":"array","items":{"type":"string"},"description":"Direct user invitee ids"},"teamInvitees":{"type":"array","items":{"type":"string"},"description":"Team ids of the invitees"},"crmEntities":{"description":"CRM attendees and linked entities when CRM access is allowed","type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}},"accepted":{"type":"array","items":{"type":"string"},"description":"User ids of the accepted invitees"},"declined":{"type":"array","items":{"type":"string"},"description":"User ids of the declined invitees"},"creator":{"type":"string","description":"Discord user id of the creator"},"repeated":{"type":"boolean","description":"Is the event repeated"},"repeatEnd":{"description":"End date of the repeat","type":"string"},"repeatIntervalDays":{"description":"Interval in days for the repeat","type":"number"},"recurrenceRule":{"description":"Flexible recurrence rule","type":"object","properties":{"frequency":{"type":"string","enum":["daily","weekly","monthly"]},"interval":{"type":"integer","minimum":1,"maximum":365},"weekdays":{"maxItems":7,"type":"array","items":{"type":"integer","minimum":1,"maximum":7}},"monthlyPattern":{"type":"object","properties":{"type":{"type":"string","enum":["day_of_month","nth_weekday"]},"day":{"type":"integer","minimum":1,"maximum":31},"weekday":{"type":"integer","minimum":1,"maximum":7},"ordinal":{"type":"integer","minimum":-1,"maximum":5}},"required":["type"],"additionalProperties":false}},"required":["frequency","interval"],"additionalProperties":false},"recurrenceTimezone":{"description":"IANA timezone used to interpret recurrence rules and exceptions","type":"string"},"recurrenceExceptions":{"type":"array","items":{"type":"string"},"description":"Local calendar dates excluded from the series"},"type":{"type":"string","description":"Type of the event, e.g. \"event\" or \"task\""},"externalId":{"description":"External id of the event, e.g. Google Calendar event id","type":"string"},"externalCalendarId":{"description":"External calendar id, e.g. Google Calendar id","type":"string"}},"required":["id","guildId","title","start","end","isFromTask","invitees","directInvitees","teamInvitees","accepted","declined","creator","repeated","recurrenceExceptions","type"],"additionalProperties":false},"UpdateEventDto":{"type":"object","properties":{"title":{"description":"The title of the event","type":"string","minLength":1,"maxLength":500},"location":{"description":"The location of the event","type":"string"},"description":{"description":"Detailed event notes","type":"string","maxLength":10000},"start":{"description":"The start date and time of the event","type":"string"},"end":{"description":"The end date and time of the event","type":"string"},"invitees":{"description":"The user invitees of the event","type":"array","items":{"type":"string"}},"team_invitees":{"description":"The team invitees of the event","type":"array","items":{"type":"string"}},"crm_entities":{"description":"CRM People attending the event plus linked Organizations and Records","maxItems":50,"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"accepted":{"description":"The acceptance status of the event","type":"boolean"},"repeat_interval_days":{"description":"Repeat interval in days","type":"number","minimum":0},"recurrence_rule":{"type":"object","properties":{"frequency":{"type":"string","enum":["daily","weekly","monthly"]},"interval":{"type":"integer","minimum":1,"maximum":365},"weekdays":{"maxItems":7,"type":"array","items":{"type":"integer","minimum":1,"maximum":7}},"monthly_pattern":{"type":"object","properties":{"type":{"type":"string","enum":["day_of_month","nth_weekday"]},"day":{"type":"integer","minimum":1,"maximum":31},"weekday":{"type":"integer","minimum":1,"maximum":7},"ordinal":{"type":"integer","minimum":-1,"maximum":5}},"required":["type"]}},"required":["frequency","interval"],"description":"Flexible recurrence rule","nullable":true},"recurrence_exceptions":{"description":"Local calendar dates excluded from the series","maxItems":366,"type":"array","items":{"type":"string"}},"recurrence_scope":{"description":"Recurring occurrences affected by this update","type":"string","enum":["this","future","all"]},"occurrence_start":{"description":"Original occurrence start required for this/future updates","type":"string"},"repeat_until":{"description":"Repeat until date","type":"string"}}},"EventPlannerDto":{"type":"object","properties":{"start":{"type":"string","description":"Start date and time of the event"},"end":{"type":"string","description":"End date and time of the event"},"invitees":{"description":"Invitees of the event","type":"array","items":{"type":"string"}},"type":{"description":"Filter events by type","type":"string","enum":["event","task","out_of_office","birthday"]}},"required":["start","end"]},"EventPlannerResponseDto_Output":{"type":"object","properties":{"allAvailable":{"type":"boolean","description":"Available"},"suggestions":{"type":"array","items":{"type":"object","properties":{"start":{"type":"string","description":"Start date and time of the suggested date"},"end":{"type":"string","description":"End date and time of the suggested date"}},"required":["start","end"],"additionalProperties":false},"description":"Suggested Dates when all invitees are available"},"unavailableInvitees":{"type":"number","minimum":0,"description":"Number of invitees who are unavailable"}},"required":["allAvailable","suggestions","unavailableInvitees"],"additionalProperties":false},"AddExternalSyncDto":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The URL of the external calendar to sync from. Must be a valid iCal URL. webcal:// subscription links are accepted and normalized automatically."},"name":{"type":"string","description":"The name of the external calendar."},"interval_minutes":{"description":"The interval in minutes at which the external calendar should be synced.","type":"number","minimum":5,"maximum":1440}},"required":["url","name"]},"ReportAppErrorDto":{"type":"object","properties":{"error":{"type":"string","description":"The error message or stack trace."},"build_version":{"type":"string","description":"The build version of the application.","nullable":true},"user":{"description":"The user ID associated with the error.","type":"string"},"guild":{"description":"The guild ID associated with the error.","type":"string"},"current_path":{"description":"The current path or route when the error occurred.","type":"string"}},"required":["error"]},"CreateDocumentDto":{"type":"object","properties":{"project_id":{"type":"string","description":"ID of the project the document belongs to"},"title":{"type":"string","minLength":1,"maxLength":1000,"description":"Title of the document"},"content":{"type":"string","minLength":1,"maxLength":4000,"description":"Content of the document"},"topic_id":{"description":"ID of the topic the document belongs to","type":"string"},"in_bin":{"description":"Whether the document is in the bin","type":"boolean"},"is_public":{"description":"Whether the document is public","type":"boolean"},"crm_entities":{"description":"CRM entities linked to the document","maxItems":50,"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}}},"required":["project_id","title","content"]},"DocumentResponseDto_Output":{"type":"object","properties":{"id":{"type":"string","description":"ID of the document"},"project_id":{"type":"string","description":"ID of the project the document belongs to"},"title":{"type":"string","description":"Title of the document"},"content":{"type":"string","description":"Content of the document"},"topic_id":{"description":"ID of the topic the document belongs to","type":"string"},"in_bin":{"type":"boolean","description":"Whether the document is in the bin"},"delete_date":{"description":"Date the document will be deleted if in the bin","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"last_modified":{"description":"Date the document was last modified","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"is_public":{"type":"boolean","description":"Whether the document is public"},"crm_entities":{"description":"CRM entities linked to the document when allowed","type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}}},"required":["id","project_id","title","content","in_bin","is_public"],"additionalProperties":false},"UpdateDocumentDto":{"type":"object","properties":{"project_id":{"description":"The project id","type":"string"},"title":{"description":"The title of the document","type":"string","minLength":1,"maxLength":1000},"content":{"description":"The content of the document","type":"string","minLength":1,"maxLength":4000},"topic_id":{"type":"string","description":"The topic id","nullable":true},"in_bin":{"description":"Is the document in the bin","type":"boolean"},"is_public":{"description":"Whether the document is public","type":"boolean"},"draft_title":{"description":"The draft title of the document","type":"string","minLength":0,"maxLength":1000},"draft_content":{"description":"The draft content of the document","type":"string","minLength":0,"maxLength":4000},"crm_entities":{"description":"CRM entities linked to the document","maxItems":50,"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}}}},"GetAllDocumentsResponseDto_Output":{"type":"object","properties":{"documents":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"ID of the document"},"project_id":{"type":"string","description":"ID of the project the document belongs to"},"title":{"type":"string","description":"Title of the document"},"content":{"type":"string","description":"Content of the document"},"topic_id":{"description":"ID of the topic the document belongs to","type":"string"},"in_bin":{"type":"boolean","description":"Whether the document is in the bin"},"delete_date":{"description":"Date the document will be deleted if in the bin","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"last_modified":{"description":"Date the document was last modified","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"is_public":{"type":"boolean","description":"Whether the document is public"},"crm_entities":{"description":"CRM entities linked to the document when allowed","type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}}},"required":["id","project_id","title","content","in_bin","is_public"],"additionalProperties":false},"description":"List of documents"},"next_cursor":{"type":"string","description":"Cursor for the next page, or null when all documents were returned","nullable":true}},"required":["documents","next_cursor"],"additionalProperties":false},"GetPublicDocumentsResponseDto_Output":{"type":"object","properties":{"documents":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"ID of the document"},"project_id":{"type":"string","description":"ID of the project the document belongs to"},"title":{"type":"string","description":"Title of the document"},"content":{"type":"string","description":"Content of the document"},"topic_id":{"description":"ID of the topic the document belongs to","type":"string"},"in_bin":{"type":"boolean","description":"Whether the document is in the bin"},"delete_date":{"description":"Date the document will be deleted if in the bin","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"last_modified":{"description":"Date the document was last modified","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"is_public":{"type":"boolean","description":"Whether the document is public"},"crm_entities":{"description":"CRM entities linked to the document when allowed","type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}}},"required":["id","project_id","title","content","in_bin","is_public"],"additionalProperties":false},"description":"List of documents"},"topics":{"description":"List of topics related to the documents","type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the topic"},"name":{"type":"string","description":"The name of the topic"},"project_id":{"type":"string","description":"The ID of the project"},"delete_at":{"description":"The date and time the topic was deleted","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in_bin":{"type":"boolean","description":"Whether the topic is a bin"}},"required":["id","name","project_id","in_bin"],"additionalProperties":false}},"projects":{"description":"List of projects related to the documents","type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the project"},"name":{"type":"string","minLength":1,"maxLength":32,"description":"The name of the project"},"in_bin":{"description":"Whether the project is in bin","type":"boolean"},"deleted_at":{"description":"The date and time of deletion","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"manager":{"description":"The ID of the manager","type":"string"},"columns":{"description":"The columns in the project. These are column names. Each column can contain tasks. The task will have a number as status set, that can be mapped to these columns by index.","type":"array","items":{"type":"string"}},"done_tasks_columns":{"description":"Columns in which tasks are expected to be done","type":"array","items":{"type":"string"}},"default_column":{"description":"The default column for new tasks.","type":"string"},"tickets_enabled_public":{"description":"Whether public ticket creation is enabled for this project.","type":"boolean"},"task_custom_fields":{"description":"Project-scoped task custom field definitions","type":"array","items":{"type":"object","properties":{"id":{"description":"Stable field id","type":"string"},"label":{"type":"string","minLength":1,"description":"Field label"},"description":{"description":"Field description","type":"string"},"type":{"type":"string","enum":["text","number","email","date","file","boolean","single_select","multi_select","single_user","multi_user","single_team","multi_team"],"description":"Field type"},"required":{"type":"boolean","description":"Whether the field is required"},"archived":{"description":"Whether the field is archived","type":"boolean"},"options":{"description":"Select options for select fields","type":"array","items":{"type":"object","properties":{"id":{"description":"Stable option id","type":"string"},"label":{"type":"string","minLength":1,"description":"Option label"}},"required":["label"],"additionalProperties":false}}},"required":["label","type","required"],"additionalProperties":false}},"crm_entities":{"description":"People, Organizations, and Records linked to the project when CRM access is allowed","type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}}},"required":["id","name"],"additionalProperties":false}},"workspace_name":{"type":"string","description":"Name of the workspace the documents belong to"}},"required":["documents","workspace_name"],"additionalProperties":false},"PublicDocumentSearchResponseDto_Output":{"type":"object","properties":{"documents":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"ID of the document"},"project_id":{"type":"string","description":"ID of the project the document belongs to"},"title":{"type":"string","description":"Title of the document"},"content":{"type":"string","description":"Content of the document"},"topic_id":{"description":"ID of the topic the document belongs to","type":"string"},"in_bin":{"type":"boolean","description":"Whether the document is in the bin"},"delete_date":{"description":"Date the document will be deleted if in the bin","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"last_modified":{"description":"Date the document was last modified","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"is_public":{"type":"boolean","description":"Whether the document is public"},"crm_entities":{"description":"CRM entities linked to the document when allowed","type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}},"highlighted_content":{"description":"Content with highlighted search terms. The search terms are wrapped in html-em-tags.","type":"string"}},"required":["id","project_id","title","content","in_bin","is_public"],"additionalProperties":false},"description":"List of documents"}},"required":["documents"],"additionalProperties":false},"RequestBookingEmailVerificationDto":{"type":"object","properties":{"requester_email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"locale":{"type":"string","minLength":2,"maxLength":20},"form_started_at":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"company":{"type":"string","maxLength":200}},"required":["requester_email"]},"BookingEmailVerificationResponseDto_Output":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false},"GetBookingEmailVerificationResponseDto_Output":{"type":"object","properties":{"requester_email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"expires_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["requester_email","expires_at"],"additionalProperties":false},"GetPublicBookingInfoResponseDto_Output":{"type":"object","properties":{"username":{"type":"string","minLength":1,"description":"The user's display name for the booking page"},"workspace_name":{"type":"string","minLength":1,"description":"The name of the workspace this booking link belongs to"},"link_name":{"description":"Optional label for the booking link use case","type":"string","minLength":1},"timezone":{"type":"string","minLength":1,"description":"The timezone used to interpret working hours"},"working_start":{"description":"Working hour start in minute of day","type":"number","minimum":0,"maximum":1440},"working_end":{"description":"Working hour end in minute of day","type":"number","minimum":0,"maximum":1440},"working_days":{"description":"Working days as ISO weekday numbers (1=Mon, 7=Sun)","type":"array","items":{"type":"number","minimum":1,"maximum":7}},"slot_minutes":{"type":"number","minimum":5,"maximum":240,"description":"Slot size in minutes for booking availability"},"availability":{"type":"array","items":{"type":"object","properties":{"start":{"type":"string","minLength":1,"description":"Slot start time as ISO string"},"end":{"type":"string","minLength":1,"description":"Slot end time as ISO string"}},"required":["start","end"],"additionalProperties":false},"description":"Available slots for booking requests"},"assignment_mode":{"type":"string","enum":["single","round_robin","collective"],"description":"Host assignment behavior for this link"},"preferred_hosts":{"type":"array","items":{"type":"object","properties":{"user_id":{"type":"string","minLength":1},"display_name":{"type":"string","minLength":1}},"required":["user_id","display_name"],"additionalProperties":false},"description":"Hosts visitors may prefer for round-robin bookings"},"form_questions":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,64}$"},"type":{"type":"string","enum":["text","dropdown","checkbox","phone","consent"]},"label":{"type":"string","minLength":1,"maxLength":200},"required":{"type":"boolean"},"options":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":100}},"include_in_event_description":{"type":"boolean"},"condition":{"type":"object","properties":{"question_id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,64}$"},"equals":{"type":"string","maxLength":100}},"required":["question_id","equals"],"additionalProperties":false}},"required":["id","type","label","required","options","include_in_event_description"],"additionalProperties":false},"description":"Pro booking questions visible to this requester"},"email_verification_required":{"type":"boolean","description":"Whether a verification email is required"}},"required":["username","workspace_name","timezone","slot_minutes","availability","assignment_mode","preferred_hosts","form_questions","email_verification_required"],"additionalProperties":false},"CreateBookingRequestDto":{"type":"object","properties":{"start":{"type":"string","minLength":1,"description":"Requested start time as ISO 8601 string"},"end":{"type":"string","minLength":1,"description":"Requested end time as ISO 8601 string"},"requester_email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","description":"Email address of the person requesting the booking"},"preferred_host_user_id":{"description":"Optional preferred host from the public booking page","type":"string","minLength":1},"form_answers":{"description":"Answers to visible custom booking questions","maxItems":20,"type":"array","items":{"type":"object","properties":{"question_id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,64}$"},"value":{"anyOf":[{"type":"string","maxLength":2000},{"type":"boolean"}]}},"required":["question_id","value"]}},"email_verification_token":{"description":"One-time token from the verification email","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"form_started_at":{"description":"Client timestamp used by the bot trap","type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"company":{"description":"Hidden honeypot field; legitimate clients leave it empty","type":"string","maxLength":200}},"required":["start","end","requester_email"]},"BookingRequestResponseDto_Output":{"type":"object","properties":{"request_id":{"type":"string","minLength":1,"description":"The unique booking request id"},"status":{"type":"string","enum":["pending","confirmed","declined","cancelled"],"description":"Current status of the booking request"}},"required":["request_id","status"],"additionalProperties":false},"GetBookingRequestResponseDto_Output":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Booking request id"},"status":{"type":"string","enum":["pending","confirmed","declined","cancelled"],"description":"Current status of the booking request"},"start":{"type":"string","minLength":1,"description":"Start time as ISO string"},"end":{"type":"string","minLength":1,"description":"End time as ISO string"},"timezone":{"type":"string","minLength":1,"description":"Timezone used for formatting"},"username":{"type":"string","minLength":1,"description":"Calendar owner display name"},"workspace_name":{"type":"string","minLength":1,"description":"Workspace name"},"link_name":{"description":"Optional booking link label","type":"string"},"calendar_key":{"type":"string","minLength":1,"description":"Public booking key for rescheduling"},"slot_minutes":{"type":"number","minimum":5,"maximum":240,"description":"Slot duration in minutes"},"can_cancel":{"type":"boolean","description":"Whether the request can be cancelled"},"can_reschedule":{"type":"boolean","description":"Whether the request can be rescheduled"}},"required":["id","status","start","end","timezone","username","workspace_name","calendar_key","slot_minutes","can_cancel","can_reschedule"],"additionalProperties":false},"BookingRequestStatusResponseDto_Output":{"type":"object","properties":{"status":{"type":"string","enum":["pending","confirmed","declined","cancelled"],"description":"Current status of the booking request"},"message":{"description":"Optional response message","type":"string"}},"required":["status"],"additionalProperties":false},"RescheduleBookingRequestDto":{"type":"object","properties":{"start":{"type":"string","minLength":1,"description":"New start time as ISO 8601 string"},"end":{"type":"string","minLength":1,"description":"New end time as ISO 8601 string"}},"required":["start","end"]},"GetBookingLinksResponseDto_Output":{"type":"object","properties":{"links":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Unique booking link id"},"key":{"type":"string","minLength":1,"description":"Public booking link key"},"name":{"type":"string","minLength":1,"description":"Display name for the booking link"},"slot_minutes":{"type":"number","minimum":5,"maximum":240,"description":"Slot duration in minutes"},"auto_confirm":{"type":"boolean","description":"Whether bookings should auto-confirm"},"meeting_link":{"type":"string","description":"Optional meeting link shared after confirmation","nullable":true},"min_notice_minutes":{"type":"number","minimum":0,"description":"Minimum notice time in minutes"},"max_advance_days":{"type":"number","minimum":1,"description":"Maximum days in advance that can be booked"},"limit_per_day":{"type":"number","minimum":0,"description":"Maximum bookings per day (0 = unlimited)"},"limit_per_week":{"type":"number","minimum":0,"description":"Maximum bookings per week (0 = unlimited)"},"availability":{"maxItems":28,"type":"array","items":{"type":"object","properties":{"weekday":{"type":"integer","minimum":1,"maximum":7},"start_minutes":{"type":"integer","minimum":0,"maximum":1439},"end_minutes":{"type":"integer","minimum":1,"maximum":1440}},"required":["weekday","start_minutes","end_minutes"],"additionalProperties":false},"description":"Per-link weekly availability; empty inherits member hours"},"date_overrides":{"maxItems":366,"type":"array","items":{"type":"object","properties":{"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"unavailable":{"type":"boolean"},"start_minutes":{"type":"integer","minimum":0,"maximum":1439},"end_minutes":{"type":"integer","minimum":1,"maximum":1440}},"required":["date","unavailable"],"additionalProperties":false},"description":"Date-specific availability replacements"},"buffer_before_minutes":{"type":"integer","minimum":0,"maximum":240,"description":"Minutes reserved before each booking"},"buffer_after_minutes":{"type":"integer","minimum":0,"maximum":240,"description":"Minutes reserved after each booking"},"assignment_mode":{"type":"string","enum":["single","round_robin","collective"],"description":"How a host is assigned to a booking"},"host_user_ids":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1},"description":"Workspace members eligible to host"},"co_host_user_ids":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1},"description":"Workspace members invited to every booking"},"require_all_hosts_available":{"type":"boolean","description":"Whether every host must be free for a round-robin slot"},"form_questions":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,64}$"},"type":{"type":"string","enum":["text","dropdown","checkbox","phone","consent"]},"label":{"type":"string","minLength":1,"maxLength":200},"required":{"type":"boolean"},"options":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":100}},"include_in_event_description":{"type":"boolean"},"condition":{"type":"object","properties":{"question_id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,64}$"},"equals":{"type":"string","maxLength":100}},"required":["question_id","equals"],"additionalProperties":false}},"required":["id","type","label","required","options","include_in_event_description"],"additionalProperties":false},"description":"Custom questions shown on this booking link"},"email_verification_required":{"type":"boolean","description":"Whether requesters must verify their email address"},"crm_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false},"description":"CRM entities copied to confirmed booking events"},"create_crm_person_from_requester":{"type":"boolean","description":"Whether requester email creates or matches a CRM Person"},"created_at":{"description":"Optional creation timestamp","type":"string"}},"required":["id","key","name","slot_minutes","auto_confirm","min_notice_minutes","max_advance_days","limit_per_day","limit_per_week","availability","date_overrides","buffer_before_minutes","buffer_after_minutes","assignment_mode","host_user_ids","co_host_user_ids","require_all_hosts_available","form_questions","email_verification_required","crm_entities","create_crm_person_from_requester"],"additionalProperties":false},"description":"All booking links for the user"},"max_links":{"type":"number","minimum":0,"description":"Maximum number of booking links allowed"},"current_links":{"type":"number","minimum":0,"description":"Current number of booking links in use"},"can_use_team_scheduling":{"type":"boolean","description":"Whether the current member has a Pro seat"},"can_use_booking_form_builder":{"type":"boolean","description":"Whether the current member may configure booking forms"},"team_members":{"type":"array","items":{"type":"object","properties":{"user_id":{"type":"string","minLength":1},"display_name":{"type":"string","minLength":1}},"required":["user_id","display_name"],"additionalProperties":false},"description":"Workspace members available for host selection"},"owner_user_id":{"type":"string","minLength":1,"description":"Authenticated booking-link owner"}},"required":["links","max_links","current_links","can_use_team_scheduling","can_use_booking_form_builder","team_members","owner_user_id"],"additionalProperties":false},"CreateBookingLinkDto":{"type":"object","properties":{"name":{"description":"Friendly name for the booking link","type":"string","minLength":1},"slot_minutes":{"description":"Slot duration in minutes","type":"number","minimum":5,"maximum":240},"auto_confirm":{"description":"Whether bookings should auto-confirm","type":"boolean"},"meeting_link":{"description":"Meeting link shared after confirmation","type":"string","maxLength":500},"min_notice_minutes":{"description":"Minimum notice time in minutes","type":"number","minimum":0},"max_advance_days":{"description":"Maximum days in advance that can be booked","type":"number","minimum":1},"limit_per_day":{"description":"Maximum bookings per day (0 = unlimited)","type":"number","minimum":0},"limit_per_week":{"description":"Maximum bookings per week (0 = unlimited)","type":"number","minimum":0},"availability":{"description":"Per-link weekly availability; empty inherits member hours","maxItems":28,"type":"array","items":{"type":"object","properties":{"weekday":{"type":"integer","minimum":1,"maximum":7},"start_minutes":{"type":"integer","minimum":0,"maximum":1439},"end_minutes":{"type":"integer","minimum":1,"maximum":1440}},"required":["weekday","start_minutes","end_minutes"]}},"date_overrides":{"description":"Date-specific availability replacements","maxItems":366,"type":"array","items":{"type":"object","properties":{"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"unavailable":{"type":"boolean"},"start_minutes":{"type":"integer","minimum":0,"maximum":1439},"end_minutes":{"type":"integer","minimum":1,"maximum":1440}},"required":["date","unavailable"]}},"buffer_before_minutes":{"description":"Minutes reserved before each booking","type":"integer","minimum":0,"maximum":240},"buffer_after_minutes":{"description":"Minutes reserved after each booking","type":"integer","minimum":0,"maximum":240},"assignment_mode":{"description":"Single, round-robin, or collective hosting","type":"string","enum":["single","round_robin","collective"]},"host_user_ids":{"description":"Workspace members eligible to host","maxItems":20,"type":"array","items":{"type":"string","minLength":1}},"co_host_user_ids":{"description":"Workspace members invited to every booking","maxItems":20,"type":"array","items":{"type":"string","minLength":1}},"require_all_hosts_available":{"description":"Require every host to be free","type":"boolean"},"form_questions":{"description":"Custom questions shown before booking","maxItems":20,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,64}$"},"type":{"type":"string","enum":["text","dropdown","checkbox","phone","consent"]},"label":{"type":"string","minLength":1,"maxLength":200},"required":{"type":"boolean"},"options":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":100}},"include_in_event_description":{"type":"boolean"},"condition":{"type":"object","properties":{"question_id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,64}$"},"equals":{"type":"string","maxLength":100}},"required":["question_id","equals"]}},"required":["id","type","label","required","options","include_in_event_description"]}},"email_verification_required":{"description":"Require a one-time email verification link","type":"boolean"},"crm_entities":{"description":"CRM entities linked to bookings created through this link","maxItems":50,"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"create_crm_person_from_requester":{"description":"Match or create a CRM Person from the requester email after booking","type":"boolean"}}},"BookingLinkResponseDto_Output":{"type":"object","properties":{"link":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Unique booking link id"},"key":{"type":"string","minLength":1,"description":"Public booking link key"},"name":{"type":"string","minLength":1,"description":"Display name for the booking link"},"slot_minutes":{"type":"number","minimum":5,"maximum":240,"description":"Slot duration in minutes"},"auto_confirm":{"type":"boolean","description":"Whether bookings should auto-confirm"},"meeting_link":{"type":"string","description":"Optional meeting link shared after confirmation","nullable":true},"min_notice_minutes":{"type":"number","minimum":0,"description":"Minimum notice time in minutes"},"max_advance_days":{"type":"number","minimum":1,"description":"Maximum days in advance that can be booked"},"limit_per_day":{"type":"number","minimum":0,"description":"Maximum bookings per day (0 = unlimited)"},"limit_per_week":{"type":"number","minimum":0,"description":"Maximum bookings per week (0 = unlimited)"},"availability":{"maxItems":28,"type":"array","items":{"type":"object","properties":{"weekday":{"type":"integer","minimum":1,"maximum":7},"start_minutes":{"type":"integer","minimum":0,"maximum":1439},"end_minutes":{"type":"integer","minimum":1,"maximum":1440}},"required":["weekday","start_minutes","end_minutes"],"additionalProperties":false},"description":"Per-link weekly availability; empty inherits member hours"},"date_overrides":{"maxItems":366,"type":"array","items":{"type":"object","properties":{"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"unavailable":{"type":"boolean"},"start_minutes":{"type":"integer","minimum":0,"maximum":1439},"end_minutes":{"type":"integer","minimum":1,"maximum":1440}},"required":["date","unavailable"],"additionalProperties":false},"description":"Date-specific availability replacements"},"buffer_before_minutes":{"type":"integer","minimum":0,"maximum":240,"description":"Minutes reserved before each booking"},"buffer_after_minutes":{"type":"integer","minimum":0,"maximum":240,"description":"Minutes reserved after each booking"},"assignment_mode":{"type":"string","enum":["single","round_robin","collective"],"description":"How a host is assigned to a booking"},"host_user_ids":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1},"description":"Workspace members eligible to host"},"co_host_user_ids":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1},"description":"Workspace members invited to every booking"},"require_all_hosts_available":{"type":"boolean","description":"Whether every host must be free for a round-robin slot"},"form_questions":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,64}$"},"type":{"type":"string","enum":["text","dropdown","checkbox","phone","consent"]},"label":{"type":"string","minLength":1,"maxLength":200},"required":{"type":"boolean"},"options":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":100}},"include_in_event_description":{"type":"boolean"},"condition":{"type":"object","properties":{"question_id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,64}$"},"equals":{"type":"string","maxLength":100}},"required":["question_id","equals"],"additionalProperties":false}},"required":["id","type","label","required","options","include_in_event_description"],"additionalProperties":false},"description":"Custom questions shown on this booking link"},"email_verification_required":{"type":"boolean","description":"Whether requesters must verify their email address"},"crm_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false},"description":"CRM entities copied to confirmed booking events"},"create_crm_person_from_requester":{"type":"boolean","description":"Whether requester email creates or matches a CRM Person"},"created_at":{"description":"Optional creation timestamp","type":"string"}},"required":["id","key","name","slot_minutes","auto_confirm","min_notice_minutes","max_advance_days","limit_per_day","limit_per_week","availability","date_overrides","buffer_before_minutes","buffer_after_minutes","assignment_mode","host_user_ids","co_host_user_ids","require_all_hosts_available","form_questions","email_verification_required","crm_entities","create_crm_person_from_requester"],"additionalProperties":false,"description":"The booking link that was created or updated"}},"required":["link"],"additionalProperties":false},"UpdateBookingLinkDto":{"type":"object","properties":{"name":{"description":"Updated name for the booking link","type":"string","minLength":1},"slot_minutes":{"description":"Updated slot duration in minutes","type":"number","minimum":5,"maximum":240},"auto_confirm":{"description":"Whether bookings should auto-confirm","type":"boolean"},"meeting_link":{"description":"Meeting link shared after confirmation","type":"string","maxLength":500},"min_notice_minutes":{"description":"Minimum notice time in minutes","type":"number","minimum":0},"max_advance_days":{"description":"Maximum days in advance that can be booked","type":"number","minimum":1},"limit_per_day":{"description":"Maximum bookings per day (0 = unlimited)","type":"number","minimum":0},"limit_per_week":{"description":"Maximum bookings per week (0 = unlimited)","type":"number","minimum":0},"availability":{"description":"Per-link weekly availability; empty inherits member hours","maxItems":28,"type":"array","items":{"type":"object","properties":{"weekday":{"type":"integer","minimum":1,"maximum":7},"start_minutes":{"type":"integer","minimum":0,"maximum":1439},"end_minutes":{"type":"integer","minimum":1,"maximum":1440}},"required":["weekday","start_minutes","end_minutes"]}},"date_overrides":{"description":"Date-specific availability replacements","maxItems":366,"type":"array","items":{"type":"object","properties":{"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"unavailable":{"type":"boolean"},"start_minutes":{"type":"integer","minimum":0,"maximum":1439},"end_minutes":{"type":"integer","minimum":1,"maximum":1440}},"required":["date","unavailable"]}},"buffer_before_minutes":{"description":"Minutes reserved before each booking","type":"integer","minimum":0,"maximum":240},"buffer_after_minutes":{"description":"Minutes reserved after each booking","type":"integer","minimum":0,"maximum":240},"assignment_mode":{"description":"Single, round-robin, or collective hosting","type":"string","enum":["single","round_robin","collective"]},"host_user_ids":{"description":"Workspace members eligible to host","maxItems":20,"type":"array","items":{"type":"string","minLength":1}},"co_host_user_ids":{"description":"Workspace members invited to every booking","maxItems":20,"type":"array","items":{"type":"string","minLength":1}},"require_all_hosts_available":{"description":"Require every host to be free","type":"boolean"},"form_questions":{"description":"Custom questions shown before booking","maxItems":20,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,64}$"},"type":{"type":"string","enum":["text","dropdown","checkbox","phone","consent"]},"label":{"type":"string","minLength":1,"maxLength":200},"required":{"type":"boolean"},"options":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":100}},"include_in_event_description":{"type":"boolean"},"condition":{"type":"object","properties":{"question_id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,64}$"},"equals":{"type":"string","maxLength":100}},"required":["question_id","equals"]}},"required":["id","type","label","required","options","include_in_event_description"]}},"email_verification_required":{"description":"Require a one-time email verification link","type":"boolean"},"crm_entities":{"description":"CRM entities linked to bookings created through this link","maxItems":50,"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"create_crm_person_from_requester":{"description":"Match or create a CRM Person from the requester email after booking","type":"boolean"}}},"GetOwnerBookingRequestResponseDto_Output":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Booking request id"},"status":{"type":"string","enum":["pending","confirmed","declined","cancelled"],"description":"Current booking request status"},"requester_email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","description":"Email of the requester"},"start":{"type":"string","minLength":1,"description":"Start time as ISO string"},"end":{"type":"string","minLength":1,"description":"End time as ISO string"},"event_id":{"description":"Linked calendar event id","type":"string"}},"required":["id","status","requester_email","start","end"],"additionalProperties":false},"GetUserCalendarResponseDto_Output":{"type":"object","properties":{"events":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Id of the event"},"guildId":{"type":"string","description":"Id of the workspace the event belongs to"},"title":{"type":"string","description":"Title of the event"},"location":{"description":"Location of the event","type":"string"},"description":{"description":"Detailed event notes","type":"string"},"start":{"type":"string","description":"Start date and time of the event"},"end":{"type":"string","description":"End date and time of the event"},"isFromTask":{"type":"boolean","description":"Is the event from a task deadline"},"invitees":{"type":"array","items":{"type":"string"},"description":"User ids of the invitees"},"directInvitees":{"type":"array","items":{"type":"string"},"description":"Direct user invitee ids"},"teamInvitees":{"type":"array","items":{"type":"string"},"description":"Team ids of the invitees"},"crmEntities":{"description":"CRM attendees and linked entities when CRM access is allowed","type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}},"accepted":{"type":"array","items":{"type":"string"},"description":"User ids of the accepted invitees"},"declined":{"type":"array","items":{"type":"string"},"description":"User ids of the declined invitees"},"creator":{"type":"string","description":"Discord user id of the creator"},"repeated":{"type":"boolean","description":"Is the event repeated"},"repeatEnd":{"description":"End date of the repeat","type":"string"},"repeatIntervalDays":{"description":"Interval in days for the repeat","type":"number"},"recurrenceRule":{"description":"Flexible recurrence rule","type":"object","properties":{"frequency":{"type":"string","enum":["daily","weekly","monthly"]},"interval":{"type":"integer","minimum":1,"maximum":365},"weekdays":{"maxItems":7,"type":"array","items":{"type":"integer","minimum":1,"maximum":7}},"monthlyPattern":{"type":"object","properties":{"type":{"type":"string","enum":["day_of_month","nth_weekday"]},"day":{"type":"integer","minimum":1,"maximum":31},"weekday":{"type":"integer","minimum":1,"maximum":7},"ordinal":{"type":"integer","minimum":-1,"maximum":5}},"required":["type"],"additionalProperties":false}},"required":["frequency","interval"],"additionalProperties":false},"recurrenceTimezone":{"description":"IANA timezone used to interpret recurrence rules and exceptions","type":"string"},"recurrenceExceptions":{"type":"array","items":{"type":"string"},"description":"Local calendar dates excluded from the series"},"type":{"type":"string","description":"Type of the event, e.g. \"event\" or \"task\""},"externalId":{"description":"External id of the event, e.g. Google Calendar event id","type":"string"},"externalCalendarId":{"description":"External calendar id, e.g. Google Calendar id","type":"string"}},"required":["id","guildId","title","start","end","isFromTask","invitees","directInvitees","teamInvitees","accepted","declined","creator","repeated","recurrenceExceptions","type"],"additionalProperties":false},"description":"List of events"}},"required":["events"],"additionalProperties":false},"GetPublicCalendarKeyResponseDto_Output":{"type":"object","properties":{"calendarKey":{"type":"string","minLength":1,"description":"The public calendar key, obtained from the Calendar Manager command \"/event subscription\""}},"required":["calendarKey"],"additionalProperties":false},"CreateApiKeyDto":{"type":"object","properties":{"guild_id":{"type":"string","minLength":1,"description":"The guild ID that the API key is for"}},"required":["guild_id"]},"ApiKeyResponseDto_Output":{"type":"object","properties":{"key":{"type":"string","minLength":1,"description":"The API key"},"user_id":{"type":"string","minLength":1,"description":"The user ID that owns the API key"},"guild_id":{"type":"string","minLength":1,"description":"The guild ID that the API key is for"}},"required":["key","user_id","guild_id"],"additionalProperties":false},"ApiKeyUsageResponseDto_Output":{"type":"object","properties":{"monthly_usage":{"type":"number","description":"The monthly usage of the API key"},"hourly_usage":{"type":"number","description":"The hourly usage of the API key"},"max_monthly_usage":{"type":"number","description":"The maximum monthly usage of the API key"},"max_hourly_usage":{"type":"number","description":"The maximum hourly usage of the API key"}},"required":["monthly_usage","hourly_usage","max_monthly_usage","max_hourly_usage"],"additionalProperties":false},"CreateTopicDto":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":32,"description":"The name of the topic"},"project_id":{"type":"string","description":"The ID of the project"},"in_bin":{"description":"Whether the topic is a bin","type":"boolean"}},"required":["name","project_id"]},"TopicResponseDto_Output":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the topic"},"name":{"type":"string","description":"The name of the topic"},"project_id":{"type":"string","description":"The ID of the project"},"delete_at":{"description":"The date and time the topic was deleted","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in_bin":{"type":"boolean","description":"Whether the topic is a bin"}},"required":["id","name","project_id","in_bin"],"additionalProperties":false},"UpdateTopicDto":{"type":"object","properties":{"name":{"description":"The name of the topic","type":"string","minLength":1,"maxLength":32},"project_id":{"description":"The ID of the project","type":"string"},"in_bin":{"description":"If the topic is a bin","type":"boolean"}}},"GetAllTopicsResponseDto_Output":{"type":"object","properties":{"topics":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the topic"},"name":{"type":"string","description":"The name of the topic"},"project_id":{"type":"string","description":"The ID of the project"},"delete_at":{"description":"The date and time the topic was deleted","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in_bin":{"type":"boolean","description":"Whether the topic is a bin"}},"required":["id","name","project_id","in_bin"],"additionalProperties":false},"description":"The list of topics"},"next_cursor":{"type":"string","description":"Cursor for the next page, or null when all topics were returned","nullable":true}},"required":["topics","next_cursor"],"additionalProperties":false},"CreateCheckoutSessionDto":{"type":"object","properties":{"guildId":{"type":"string","description":"The ID of the guild to create a subscription for"},"seats":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"description":"The number of seats to purchase","minimum":0},"tier":{"type":"string","enum":["free","starter","pro"],"description":"The paid tier to purchase"}},"required":["guildId","seats","tier"]},"CreateCheckoutSessionResponseDto_Output":{"type":"object","properties":{"sessionId":{"type":"string","description":"The ID of the session"},"sessionUrl":{"type":"string","description":"The URL of the session"}},"required":["sessionId","sessionUrl"],"additionalProperties":false},"CreatePortalSessionDto":{"type":"object","properties":{"guildId":{"type":"string","description":"The ID of the guild to create a subscription for"},"subscriptionId":{"description":"The Stripe subscription ID to open directly","type":"string"},"targetTier":{"description":"The paid tier to switch the subscription to","type":"string","enum":["starter","pro"]}},"required":["guildId"]},"CreatePortalSessionResponseDto_Output":{"type":"object","properties":{"url":{"type":"string","description":"URL to redirect to"}},"required":["url"],"additionalProperties":false},"CancelSubscriptionDto":{"type":"object","properties":{"guildId":{"type":"string","description":"The ID of the guild to cancel the subscription for"},"subscriptionId":{"description":"The Stripe subscription ID to cancel","type":"string"}},"required":["guildId"]},"GetUserSubscriptionsResponseDto_Output":{"type":"object","properties":{"subscriptions":{"type":"array","items":{"type":"object","properties":{"subscription_id":{"type":"string","description":"The Stripe subscription ID"},"guildId":{"type":"string","description":"The ID of the guild"},"status":{"type":"string","description":"The status of the subscription"},"seats":{"type":"number","description":"The number of seats"},"tier":{"type":"string","enum":["free","starter","pro"],"description":"The workspace subscription tier"},"current_period_end":{"type":"number","description":"The current period end timestamp"}},"required":["subscription_id","guildId","status","seats","tier","current_period_end"],"additionalProperties":false},"description":"The list of subscriptions for the user"}},"required":["subscriptions"],"additionalProperties":false},"CanAttachToTaskDto":{"type":"object","properties":{"task_id":{"type":"string","description":"The id of the task"},"file_size":{"type":"number","description":"The size of the file"},"file_type":{"description":"The MIME type of the file","type":"string"}},"required":["task_id","file_size"]},"CanAttachToTaskResponseDto_Output":{"type":"object","properties":{"can_modify_files":{"type":"boolean","description":"Whether the user can modify files"}},"required":["can_modify_files"],"additionalProperties":false},"AddTaskAttachmentDto":{"type":"object","properties":{"task_id":{"type":"string","description":"The id of the task"},"file_id":{"type":"string","description":"The id of the file"},"file_size":{"type":"number","description":"The size of the file"},"file_name":{"type":"string","description":"The name of the file with extension"},"file_type":{"type":"string","description":"The type of the file"}},"required":["task_id","file_id","file_size","file_name","file_type"]},"AddTaskAttachmentResponseDto_Output":{"type":"object","properties":{"added":{"type":"boolean","description":"Whether the attachment was added to the task"}},"required":["added"],"additionalProperties":false},"CanReadTaskAttachmentDto":{"type":"object","properties":{"task_id":{"type":"string","description":"The id of the task"},"file_id":{"type":"string","description":"The id of the attachment file"},"acknowledge_scan_warning":{"description":"Whether the user acknowledged opening a non-clean scan state","type":"boolean"}},"required":["task_id","file_id"]},"CanReadTaskAttachmentResponseDto_Output":{"type":"object","properties":{"can_read_task_attachment":{"type":"boolean","description":"Whether the user can read files"},"scan_status":{"description":"Current antivirus scan status","type":"string","enum":["not_scanned","queued","scanning","clean","malware","scan_failed","scan_skipped_limit"]},"can_open_attachment":{"description":"Whether the CDN may serve attachment bytes for the current scan state","type":"boolean"},"warning_required":{"description":"Whether the user must acknowledge a scan warning before opening","type":"boolean"},"scan_warning_code":{"description":"Warning or blocking reason from antivirus scan policy","type":"string"},"cache_control":{"description":"Cache-Control header the CDN should apply when serving bytes","type":"string"}},"required":["can_read_task_attachment"],"additionalProperties":false},"CanDeleteTaskAttachmentDto":{"type":"object","properties":{"task_id":{"type":"string","description":"The id of the task"},"file_id":{"type":"string","description":"The id of the attachment file"}},"required":["task_id","file_id"]},"CanDeleteTaskAttachmentResponseDto_Output":{"type":"object","properties":{"can_delete_task_attachment":{"type":"boolean","description":"Whether the user can delete files"}},"required":["can_delete_task_attachment"],"additionalProperties":false},"DeleteTaskAttachmentDto":{"type":"object","properties":{"task_id":{"type":"string","description":"The id of the task"},"file_id":{"type":"string","description":"The id of the file"}},"required":["task_id","file_id"]},"DeleteTaskAttachmentResponseDto_Output":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Whether the file was deleted"}},"required":["deleted"],"additionalProperties":false},"CanAttachToTaskCommentDto":{"type":"object","properties":{"task_id":{"type":"string","description":"The id of the task"},"comment_id":{"type":"string","description":"The stable id of the comment"},"file_size":{"type":"number","description":"The size of the file"},"file_type":{"description":"The MIME type of the file","type":"string"}},"required":["task_id","comment_id","file_size"]},"CanAttachToTaskCommentResponseDto_Output":{"type":"object","properties":{"can_modify_task_comment_attachments":{"type":"boolean","description":"Whether the user can modify task comment attachments"}},"required":["can_modify_task_comment_attachments"],"additionalProperties":false},"AddTaskCommentAttachmentDto":{"type":"object","properties":{"task_id":{"type":"string","description":"The id of the task"},"comment_id":{"type":"string","description":"The stable id of the comment"},"file_id":{"type":"string","description":"The id of the file"},"file_size":{"type":"number","description":"The size of the file"},"file_name":{"type":"string","description":"The name of the file with extension"},"file_type":{"type":"string","description":"The type of the file"}},"required":["task_id","comment_id","file_id","file_size","file_name","file_type"]},"AddTaskCommentAttachmentResponseDto_Output":{"type":"object","properties":{"added":{"type":"boolean","description":"Whether the attachment was added to the comment"}},"required":["added"],"additionalProperties":false},"CanReadTaskCommentAttachmentDto":{"type":"object","properties":{"task_id":{"type":"string","description":"The id of the task"},"comment_id":{"type":"string","description":"The stable id of the comment"},"file_id":{"type":"string","description":"The id of the file"},"acknowledge_scan_warning":{"description":"Whether the user acknowledged opening a non-clean scan state","type":"boolean"}},"required":["task_id","comment_id","file_id"]},"CanReadTaskCommentAttachmentResponseDto_Output":{"type":"object","properties":{"can_read_task_comment_attachment":{"type":"boolean","description":"Whether the user can read task comment attachments"},"scan_status":{"description":"Current antivirus scan status","type":"string","enum":["not_scanned","queued","scanning","clean","malware","scan_failed","scan_skipped_limit"]},"can_open_attachment":{"description":"Whether the CDN may serve attachment bytes for the current scan state","type":"boolean"},"warning_required":{"description":"Whether the user must acknowledge a scan warning before opening","type":"boolean"},"scan_warning_code":{"description":"Warning or blocking reason from antivirus scan policy","type":"string"},"cache_control":{"description":"Cache-Control header the CDN should apply when serving bytes","type":"string"}},"required":["can_read_task_comment_attachment"],"additionalProperties":false},"CanDeleteTaskCommentAttachmentDto":{"type":"object","properties":{"task_id":{"type":"string","description":"The id of the task"},"comment_id":{"type":"string","description":"The stable id of the comment"},"file_id":{"type":"string","description":"The id of the file"}},"required":["task_id","comment_id","file_id"]},"CanDeleteTaskCommentAttachmentResponseDto_Output":{"type":"object","properties":{"can_delete_task_comment_attachment":{"type":"boolean","description":"Whether the user can delete task comment attachments"}},"required":["can_delete_task_comment_attachment"],"additionalProperties":false},"DeleteTaskCommentAttachmentDto":{"type":"object","properties":{"task_id":{"type":"string","description":"The id of the task"},"comment_id":{"type":"string","description":"The stable id of the comment"},"file_id":{"type":"string","description":"The id of the file"}},"required":["task_id","comment_id","file_id"]},"DeleteTaskCommentAttachmentResponseDto_Output":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Whether the comment attachment was deleted"}},"required":["deleted"],"additionalProperties":false},"CanAttachToTicketDto":{"type":"object","properties":{"ticket_id":{"type":"string","description":"The id of the ticket"},"file_size":{"type":"number","description":"The size of the file"},"file_type":{"description":"The MIME type of the file","type":"string"}},"required":["ticket_id","file_size"]},"CanAttachToTicketResponseDto_Output":{"type":"object","properties":{"can_modify_files":{"type":"boolean","description":"Whether the user can upload attachments"}},"required":["can_modify_files"],"additionalProperties":false},"AddTicketAttachmentDto":{"type":"object","properties":{"ticket_id":{"type":"string","description":"The id of the ticket"},"file_id":{"type":"string","description":"The id of the file"},"file_size":{"type":"number","description":"The size of the file"},"file_name":{"type":"string","description":"The name of the file with extension"},"file_type":{"type":"string","description":"The MIME type of the file"},"upload_source":{"description":"Where the ticket attachment upload originated","type":"string","enum":["public","internal"]}},"required":["ticket_id","file_id","file_size","file_name","file_type"]},"AddTicketAttachmentResponseDto_Output":{"type":"object","properties":{"added":{"type":"boolean","description":"Whether the attachment was linked to the ticket"}},"required":["added"],"additionalProperties":false},"CanReadTicketAttachmentDto":{"type":"object","properties":{"ticket_id":{"type":"string","description":"The id of the ticket"},"file_id":{"type":"string","description":"The id of the attachment file"},"acknowledge_scan_warning":{"description":"Whether an internal viewer acknowledged scan warnings","type":"boolean"}},"required":["ticket_id","file_id"]},"CanReadTicketAttachmentResponseDto_Output":{"type":"object","properties":{"can_read_ticket_attachment":{"type":"boolean","description":"Whether the user can read ticket attachments"},"scan_status":{"description":"Current antivirus scan status for the requested attachment","type":"string","enum":["not_scanned","queued","scanning","clean","malware","scan_failed","scan_skipped_limit"]},"can_open_attachment":{"description":"Whether the CDN may serve attachment bytes immediately","type":"boolean"},"warning_required":{"description":"Whether the client must show a scan warning before opening","type":"boolean"},"warning_code":{"description":"Machine-readable warning or block reason","type":"string"},"cache_control":{"description":"Cache-Control header the CDN should apply when serving bytes","type":"string"}},"required":["can_read_ticket_attachment"],"additionalProperties":false},"CanReadPublicTicketAttachmentDto":{"type":"object","properties":{"ticket_id":{"type":"string","description":"The id of the ticket"},"file_id":{"type":"string","description":"The id of the attachment file"},"public_token":{"type":"string","description":"Scoped public ticket thread token"}},"required":["ticket_id","file_id","public_token"]},"CanDeleteTicketAttachmentDto":{"type":"object","properties":{"ticket_id":{"type":"string","description":"The id of the ticket"},"file_id":{"type":"string","description":"The id of the attachment file"}},"required":["ticket_id","file_id"]},"CanDeleteTicketAttachmentResponseDto_Output":{"type":"object","properties":{"can_delete_ticket_attachment":{"type":"boolean","description":"Whether the user can delete ticket attachments"}},"required":["can_delete_ticket_attachment"],"additionalProperties":false},"DeleteTicketAttachmentDto":{"type":"object","properties":{"ticket_id":{"type":"string","description":"The id of the ticket"},"file_id":{"type":"string","description":"The id of the file"}},"required":["ticket_id","file_id"]},"DeleteTicketAttachmentResponseDto_Output":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Whether the attachment was removed from the ticket"}},"required":["deleted"],"additionalProperties":false},"RetryTicketAttachmentScanDto":{"type":"object","properties":{"ticket_id":{"type":"string","description":"The id of the ticket that owns the attachment"},"file_id":{"type":"string","description":"The id of the attachment file to scan again"}},"required":["ticket_id","file_id"]},"RetryTicketAttachmentScanResponseDto_Output":{"type":"object","properties":{"queued":{"type":"boolean","description":"Whether a new antivirus scan job was queued"},"scan_status":{"type":"string","enum":["not_scanned","queued","scanning","clean","malware","scan_failed","scan_skipped_limit"],"description":"The attachment scan status after the retry request"}},"required":["queued","scan_status"],"additionalProperties":false},"RetryStoredFileScanDto":{"type":"object","properties":{"surface":{"type":"string","enum":["cloud_file","task_attachment","task_comment_attachment"],"description":"The stored-file surface that owns the attachment"},"file_id":{"type":"string","description":"The id of the file to scan again"},"task_id":{"description":"The owning task id for task attachment surfaces","type":"string"},"comment_id":{"description":"The owning comment id for task comment attachment surfaces","type":"string"}},"required":["surface","file_id"]},"RetryStoredFileScanResponseDto_Output":{"type":"object","properties":{"queued":{"type":"boolean","description":"Whether a new antivirus scan job was queued"},"scan_status":{"type":"string","enum":["not_scanned","queued","scanning","clean","malware","scan_failed","scan_skipped_limit"],"description":"The stored-file scan status after the retry request"}},"required":["queued","scan_status"],"additionalProperties":false},"TicketAttachmentScanResultDto":{"type":"object","properties":{"ticket_id":{"type":"string","description":"The id of the ticket"},"file_id":{"type":"string","description":"The id of the attachment file"},"scan_token":{"description":"Current queued scan token for this attachment scan attempt","type":"string"},"status":{"type":"string","enum":["not_scanned","queued","scanning","clean","malware","scan_failed","scan_skipped_limit"],"description":"Resulting antivirus scan status"},"scanner_version":{"description":"ClamAV scanner version","type":"string"},"signature_version":{"description":"ClamAV signature database version","type":"string"},"finding_name":{"description":"Malware signature name when malware was detected","type":"string"},"error":{"description":"Scanner error when the scan failed","type":"string"}},"required":["ticket_id","file_id","status"]},"TicketAttachmentScanResultResponseDto_Output":{"type":"object","properties":{"updated":{"type":"boolean","description":"Whether the ticket attachment scan state was updated"}},"required":["updated"],"additionalProperties":false},"StoredFileScanResultDto":{"type":"object","properties":{"surface":{"type":"string","enum":["cloud_file","task_attachment","task_comment_attachment"],"description":"The stored file surface that owns the file"},"file_id":{"type":"string","description":"The id of the stored file"},"scan_token":{"description":"The queued scan token for this file version","type":"string"},"task_id":{"description":"The task id for task-owned files","type":"string"},"comment_id":{"description":"The task comment id for comment-owned files","type":"string"},"status":{"type":"string","enum":["not_scanned","queued","scanning","clean","malware","scan_failed","scan_skipped_limit"],"description":"Resulting antivirus scan status"},"scanner_version":{"description":"ClamAV scanner version","type":"string"},"signature_version":{"description":"ClamAV signature database version","type":"string"},"finding_name":{"description":"Malware signature name when malware was detected","type":"string"},"error":{"description":"Scanner error when the scan failed","type":"string"}},"required":["surface","file_id","status"]},"StoredFileScanResultResponseDto_Output":{"type":"object","properties":{"updated":{"type":"boolean","description":"Whether the stored file scan state was updated"}},"required":["updated"],"additionalProperties":false},"CanModifyFileDto":{"type":"object","properties":{"folderId":{"type":"string","description":"The id of the folder the file goes in"},"file_size":{"type":"number","description":"The size of the file"},"file_type":{"description":"The MIME type of the file","type":"string"}},"required":["folderId","file_size"]},"CanModifyFileResponseDto_Output":{"type":"object","properties":{"can_modify_files":{"type":"boolean","description":"Whether the user can modify files"}},"required":["can_modify_files"],"additionalProperties":false},"CanReplaceFileDto":{"type":"object","properties":{"file_id":{"type":"string","description":"The id of the file"},"file_size":{"type":"number","description":"The size of the file"},"file_type":{"description":"The MIME type of the replacement file","type":"string"}},"required":["file_id","file_size"]},"CanReplaceFileResponseDto_Output":{"type":"object","properties":{"can_replace_file":{"type":"boolean","description":"Whether the user can replace files"},"storage_version":{"type":"string","description":"The currently committed R2 object version"}},"required":["can_replace_file","storage_version"],"additionalProperties":false},"UploadFileDto":{"type":"object","properties":{"folderId":{"type":"string","description":"The id of the folder the file goes in"},"file_id":{"type":"string","description":"The id of the file"},"file_size":{"type":"number","description":"The size of the file"},"file_name":{"type":"string","description":"The name of the file with extension"},"file_type":{"type":"string","description":"The type of the file"},"is_public":{"description":"Whether the file is public or not. Defaults to false","type":"boolean"}},"required":["folderId","file_id","file_size","file_name","file_type"]},"UploadFileResponseDto_Output":{"type":"object","properties":{"uploaded":{"type":"boolean","description":"Whether the file was uploaded"},"id":{"type":"string","description":"The ID of the uploaded file"}},"required":["uploaded","id"],"additionalProperties":false},"ReplaceFileDto":{"type":"object","properties":{"file_id":{"type":"string","description":"The id of the file"},"file_size":{"type":"number","description":"The size of the file"},"file_name":{"type":"string","description":"The name of the file with extension"},"file_type":{"type":"string","description":"The type of the file (MIME type)"},"storage_version":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","description":"The immutable R2 object version for the replacement"}},"required":["file_id","file_size","file_name","file_type","storage_version"]},"ReplaceFileResponseDto_Output":{"type":"object","properties":{"replaced":{"type":"boolean","description":"Whether the file was replaced"}},"required":["replaced"],"additionalProperties":false},"CanReadFileDto":{"type":"object","properties":{"file_id":{"type":"string","description":"The id of the file to read"},"acknowledge_scan_warning":{"description":"Whether the user acknowledged opening a non-clean scan state","type":"boolean"}},"required":["file_id"]},"CanReadFileResponseDto_Output":{"type":"object","properties":{"can_read_file":{"type":"boolean","description":"Whether the user can read the file"},"scan_status":{"description":"Current antivirus scan status","type":"string","enum":["not_scanned","queued","scanning","clean","malware","scan_failed","scan_skipped_limit"]},"can_open_file":{"description":"Whether the CDN may serve bytes for the current scan state","type":"boolean"},"warning_required":{"description":"Whether the user must acknowledge a scan warning before opening","type":"boolean"},"scan_warning_code":{"description":"Warning or blocking reason from antivirus scan policy","type":"string"},"cache_control":{"description":"Cache-Control header the CDN should apply when serving bytes","type":"string"},"storage_version":{"type":"string","description":"The currently committed R2 object version"}},"required":["can_read_file","storage_version"],"additionalProperties":false},"CanDeleteFileDto":{"type":"object","properties":{"file_id":{"type":"string","minLength":1,"description":"The id of the file"}},"required":["file_id"]},"CanDeleteFileResponseDto_Output":{"type":"object","properties":{"can_delete":{"type":"boolean","description":"Whether the user can delete files"},"storage_version":{"type":"string","description":"The currently committed R2 object version"}},"required":["can_delete","storage_version"],"additionalProperties":false},"DeleteFileDto":{"type":"object","properties":{"file_id":{"type":"string","description":"The id of the file"}},"required":["file_id"]},"DeleteFileResponseDto_Output":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Whether the file was deleted"}},"required":["deleted"],"additionalProperties":false},"MilestoneDto":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":32,"description":"The name of the milestone"},"due_date":{"description":"The due date of the milestone in ISO 8601 format","type":"string"}},"required":["name"]},"MilestoneResponseDto_Output":{"type":"object","properties":{"id":{"type":"string","description":"The id of the milestone"},"name":{"type":"string","description":"The name of the milestone"},"projectId":{"type":"string","description":"The id of the project"},"due_date":{"description":"The due date of the milestone","type":"string"}},"required":["id","name","projectId"],"additionalProperties":false},"UpdateMilestoneDto":{"type":"object","properties":{"name":{"description":"The name of the milestone","type":"string","minLength":1,"maxLength":32},"due_date":{"description":"The due date of the milestone in ISO 8601 format","type":"string"}}},"MilestoneDto_Output":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":32,"description":"The name of the milestone"},"due_date":{"description":"The due date of the milestone in ISO 8601 format","type":"string"}},"required":["name"],"additionalProperties":false},"ListMilestonesResponseDto_Output":{"type":"object","properties":{"milestones":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The id of the milestone"},"name":{"type":"string","description":"The name of the milestone"},"projectId":{"type":"string","description":"The id of the project"},"due_date":{"description":"The due date of the milestone","type":"string"}},"required":["id","name","projectId"],"additionalProperties":false}},"next_cursor":{"type":"string","description":"Cursor for the next page, or null when all milestones were returned","nullable":true}},"required":["milestones","next_cursor"],"additionalProperties":false},"SelfDataDownloadResponseDto_Output":{"type":"object","properties":{"file_id":{"type":"string","description":"The ID of the topic"},"in_queue":{"type":"boolean","description":"Whether the file user is in queue to get files"},"download_ready":{"type":"boolean","description":"Whether the file user is ready to download"}},"required":["file_id","in_queue","download_ready"],"additionalProperties":false},"AcceptInvitationDto":{"type":"object","properties":{"guild_id":{"type":"string","description":"The id of the guild the user is invited to"}},"required":["guild_id"]},"CreateUserDto":{"type":"object","properties":{"display_name":{"type":"string","description":"Display name of the user"},"email":{"description":"Email of the user","type":"string"},"password":{"description":"Password of the user encoded in base64","type":"string"}},"required":["display_name"]},"CreateUserResponseDto_Output":{"type":"object","properties":{"jwt":{"type":"string","description":"JWT token for the user"}},"required":["jwt"],"additionalProperties":false},"UpdateUserDto":{"type":"object","properties":{"display_name":{"description":"Display name of the user","type":"string"},"email":{"description":"Email of the user","type":"string"},"password":{"description":"Password of the user encoded in base64","type":"string"},"notification_delivery_method":{"description":"Account-level notification delivery preference for this dashboard user","type":"string","enum":["all","standard_channels"]},"web_push_token":{"description":"Firebase Cloud Messaging web push token to add for this user","type":"string","minLength":1,"maxLength":4096},"remove_web_push_token":{"description":"Firebase Cloud Messaging web push token to remove for this user","type":"string","minLength":1,"maxLength":4096}}},"VerifyEmailDto":{"type":"object","properties":{"token":{"type":"string","description":"The token to verify the email address"}},"required":["token"]},"VerifyEmailResponseDto":{"type":"object","properties":{"status":{"type":"string","enum":["verified","already_verified"],"description":"The outcome of the email verification request"}},"required":["status"]},"ResetPasswordDto":{"type":"object","properties":{"token":{"description":"The token to verify the password reset request","type":"string"},"password":{"description":"The new password for the user","type":"string"},"email":{"description":"The email of the user to reset the password for","type":"string"}}},"GetLegalInformationDto_Output":{"type":"object","properties":{"has_new_legal_information":{"type":"boolean","description":"Indicates if the user has new legal information"},"date":{"description":"The date of the legal information","type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"type":{"description":"Type of legal information","type":"string"},"url":{"description":"The URL to the legal information","type":"string"},"text":{"description":"The text content of the legal information","type":"string"}},"required":["has_new_legal_information"],"additionalProperties":false},"AcceptLegalInformationDto":{"type":"object","properties":{"type":{"type":"string","description":"Type of legal information"}},"required":["type"]},"OauthAuthorizedApplicationsResponse_Output":{"type":"object","properties":{"applications":{"type":"array","items":{"type":"object","properties":{"clientId":{"type":"string","description":"The unique identifier of the OAuth client"},"clientName":{"type":"string","description":"The name of the OAuth client"},"scopes":{"type":"array","items":{"type":"string"},"description":"The scopes authorized for the OAuth client"}},"required":["clientId","clientName","scopes"],"additionalProperties":false},"description":"List of authorized OAuth applications"}},"required":["applications"],"additionalProperties":false},"CreateFolderDto":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":32,"description":"The name of the folder"},"parent":{"type":"string","description":"The ID of the parent folder, or root if first level"}},"required":["name","parent"]},"FolderDto_Output":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":32,"description":"The name of the folder"},"parent":{"type":"string","description":"The ID of the parent folder, or root if first level"},"sharedWith":{"type":"array","items":{"type":"string"},"description":"The IDs of users the folder is shared with"}},"required":["name","parent","sharedWith"],"additionalProperties":false},"UpdateFolderDto":{"type":"object","properties":{"name":{"description":"The name of the folder","type":"string","minLength":1,"maxLength":32},"parent":{"description":"The ID of the parent folder, or root if first level","type":"string"},"shared_with":{"description":"The IDs of users the folder is shared with","type":"array","items":{"type":"string"}}}},"UpdateFileDto":{"type":"object","properties":{"name":{"description":"The name of the file","type":"string","minLength":1,"maxLength":32},"shared_with":{"description":"The IDs of users the file is shared with","type":"array","items":{"type":"string"}},"folder_id":{"description":"The ID of the parent folder, or root if first level","type":"string"},"public":{"description":"Whether the file is public or not","type":"boolean"},"crm_entities":{"description":"CRM entities linked to the file","maxItems":50,"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}}}},"FileDto_Output":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":32,"description":"The name of the file"},"folder_id":{"type":"string","description":"The ID of the parent folder, or root if first level"},"shared_with":{"type":"array","items":{"type":"string"},"description":"The IDs of users the file is shared with"},"size":{"type":"number","description":"The size of the file in bytes"},"type":{"type":"string","description":"The type of the file"},"owner":{"type":"string","description":"The ID of the user who owns the file"},"created_at":{"type":"string","description":"The date and time the file was created"},"updated_at":{"type":"string","description":"The date and time the file was last updated"},"path":{"type":"string","description":"The path of the file"},"public":{"description":"Whether the file is public or not","type":"boolean"},"crm_entities":{"description":"CRM entities linked to the file when allowed","type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}}},"required":["name","folder_id","shared_with","size","type","owner","created_at","updated_at","path"],"additionalProperties":false},"CreateDomainDto":{"type":"object","properties":{"domain":{"type":"string","minLength":1,"maxLength":50,"description":"The name of the domain to create. Must be between 1 and 50 characters."},"display_name":{"type":"string","minLength":1,"maxLength":100,"description":"The display name of the domain."}},"required":["domain","display_name"]},"DomainResponseDto_Output":{"type":"object","properties":{"full_domain":{"type":"string","description":"The full domain including the subdomain."},"display_name":{"type":"string","description":"The display name of the domain."},"entry_point":{"type":"string","enum":["public_docs","new_ticket"],"description":"Where bare-domain visitors are sent when opening the page domain root."},"default_ticket_project_id":{"description":"Optional public ticket project used when visitors open the new-ticket entry point.","type":"string"},"public_page_locale":{"type":"string","enum":["ar-AE","ar-SA","bg","de","en","en-GB","es-ES","es-MX","fr","hi","id","it","ja","ko-KR","nl","pl","pt-BR","ru","tr","vi-VN","zh-CN",null],"description":"Optional workspace-configured locale for Bnder-owned public page UI copy.","nullable":true},"effective_public_page_locale":{"type":"string","enum":["ar-AE","ar-SA","bg","de","en","en-GB","es-ES","es-MX","fr","hi","id","it","ja","ko-KR","nl","pl","pt-BR","ru","tr","vi-VN","zh-CN"],"description":"Validated public page UI locale with English fallback."},"id":{"type":"string","description":"The unique identifier for the domain."},"created_at":{"type":"string","description":"The date and time when the domain was created."},"ownership_verification_name":{"description":"The DNS record name used for ownership verification.","type":"string"},"ownership_verification_value":{"description":"The DNS record value used for ownership verification.","type":"string"},"ssl_verification_status":{"description":"The SSL verification status.","type":"string"},"ssl_verification_name":{"description":"The DNS record name used for SSL verification.","type":"string"},"ssl_verification_value":{"description":"The DNS record value used for SSL verification.","type":"string"},"ownership_verification_status":{"description":"The status of the ownership verification process.","type":"string"},"appearance":{"description":"Optional domain-specific page appearance settings.","type":"object","properties":{"primary_color":{"description":"Primary brand color as a hex string.","type":"string"},"secondary_color":{"description":"Secondary brand color as a hex string.","type":"string"},"background_color":{"description":"Base page background color as a hex string.","type":"string"},"text_color":{"description":"Base page text color as a hex string.","type":"string"},"logo_url":{"description":"Public CDN URL of the domain logo asset.","type":"string"},"background_image_url":{"description":"Public CDN URL of the domain background image asset.","type":"string"}},"additionalProperties":false},"landing_project":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false,"description":"Resolved project used when the domain opens without a project in the URL.","nullable":true},"branding_projects":{"description":"Projects using this domain for ticket links and notification branding.","type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"associated_mailboxes":{"description":"Mailboxes connected to projects that use this domain for branding.","type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"email":{"type":"string"},"project_id":{"type":"string"},"project_name":{"type":"string"}},"required":["id","email","project_id","project_name"],"additionalProperties":false}}},"required":["full_domain","display_name","entry_point","effective_public_page_locale","id","created_at"],"additionalProperties":false},"GetDomainsResponseDto_Output":{"type":"object","properties":{"domains":{"type":"array","items":{"type":"object","properties":{"full_domain":{"type":"string","description":"The full domain including the subdomain."},"display_name":{"type":"string","description":"The display name of the domain."},"entry_point":{"type":"string","enum":["public_docs","new_ticket"],"description":"Where bare-domain visitors are sent when opening the page domain root."},"default_ticket_project_id":{"description":"Optional public ticket project used when visitors open the new-ticket entry point.","type":"string"},"public_page_locale":{"type":"string","enum":["ar-AE","ar-SA","bg","de","en","en-GB","es-ES","es-MX","fr","hi","id","it","ja","ko-KR","nl","pl","pt-BR","ru","tr","vi-VN","zh-CN",null],"description":"Optional workspace-configured locale for Bnder-owned public page UI copy.","nullable":true},"effective_public_page_locale":{"type":"string","enum":["ar-AE","ar-SA","bg","de","en","en-GB","es-ES","es-MX","fr","hi","id","it","ja","ko-KR","nl","pl","pt-BR","ru","tr","vi-VN","zh-CN"],"description":"Validated public page UI locale with English fallback."},"id":{"type":"string","description":"The unique identifier for the domain."},"created_at":{"type":"string","description":"The date and time when the domain was created."},"ownership_verification_name":{"description":"The DNS record name used for ownership verification.","type":"string"},"ownership_verification_value":{"description":"The DNS record value used for ownership verification.","type":"string"},"ssl_verification_status":{"description":"The SSL verification status.","type":"string"},"ssl_verification_name":{"description":"The DNS record name used for SSL verification.","type":"string"},"ssl_verification_value":{"description":"The DNS record value used for SSL verification.","type":"string"},"ownership_verification_status":{"description":"The status of the ownership verification process.","type":"string"},"appearance":{"description":"Optional domain-specific page appearance settings.","type":"object","properties":{"primary_color":{"description":"Primary brand color as a hex string.","type":"string"},"secondary_color":{"description":"Secondary brand color as a hex string.","type":"string"},"background_color":{"description":"Base page background color as a hex string.","type":"string"},"text_color":{"description":"Base page text color as a hex string.","type":"string"},"logo_url":{"description":"Public CDN URL of the domain logo asset.","type":"string"},"background_image_url":{"description":"Public CDN URL of the domain background image asset.","type":"string"}},"additionalProperties":false},"landing_project":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false,"description":"Resolved project used when the domain opens without a project in the URL.","nullable":true},"branding_projects":{"description":"Projects using this domain for ticket links and notification branding.","type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"associated_mailboxes":{"description":"Mailboxes connected to projects that use this domain for branding.","type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"email":{"type":"string"},"project_id":{"type":"string"},"project_name":{"type":"string"}},"required":["id","email","project_id","project_name"],"additionalProperties":false}}},"required":["full_domain","display_name","entry_point","effective_public_page_locale","id","created_at"],"additionalProperties":false},"description":"List of domains associated with the guild."},"monthly_sessions":{"type":"number","description":"The number of sessions in the current month across all domains."},"hourly_sessions":{"type":"number","description":"The number of sessions in the last hour across all domains."},"monthly_sessions_limit":{"type":"number","description":"The maximum number of sessions allowed in the current month."},"hourly_sessions_limit":{"type":"number","description":"The maximum number of sessions allowed in the last hour."}},"required":["domains","monthly_sessions","hourly_sessions","monthly_sessions_limit","hourly_sessions_limit"],"additionalProperties":false},"UpdateDomainDto":{"type":"object","properties":{"display_name":{"description":"The display name of the domain.","type":"string","minLength":1,"maxLength":100},"entry_point":{"description":"Where bare-domain visitors are sent when opening the page domain root.","type":"string","enum":["public_docs","new_ticket"]},"default_ticket_project_id":{"type":"string","description":"Optional public ticket project used when visitors open the new-ticket entry point.","nullable":true},"public_page_locale":{"type":"string","enum":["ar-AE","ar-SA","bg","de","en","en-GB","es-ES","es-MX","fr","hi","id","it","ja","ko-KR","nl","pl","pt-BR","ru","tr","vi-VN","zh-CN",null],"description":"Optional locale for Bnder-owned UI copy on this public page domain.","nullable":true},"clear_default_ticket_project":{"description":"When true, removes the configured default public ticket project for this domain.","type":"boolean"},"primary_color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$","description":"Optional primary brand color for this domain.","nullable":true},"secondary_color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$","description":"Optional secondary brand color for this domain.","nullable":true},"background_color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$","description":"Optional shell background color for this domain.","nullable":true},"text_color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$","description":"Optional base text color for this domain.","nullable":true},"clear_primary_color":{"description":"When true, removes the stored primary brand color for this domain.","type":"boolean"},"clear_secondary_color":{"description":"When true, removes the stored secondary brand color for this domain.","type":"boolean"},"clear_background_color":{"description":"When true, removes the stored background color for this domain.","type":"boolean"},"clear_text_color":{"description":"When true, removes the stored text color for this domain.","type":"boolean"}}},"PublicPageBrandingResponseDto_Output":{"type":"object","properties":{"full_domain":{"type":"string","description":"The full domain that was resolved from the request host."},"display_name":{"type":"string","description":"The public display name configured for this domain."},"entry_point":{"type":"string","enum":["public_docs","new_ticket"],"description":"Where bare-domain visitors are sent when opening the page domain root."},"default_ticket_project_id":{"description":"Optional public ticket project used when visitors open the new-ticket entry point.","type":"string"},"public_page_locale":{"type":"string","enum":["ar-AE","ar-SA","bg","de","en","en-GB","es-ES","es-MX","fr","hi","id","it","ja","ko-KR","nl","pl","pt-BR","ru","tr","vi-VN","zh-CN",null],"description":"Optional workspace-configured locale for Bnder-owned public page UI copy.","nullable":true},"effective_public_page_locale":{"type":"string","enum":["ar-AE","ar-SA","bg","de","en","en-GB","es-ES","es-MX","fr","hi","id","it","ja","ko-KR","nl","pl","pt-BR","ru","tr","vi-VN","zh-CN"],"description":"Validated public page UI locale with English fallback."},"appearance":{"description":"Optional appearance settings for the public page.","type":"object","properties":{"primary_color":{"description":"Primary brand color as a hex string.","type":"string"},"secondary_color":{"description":"Secondary brand color as a hex string.","type":"string"},"background_color":{"description":"Base page background color as a hex string.","type":"string"},"text_color":{"description":"Base page text color as a hex string.","type":"string"},"logo_url":{"description":"Public CDN URL of the domain logo asset.","type":"string"},"background_image_url":{"description":"Public CDN URL of the domain background image asset.","type":"string"}},"additionalProperties":false}},"required":["full_domain","display_name","entry_point","effective_public_page_locale"],"additionalProperties":false},"ChatDto":{"type":"object","properties":{"chatHistory":{"type":"array","items":{"type":"object","properties":{"author":{"type":"string","enum":["user","ai"],"description":"The author of the message, either the user or the AI chat model."},"content":{"type":"string","description":"The content of the message."}},"required":["author","content"]},"description":"The chat history between the user and the AI chat model."},"message":{"type":"string","description":"The user's message to send to the AI chat model."},"guildId":{"description":"The guild ID associated with the chat, if applicable.","type":"string"},"projectId":{"description":"The project ID associated with the chat, if applicable.","type":"string"},"operationId":{"description":"Optional idempotency key for AI usage accounting.","type":"string","minLength":1,"maxLength":200}},"required":["chatHistory","message"]},"ChatToolApprovalDto":{"type":"object","properties":{"approvalId":{"type":"string","description":"The approval request id for the tool call."},"approved":{"type":"boolean","description":"Whether the tool execution is approved."},"reason":{"description":"Optional reason to share with the model.","type":"string"}},"required":["approvalId","approved"]},"VirtualCoworkerCapability_Output":{"type":"string","enum":["read_crm","read_connected_data","create_drafts","create_tasks","create_tickets","create_records","update_fields","modify_status","create_relationships","create_commitments","invoke_integrations","send_communication","sensitive_actions"]},"GetAllVirtualCoworkersResponseDto_Output":{"type":"object","properties":{"virtual_coworkers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The id of the virtual coworker"},"name":{"type":"string","description":"The name of the virtual coworker"},"type":{"type":"string","enum":["custom","customer_support","legal_department","product_manager","quality_assurance","information_security","compliance","data_protection","logistics","human_resources","finance","marketing","sales","governance"],"description":"The type of the virtual coworker"},"custom_system_prompt":{"description":"The custom system prompt for the virtual coworker, if applicable","type":"string"},"expertises":{"description":"The expertises of the virtual coworker, if applicable","type":"array","items":{"type":"string"}},"comment_style":{"description":"The comment style of the virtual coworker, if applicable","type":"string","enum":["formal","informal","concise","detailed","technical","layman","critical","cautious","pragmatic","supportive"]},"project_ids":{"description":"The project IDs the virtual coworker can work on, if applicable","type":"array","items":{"type":"string"}},"permissions":{"type":"array","items":{"type":"string"},"description":"The permissions the virtual coworker has"},"capabilities":{"description":"Action-level grants","type":"array","items":{"$ref":"#/components/schemas/VirtualCoworkerCapability_Output"}},"autonomy_level":{"type":"string","enum":["observe","suggest","draft","approval_required","execute"],"description":"Maximum autonomous action level"},"sponsoring_paid_seat_id":{"description":"Paid Pro seat sponsoring autonomous AI usage","type":"string"}},"required":["id","name","type","permissions","autonomy_level"],"additionalProperties":false},"description":"List of virtual coworkers"}},"required":["virtual_coworkers"],"additionalProperties":false},"EligibleAiSponsorSeatsDto_Output":{"type":"object","properties":{"seats":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"tier":{"type":"string","enum":["pro"]},"assigned_user_id":{"type":"string"},"remaining_tokens":{"type":"integer","minimum":0,"maximum":9007199254740991},"sponsored_virtual_coworker_count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","tier","assigned_user_id","remaining_tokens","sponsored_virtual_coworker_count"],"additionalProperties":false}},"all_paid_seats":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"tier":{"type":"string","enum":["starter","pro"]},"assigned_user_id":{"type":"string"},"remaining_tokens":{"type":"integer","minimum":0,"maximum":9007199254740991},"sponsored_virtual_coworker_count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","tier","assigned_user_id","remaining_tokens","sponsored_virtual_coworker_count"],"additionalProperties":false}}},"required":["seats","all_paid_seats"],"additionalProperties":false},"VirtualCoworkerCapability":{"type":"string","enum":["read_crm","read_connected_data","create_drafts","create_tasks","create_tickets","create_records","update_fields","modify_status","create_relationships","create_commitments","invoke_integrations","send_communication","sensitive_actions"]},"VirtualCoworkerDto":{"type":"object","properties":{"name":{"type":"string","description":"The name of the virtual coworker"},"type":{"type":"string","enum":["custom","customer_support","legal_department","product_manager","quality_assurance","information_security","compliance","data_protection","logistics","human_resources","finance","marketing","sales","governance"],"description":"The type of the virtual coworker"},"custom_system_prompt":{"description":"The custom system prompt for the virtual coworker, if applicable","type":"string"},"expertises":{"description":"The expertises of the virtual coworker, if applicable","type":"array","items":{"type":"string"}},"comment_style":{"description":"The comment style of the virtual coworker, if applicable","type":"string","enum":["formal","informal","concise","detailed","technical","layman","critical","cautious","pragmatic","supportive"]},"project_ids":{"description":"The project IDs the virtual coworker can work on, if applicable","type":"array","items":{"type":"string"}},"permissions":{"type":"array","items":{"type":"string","enum":["read","write","delete"]},"description":"The permissions assigned to the virtual coworker"},"capabilities":{"description":"Optional action-level grants; omitted preserves legacy broad permissions","type":"array","items":{"$ref":"#/components/schemas/VirtualCoworkerCapability"}},"autonomy_level":{"description":"Maximum autonomous action level for the virtual coworker","type":"string","enum":["observe","suggest","draft","approval_required","execute"]},"sponsoring_paid_seat_id":{"description":"Paid Pro seat sponsoring autonomous AI usage","type":"string"}},"required":["name","type","permissions"]},"VirtualCoworkerResponseDto_Output":{"type":"object","properties":{"id":{"type":"string","description":"The id of the virtual coworker"},"name":{"type":"string","description":"The name of the virtual coworker"},"type":{"type":"string","enum":["custom","customer_support","legal_department","product_manager","quality_assurance","information_security","compliance","data_protection","logistics","human_resources","finance","marketing","sales","governance"],"description":"The type of the virtual coworker"},"custom_system_prompt":{"description":"The custom system prompt for the virtual coworker, if applicable","type":"string"},"expertises":{"description":"The expertises of the virtual coworker, if applicable","type":"array","items":{"type":"string"}},"comment_style":{"description":"The comment style of the virtual coworker, if applicable","type":"string","enum":["formal","informal","concise","detailed","technical","layman","critical","cautious","pragmatic","supportive"]},"project_ids":{"description":"The project IDs the virtual coworker can work on, if applicable","type":"array","items":{"type":"string"}},"permissions":{"type":"array","items":{"type":"string"},"description":"The permissions the virtual coworker has"},"capabilities":{"description":"Action-level grants","type":"array","items":{"$ref":"#/components/schemas/VirtualCoworkerCapability_Output"}},"autonomy_level":{"type":"string","enum":["observe","suggest","draft","approval_required","execute"],"description":"Maximum autonomous action level"},"sponsoring_paid_seat_id":{"description":"Paid Pro seat sponsoring autonomous AI usage","type":"string"}},"required":["id","name","type","permissions","autonomy_level"],"additionalProperties":false},"TicketMailboxListResponseDto_Output":{"type":"object","properties":{"mailboxes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Mailbox connection ID"},"provider":{"type":"string","enum":["smtp_imap","mailgun_legacy"],"description":"Mailbox provider"},"email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","description":"Shared mailbox email address"},"display_name":{"type":"string","description":"Human-readable mailbox label","nullable":true},"from_name":{"type":"string","description":"Name used in outbound From header","nullable":true},"inbound_enabled":{"type":"boolean","description":"Whether inbound sync is enabled"},"outbound_enabled":{"type":"boolean","description":"Whether outbound sending is enabled"},"connected_to_project":{"type":"boolean","description":"Whether the mailbox is assigned to a ticket project"},"connected_project_id":{"type":"string","description":"Assigned ticket project ID","nullable":true},"connected_project_name":{"type":"string","description":"Assigned ticket project name","nullable":true},"status":{"type":"string","enum":["pending","healthy","degraded","disabled"],"description":"Aggregate connection health for backwards-compatible clients"},"inbound_status":{"type":"string","enum":["pending","healthy","degraded","disabled"],"description":"Inbound sync health"},"outbound_status":{"type":"string","enum":["pending","healthy","degraded","disabled"],"description":"Outbound send health"},"last_health_check_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","description":"Last aggregate health-check timestamp","nullable":true},"inbound_last_health_check_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","description":"Last inbound health-check timestamp","nullable":true},"outbound_last_health_check_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","description":"Last outbound health-check timestamp","nullable":true},"last_inbound_sync_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","description":"Last inbound sync timestamp","nullable":true},"last_outbound_send_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","description":"Last successful outbound send timestamp","nullable":true},"last_error":{"type":"string","description":"Sanitized last aggregate connection error","nullable":true},"inbound_last_error":{"type":"string","description":"Sanitized last inbound connection error","nullable":true},"outbound_last_error":{"type":"string","description":"Sanitized last outbound connection error","nullable":true},"consecutive_failure_count":{"description":"Aggregate consecutive failure count","type":"integer","minimum":0,"maximum":9007199254740991},"inbound_consecutive_failure_count":{"description":"Inbound consecutive failure count","type":"integer","minimum":0,"maximum":9007199254740991},"outbound_consecutive_failure_count":{"description":"Outbound consecutive failure count","type":"integer","minimum":0,"maximum":9007199254740991},"created_by_user_id":{"type":"string","description":"User who created the connection"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","description":"Creation timestamp"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","description":"Last update timestamp"}},"required":["id","provider","email","inbound_enabled","outbound_enabled","connected_to_project","connected_project_id","connected_project_name","status","inbound_status","outbound_status","created_by_user_id","created_at","updated_at"],"additionalProperties":false},"description":"Configured ticket mailbox connections"}},"required":["mailboxes"],"additionalProperties":false},"UpsertTicketMailboxDto":{"type":"object","properties":{"provider":{"type":"string","description":"Mailbox provider","enum":["smtp_imap"]},"email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","description":"Shared mailbox email address"},"display_name":{"type":"string","maxLength":120,"nullable":true},"from_name":{"type":"string","maxLength":120,"nullable":true},"inbound_enabled":{"default":true,"type":"boolean"},"outbound_enabled":{"default":true,"type":"boolean"},"smtp_host":{"type":"string","minLength":1},"smtp_port":{"type":"integer","minimum":1,"maximum":65535},"smtp_username":{"type":"string","minLength":1},"smtp_password":{"type":"string","minLength":1},"smtp_secure":{"type":"boolean"},"smtp_require_start_tls":{"type":"boolean"},"imap_host":{"type":"string","minLength":1},"imap_port":{"type":"integer","minimum":1,"maximum":65535},"imap_username":{"type":"string","minLength":1},"imap_password":{"type":"string","minLength":1},"imap_secure":{"type":"boolean"},"imap_require_start_tls":{"type":"boolean"}},"required":["provider","email"]},"TicketMailboxConnectionDto_Output":{"type":"object","properties":{"id":{"type":"string","description":"Mailbox connection ID"},"provider":{"type":"string","enum":["smtp_imap","mailgun_legacy"],"description":"Mailbox provider"},"email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","description":"Shared mailbox email address"},"display_name":{"type":"string","description":"Human-readable mailbox label","nullable":true},"from_name":{"type":"string","description":"Name used in outbound From header","nullable":true},"inbound_enabled":{"type":"boolean","description":"Whether inbound sync is enabled"},"outbound_enabled":{"type":"boolean","description":"Whether outbound sending is enabled"},"connected_to_project":{"type":"boolean","description":"Whether the mailbox is assigned to a ticket project"},"connected_project_id":{"type":"string","description":"Assigned ticket project ID","nullable":true},"connected_project_name":{"type":"string","description":"Assigned ticket project name","nullable":true},"status":{"type":"string","enum":["pending","healthy","degraded","disabled"],"description":"Aggregate connection health for backwards-compatible clients"},"inbound_status":{"type":"string","enum":["pending","healthy","degraded","disabled"],"description":"Inbound sync health"},"outbound_status":{"type":"string","enum":["pending","healthy","degraded","disabled"],"description":"Outbound send health"},"last_health_check_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","description":"Last aggregate health-check timestamp","nullable":true},"inbound_last_health_check_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","description":"Last inbound health-check timestamp","nullable":true},"outbound_last_health_check_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","description":"Last outbound health-check timestamp","nullable":true},"last_inbound_sync_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","description":"Last inbound sync timestamp","nullable":true},"last_outbound_send_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","description":"Last successful outbound send timestamp","nullable":true},"last_error":{"type":"string","description":"Sanitized last aggregate connection error","nullable":true},"inbound_last_error":{"type":"string","description":"Sanitized last inbound connection error","nullable":true},"outbound_last_error":{"type":"string","description":"Sanitized last outbound connection error","nullable":true},"consecutive_failure_count":{"description":"Aggregate consecutive failure count","type":"integer","minimum":0,"maximum":9007199254740991},"inbound_consecutive_failure_count":{"description":"Inbound consecutive failure count","type":"integer","minimum":0,"maximum":9007199254740991},"outbound_consecutive_failure_count":{"description":"Outbound consecutive failure count","type":"integer","minimum":0,"maximum":9007199254740991},"created_by_user_id":{"type":"string","description":"User who created the connection"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","description":"Creation timestamp"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","description":"Last update timestamp"}},"required":["id","provider","email","inbound_enabled","outbound_enabled","connected_to_project","connected_project_id","connected_project_name","status","inbound_status","outbound_status","created_by_user_id","created_at","updated_at"],"additionalProperties":false},"TestTicketMailboxDto":{"type":"object","properties":{"to":{"description":"Optional destination address for a test email","type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"}}},"TicketMailboxTestResponseDto_Output":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"imap_success":{"type":"boolean"},"imap_message":{"type":"string"},"smtp_success":{"type":"boolean"},"smtp_message":{"type":"string"}},"required":["success","message","imap_success","imap_message","smtp_success","smtp_message"],"additionalProperties":false},"TicketMailboxQuarantineListResponseDto_Output":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"provider_message_id":{"type":"string"},"internet_message_id":{"type":"string","nullable":true},"sender_email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"sender_name":{"type":"string","nullable":true},"recipient_address":{"type":"string"},"subject":{"type":"string"},"received_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","nullable":true},"quarantined_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"last_error":{"type":"string"},"failure_count":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"payload_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"source_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"status":{"type":"string","enum":["quarantined","retrying"]}},"required":["id","provider_message_id","sender_email","recipient_address","subject","quarantined_at","updated_at","last_error","failure_count","payload_bytes","source_bytes","status"],"additionalProperties":false}}},"required":["messages"],"additionalProperties":false},"TicketSettingsDto_Output":{"type":"object","properties":{"statuses":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Status ID"},"label":{"type":"string","description":"Status label"},"suppressReporterNotification":{"description":"Whether reporter-facing updates are suppressed when a ticket enters this status","type":"boolean"},"category":{"type":"string","enum":["in_progress","waiting_on_external","waiting_on_reporter","transferred","rejected","resolved","custom"],"description":"Status behavior category"}},"required":["id","label","category"],"additionalProperties":false},"description":"Configurable status list"},"auto_close_days_without_reporter_response":{"type":"number","minimum":1,"maximum":365,"description":"Auto-close threshold in days"},"default_sla_id":{"type":"string","description":"Default SLA ID","nullable":true},"sla_definitions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"SLA ID"},"name":{"type":"string","description":"SLA display name"},"resolveWithinMinutes":{"type":"number","minimum":1,"description":"Resolution target in minutes"},"warningAfterRatio":{"type":"number","minimum":0,"maximum":1,"description":"Warning threshold ratio"},"businessHours":{"description":"Optional working-hour window","type":"object","properties":{"timezone":{"type":"string","description":"IANA timezone"},"weekdays":{"type":"array","items":{"type":"number","minimum":1,"maximum":7},"description":"ISO weekdays, 1=Mon to 7=Sun"},"startHour":{"type":"number","minimum":0,"maximum":23,"description":"Start hour in local timezone"},"endHour":{"type":"number","minimum":1,"maximum":24,"description":"End hour in local timezone"}},"required":["timezone","weekdays","startHour","endHour"],"additionalProperties":false},"stepTargets":{"description":"Optional multi-step SLA targets","type":"object","properties":{"firstResponse":{"type":"object","properties":{"targetMinutes":{"type":"number","minimum":1,"description":"Target time in minutes"},"warningAfterRatio":{"type":"number","minimum":0,"maximum":1,"description":"Warning threshold ratio"}},"required":["targetMinutes","warningAfterRatio"],"additionalProperties":false},"nextResponse":{"type":"object","properties":{"targetMinutes":{"type":"number","minimum":1,"description":"Target time in minutes"},"warningAfterRatio":{"type":"number","minimum":0,"maximum":1,"description":"Warning threshold ratio"}},"required":["targetMinutes","warningAfterRatio"],"additionalProperties":false},"resolution":{"type":"object","properties":{"targetMinutes":{"type":"number","minimum":1,"description":"Target time in minutes"},"warningAfterRatio":{"type":"number","minimum":0,"maximum":1,"description":"Warning threshold ratio"}},"required":["targetMinutes","warningAfterRatio"],"additionalProperties":false}},"additionalProperties":false},"breachEscalation":{"description":"Optional breach escalation target users","type":"object","properties":{"userIds":{"default":[],"description":"Workspace member user IDs to escalate on breach","type":"array","items":{"type":"string"}}},"required":["userIds"],"additionalProperties":false}},"required":["id","name","resolveWithinMinutes","warningAfterRatio"],"additionalProperties":false},"description":"Available SLA definitions"},"project_business_hours_overrides":{"description":"Optional project-level SLA business-hour overrides","type":"object","additionalProperties":{"type":"object","properties":{"timezone":{"type":"string","description":"IANA timezone"},"weekdays":{"type":"array","items":{"type":"number","minimum":1,"maximum":7},"description":"ISO weekdays, 1=Mon to 7=Sun"},"startHour":{"type":"number","minimum":0,"maximum":23,"description":"Start hour in local timezone"},"endHour":{"type":"number","minimum":1,"maximum":24,"description":"End hour in local timezone"}},"required":["timezone","weekdays","startHour","endHour"],"additionalProperties":false}},"type_definitions":{"description":"Project ticket type definitions","type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Ticket type ID"},"label":{"type":"string","description":"Ticket type label"}},"required":["id","label"],"additionalProperties":false}},"default_type":{"type":"string","description":"Optional default ticket type id for the selected project","nullable":true},"enforced_template_id":{"type":"string","description":"Optional enforced template ID for the selected project","nullable":true},"enforced_template_ids_by_type":{"description":"Optional enforced template IDs keyed by ticket type for the selected project","type":"object","additionalProperties":{"type":"string","nullable":true}},"inbound_email_local_part":{"type":"string","description":"Optional inbound mailbox local-part for the selected project","nullable":true},"mailbox_connection_id":{"type":"string","description":"Optional customer-owned mailbox connection ID for the selected project","nullable":true},"ticket_portal_domain_id":{"type":"string","description":"Optional page-domain ID used for ticket links and email branding in the selected project","nullable":true},"public_knowledge_suggestions_enabled":{"description":"Whether public ticket page knowledge suggestions are enabled (Pro only)","type":"boolean"},"customer_portal_enabled":{"description":"Whether passwordless customer portal login is enabled for public pages","type":"boolean"},"public_anonymous_ticket_creation_enabled":{"description":"Whether visitors can create tickets without a customer portal session","type":"boolean"},"customer_portal_replies_enabled":{"description":"Whether public/customer portal viewers can reply to tickets","type":"boolean"},"customer_portal_uploads_enabled":{"description":"Whether public/customer portal viewers can upload ticket attachments","type":"boolean"},"ticket_attachment_limit_bytes":{"description":"Maximum combined attachment bytes allowed on one ticket","type":"integer","minimum":1,"maximum":1000000000},"ticket_attachment_cleanup_closed_ticket_age_days":{"description":"Days after ticket close before attachments are automatically deleted; 0 disables cleanup","type":"integer","minimum":0,"maximum":3650},"ticket_attachment_cleanup_last_run_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","description":"Last time the closed-ticket attachment cleanup scheduler evaluated this workspace","nullable":true},"ticket_attachment_cleanup_last_deleted_count":{"description":"Attachments deleted during the last closed-ticket attachment cleanup run","type":"integer","minimum":0,"maximum":9007199254740991},"ticket_attachment_cleanup_last_reclaimed_bytes":{"description":"Attachment bytes reclaimed during the last closed-ticket attachment cleanup run","type":"integer","minimum":0,"maximum":9007199254740991},"ticket_attachment_cleanup_last_failed_count":{"description":"Attachments that failed deletion during the last closed-ticket attachment cleanup run","type":"integer","minimum":0,"maximum":9007199254740991},"ticket_attachment_cleanup_last_error":{"type":"string","description":"Sanitized last closed-ticket attachment cleanup error, if the last run had failures","nullable":true},"customer_portal_knowledge_suggestions_enabled":{"description":"Whether authenticated customer portal pages show public knowledge suggestions","type":"boolean"}},"required":["statuses","auto_close_days_without_reporter_response","sla_definitions"],"additionalProperties":false},"UpdateTicketSettingsDto":{"type":"object","properties":{"statuses":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Status ID"},"label":{"type":"string","description":"Status label"},"suppressReporterNotification":{"description":"Whether reporter-facing updates are suppressed when a ticket enters this status","type":"boolean"},"category":{"type":"string","enum":["in_progress","waiting_on_external","waiting_on_reporter","transferred","rejected","resolved","custom"],"description":"Status behavior category"}},"required":["id","label","category"]},"description":"Configurable status list"},"auto_close_days_without_reporter_response":{"type":"number","minimum":1,"maximum":365,"description":"Auto-close threshold in days"},"default_sla_id":{"type":"string","description":"Default SLA ID","nullable":true},"sla_definitions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"SLA ID"},"name":{"type":"string","description":"SLA display name"},"resolveWithinMinutes":{"type":"number","minimum":1,"description":"Resolution target in minutes"},"warningAfterRatio":{"type":"number","minimum":0,"maximum":1,"description":"Warning threshold ratio"},"businessHours":{"description":"Optional working-hour window","type":"object","properties":{"timezone":{"type":"string","description":"IANA timezone"},"weekdays":{"type":"array","items":{"type":"number","minimum":1,"maximum":7},"description":"ISO weekdays, 1=Mon to 7=Sun"},"startHour":{"type":"number","minimum":0,"maximum":23,"description":"Start hour in local timezone"},"endHour":{"type":"number","minimum":1,"maximum":24,"description":"End hour in local timezone"}},"required":["timezone","weekdays","startHour","endHour"]},"stepTargets":{"description":"Optional multi-step SLA targets","type":"object","properties":{"firstResponse":{"type":"object","properties":{"targetMinutes":{"type":"number","minimum":1,"description":"Target time in minutes"},"warningAfterRatio":{"type":"number","minimum":0,"maximum":1,"description":"Warning threshold ratio"}},"required":["targetMinutes","warningAfterRatio"]},"nextResponse":{"type":"object","properties":{"targetMinutes":{"type":"number","minimum":1,"description":"Target time in minutes"},"warningAfterRatio":{"type":"number","minimum":0,"maximum":1,"description":"Warning threshold ratio"}},"required":["targetMinutes","warningAfterRatio"]},"resolution":{"type":"object","properties":{"targetMinutes":{"type":"number","minimum":1,"description":"Target time in minutes"},"warningAfterRatio":{"type":"number","minimum":0,"maximum":1,"description":"Warning threshold ratio"}},"required":["targetMinutes","warningAfterRatio"]}}},"breachEscalation":{"description":"Optional breach escalation target users","type":"object","properties":{"userIds":{"default":[],"description":"Workspace member user IDs to escalate on breach","type":"array","items":{"type":"string"}}}}},"required":["id","name","resolveWithinMinutes","warningAfterRatio"]},"description":"Available SLA definitions"},"project_business_hours_overrides":{"description":"Optional project-level SLA business-hour overrides","type":"object","additionalProperties":{"type":"object","properties":{"timezone":{"type":"string","description":"IANA timezone"},"weekdays":{"type":"array","items":{"type":"number","minimum":1,"maximum":7},"description":"ISO weekdays, 1=Mon to 7=Sun"},"startHour":{"type":"number","minimum":0,"maximum":23,"description":"Start hour in local timezone"},"endHour":{"type":"number","minimum":1,"maximum":24,"description":"End hour in local timezone"}},"required":["timezone","weekdays","startHour","endHour"]}},"type_definitions":{"description":"Project ticket type definitions","type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Ticket type ID"},"label":{"type":"string","description":"Ticket type label"}},"required":["id","label"]}},"default_type":{"type":"string","description":"Optional default ticket type id for the selected project","nullable":true},"enforced_template_id":{"type":"string","description":"Optional enforced template ID for the selected project","nullable":true},"enforced_template_ids_by_type":{"description":"Optional enforced template IDs keyed by ticket type for the selected project","type":"object","additionalProperties":{"type":"string","nullable":true}},"inbound_email_local_part":{"type":"string","description":"Optional inbound mailbox local-part for the selected project","nullable":true},"mailbox_connection_id":{"type":"string","description":"Optional customer-owned mailbox connection ID for the selected project","nullable":true},"ticket_portal_domain_id":{"type":"string","description":"Optional page-domain ID used for ticket links and email branding in the selected project","nullable":true},"public_knowledge_suggestions_enabled":{"description":"Whether public ticket page knowledge suggestions are enabled (Pro only)","type":"boolean"},"customer_portal_enabled":{"description":"Whether passwordless customer portal login is enabled for public pages","type":"boolean"},"public_anonymous_ticket_creation_enabled":{"description":"Whether visitors can create tickets without a customer portal session","type":"boolean"},"customer_portal_replies_enabled":{"description":"Whether public/customer portal viewers can reply to tickets","type":"boolean"},"customer_portal_uploads_enabled":{"description":"Whether public/customer portal viewers can upload ticket attachments","type":"boolean"},"ticket_attachment_limit_bytes":{"description":"Maximum combined attachment bytes allowed on one ticket","type":"integer","minimum":1,"maximum":1000000000},"ticket_attachment_cleanup_closed_ticket_age_days":{"description":"Days after ticket close before attachments are automatically deleted; 0 disables cleanup","type":"integer","minimum":0,"maximum":3650},"customer_portal_knowledge_suggestions_enabled":{"description":"Whether authenticated customer portal pages show public knowledge suggestions","type":"boolean"}}},"TicketTemplateListResponseDto_Output":{"type":"object","properties":{"templates":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Template ID"},"name":{"type":"string","description":"Template name"},"description":{"description":"Optional description","type":"string"},"fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Field ID"},"label":{"type":"string","description":"Field label"},"type":{"type":"string","enum":["text","textarea","number","email","date","file","boolean"],"description":"Field type"},"required":{"type":"boolean","description":"Whether field is required"},"visible":{"default":true,"description":"Whether field is visible in forms","type":"boolean"},"userEditable":{"type":"boolean","description":"Whether reporter can fill this field"},"defaultValue":{"description":"Optional default value used when no value is provided"}},"required":["id","label","type","required","visible","userEditable"],"additionalProperties":false},"description":"Template fields"}},"required":["id","name","fields"],"additionalProperties":false}}},"required":["templates"],"additionalProperties":false},"UpsertTicketTemplateDto":{"type":"object","properties":{"name":{"type":"string","description":"Template name"},"description":{"description":"Optional description","type":"string"},"fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Field ID"},"label":{"type":"string","description":"Field label"},"type":{"type":"string","enum":["text","textarea","number","email","date","file","boolean"],"description":"Field type"},"required":{"type":"boolean","description":"Whether field is required"},"visible":{"default":true,"description":"Whether field is visible in forms","type":"boolean"},"userEditable":{"type":"boolean","description":"Whether reporter can fill this field"},"defaultValue":{"description":"Optional default value used when no value is provided"}},"required":["id","label","type","required","userEditable"]},"description":"Template fields"},"id":{"description":"Optional template ID for upserts","type":"string"}},"required":["name","fields"]},"TicketTemplateDto":{"type":"object","properties":{"id":{"type":"string","description":"Template ID"},"name":{"type":"string","description":"Template name"},"description":{"description":"Optional description","type":"string"},"fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Field ID"},"label":{"type":"string","description":"Field label"},"type":{"type":"string","enum":["text","textarea","number","email","date","file","boolean"],"description":"Field type"},"required":{"type":"boolean","description":"Whether field is required"},"visible":{"default":true,"description":"Whether field is visible in forms","type":"boolean"},"userEditable":{"type":"boolean","description":"Whether reporter can fill this field"},"defaultValue":{"description":"Optional default value used when no value is provided"}},"required":["id","label","type","required","userEditable"]},"description":"Template fields"}},"required":["id","name","fields"]},"TicketListResponseDto_Output":{"type":"object","properties":{"tickets":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Ticket ID"},"guild_id":{"type":"string","description":"Workspace ID"},"project_id":{"type":"string","description":"Project ID"},"title":{"type":"string","description":"Ticket title"},"description":{"type":"string","description":"Ticket description"},"type":{"type":"string","description":"Ticket type"},"priority":{"type":"string","enum":["low","normal","high","urgent"],"description":"Ticket priority"},"status":{"type":"string","description":"Configurable status ID, or a customer-safe lifecycle status on public endpoints"},"status_name":{"description":"Resolved status label, or a customer-safe label on public endpoints","type":"string"},"ticket_role":{"type":"string","enum":["standard","master"],"description":"Explicit master-ticket role"},"viewer_email":{"description":"Viewer email resolved from per-recipient public token","type":"string"},"reporter_email":{"type":"string","description":"Reporter email"},"reporter_name":{"description":"Reporter name","type":"string"},"reporter_origin":{"type":"string","enum":["agent","email","public_form","discord","slack"],"description":"Source where the reporter created the ticket"},"notify_emails":{"type":"array","items":{"type":"string"},"description":"Additional notify emails"},"unsubscribed_emails":{"type":"array","items":{"type":"string"},"description":"Users who unsubscribed from notifications"},"assignee_user_id":{"description":"Assigned internal user","type":"string"},"virtual_coworker_assigned_by_user_id":{"description":"Human user who delegated the currently assigned virtual coworker","type":"string"},"virtual_coworker_assigned_at":{"description":"Timestamp when the currently assigned virtual coworker took ownership","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"template_id":{"description":"Template ID","type":"string"},"custom_fields":{"type":"object","additionalProperties":{},"description":"Template custom field values"},"label_ids":{"type":"array","items":{"type":"string"},"description":"Internal label IDs"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"type":{"type":"string","description":"Attachment mime type"},"size":{"type":"number","description":"Attachment size in bytes"},"url":{"description":"Optional public URL","type":"string"},"source":{"description":"Attachment upload origin","type":"string","enum":["public","internal"]},"scan":{"description":"Antivirus scan metadata","type":"object","properties":{"status":{"type":"string","enum":["not_scanned","queued","scanning","clean","malware","scan_failed","scan_skipped_limit"],"description":"Antivirus scan status"},"provider":{"type":"string","enum":["clamav"],"description":"Antivirus scan provider"},"queuedAt":{"description":"When the attachment was queued for scanning","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"startedAt":{"description":"When the current scan attempt started","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannedAt":{"description":"When the attachment was last scanned","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextRetryAt":{"description":"When the scan queue will retry after a failed dispatch","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannerVersion":{"description":"Scanner engine version","type":"string"},"signatureVersion":{"description":"Scanner signature database version","type":"string"},"findingName":{"description":"Malware signature name when detected","type":"string"},"error":{"description":"Last scan error","type":"string"},"attempts":{"description":"Number of scan attempts","type":"number"}},"required":["status","provider"],"additionalProperties":false}},"required":["id","name","type","size"],"additionalProperties":false},"description":"Ticket-level attachments"},"messages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Message ID"},"text":{"type":"string","description":"Message content"},"visibility":{"type":"string","enum":["public","internal"],"description":"Message visibility"},"author_type":{"type":"string","enum":["reporter","support","system"],"description":"Author type"},"author_id":{"description":"Author user ID for internal users","type":"string"},"author_email":{"description":"Author email for public users","type":"string"},"author_name":{"description":"Author display name","type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Message creation timestamp"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"type":{"type":"string","description":"Attachment mime type"},"size":{"type":"number","description":"Attachment size in bytes"},"url":{"description":"Optional public URL","type":"string"},"source":{"description":"Attachment upload origin","type":"string","enum":["public","internal"]},"scan":{"description":"Antivirus scan metadata","type":"object","properties":{"status":{"type":"string","enum":["not_scanned","queued","scanning","clean","malware","scan_failed","scan_skipped_limit"],"description":"Antivirus scan status"},"provider":{"type":"string","enum":["clamav"],"description":"Antivirus scan provider"},"queuedAt":{"description":"When the attachment was queued for scanning","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"startedAt":{"description":"When the current scan attempt started","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannedAt":{"description":"When the attachment was last scanned","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextRetryAt":{"description":"When the scan queue will retry after a failed dispatch","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannerVersion":{"description":"Scanner engine version","type":"string"},"signatureVersion":{"description":"Scanner signature database version","type":"string"},"findingName":{"description":"Malware signature name when detected","type":"string"},"error":{"description":"Last scan error","type":"string"},"attempts":{"description":"Number of scan attempts","type":"number"}},"required":["status","provider"],"additionalProperties":false}},"required":["id","name","type","size"],"additionalProperties":false},"description":"Message attachments"}},"required":["id","text","visibility","author_type","created_at","attachments"],"additionalProperties":false},"description":"Public supporter and reporter chat"},"internal_notes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Message ID"},"text":{"type":"string","description":"Message content"},"visibility":{"type":"string","enum":["public","internal"],"description":"Message visibility"},"author_type":{"type":"string","enum":["reporter","support","system"],"description":"Author type"},"author_id":{"description":"Author user ID for internal users","type":"string"},"author_email":{"description":"Author email for public users","type":"string"},"author_name":{"description":"Author display name","type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Message creation timestamp"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"type":{"type":"string","description":"Attachment mime type"},"size":{"type":"number","description":"Attachment size in bytes"},"url":{"description":"Optional public URL","type":"string"},"source":{"description":"Attachment upload origin","type":"string","enum":["public","internal"]},"scan":{"description":"Antivirus scan metadata","type":"object","properties":{"status":{"type":"string","enum":["not_scanned","queued","scanning","clean","malware","scan_failed","scan_skipped_limit"],"description":"Antivirus scan status"},"provider":{"type":"string","enum":["clamav"],"description":"Antivirus scan provider"},"queuedAt":{"description":"When the attachment was queued for scanning","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"startedAt":{"description":"When the current scan attempt started","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannedAt":{"description":"When the attachment was last scanned","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextRetryAt":{"description":"When the scan queue will retry after a failed dispatch","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannerVersion":{"description":"Scanner engine version","type":"string"},"signatureVersion":{"description":"Scanner signature database version","type":"string"},"findingName":{"description":"Malware signature name when detected","type":"string"},"error":{"description":"Last scan error","type":"string"},"attempts":{"description":"Number of scan attempts","type":"number"}},"required":["status","provider"],"additionalProperties":false}},"required":["id","name","type","size"],"additionalProperties":false},"description":"Message attachments"}},"required":["id","text","visibility","author_type","created_at","attachments"],"additionalProperties":false},"description":"Internal ticket comments"},"linked_task_ids":{"type":"array","items":{"type":"string"},"description":"Linked task IDs"},"customer_id":{"description":"Linked customer ID","type":"string"},"crm_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false},"description":"People, Organizations, and Records linked to the ticket"},"customer_portal_visible":{"type":"boolean","description":"Whether this ticket is visible in the authenticated customer portal","nullable":true},"customer_portal_replies_enabled":{"type":"boolean","description":"Whether public/customer portal viewers can add replies to this ticket thread"},"customer_portal_uploads_enabled":{"type":"boolean","description":"Whether public/customer portal viewers can upload attachments to this ticket thread"},"file_upload_allowed_mime_types":{"description":"Allowed upload MIME types or category wildcards such as image/*. Empty allows all file types","type":"array","items":{"type":"string"}},"knowledge_document_id":{"description":"Read-only primary document index derived from document links","type":"string"},"linked_knowledge_document_ids":{"type":"array","items":{"type":"string"},"description":"Canonical linked knowledge document IDs"},"master_ticket_id":{"description":"Read-only master ticket index derived from relationships","type":"string"},"linked_ticket_ids":{"type":"array","items":{"type":"string"},"description":"Read-only child ticket index derived from relationships"},"ticket_relationships":{"type":"array","items":{"type":"object","properties":{"ticket_id":{"type":"string","description":"Referenced ticket ID"},"type":{"type":"string","enum":["duplicate_of","child_of","caused_by","blocks","related"],"description":"Directional relationship type relative to the current ticket"}},"required":["ticket_id","type"],"additionalProperties":false},"description":"Canonical typed ticket relationships"},"master_sync_policy":{"description":"Master-child sync policy","type":"object","properties":{"master_to_children":{"type":"object","properties":{"status":{"type":"boolean"},"priority":{"type":"boolean"},"labels":{"type":"boolean"},"assignee":{"type":"boolean"},"internal_notes":{"type":"boolean"}},"required":["status","priority","labels","assignee","internal_notes"],"additionalProperties":false},"child_to_master":{"type":"object","properties":{"reopen_on_reporter_reply":{"type":"boolean"},"aggregate_escalation":{"type":"boolean"}},"required":["reopen_on_reporter_reply","aggregate_escalation"],"additionalProperties":false}},"required":["master_to_children","child_to_master"],"additionalProperties":false},"sla_id":{"description":"SLA definition ID","type":"string"},"sla_warning_active":{"type":"boolean","description":"True when ticket passed warning threshold"},"people_routing_audit":{"description":"Last persisted People routing decision for observability","type":"object","properties":{"matched_policy_id":{"type":"string"},"chosen_assignee_user_id":{"type":"string"},"fallback_reason":{"type":"string","enum":["policy_target","policy_backup","assignee_manager_chain","team_lead_or_manager","workspace_default_escalation","vacation_replacement","no_matching_policy","no_eligible_candidate"]},"candidate_user_ids":{"type":"array","items":{"type":"string"}},"candidates":{"default":[],"type":"array","items":{"type":"object","properties":{"user_id":{"type":"string","description":"Candidate user id"},"display_name":{"description":"Candidate display name at routing time","type":"string"},"fallback_reason":{"type":"string","enum":["policy_target","policy_backup","assignee_manager_chain","team_lead_or_manager","workspace_default_escalation","vacation_replacement","no_matching_policy","no_eligible_candidate"],"description":"Fallback pool that produced this candidate"},"eligible":{"type":"boolean","description":"Whether this candidate was eligible for assignment"},"skipped_reason":{"description":"Reason an ineligible candidate was skipped","type":"string","enum":["not_workspace_member","inactive_member","inactive_profile","vacation_replacement","routing_disabled","missing_capacity","no_available_capacity"]},"utilization":{"description":"Capacity utilization at routing time","type":"number"},"available_minutes":{"description":"Available capacity minutes at routing time","type":"number"},"booked_minutes":{"description":"Booked capacity minutes at routing time","type":"number"},"open_task_count":{"description":"Open tasks counted at routing time","type":"number"},"open_ticket_count":{"description":"Open assigned tickets counted at routing time","type":"number"},"sla_risk_ticket_count":{"description":"SLA-risk tickets counted at routing time","type":"number"},"overload":{"description":"Whether booked work exceeded available capacity","type":"boolean"}},"required":["user_id","fallback_reason","eligible"],"additionalProperties":false}},"fallback_path":{"default":[],"type":"array","items":{"type":"object","properties":{"reason":{"type":"string","enum":["policy_target","policy_backup","assignee_manager_chain","team_lead_or_manager","workspace_default_escalation","vacation_replacement","no_matching_policy","no_eligible_candidate"],"description":"Fallback pool that was evaluated"},"user_ids":{"type":"array","items":{"type":"string"},"description":"Raw users considered in this pool"},"eligible_user_ids":{"type":"array","items":{"type":"string"},"description":"Users still eligible after routing filters"},"skipped_user_ids":{"type":"array","items":{"type":"string"},"description":"Users skipped by routing filters"},"chosen_user_id":{"description":"Chosen user id when this pool selected the assignee","type":"string"}},"required":["reason","user_ids","eligible_user_ids","skipped_user_ids"],"additionalProperties":false}},"selection_mode":{"type":"string","enum":["capacity","rotation"]},"source":{"type":"string","enum":["ticket_create","manual_reroute","sla_warning","sla_breach","availability_handoff","preview"]},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Timestamp when the routing decision was recorded"},"manual_override":{"description":"Manual override metadata when the auto-routed assignee was changed","type":"object","properties":{"previous_assignee_user_id":{"description":"Auto-routed assignee before manual override","type":"string"},"next_assignee_user_id":{"description":"Manual assignee after the override","type":"string"},"reason":{"description":"Operator-entered reason for the manual override","type":"string"},"actor_user_id":{"description":"User who performed the override when available","type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Timestamp when the manual override was recorded"}},"required":["created_at"],"additionalProperties":false}},"required":["fallback_reason","candidate_user_ids","candidates","fallback_path","source","created_at"],"additionalProperties":false},"ticket_age_minutes":{"type":"number","description":"Calculated ticket age in minutes"},"waiting_on_reporter_since":{"description":"Since when ticket waits on reporter","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Creation timestamp"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Last update timestamp"},"closed_at":{"description":"Resolution timestamp","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"public_token":{"type":"string","description":"Capability token for public responses"},"statistics":{"type":"object","properties":{"first_response_at":{"description":"Timestamp of first public support response","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"first_response_minutes":{"description":"Time to first response in minutes","type":"number"},"resolved_at":{"description":"Timestamp when ticket was resolved","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"resolution_minutes":{"description":"Resolution time in minutes","type":"number"}},"additionalProperties":false,"description":"Persisted ticket statistics"},"master_rollup":{"description":"Computed roll-up summary for master tickets","type":"object","properties":{"child_ticket_ids":{"type":"array","items":{"type":"string"},"description":"Resolved child ticket IDs included in roll-up"},"child_count_total":{"type":"number","description":"Total child ticket count"},"child_count_open":{"type":"number","description":"Open child ticket count"},"child_count_closed":{"type":"number","description":"Closed child ticket count"},"child_count_sla_warning":{"type":"number","description":"Child tickets currently in SLA warning"},"child_counts_by_status":{"type":"array","items":{"type":"object","properties":{"status":{"type":"string","description":"Child status ID"},"status_name":{"description":"Resolved child status label","type":"string"},"count":{"type":"number","description":"Number of child tickets in this status"}},"required":["status","count"],"additionalProperties":false},"description":"Child counts grouped by status"},"latest_customer_reply_at":{"description":"Latest public reporter reply timestamp across children","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"affected_customer_ids":{"type":"array","items":{"type":"string"},"description":"Distinct affected customer IDs from child tickets"},"affected_project_ids":{"type":"array","items":{"type":"string"},"description":"Distinct affected project IDs from child tickets"}},"required":["child_ticket_ids","child_count_total","child_count_open","child_count_closed","child_count_sla_warning","child_counts_by_status","affected_customer_ids","affected_project_ids"],"additionalProperties":false}},"required":["id","guild_id","project_id","title","description","type","priority","status","ticket_role","reporter_email","reporter_origin","notify_emails","unsubscribed_emails","custom_fields","label_ids","attachments","messages","internal_notes","linked_task_ids","crm_entities","customer_portal_replies_enabled","customer_portal_uploads_enabled","linked_knowledge_document_ids","linked_ticket_ids","ticket_relationships","sla_warning_active","ticket_age_minutes","created_at","updated_at","public_token","statistics"],"additionalProperties":false}}},"required":["tickets"],"additionalProperties":false},"TicketAnalyticsResponseDto_Output":{"type":"object","properties":{"today":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"data_started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"data_started_local":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}$"},"last_processed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"last_processed_local":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}$"},"last_complete_day":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","nullable":true},"processor_lag_ms":{"type":"number"},"refresh_in_progress":{"type":"boolean"},"refresh_stage":{"type":"string","enum":["events","finalization",null],"nullable":true},"refresh_remaining_items":{"type":"integer","minimum":0,"maximum":9007199254740991},"refresh_remaining_items_capped":{"type":"boolean"},"next_refresh_recommended_after_ms":{"type":"integer","minimum":0,"maximum":9007199254740991,"nullable":true},"timezone":{"type":"string"},"summary":{"type":"object","properties":{"backlog":{"type":"number"},"created":{"type":"number"},"closed":{"type":"number"},"reopened":{"type":"number"},"sla_at_risk":{"type":"number"},"sla_breached":{"type":"number"},"sla_compliance_rate":{"type":"number","nullable":true},"median_first_response_minutes":{"type":"number","nullable":true},"median_resolution_minutes":{"type":"number","nullable":true}},"required":["backlog","created","closed","reopened","sla_at_risk","sla_breached","sla_compliance_rate","median_first_response_minutes","median_resolution_minutes"],"additionalProperties":false},"comparison":{"type":"object","properties":{"previous_from":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"previous_to":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"current":{"type":"object","properties":{"backlog":{"type":"number"},"created":{"type":"number"},"closed":{"type":"number"},"sla_compliance_rate":{"type":"number","nullable":true},"median_first_response_minutes":{"type":"number","nullable":true},"median_resolution_minutes":{"type":"number","nullable":true}},"required":["backlog","created","closed","sla_compliance_rate","median_first_response_minutes","median_resolution_minutes"],"additionalProperties":false},"previous":{"type":"object","properties":{"backlog":{"type":"number"},"created":{"type":"number"},"closed":{"type":"number"},"sla_compliance_rate":{"type":"number","nullable":true},"median_first_response_minutes":{"type":"number","nullable":true},"median_resolution_minutes":{"type":"number","nullable":true}},"required":["backlog","created","closed","sla_compliance_rate","median_first_response_minutes","median_resolution_minutes"],"additionalProperties":false,"nullable":true},"backlog_assignee_driver":{"type":"object","properties":{"assignee_id":{"type":"string"},"delta":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0}},"required":["assignee_id","delta"],"additionalProperties":false,"nullable":true}},"required":["previous_from","previous_to","current","previous","backlog_assignee_driver"],"additionalProperties":false},"daily":{"type":"array","items":{"type":"object","properties":{"backlog":{"type":"number"},"created":{"type":"number"},"closed":{"type":"number"},"reopened":{"type":"number"},"sla_at_risk":{"type":"number"},"sla_breached":{"type":"number"},"sla_compliance_rate":{"type":"number","nullable":true},"median_first_response_minutes":{"type":"number","nullable":true},"median_resolution_minutes":{"type":"number","nullable":true},"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"partial":{"type":"boolean"}},"required":["backlog","created","closed","reopened","sla_at_risk","sla_breached","sla_compliance_rate","median_first_response_minutes","median_resolution_minutes","date","partial"],"additionalProperties":false}},"breakdowns":{"type":"object","properties":{"status":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"number"}},"required":["id","count"],"additionalProperties":false}},"priority":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"number"}},"required":["id","count"],"additionalProperties":false}},"type":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"number"}},"required":["id","count"],"additionalProperties":false}},"customer":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"number"}},"required":["id","count"],"additionalProperties":false}},"assignee":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"number"}},"required":["id","count"],"additionalProperties":false}},"age":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"count":{"type":"number"}},"required":["id","count"],"additionalProperties":false}}},"required":["status","priority","type","customer","assignee","age"],"additionalProperties":false}},"required":["today","data_started_at","data_started_local","last_processed_at","last_processed_local","last_complete_day","processor_lag_ms","refresh_in_progress","refresh_stage","refresh_remaining_items","refresh_remaining_items_capped","next_refresh_recommended_after_ms","timezone","summary","comparison","daily","breakdowns"],"additionalProperties":false},"TicketAnalyticsTicketsResponseDto_Output":{"type":"object","properties":{"tickets":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Ticket ID"},"guild_id":{"type":"string","description":"Workspace ID"},"project_id":{"type":"string","description":"Project ID"},"title":{"type":"string","description":"Ticket title"},"description":{"type":"string","description":"Ticket description"},"type":{"type":"string","description":"Ticket type"},"priority":{"type":"string","enum":["low","normal","high","urgent"],"description":"Ticket priority"},"status":{"type":"string","description":"Configurable status ID, or a customer-safe lifecycle status on public endpoints"},"status_name":{"description":"Resolved status label, or a customer-safe label on public endpoints","type":"string"},"ticket_role":{"type":"string","enum":["standard","master"],"description":"Explicit master-ticket role"},"viewer_email":{"description":"Viewer email resolved from per-recipient public token","type":"string"},"reporter_email":{"type":"string","description":"Reporter email"},"reporter_name":{"description":"Reporter name","type":"string"},"reporter_origin":{"type":"string","enum":["agent","email","public_form","discord","slack"],"description":"Source where the reporter created the ticket"},"notify_emails":{"type":"array","items":{"type":"string"},"description":"Additional notify emails"},"unsubscribed_emails":{"type":"array","items":{"type":"string"},"description":"Users who unsubscribed from notifications"},"assignee_user_id":{"description":"Assigned internal user","type":"string"},"virtual_coworker_assigned_by_user_id":{"description":"Human user who delegated the currently assigned virtual coworker","type":"string"},"virtual_coworker_assigned_at":{"description":"Timestamp when the currently assigned virtual coworker took ownership","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"template_id":{"description":"Template ID","type":"string"},"custom_fields":{"type":"object","additionalProperties":{},"description":"Template custom field values"},"label_ids":{"type":"array","items":{"type":"string"},"description":"Internal label IDs"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"type":{"type":"string","description":"Attachment mime type"},"size":{"type":"number","description":"Attachment size in bytes"},"url":{"description":"Optional public URL","type":"string"},"source":{"description":"Attachment upload origin","type":"string","enum":["public","internal"]},"scan":{"description":"Antivirus scan metadata","type":"object","properties":{"status":{"type":"string","enum":["not_scanned","queued","scanning","clean","malware","scan_failed","scan_skipped_limit"],"description":"Antivirus scan status"},"provider":{"type":"string","enum":["clamav"],"description":"Antivirus scan provider"},"queuedAt":{"description":"When the attachment was queued for scanning","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"startedAt":{"description":"When the current scan attempt started","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannedAt":{"description":"When the attachment was last scanned","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextRetryAt":{"description":"When the scan queue will retry after a failed dispatch","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannerVersion":{"description":"Scanner engine version","type":"string"},"signatureVersion":{"description":"Scanner signature database version","type":"string"},"findingName":{"description":"Malware signature name when detected","type":"string"},"error":{"description":"Last scan error","type":"string"},"attempts":{"description":"Number of scan attempts","type":"number"}},"required":["status","provider"],"additionalProperties":false}},"required":["id","name","type","size"],"additionalProperties":false},"description":"Ticket-level attachments"},"messages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Message ID"},"text":{"type":"string","description":"Message content"},"visibility":{"type":"string","enum":["public","internal"],"description":"Message visibility"},"author_type":{"type":"string","enum":["reporter","support","system"],"description":"Author type"},"author_id":{"description":"Author user ID for internal users","type":"string"},"author_email":{"description":"Author email for public users","type":"string"},"author_name":{"description":"Author display name","type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Message creation timestamp"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"type":{"type":"string","description":"Attachment mime type"},"size":{"type":"number","description":"Attachment size in bytes"},"url":{"description":"Optional public URL","type":"string"},"source":{"description":"Attachment upload origin","type":"string","enum":["public","internal"]},"scan":{"description":"Antivirus scan metadata","type":"object","properties":{"status":{"type":"string","enum":["not_scanned","queued","scanning","clean","malware","scan_failed","scan_skipped_limit"],"description":"Antivirus scan status"},"provider":{"type":"string","enum":["clamav"],"description":"Antivirus scan provider"},"queuedAt":{"description":"When the attachment was queued for scanning","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"startedAt":{"description":"When the current scan attempt started","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannedAt":{"description":"When the attachment was last scanned","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextRetryAt":{"description":"When the scan queue will retry after a failed dispatch","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannerVersion":{"description":"Scanner engine version","type":"string"},"signatureVersion":{"description":"Scanner signature database version","type":"string"},"findingName":{"description":"Malware signature name when detected","type":"string"},"error":{"description":"Last scan error","type":"string"},"attempts":{"description":"Number of scan attempts","type":"number"}},"required":["status","provider"],"additionalProperties":false}},"required":["id","name","type","size"],"additionalProperties":false},"description":"Message attachments"}},"required":["id","text","visibility","author_type","created_at","attachments"],"additionalProperties":false},"description":"Public supporter and reporter chat"},"internal_notes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Message ID"},"text":{"type":"string","description":"Message content"},"visibility":{"type":"string","enum":["public","internal"],"description":"Message visibility"},"author_type":{"type":"string","enum":["reporter","support","system"],"description":"Author type"},"author_id":{"description":"Author user ID for internal users","type":"string"},"author_email":{"description":"Author email for public users","type":"string"},"author_name":{"description":"Author display name","type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Message creation timestamp"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"type":{"type":"string","description":"Attachment mime type"},"size":{"type":"number","description":"Attachment size in bytes"},"url":{"description":"Optional public URL","type":"string"},"source":{"description":"Attachment upload origin","type":"string","enum":["public","internal"]},"scan":{"description":"Antivirus scan metadata","type":"object","properties":{"status":{"type":"string","enum":["not_scanned","queued","scanning","clean","malware","scan_failed","scan_skipped_limit"],"description":"Antivirus scan status"},"provider":{"type":"string","enum":["clamav"],"description":"Antivirus scan provider"},"queuedAt":{"description":"When the attachment was queued for scanning","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"startedAt":{"description":"When the current scan attempt started","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannedAt":{"description":"When the attachment was last scanned","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextRetryAt":{"description":"When the scan queue will retry after a failed dispatch","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannerVersion":{"description":"Scanner engine version","type":"string"},"signatureVersion":{"description":"Scanner signature database version","type":"string"},"findingName":{"description":"Malware signature name when detected","type":"string"},"error":{"description":"Last scan error","type":"string"},"attempts":{"description":"Number of scan attempts","type":"number"}},"required":["status","provider"],"additionalProperties":false}},"required":["id","name","type","size"],"additionalProperties":false},"description":"Message attachments"}},"required":["id","text","visibility","author_type","created_at","attachments"],"additionalProperties":false},"description":"Internal ticket comments"},"linked_task_ids":{"type":"array","items":{"type":"string"},"description":"Linked task IDs"},"customer_id":{"description":"Linked customer ID","type":"string"},"crm_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false},"description":"People, Organizations, and Records linked to the ticket"},"customer_portal_visible":{"type":"boolean","description":"Whether this ticket is visible in the authenticated customer portal","nullable":true},"customer_portal_replies_enabled":{"type":"boolean","description":"Whether public/customer portal viewers can add replies to this ticket thread"},"customer_portal_uploads_enabled":{"type":"boolean","description":"Whether public/customer portal viewers can upload attachments to this ticket thread"},"file_upload_allowed_mime_types":{"description":"Allowed upload MIME types or category wildcards such as image/*. Empty allows all file types","type":"array","items":{"type":"string"}},"knowledge_document_id":{"description":"Read-only primary document index derived from document links","type":"string"},"linked_knowledge_document_ids":{"type":"array","items":{"type":"string"},"description":"Canonical linked knowledge document IDs"},"master_ticket_id":{"description":"Read-only master ticket index derived from relationships","type":"string"},"linked_ticket_ids":{"type":"array","items":{"type":"string"},"description":"Read-only child ticket index derived from relationships"},"ticket_relationships":{"type":"array","items":{"type":"object","properties":{"ticket_id":{"type":"string","description":"Referenced ticket ID"},"type":{"type":"string","enum":["duplicate_of","child_of","caused_by","blocks","related"],"description":"Directional relationship type relative to the current ticket"}},"required":["ticket_id","type"],"additionalProperties":false},"description":"Canonical typed ticket relationships"},"master_sync_policy":{"description":"Master-child sync policy","type":"object","properties":{"master_to_children":{"type":"object","properties":{"status":{"type":"boolean"},"priority":{"type":"boolean"},"labels":{"type":"boolean"},"assignee":{"type":"boolean"},"internal_notes":{"type":"boolean"}},"required":["status","priority","labels","assignee","internal_notes"],"additionalProperties":false},"child_to_master":{"type":"object","properties":{"reopen_on_reporter_reply":{"type":"boolean"},"aggregate_escalation":{"type":"boolean"}},"required":["reopen_on_reporter_reply","aggregate_escalation"],"additionalProperties":false}},"required":["master_to_children","child_to_master"],"additionalProperties":false},"sla_id":{"description":"SLA definition ID","type":"string"},"sla_warning_active":{"type":"boolean","description":"True when ticket passed warning threshold"},"people_routing_audit":{"description":"Last persisted People routing decision for observability","type":"object","properties":{"matched_policy_id":{"type":"string"},"chosen_assignee_user_id":{"type":"string"},"fallback_reason":{"type":"string","enum":["policy_target","policy_backup","assignee_manager_chain","team_lead_or_manager","workspace_default_escalation","vacation_replacement","no_matching_policy","no_eligible_candidate"]},"candidate_user_ids":{"type":"array","items":{"type":"string"}},"candidates":{"default":[],"type":"array","items":{"type":"object","properties":{"user_id":{"type":"string","description":"Candidate user id"},"display_name":{"description":"Candidate display name at routing time","type":"string"},"fallback_reason":{"type":"string","enum":["policy_target","policy_backup","assignee_manager_chain","team_lead_or_manager","workspace_default_escalation","vacation_replacement","no_matching_policy","no_eligible_candidate"],"description":"Fallback pool that produced this candidate"},"eligible":{"type":"boolean","description":"Whether this candidate was eligible for assignment"},"skipped_reason":{"description":"Reason an ineligible candidate was skipped","type":"string","enum":["not_workspace_member","inactive_member","inactive_profile","vacation_replacement","routing_disabled","missing_capacity","no_available_capacity"]},"utilization":{"description":"Capacity utilization at routing time","type":"number"},"available_minutes":{"description":"Available capacity minutes at routing time","type":"number"},"booked_minutes":{"description":"Booked capacity minutes at routing time","type":"number"},"open_task_count":{"description":"Open tasks counted at routing time","type":"number"},"open_ticket_count":{"description":"Open assigned tickets counted at routing time","type":"number"},"sla_risk_ticket_count":{"description":"SLA-risk tickets counted at routing time","type":"number"},"overload":{"description":"Whether booked work exceeded available capacity","type":"boolean"}},"required":["user_id","fallback_reason","eligible"],"additionalProperties":false}},"fallback_path":{"default":[],"type":"array","items":{"type":"object","properties":{"reason":{"type":"string","enum":["policy_target","policy_backup","assignee_manager_chain","team_lead_or_manager","workspace_default_escalation","vacation_replacement","no_matching_policy","no_eligible_candidate"],"description":"Fallback pool that was evaluated"},"user_ids":{"type":"array","items":{"type":"string"},"description":"Raw users considered in this pool"},"eligible_user_ids":{"type":"array","items":{"type":"string"},"description":"Users still eligible after routing filters"},"skipped_user_ids":{"type":"array","items":{"type":"string"},"description":"Users skipped by routing filters"},"chosen_user_id":{"description":"Chosen user id when this pool selected the assignee","type":"string"}},"required":["reason","user_ids","eligible_user_ids","skipped_user_ids"],"additionalProperties":false}},"selection_mode":{"type":"string","enum":["capacity","rotation"]},"source":{"type":"string","enum":["ticket_create","manual_reroute","sla_warning","sla_breach","availability_handoff","preview"]},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Timestamp when the routing decision was recorded"},"manual_override":{"description":"Manual override metadata when the auto-routed assignee was changed","type":"object","properties":{"previous_assignee_user_id":{"description":"Auto-routed assignee before manual override","type":"string"},"next_assignee_user_id":{"description":"Manual assignee after the override","type":"string"},"reason":{"description":"Operator-entered reason for the manual override","type":"string"},"actor_user_id":{"description":"User who performed the override when available","type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Timestamp when the manual override was recorded"}},"required":["created_at"],"additionalProperties":false}},"required":["fallback_reason","candidate_user_ids","candidates","fallback_path","source","created_at"],"additionalProperties":false},"ticket_age_minutes":{"type":"number","description":"Calculated ticket age in minutes"},"waiting_on_reporter_since":{"description":"Since when ticket waits on reporter","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Creation timestamp"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Last update timestamp"},"closed_at":{"description":"Resolution timestamp","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"public_token":{"type":"string","description":"Capability token for public responses"},"statistics":{"type":"object","properties":{"first_response_at":{"description":"Timestamp of first public support response","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"first_response_minutes":{"description":"Time to first response in minutes","type":"number"},"resolved_at":{"description":"Timestamp when ticket was resolved","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"resolution_minutes":{"description":"Resolution time in minutes","type":"number"}},"additionalProperties":false,"description":"Persisted ticket statistics"},"master_rollup":{"description":"Computed roll-up summary for master tickets","type":"object","properties":{"child_ticket_ids":{"type":"array","items":{"type":"string"},"description":"Resolved child ticket IDs included in roll-up"},"child_count_total":{"type":"number","description":"Total child ticket count"},"child_count_open":{"type":"number","description":"Open child ticket count"},"child_count_closed":{"type":"number","description":"Closed child ticket count"},"child_count_sla_warning":{"type":"number","description":"Child tickets currently in SLA warning"},"child_counts_by_status":{"type":"array","items":{"type":"object","properties":{"status":{"type":"string","description":"Child status ID"},"status_name":{"description":"Resolved child status label","type":"string"},"count":{"type":"number","description":"Number of child tickets in this status"}},"required":["status","count"],"additionalProperties":false},"description":"Child counts grouped by status"},"latest_customer_reply_at":{"description":"Latest public reporter reply timestamp across children","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"affected_customer_ids":{"type":"array","items":{"type":"string"},"description":"Distinct affected customer IDs from child tickets"},"affected_project_ids":{"type":"array","items":{"type":"string"},"description":"Distinct affected project IDs from child tickets"}},"required":["child_ticket_ids","child_count_total","child_count_open","child_count_closed","child_count_sla_warning","child_counts_by_status","affected_customer_ids","affected_project_ids"],"additionalProperties":false}},"required":["id","guild_id","project_id","title","description","type","priority","status","ticket_role","reporter_email","reporter_origin","notify_emails","unsubscribed_emails","custom_fields","label_ids","attachments","messages","internal_notes","linked_task_ids","crm_entities","customer_portal_replies_enabled","customer_portal_uploads_enabled","linked_knowledge_document_ids","linked_ticket_ids","ticket_relationships","sla_warning_active","ticket_age_minutes","created_at","updated_at","public_token","statistics"],"additionalProperties":false}},"deleted_ticket_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_cursor":{"type":"string","nullable":true}},"required":["tickets","deleted_ticket_count","next_cursor"],"additionalProperties":false},"CreateTicketDto":{"type":"object","properties":{"project_id":{"description":"Project ID","type":"string"},"title":{"type":"string","minLength":1,"maxLength":300,"description":"Ticket title"},"description":{"default":"","description":"Ticket description","type":"string","maxLength":32000},"reporter_email":{"description":"Reporter email","type":"string"},"reporter_discord_user_id":{"description":"Reporter workspace member ID for Discord-origin tickets","type":"string"},"reporter_name":{"description":"Reporter name","type":"string"},"override_customer_reporter_contact":{"description":"Explicitly use reporter contact details that differ from the selected CRM customer","type":"boolean"},"notify_emails":{"description":"Additional emails to inform","type":"array","items":{"type":"string"}},"remove_reporter_from_notify":{"description":"Allows reporters to remove themselves from notifications","type":"boolean"},"type":{"description":"Ticket type","type":"string"},"priority":{"default":"normal","description":"Ticket priority","type":"string","enum":["low","normal","high","urgent"]},"status":{"description":"Status ID for internal creation","type":"string"},"assignee_user_id":{"description":"Assigned support user","type":"string"},"template_id":{"description":"Template ID","type":"string"},"custom_fields":{"default":{},"description":"Template field values","type":"object","additionalProperties":{}},"label_ids":{"default":[],"description":"Internal label IDs","type":"array","items":{"type":"string"}},"attachments":{"default":[],"description":"Ticket attachments","type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment name"},"type":{"type":"string","description":"Attachment mime type"},"size":{"type":"number","description":"Attachment size in bytes"},"url":{"description":"Attachment URL","type":"string"}},"required":["id","name","type","size"]}},"linked_task_ids":{"default":[],"description":"Linked task IDs","type":"array","items":{"type":"string"}},"crm_entities":{"default":[],"description":"People, Organizations, and Records linked to the ticket","maxItems":50,"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"customer_portal_visible":{"description":"Controls whether this ticket appears in the customer portal ticket list","type":"boolean"},"linked_knowledge_document_ids":{"default":[],"description":"Linked knowledge document references","type":"array","items":{"type":"string"}},"ticket_relationships":{"default":[],"description":"Typed ticket relationships","type":"array","items":{"type":"object","properties":{"ticket_id":{"type":"string","description":"Referenced ticket ID"},"type":{"type":"string","enum":["duplicate_of","child_of","caused_by","blocks","related"],"description":"Relationship type"}},"required":["ticket_id","type"]}},"ticket_role":{"default":"standard","description":"Explicit master-ticket role","type":"string","enum":["standard","master"]},"master_sync_policy":{"description":"Master-child sync policy","type":"object","properties":{"master_to_children":{"type":"object","properties":{"status":{"type":"boolean"},"priority":{"type":"boolean"},"labels":{"type":"boolean"},"assignee":{"type":"boolean"},"internal_notes":{"type":"boolean"}}},"child_to_master":{"type":"object","properties":{"reopen_on_reporter_reply":{"type":"boolean"},"aggregate_escalation":{"type":"boolean"}}}}},"sla_id":{"description":"SLA ID","type":"string"},"initial_message":{"description":"Initial public message","type":"string","maxLength":32000}},"required":["title"]},"TicketDto":{"type":"object","properties":{"id":{"type":"string","description":"Ticket ID"},"guild_id":{"type":"string","description":"Workspace ID"},"project_id":{"type":"string","description":"Project ID"},"title":{"type":"string","description":"Ticket title"},"description":{"type":"string","description":"Ticket description"},"type":{"type":"string","description":"Ticket type"},"priority":{"type":"string","enum":["low","normal","high","urgent"],"description":"Ticket priority"},"status":{"type":"string","description":"Configurable status ID, or a customer-safe lifecycle status on public endpoints"},"status_name":{"description":"Resolved status label, or a customer-safe label on public endpoints","type":"string"},"ticket_role":{"type":"string","enum":["standard","master"],"description":"Explicit master-ticket role"},"viewer_email":{"description":"Viewer email resolved from per-recipient public token","type":"string"},"reporter_email":{"type":"string","description":"Reporter email"},"reporter_name":{"description":"Reporter name","type":"string"},"reporter_origin":{"type":"string","enum":["agent","email","public_form","discord","slack"],"description":"Source where the reporter created the ticket"},"notify_emails":{"type":"array","items":{"type":"string"},"description":"Additional notify emails"},"unsubscribed_emails":{"type":"array","items":{"type":"string"},"description":"Users who unsubscribed from notifications"},"assignee_user_id":{"description":"Assigned internal user","type":"string"},"virtual_coworker_assigned_by_user_id":{"description":"Human user who delegated the currently assigned virtual coworker","type":"string"},"virtual_coworker_assigned_at":{"description":"Timestamp when the currently assigned virtual coworker took ownership","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"template_id":{"description":"Template ID","type":"string"},"custom_fields":{"type":"object","additionalProperties":{},"description":"Template custom field values"},"label_ids":{"type":"array","items":{"type":"string"},"description":"Internal label IDs"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"type":{"type":"string","description":"Attachment mime type"},"size":{"type":"number","description":"Attachment size in bytes"},"url":{"description":"Optional public URL","type":"string"},"source":{"description":"Attachment upload origin","type":"string","enum":["public","internal"]},"scan":{"description":"Antivirus scan metadata","type":"object","properties":{"status":{"type":"string","enum":["not_scanned","queued","scanning","clean","malware","scan_failed","scan_skipped_limit"],"description":"Antivirus scan status"},"provider":{"type":"string","enum":["clamav"],"description":"Antivirus scan provider"},"queuedAt":{"description":"When the attachment was queued for scanning","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"startedAt":{"description":"When the current scan attempt started","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannedAt":{"description":"When the attachment was last scanned","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextRetryAt":{"description":"When the scan queue will retry after a failed dispatch","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannerVersion":{"description":"Scanner engine version","type":"string"},"signatureVersion":{"description":"Scanner signature database version","type":"string"},"findingName":{"description":"Malware signature name when detected","type":"string"},"error":{"description":"Last scan error","type":"string"},"attempts":{"description":"Number of scan attempts","type":"number"}},"required":["status","provider"]}},"required":["id","name","type","size"]},"description":"Ticket-level attachments"},"messages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Message ID"},"text":{"type":"string","description":"Message content"},"visibility":{"type":"string","enum":["public","internal"],"description":"Message visibility"},"author_type":{"type":"string","enum":["reporter","support","system"],"description":"Author type"},"author_id":{"description":"Author user ID for internal users","type":"string"},"author_email":{"description":"Author email for public users","type":"string"},"author_name":{"description":"Author display name","type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Message creation timestamp"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"type":{"type":"string","description":"Attachment mime type"},"size":{"type":"number","description":"Attachment size in bytes"},"url":{"description":"Optional public URL","type":"string"},"source":{"description":"Attachment upload origin","type":"string","enum":["public","internal"]},"scan":{"description":"Antivirus scan metadata","type":"object","properties":{"status":{"type":"string","enum":["not_scanned","queued","scanning","clean","malware","scan_failed","scan_skipped_limit"],"description":"Antivirus scan status"},"provider":{"type":"string","enum":["clamav"],"description":"Antivirus scan provider"},"queuedAt":{"description":"When the attachment was queued for scanning","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"startedAt":{"description":"When the current scan attempt started","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannedAt":{"description":"When the attachment was last scanned","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextRetryAt":{"description":"When the scan queue will retry after a failed dispatch","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannerVersion":{"description":"Scanner engine version","type":"string"},"signatureVersion":{"description":"Scanner signature database version","type":"string"},"findingName":{"description":"Malware signature name when detected","type":"string"},"error":{"description":"Last scan error","type":"string"},"attempts":{"description":"Number of scan attempts","type":"number"}},"required":["status","provider"]}},"required":["id","name","type","size"]},"description":"Message attachments"}},"required":["id","text","visibility","author_type","created_at","attachments"]},"description":"Public supporter and reporter chat"},"internal_notes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Message ID"},"text":{"type":"string","description":"Message content"},"visibility":{"type":"string","enum":["public","internal"],"description":"Message visibility"},"author_type":{"type":"string","enum":["reporter","support","system"],"description":"Author type"},"author_id":{"description":"Author user ID for internal users","type":"string"},"author_email":{"description":"Author email for public users","type":"string"},"author_name":{"description":"Author display name","type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Message creation timestamp"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"type":{"type":"string","description":"Attachment mime type"},"size":{"type":"number","description":"Attachment size in bytes"},"url":{"description":"Optional public URL","type":"string"},"source":{"description":"Attachment upload origin","type":"string","enum":["public","internal"]},"scan":{"description":"Antivirus scan metadata","type":"object","properties":{"status":{"type":"string","enum":["not_scanned","queued","scanning","clean","malware","scan_failed","scan_skipped_limit"],"description":"Antivirus scan status"},"provider":{"type":"string","enum":["clamav"],"description":"Antivirus scan provider"},"queuedAt":{"description":"When the attachment was queued for scanning","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"startedAt":{"description":"When the current scan attempt started","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannedAt":{"description":"When the attachment was last scanned","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextRetryAt":{"description":"When the scan queue will retry after a failed dispatch","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannerVersion":{"description":"Scanner engine version","type":"string"},"signatureVersion":{"description":"Scanner signature database version","type":"string"},"findingName":{"description":"Malware signature name when detected","type":"string"},"error":{"description":"Last scan error","type":"string"},"attempts":{"description":"Number of scan attempts","type":"number"}},"required":["status","provider"]}},"required":["id","name","type","size"]},"description":"Message attachments"}},"required":["id","text","visibility","author_type","created_at","attachments"]},"description":"Internal ticket comments"},"linked_task_ids":{"type":"array","items":{"type":"string"},"description":"Linked task IDs"},"customer_id":{"description":"Linked customer ID","type":"string"},"crm_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]},"description":"People, Organizations, and Records linked to the ticket"},"customer_portal_visible":{"type":"boolean","description":"Whether this ticket is visible in the authenticated customer portal","nullable":true},"customer_portal_replies_enabled":{"type":"boolean","description":"Whether public/customer portal viewers can add replies to this ticket thread"},"customer_portal_uploads_enabled":{"type":"boolean","description":"Whether public/customer portal viewers can upload attachments to this ticket thread"},"file_upload_allowed_mime_types":{"description":"Allowed upload MIME types or category wildcards such as image/*. Empty allows all file types","type":"array","items":{"type":"string"}},"knowledge_document_id":{"description":"Read-only primary document index derived from document links","type":"string"},"linked_knowledge_document_ids":{"type":"array","items":{"type":"string"},"description":"Canonical linked knowledge document IDs"},"master_ticket_id":{"description":"Read-only master ticket index derived from relationships","type":"string"},"linked_ticket_ids":{"type":"array","items":{"type":"string"},"description":"Read-only child ticket index derived from relationships"},"ticket_relationships":{"type":"array","items":{"type":"object","properties":{"ticket_id":{"type":"string","description":"Referenced ticket ID"},"type":{"type":"string","enum":["duplicate_of","child_of","caused_by","blocks","related"],"description":"Directional relationship type relative to the current ticket"}},"required":["ticket_id","type"]},"description":"Canonical typed ticket relationships"},"master_sync_policy":{"description":"Master-child sync policy","type":"object","properties":{"master_to_children":{"type":"object","properties":{"status":{"type":"boolean"},"priority":{"type":"boolean"},"labels":{"type":"boolean"},"assignee":{"type":"boolean"},"internal_notes":{"type":"boolean"}},"required":["status","priority","labels","assignee","internal_notes"]},"child_to_master":{"type":"object","properties":{"reopen_on_reporter_reply":{"type":"boolean"},"aggregate_escalation":{"type":"boolean"}},"required":["reopen_on_reporter_reply","aggregate_escalation"]}},"required":["master_to_children","child_to_master"]},"sla_id":{"description":"SLA definition ID","type":"string"},"sla_warning_active":{"type":"boolean","description":"True when ticket passed warning threshold"},"people_routing_audit":{"description":"Last persisted People routing decision for observability","type":"object","properties":{"matched_policy_id":{"type":"string"},"chosen_assignee_user_id":{"type":"string"},"fallback_reason":{"type":"string","enum":["policy_target","policy_backup","assignee_manager_chain","team_lead_or_manager","workspace_default_escalation","vacation_replacement","no_matching_policy","no_eligible_candidate"]},"candidate_user_ids":{"type":"array","items":{"type":"string"}},"candidates":{"default":[],"type":"array","items":{"type":"object","properties":{"user_id":{"type":"string","description":"Candidate user id"},"display_name":{"description":"Candidate display name at routing time","type":"string"},"fallback_reason":{"type":"string","enum":["policy_target","policy_backup","assignee_manager_chain","team_lead_or_manager","workspace_default_escalation","vacation_replacement","no_matching_policy","no_eligible_candidate"],"description":"Fallback pool that produced this candidate"},"eligible":{"type":"boolean","description":"Whether this candidate was eligible for assignment"},"skipped_reason":{"description":"Reason an ineligible candidate was skipped","type":"string","enum":["not_workspace_member","inactive_member","inactive_profile","vacation_replacement","routing_disabled","missing_capacity","no_available_capacity"]},"utilization":{"description":"Capacity utilization at routing time","type":"number"},"available_minutes":{"description":"Available capacity minutes at routing time","type":"number"},"booked_minutes":{"description":"Booked capacity minutes at routing time","type":"number"},"open_task_count":{"description":"Open tasks counted at routing time","type":"number"},"open_ticket_count":{"description":"Open assigned tickets counted at routing time","type":"number"},"sla_risk_ticket_count":{"description":"SLA-risk tickets counted at routing time","type":"number"},"overload":{"description":"Whether booked work exceeded available capacity","type":"boolean"}},"required":["user_id","fallback_reason","eligible"]}},"fallback_path":{"default":[],"type":"array","items":{"type":"object","properties":{"reason":{"type":"string","enum":["policy_target","policy_backup","assignee_manager_chain","team_lead_or_manager","workspace_default_escalation","vacation_replacement","no_matching_policy","no_eligible_candidate"],"description":"Fallback pool that was evaluated"},"user_ids":{"type":"array","items":{"type":"string"},"description":"Raw users considered in this pool"},"eligible_user_ids":{"type":"array","items":{"type":"string"},"description":"Users still eligible after routing filters"},"skipped_user_ids":{"type":"array","items":{"type":"string"},"description":"Users skipped by routing filters"},"chosen_user_id":{"description":"Chosen user id when this pool selected the assignee","type":"string"}},"required":["reason","user_ids","eligible_user_ids","skipped_user_ids"]}},"selection_mode":{"type":"string","enum":["capacity","rotation"]},"source":{"type":"string","enum":["ticket_create","manual_reroute","sla_warning","sla_breach","availability_handoff","preview"]},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Timestamp when the routing decision was recorded"},"manual_override":{"description":"Manual override metadata when the auto-routed assignee was changed","type":"object","properties":{"previous_assignee_user_id":{"description":"Auto-routed assignee before manual override","type":"string"},"next_assignee_user_id":{"description":"Manual assignee after the override","type":"string"},"reason":{"description":"Operator-entered reason for the manual override","type":"string"},"actor_user_id":{"description":"User who performed the override when available","type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Timestamp when the manual override was recorded"}},"required":["created_at"]}},"required":["fallback_reason","candidate_user_ids","source","created_at"]},"ticket_age_minutes":{"type":"number","description":"Calculated ticket age in minutes"},"waiting_on_reporter_since":{"description":"Since when ticket waits on reporter","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Creation timestamp"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Last update timestamp"},"closed_at":{"description":"Resolution timestamp","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"public_token":{"type":"string","description":"Capability token for public responses"},"statistics":{"type":"object","properties":{"first_response_at":{"description":"Timestamp of first public support response","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"first_response_minutes":{"description":"Time to first response in minutes","type":"number"},"resolved_at":{"description":"Timestamp when ticket was resolved","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"resolution_minutes":{"description":"Resolution time in minutes","type":"number"}},"description":"Persisted ticket statistics"},"master_rollup":{"description":"Computed roll-up summary for master tickets","type":"object","properties":{"child_ticket_ids":{"type":"array","items":{"type":"string"},"description":"Resolved child ticket IDs included in roll-up"},"child_count_total":{"type":"number","description":"Total child ticket count"},"child_count_open":{"type":"number","description":"Open child ticket count"},"child_count_closed":{"type":"number","description":"Closed child ticket count"},"child_count_sla_warning":{"type":"number","description":"Child tickets currently in SLA warning"},"child_counts_by_status":{"type":"array","items":{"type":"object","properties":{"status":{"type":"string","description":"Child status ID"},"status_name":{"description":"Resolved child status label","type":"string"},"count":{"type":"number","description":"Number of child tickets in this status"}},"required":["status","count"]},"description":"Child counts grouped by status"},"latest_customer_reply_at":{"description":"Latest public reporter reply timestamp across children","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"affected_customer_ids":{"type":"array","items":{"type":"string"},"description":"Distinct affected customer IDs from child tickets"},"affected_project_ids":{"type":"array","items":{"type":"string"},"description":"Distinct affected project IDs from child tickets"}},"required":["child_ticket_ids","child_count_total","child_count_open","child_count_closed","child_count_sla_warning","child_counts_by_status","affected_customer_ids","affected_project_ids"]}},"required":["id","guild_id","project_id","title","description","type","priority","status","ticket_role","reporter_email","reporter_origin","notify_emails","unsubscribed_emails","custom_fields","label_ids","attachments","messages","internal_notes","linked_task_ids","crm_entities","customer_portal_replies_enabled","customer_portal_uploads_enabled","linked_knowledge_document_ids","linked_ticket_ids","ticket_relationships","sla_warning_active","ticket_age_minutes","created_at","updated_at","public_token","statistics"]},"TicketDto_Output":{"type":"object","properties":{"id":{"type":"string","description":"Ticket ID"},"guild_id":{"type":"string","description":"Workspace ID"},"project_id":{"type":"string","description":"Project ID"},"title":{"type":"string","description":"Ticket title"},"description":{"type":"string","description":"Ticket description"},"type":{"type":"string","description":"Ticket type"},"priority":{"type":"string","enum":["low","normal","high","urgent"],"description":"Ticket priority"},"status":{"type":"string","description":"Configurable status ID, or a customer-safe lifecycle status on public endpoints"},"status_name":{"description":"Resolved status label, or a customer-safe label on public endpoints","type":"string"},"ticket_role":{"type":"string","enum":["standard","master"],"description":"Explicit master-ticket role"},"viewer_email":{"description":"Viewer email resolved from per-recipient public token","type":"string"},"reporter_email":{"type":"string","description":"Reporter email"},"reporter_name":{"description":"Reporter name","type":"string"},"reporter_origin":{"type":"string","enum":["agent","email","public_form","discord","slack"],"description":"Source where the reporter created the ticket"},"notify_emails":{"type":"array","items":{"type":"string"},"description":"Additional notify emails"},"unsubscribed_emails":{"type":"array","items":{"type":"string"},"description":"Users who unsubscribed from notifications"},"assignee_user_id":{"description":"Assigned internal user","type":"string"},"virtual_coworker_assigned_by_user_id":{"description":"Human user who delegated the currently assigned virtual coworker","type":"string"},"virtual_coworker_assigned_at":{"description":"Timestamp when the currently assigned virtual coworker took ownership","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"template_id":{"description":"Template ID","type":"string"},"custom_fields":{"type":"object","additionalProperties":{},"description":"Template custom field values"},"label_ids":{"type":"array","items":{"type":"string"},"description":"Internal label IDs"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"type":{"type":"string","description":"Attachment mime type"},"size":{"type":"number","description":"Attachment size in bytes"},"url":{"description":"Optional public URL","type":"string"},"source":{"description":"Attachment upload origin","type":"string","enum":["public","internal"]},"scan":{"description":"Antivirus scan metadata","type":"object","properties":{"status":{"type":"string","enum":["not_scanned","queued","scanning","clean","malware","scan_failed","scan_skipped_limit"],"description":"Antivirus scan status"},"provider":{"type":"string","enum":["clamav"],"description":"Antivirus scan provider"},"queuedAt":{"description":"When the attachment was queued for scanning","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"startedAt":{"description":"When the current scan attempt started","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannedAt":{"description":"When the attachment was last scanned","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextRetryAt":{"description":"When the scan queue will retry after a failed dispatch","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannerVersion":{"description":"Scanner engine version","type":"string"},"signatureVersion":{"description":"Scanner signature database version","type":"string"},"findingName":{"description":"Malware signature name when detected","type":"string"},"error":{"description":"Last scan error","type":"string"},"attempts":{"description":"Number of scan attempts","type":"number"}},"required":["status","provider"],"additionalProperties":false}},"required":["id","name","type","size"],"additionalProperties":false},"description":"Ticket-level attachments"},"messages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Message ID"},"text":{"type":"string","description":"Message content"},"visibility":{"type":"string","enum":["public","internal"],"description":"Message visibility"},"author_type":{"type":"string","enum":["reporter","support","system"],"description":"Author type"},"author_id":{"description":"Author user ID for internal users","type":"string"},"author_email":{"description":"Author email for public users","type":"string"},"author_name":{"description":"Author display name","type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Message creation timestamp"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"type":{"type":"string","description":"Attachment mime type"},"size":{"type":"number","description":"Attachment size in bytes"},"url":{"description":"Optional public URL","type":"string"},"source":{"description":"Attachment upload origin","type":"string","enum":["public","internal"]},"scan":{"description":"Antivirus scan metadata","type":"object","properties":{"status":{"type":"string","enum":["not_scanned","queued","scanning","clean","malware","scan_failed","scan_skipped_limit"],"description":"Antivirus scan status"},"provider":{"type":"string","enum":["clamav"],"description":"Antivirus scan provider"},"queuedAt":{"description":"When the attachment was queued for scanning","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"startedAt":{"description":"When the current scan attempt started","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannedAt":{"description":"When the attachment was last scanned","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextRetryAt":{"description":"When the scan queue will retry after a failed dispatch","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannerVersion":{"description":"Scanner engine version","type":"string"},"signatureVersion":{"description":"Scanner signature database version","type":"string"},"findingName":{"description":"Malware signature name when detected","type":"string"},"error":{"description":"Last scan error","type":"string"},"attempts":{"description":"Number of scan attempts","type":"number"}},"required":["status","provider"],"additionalProperties":false}},"required":["id","name","type","size"],"additionalProperties":false},"description":"Message attachments"}},"required":["id","text","visibility","author_type","created_at","attachments"],"additionalProperties":false},"description":"Public supporter and reporter chat"},"internal_notes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Message ID"},"text":{"type":"string","description":"Message content"},"visibility":{"type":"string","enum":["public","internal"],"description":"Message visibility"},"author_type":{"type":"string","enum":["reporter","support","system"],"description":"Author type"},"author_id":{"description":"Author user ID for internal users","type":"string"},"author_email":{"description":"Author email for public users","type":"string"},"author_name":{"description":"Author display name","type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Message creation timestamp"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"type":{"type":"string","description":"Attachment mime type"},"size":{"type":"number","description":"Attachment size in bytes"},"url":{"description":"Optional public URL","type":"string"},"source":{"description":"Attachment upload origin","type":"string","enum":["public","internal"]},"scan":{"description":"Antivirus scan metadata","type":"object","properties":{"status":{"type":"string","enum":["not_scanned","queued","scanning","clean","malware","scan_failed","scan_skipped_limit"],"description":"Antivirus scan status"},"provider":{"type":"string","enum":["clamav"],"description":"Antivirus scan provider"},"queuedAt":{"description":"When the attachment was queued for scanning","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"startedAt":{"description":"When the current scan attempt started","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannedAt":{"description":"When the attachment was last scanned","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextRetryAt":{"description":"When the scan queue will retry after a failed dispatch","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannerVersion":{"description":"Scanner engine version","type":"string"},"signatureVersion":{"description":"Scanner signature database version","type":"string"},"findingName":{"description":"Malware signature name when detected","type":"string"},"error":{"description":"Last scan error","type":"string"},"attempts":{"description":"Number of scan attempts","type":"number"}},"required":["status","provider"],"additionalProperties":false}},"required":["id","name","type","size"],"additionalProperties":false},"description":"Message attachments"}},"required":["id","text","visibility","author_type","created_at","attachments"],"additionalProperties":false},"description":"Internal ticket comments"},"linked_task_ids":{"type":"array","items":{"type":"string"},"description":"Linked task IDs"},"customer_id":{"description":"Linked customer ID","type":"string"},"crm_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false},"description":"People, Organizations, and Records linked to the ticket"},"customer_portal_visible":{"type":"boolean","description":"Whether this ticket is visible in the authenticated customer portal","nullable":true},"customer_portal_replies_enabled":{"type":"boolean","description":"Whether public/customer portal viewers can add replies to this ticket thread"},"customer_portal_uploads_enabled":{"type":"boolean","description":"Whether public/customer portal viewers can upload attachments to this ticket thread"},"file_upload_allowed_mime_types":{"description":"Allowed upload MIME types or category wildcards such as image/*. Empty allows all file types","type":"array","items":{"type":"string"}},"knowledge_document_id":{"description":"Read-only primary document index derived from document links","type":"string"},"linked_knowledge_document_ids":{"type":"array","items":{"type":"string"},"description":"Canonical linked knowledge document IDs"},"master_ticket_id":{"description":"Read-only master ticket index derived from relationships","type":"string"},"linked_ticket_ids":{"type":"array","items":{"type":"string"},"description":"Read-only child ticket index derived from relationships"},"ticket_relationships":{"type":"array","items":{"type":"object","properties":{"ticket_id":{"type":"string","description":"Referenced ticket ID"},"type":{"type":"string","enum":["duplicate_of","child_of","caused_by","blocks","related"],"description":"Directional relationship type relative to the current ticket"}},"required":["ticket_id","type"],"additionalProperties":false},"description":"Canonical typed ticket relationships"},"master_sync_policy":{"description":"Master-child sync policy","type":"object","properties":{"master_to_children":{"type":"object","properties":{"status":{"type":"boolean"},"priority":{"type":"boolean"},"labels":{"type":"boolean"},"assignee":{"type":"boolean"},"internal_notes":{"type":"boolean"}},"required":["status","priority","labels","assignee","internal_notes"],"additionalProperties":false},"child_to_master":{"type":"object","properties":{"reopen_on_reporter_reply":{"type":"boolean"},"aggregate_escalation":{"type":"boolean"}},"required":["reopen_on_reporter_reply","aggregate_escalation"],"additionalProperties":false}},"required":["master_to_children","child_to_master"],"additionalProperties":false},"sla_id":{"description":"SLA definition ID","type":"string"},"sla_warning_active":{"type":"boolean","description":"True when ticket passed warning threshold"},"people_routing_audit":{"description":"Last persisted People routing decision for observability","type":"object","properties":{"matched_policy_id":{"type":"string"},"chosen_assignee_user_id":{"type":"string"},"fallback_reason":{"type":"string","enum":["policy_target","policy_backup","assignee_manager_chain","team_lead_or_manager","workspace_default_escalation","vacation_replacement","no_matching_policy","no_eligible_candidate"]},"candidate_user_ids":{"type":"array","items":{"type":"string"}},"candidates":{"default":[],"type":"array","items":{"type":"object","properties":{"user_id":{"type":"string","description":"Candidate user id"},"display_name":{"description":"Candidate display name at routing time","type":"string"},"fallback_reason":{"type":"string","enum":["policy_target","policy_backup","assignee_manager_chain","team_lead_or_manager","workspace_default_escalation","vacation_replacement","no_matching_policy","no_eligible_candidate"],"description":"Fallback pool that produced this candidate"},"eligible":{"type":"boolean","description":"Whether this candidate was eligible for assignment"},"skipped_reason":{"description":"Reason an ineligible candidate was skipped","type":"string","enum":["not_workspace_member","inactive_member","inactive_profile","vacation_replacement","routing_disabled","missing_capacity","no_available_capacity"]},"utilization":{"description":"Capacity utilization at routing time","type":"number"},"available_minutes":{"description":"Available capacity minutes at routing time","type":"number"},"booked_minutes":{"description":"Booked capacity minutes at routing time","type":"number"},"open_task_count":{"description":"Open tasks counted at routing time","type":"number"},"open_ticket_count":{"description":"Open assigned tickets counted at routing time","type":"number"},"sla_risk_ticket_count":{"description":"SLA-risk tickets counted at routing time","type":"number"},"overload":{"description":"Whether booked work exceeded available capacity","type":"boolean"}},"required":["user_id","fallback_reason","eligible"],"additionalProperties":false}},"fallback_path":{"default":[],"type":"array","items":{"type":"object","properties":{"reason":{"type":"string","enum":["policy_target","policy_backup","assignee_manager_chain","team_lead_or_manager","workspace_default_escalation","vacation_replacement","no_matching_policy","no_eligible_candidate"],"description":"Fallback pool that was evaluated"},"user_ids":{"type":"array","items":{"type":"string"},"description":"Raw users considered in this pool"},"eligible_user_ids":{"type":"array","items":{"type":"string"},"description":"Users still eligible after routing filters"},"skipped_user_ids":{"type":"array","items":{"type":"string"},"description":"Users skipped by routing filters"},"chosen_user_id":{"description":"Chosen user id when this pool selected the assignee","type":"string"}},"required":["reason","user_ids","eligible_user_ids","skipped_user_ids"],"additionalProperties":false}},"selection_mode":{"type":"string","enum":["capacity","rotation"]},"source":{"type":"string","enum":["ticket_create","manual_reroute","sla_warning","sla_breach","availability_handoff","preview"]},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Timestamp when the routing decision was recorded"},"manual_override":{"description":"Manual override metadata when the auto-routed assignee was changed","type":"object","properties":{"previous_assignee_user_id":{"description":"Auto-routed assignee before manual override","type":"string"},"next_assignee_user_id":{"description":"Manual assignee after the override","type":"string"},"reason":{"description":"Operator-entered reason for the manual override","type":"string"},"actor_user_id":{"description":"User who performed the override when available","type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Timestamp when the manual override was recorded"}},"required":["created_at"],"additionalProperties":false}},"required":["fallback_reason","candidate_user_ids","candidates","fallback_path","source","created_at"],"additionalProperties":false},"ticket_age_minutes":{"type":"number","description":"Calculated ticket age in minutes"},"waiting_on_reporter_since":{"description":"Since when ticket waits on reporter","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Creation timestamp"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Last update timestamp"},"closed_at":{"description":"Resolution timestamp","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"public_token":{"type":"string","description":"Capability token for public responses"},"statistics":{"type":"object","properties":{"first_response_at":{"description":"Timestamp of first public support response","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"first_response_minutes":{"description":"Time to first response in minutes","type":"number"},"resolved_at":{"description":"Timestamp when ticket was resolved","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"resolution_minutes":{"description":"Resolution time in minutes","type":"number"}},"additionalProperties":false,"description":"Persisted ticket statistics"},"master_rollup":{"description":"Computed roll-up summary for master tickets","type":"object","properties":{"child_ticket_ids":{"type":"array","items":{"type":"string"},"description":"Resolved child ticket IDs included in roll-up"},"child_count_total":{"type":"number","description":"Total child ticket count"},"child_count_open":{"type":"number","description":"Open child ticket count"},"child_count_closed":{"type":"number","description":"Closed child ticket count"},"child_count_sla_warning":{"type":"number","description":"Child tickets currently in SLA warning"},"child_counts_by_status":{"type":"array","items":{"type":"object","properties":{"status":{"type":"string","description":"Child status ID"},"status_name":{"description":"Resolved child status label","type":"string"},"count":{"type":"number","description":"Number of child tickets in this status"}},"required":["status","count"],"additionalProperties":false},"description":"Child counts grouped by status"},"latest_customer_reply_at":{"description":"Latest public reporter reply timestamp across children","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"affected_customer_ids":{"type":"array","items":{"type":"string"},"description":"Distinct affected customer IDs from child tickets"},"affected_project_ids":{"type":"array","items":{"type":"string"},"description":"Distinct affected project IDs from child tickets"}},"required":["child_ticket_ids","child_count_total","child_count_open","child_count_closed","child_count_sla_warning","child_counts_by_status","affected_customer_ids","affected_project_ids"],"additionalProperties":false}},"required":["id","guild_id","project_id","title","description","type","priority","status","ticket_role","reporter_email","reporter_origin","notify_emails","unsubscribed_emails","custom_fields","label_ids","attachments","messages","internal_notes","linked_task_ids","crm_entities","customer_portal_replies_enabled","customer_portal_uploads_enabled","linked_knowledge_document_ids","linked_ticket_ids","ticket_relationships","sla_warning_active","ticket_age_minutes","created_at","updated_at","public_token","statistics"],"additionalProperties":false},"UpdateTicketDto":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":300},"description":{"type":"string","maxLength":32000},"type":{"type":"string"},"priority":{"type":"string","enum":["low","normal","high","urgent"]},"status":{"type":"string"},"assignee_user_id":{"type":"string"},"assignee_override_reason":{"description":"Reason recorded when overriding an auto-routed assignee","type":"string","maxLength":500},"template_id":{"type":"string"},"custom_fields":{"type":"object","additionalProperties":{}},"label_ids":{"type":"array","items":{"type":"string"}},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment name"},"type":{"type":"string","description":"Attachment mime type"},"size":{"type":"number","description":"Attachment size in bytes"},"url":{"description":"Attachment URL","type":"string"}},"required":["id","name","type","size"]}},"linked_task_ids":{"type":"array","items":{"type":"string"}},"crm_entities":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"linked_knowledge_document_ids":{"type":"array","items":{"type":"string"}},"ticket_relationships":{"type":"array","items":{"type":"object","properties":{"ticket_id":{"type":"string","description":"Referenced ticket ID"},"type":{"type":"string","enum":["duplicate_of","child_of","caused_by","blocks","related"],"description":"Relationship type"}},"required":["ticket_id","type"]}},"customer_portal_visible":{"description":"Controls whether this ticket appears in the customer portal ticket list","type":"boolean"},"ticket_role":{"type":"string","enum":["standard","master"]},"master_sync_policy":{"type":"object","properties":{"master_to_children":{"type":"object","properties":{"status":{"type":"boolean"},"priority":{"type":"boolean"},"labels":{"type":"boolean"},"assignee":{"type":"boolean"},"internal_notes":{"type":"boolean"}}},"child_to_master":{"type":"object","properties":{"reopen_on_reporter_reply":{"type":"boolean"},"aggregate_escalation":{"type":"boolean"}}}}},"sla_id":{"type":"string"},"notify_emails":{"type":"array","items":{"type":"string"}},"reporter_email":{"type":"string"},"reporter_name":{"type":"string"},"override_customer_reporter_contact":{"description":"Explicitly use reporter contact details that differ from the selected CRM customer","type":"boolean"}}},"TicketRerouteResponseDto_Output":{"type":"object","properties":{"ticket":{"type":"object","properties":{"id":{"type":"string","description":"Ticket ID"},"guild_id":{"type":"string","description":"Workspace ID"},"project_id":{"type":"string","description":"Project ID"},"title":{"type":"string","description":"Ticket title"},"description":{"type":"string","description":"Ticket description"},"type":{"type":"string","description":"Ticket type"},"priority":{"type":"string","enum":["low","normal","high","urgent"],"description":"Ticket priority"},"status":{"type":"string","description":"Configurable status ID, or a customer-safe lifecycle status on public endpoints"},"status_name":{"description":"Resolved status label, or a customer-safe label on public endpoints","type":"string"},"ticket_role":{"type":"string","enum":["standard","master"],"description":"Explicit master-ticket role"},"viewer_email":{"description":"Viewer email resolved from per-recipient public token","type":"string"},"reporter_email":{"type":"string","description":"Reporter email"},"reporter_name":{"description":"Reporter name","type":"string"},"reporter_origin":{"type":"string","enum":["agent","email","public_form","discord","slack"],"description":"Source where the reporter created the ticket"},"notify_emails":{"type":"array","items":{"type":"string"},"description":"Additional notify emails"},"unsubscribed_emails":{"type":"array","items":{"type":"string"},"description":"Users who unsubscribed from notifications"},"assignee_user_id":{"description":"Assigned internal user","type":"string"},"virtual_coworker_assigned_by_user_id":{"description":"Human user who delegated the currently assigned virtual coworker","type":"string"},"virtual_coworker_assigned_at":{"description":"Timestamp when the currently assigned virtual coworker took ownership","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"template_id":{"description":"Template ID","type":"string"},"custom_fields":{"type":"object","additionalProperties":{},"description":"Template custom field values"},"label_ids":{"type":"array","items":{"type":"string"},"description":"Internal label IDs"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"type":{"type":"string","description":"Attachment mime type"},"size":{"type":"number","description":"Attachment size in bytes"},"url":{"description":"Optional public URL","type":"string"},"source":{"description":"Attachment upload origin","type":"string","enum":["public","internal"]},"scan":{"description":"Antivirus scan metadata","type":"object","properties":{"status":{"type":"string","enum":["not_scanned","queued","scanning","clean","malware","scan_failed","scan_skipped_limit"],"description":"Antivirus scan status"},"provider":{"type":"string","enum":["clamav"],"description":"Antivirus scan provider"},"queuedAt":{"description":"When the attachment was queued for scanning","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"startedAt":{"description":"When the current scan attempt started","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannedAt":{"description":"When the attachment was last scanned","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextRetryAt":{"description":"When the scan queue will retry after a failed dispatch","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannerVersion":{"description":"Scanner engine version","type":"string"},"signatureVersion":{"description":"Scanner signature database version","type":"string"},"findingName":{"description":"Malware signature name when detected","type":"string"},"error":{"description":"Last scan error","type":"string"},"attempts":{"description":"Number of scan attempts","type":"number"}},"required":["status","provider"],"additionalProperties":false}},"required":["id","name","type","size"],"additionalProperties":false},"description":"Ticket-level attachments"},"messages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Message ID"},"text":{"type":"string","description":"Message content"},"visibility":{"type":"string","enum":["public","internal"],"description":"Message visibility"},"author_type":{"type":"string","enum":["reporter","support","system"],"description":"Author type"},"author_id":{"description":"Author user ID for internal users","type":"string"},"author_email":{"description":"Author email for public users","type":"string"},"author_name":{"description":"Author display name","type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Message creation timestamp"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"type":{"type":"string","description":"Attachment mime type"},"size":{"type":"number","description":"Attachment size in bytes"},"url":{"description":"Optional public URL","type":"string"},"source":{"description":"Attachment upload origin","type":"string","enum":["public","internal"]},"scan":{"description":"Antivirus scan metadata","type":"object","properties":{"status":{"type":"string","enum":["not_scanned","queued","scanning","clean","malware","scan_failed","scan_skipped_limit"],"description":"Antivirus scan status"},"provider":{"type":"string","enum":["clamav"],"description":"Antivirus scan provider"},"queuedAt":{"description":"When the attachment was queued for scanning","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"startedAt":{"description":"When the current scan attempt started","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannedAt":{"description":"When the attachment was last scanned","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextRetryAt":{"description":"When the scan queue will retry after a failed dispatch","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannerVersion":{"description":"Scanner engine version","type":"string"},"signatureVersion":{"description":"Scanner signature database version","type":"string"},"findingName":{"description":"Malware signature name when detected","type":"string"},"error":{"description":"Last scan error","type":"string"},"attempts":{"description":"Number of scan attempts","type":"number"}},"required":["status","provider"],"additionalProperties":false}},"required":["id","name","type","size"],"additionalProperties":false},"description":"Message attachments"}},"required":["id","text","visibility","author_type","created_at","attachments"],"additionalProperties":false},"description":"Public supporter and reporter chat"},"internal_notes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Message ID"},"text":{"type":"string","description":"Message content"},"visibility":{"type":"string","enum":["public","internal"],"description":"Message visibility"},"author_type":{"type":"string","enum":["reporter","support","system"],"description":"Author type"},"author_id":{"description":"Author user ID for internal users","type":"string"},"author_email":{"description":"Author email for public users","type":"string"},"author_name":{"description":"Author display name","type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Message creation timestamp"},"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"type":{"type":"string","description":"Attachment mime type"},"size":{"type":"number","description":"Attachment size in bytes"},"url":{"description":"Optional public URL","type":"string"},"source":{"description":"Attachment upload origin","type":"string","enum":["public","internal"]},"scan":{"description":"Antivirus scan metadata","type":"object","properties":{"status":{"type":"string","enum":["not_scanned","queued","scanning","clean","malware","scan_failed","scan_skipped_limit"],"description":"Antivirus scan status"},"provider":{"type":"string","enum":["clamav"],"description":"Antivirus scan provider"},"queuedAt":{"description":"When the attachment was queued for scanning","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"startedAt":{"description":"When the current scan attempt started","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannedAt":{"description":"When the attachment was last scanned","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"nextRetryAt":{"description":"When the scan queue will retry after a failed dispatch","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scannerVersion":{"description":"Scanner engine version","type":"string"},"signatureVersion":{"description":"Scanner signature database version","type":"string"},"findingName":{"description":"Malware signature name when detected","type":"string"},"error":{"description":"Last scan error","type":"string"},"attempts":{"description":"Number of scan attempts","type":"number"}},"required":["status","provider"],"additionalProperties":false}},"required":["id","name","type","size"],"additionalProperties":false},"description":"Message attachments"}},"required":["id","text","visibility","author_type","created_at","attachments"],"additionalProperties":false},"description":"Internal ticket comments"},"linked_task_ids":{"type":"array","items":{"type":"string"},"description":"Linked task IDs"},"customer_id":{"description":"Linked customer ID","type":"string"},"crm_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false},"description":"People, Organizations, and Records linked to the ticket"},"customer_portal_visible":{"type":"boolean","description":"Whether this ticket is visible in the authenticated customer portal","nullable":true},"customer_portal_replies_enabled":{"type":"boolean","description":"Whether public/customer portal viewers can add replies to this ticket thread"},"customer_portal_uploads_enabled":{"type":"boolean","description":"Whether public/customer portal viewers can upload attachments to this ticket thread"},"file_upload_allowed_mime_types":{"description":"Allowed upload MIME types or category wildcards such as image/*. Empty allows all file types","type":"array","items":{"type":"string"}},"knowledge_document_id":{"description":"Read-only primary document index derived from document links","type":"string"},"linked_knowledge_document_ids":{"type":"array","items":{"type":"string"},"description":"Canonical linked knowledge document IDs"},"master_ticket_id":{"description":"Read-only master ticket index derived from relationships","type":"string"},"linked_ticket_ids":{"type":"array","items":{"type":"string"},"description":"Read-only child ticket index derived from relationships"},"ticket_relationships":{"type":"array","items":{"type":"object","properties":{"ticket_id":{"type":"string","description":"Referenced ticket ID"},"type":{"type":"string","enum":["duplicate_of","child_of","caused_by","blocks","related"],"description":"Directional relationship type relative to the current ticket"}},"required":["ticket_id","type"],"additionalProperties":false},"description":"Canonical typed ticket relationships"},"master_sync_policy":{"description":"Master-child sync policy","type":"object","properties":{"master_to_children":{"type":"object","properties":{"status":{"type":"boolean"},"priority":{"type":"boolean"},"labels":{"type":"boolean"},"assignee":{"type":"boolean"},"internal_notes":{"type":"boolean"}},"required":["status","priority","labels","assignee","internal_notes"],"additionalProperties":false},"child_to_master":{"type":"object","properties":{"reopen_on_reporter_reply":{"type":"boolean"},"aggregate_escalation":{"type":"boolean"}},"required":["reopen_on_reporter_reply","aggregate_escalation"],"additionalProperties":false}},"required":["master_to_children","child_to_master"],"additionalProperties":false},"sla_id":{"description":"SLA definition ID","type":"string"},"sla_warning_active":{"type":"boolean","description":"True when ticket passed warning threshold"},"people_routing_audit":{"description":"Last persisted People routing decision for observability","type":"object","properties":{"matched_policy_id":{"type":"string"},"chosen_assignee_user_id":{"type":"string"},"fallback_reason":{"type":"string","enum":["policy_target","policy_backup","assignee_manager_chain","team_lead_or_manager","workspace_default_escalation","vacation_replacement","no_matching_policy","no_eligible_candidate"]},"candidate_user_ids":{"type":"array","items":{"type":"string"}},"candidates":{"default":[],"type":"array","items":{"type":"object","properties":{"user_id":{"type":"string","description":"Candidate user id"},"display_name":{"description":"Candidate display name at routing time","type":"string"},"fallback_reason":{"type":"string","enum":["policy_target","policy_backup","assignee_manager_chain","team_lead_or_manager","workspace_default_escalation","vacation_replacement","no_matching_policy","no_eligible_candidate"],"description":"Fallback pool that produced this candidate"},"eligible":{"type":"boolean","description":"Whether this candidate was eligible for assignment"},"skipped_reason":{"description":"Reason an ineligible candidate was skipped","type":"string","enum":["not_workspace_member","inactive_member","inactive_profile","vacation_replacement","routing_disabled","missing_capacity","no_available_capacity"]},"utilization":{"description":"Capacity utilization at routing time","type":"number"},"available_minutes":{"description":"Available capacity minutes at routing time","type":"number"},"booked_minutes":{"description":"Booked capacity minutes at routing time","type":"number"},"open_task_count":{"description":"Open tasks counted at routing time","type":"number"},"open_ticket_count":{"description":"Open assigned tickets counted at routing time","type":"number"},"sla_risk_ticket_count":{"description":"SLA-risk tickets counted at routing time","type":"number"},"overload":{"description":"Whether booked work exceeded available capacity","type":"boolean"}},"required":["user_id","fallback_reason","eligible"],"additionalProperties":false}},"fallback_path":{"default":[],"type":"array","items":{"type":"object","properties":{"reason":{"type":"string","enum":["policy_target","policy_backup","assignee_manager_chain","team_lead_or_manager","workspace_default_escalation","vacation_replacement","no_matching_policy","no_eligible_candidate"],"description":"Fallback pool that was evaluated"},"user_ids":{"type":"array","items":{"type":"string"},"description":"Raw users considered in this pool"},"eligible_user_ids":{"type":"array","items":{"type":"string"},"description":"Users still eligible after routing filters"},"skipped_user_ids":{"type":"array","items":{"type":"string"},"description":"Users skipped by routing filters"},"chosen_user_id":{"description":"Chosen user id when this pool selected the assignee","type":"string"}},"required":["reason","user_ids","eligible_user_ids","skipped_user_ids"],"additionalProperties":false}},"selection_mode":{"type":"string","enum":["capacity","rotation"]},"source":{"type":"string","enum":["ticket_create","manual_reroute","sla_warning","sla_breach","availability_handoff","preview"]},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Timestamp when the routing decision was recorded"},"manual_override":{"description":"Manual override metadata when the auto-routed assignee was changed","type":"object","properties":{"previous_assignee_user_id":{"description":"Auto-routed assignee before manual override","type":"string"},"next_assignee_user_id":{"description":"Manual assignee after the override","type":"string"},"reason":{"description":"Operator-entered reason for the manual override","type":"string"},"actor_user_id":{"description":"User who performed the override when available","type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Timestamp when the manual override was recorded"}},"required":["created_at"],"additionalProperties":false}},"required":["fallback_reason","candidate_user_ids","candidates","fallback_path","source","created_at"],"additionalProperties":false},"ticket_age_minutes":{"type":"number","description":"Calculated ticket age in minutes"},"waiting_on_reporter_since":{"description":"Since when ticket waits on reporter","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Creation timestamp"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Last update timestamp"},"closed_at":{"description":"Resolution timestamp","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"public_token":{"type":"string","description":"Capability token for public responses"},"statistics":{"type":"object","properties":{"first_response_at":{"description":"Timestamp of first public support response","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"first_response_minutes":{"description":"Time to first response in minutes","type":"number"},"resolved_at":{"description":"Timestamp when ticket was resolved","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"resolution_minutes":{"description":"Resolution time in minutes","type":"number"}},"additionalProperties":false,"description":"Persisted ticket statistics"},"master_rollup":{"description":"Computed roll-up summary for master tickets","type":"object","properties":{"child_ticket_ids":{"type":"array","items":{"type":"string"},"description":"Resolved child ticket IDs included in roll-up"},"child_count_total":{"type":"number","description":"Total child ticket count"},"child_count_open":{"type":"number","description":"Open child ticket count"},"child_count_closed":{"type":"number","description":"Closed child ticket count"},"child_count_sla_warning":{"type":"number","description":"Child tickets currently in SLA warning"},"child_counts_by_status":{"type":"array","items":{"type":"object","properties":{"status":{"type":"string","description":"Child status ID"},"status_name":{"description":"Resolved child status label","type":"string"},"count":{"type":"number","description":"Number of child tickets in this status"}},"required":["status","count"],"additionalProperties":false},"description":"Child counts grouped by status"},"latest_customer_reply_at":{"description":"Latest public reporter reply timestamp across children","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"affected_customer_ids":{"type":"array","items":{"type":"string"},"description":"Distinct affected customer IDs from child tickets"},"affected_project_ids":{"type":"array","items":{"type":"string"},"description":"Distinct affected project IDs from child tickets"}},"required":["child_ticket_ids","child_count_total","child_count_open","child_count_closed","child_count_sla_warning","child_counts_by_status","affected_customer_ids","affected_project_ids"],"additionalProperties":false}},"required":["id","guild_id","project_id","title","description","type","priority","status","ticket_role","reporter_email","reporter_origin","notify_emails","unsubscribed_emails","custom_fields","label_ids","attachments","messages","internal_notes","linked_task_ids","crm_entities","customer_portal_replies_enabled","customer_portal_uploads_enabled","linked_knowledge_document_ids","linked_ticket_ids","ticket_relationships","sla_warning_active","ticket_age_minutes","created_at","updated_at","public_token","statistics"],"additionalProperties":false,"description":"Updated ticket"},"routing_decision":{"type":"object","properties":{"matched_policy_id":{"type":"string"},"chosen_assignee_user_id":{"type":"string"},"fallback_reason":{"type":"string","enum":["policy_target","policy_backup","assignee_manager_chain","team_lead_or_manager","workspace_default_escalation","vacation_replacement","no_matching_policy","no_eligible_candidate"]},"candidate_user_ids":{"type":"array","items":{"type":"string"}},"candidates":{"default":[],"type":"array","items":{"type":"object","properties":{"user_id":{"type":"string","description":"Candidate user id"},"display_name":{"description":"Candidate display name at routing time","type":"string"},"fallback_reason":{"type":"string","enum":["policy_target","policy_backup","assignee_manager_chain","team_lead_or_manager","workspace_default_escalation","vacation_replacement","no_matching_policy","no_eligible_candidate"],"description":"Fallback pool that produced this candidate"},"eligible":{"type":"boolean","description":"Whether this candidate was eligible for assignment"},"skipped_reason":{"description":"Reason an ineligible candidate was skipped","type":"string","enum":["not_workspace_member","inactive_member","inactive_profile","vacation_replacement","routing_disabled","missing_capacity","no_available_capacity"]},"utilization":{"description":"Capacity utilization at routing time","type":"number"},"available_minutes":{"description":"Available capacity minutes at routing time","type":"number"},"booked_minutes":{"description":"Booked capacity minutes at routing time","type":"number"},"open_task_count":{"description":"Open tasks counted at routing time","type":"number"},"open_ticket_count":{"description":"Open assigned tickets counted at routing time","type":"number"},"sla_risk_ticket_count":{"description":"SLA-risk tickets counted at routing time","type":"number"},"overload":{"description":"Whether booked work exceeded available capacity","type":"boolean"}},"required":["user_id","fallback_reason","eligible"],"additionalProperties":false}},"fallback_path":{"default":[],"type":"array","items":{"type":"object","properties":{"reason":{"type":"string","enum":["policy_target","policy_backup","assignee_manager_chain","team_lead_or_manager","workspace_default_escalation","vacation_replacement","no_matching_policy","no_eligible_candidate"],"description":"Fallback pool that was evaluated"},"user_ids":{"type":"array","items":{"type":"string"},"description":"Raw users considered in this pool"},"eligible_user_ids":{"type":"array","items":{"type":"string"},"description":"Users still eligible after routing filters"},"skipped_user_ids":{"type":"array","items":{"type":"string"},"description":"Users skipped by routing filters"},"chosen_user_id":{"description":"Chosen user id when this pool selected the assignee","type":"string"}},"required":["reason","user_ids","eligible_user_ids","skipped_user_ids"],"additionalProperties":false}},"selection_mode":{"type":"string","enum":["capacity","rotation"]},"source":{"type":"string","enum":["ticket_create","manual_reroute","sla_warning","sla_breach","availability_handoff","preview"]}},"required":["fallback_reason","candidate_user_ids","candidates","fallback_path","source"],"additionalProperties":false,"description":"People routing decision"}},"required":["ticket","routing_decision"],"additionalProperties":false},"AddTicketMessageDto":{"type":"object","properties":{"text":{"type":"string","minLength":1,"maxLength":32000,"description":"Message content"},"visibility":{"default":"public","description":"Message visibility","type":"string","enum":["public","internal"]},"author_name":{"description":"Author name for public replies","type":"string"},"author_email":{"description":"Author email for public replies","type":"string"},"notify_emails":{"description":"Additional emails to notify","type":"array","items":{"type":"string"}},"attachments":{"default":[],"description":"Message attachments","type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment name"},"type":{"type":"string","description":"Attachment mime type"},"size":{"type":"number","description":"Attachment size in bytes"},"url":{"description":"Attachment URL","type":"string"}},"required":["id","name","type","size"]}}},"required":["text"]},"TicketKnowledgeDraftResponseDto_Output":{"type":"object","properties":{"title":{"type":"string","description":"AI-generated knowledge draft title"},"content":{"type":"string","description":"AI-generated knowledge draft markdown content"}},"required":["title","content"],"additionalProperties":false},"CloseMasterChildTicketsActionDto":{"type":"object","properties":{"child_ticket_ids":{"description":"Optional subset of linked child ticket IDs to process. Defaults to all linked child tickets.","type":"array","items":{"type":"string"}},"status_id":{"description":"Closed status to apply. Defaults to master status if already closed.","type":"string"},"include_already_closed":{"default":false,"description":"When true, re-applies the target closed status to already closed child tickets.","type":"boolean"},"respect_master_sync_policy":{"default":true,"description":"When true, field sync booleans default to the master ticket sync policy.","type":"boolean"},"sync_priority":{"description":"Override whether priority should be copied from master to child","type":"boolean"},"sync_labels":{"description":"Override whether labels should be copied from master to child","type":"boolean"},"sync_assignee":{"description":"Override whether assignee should be copied from master to child","type":"boolean"}}},"CloseMasterChildTicketsActionResultDto_Output":{"type":"object","properties":{"master_ticket_id":{"type":"string","description":"Master ticket ID"},"target_status_id":{"type":"string","description":"Applied closed status ID"},"target_status_name":{"description":"Applied closed status label","type":"string"},"processed_child_ticket_ids":{"type":"array","items":{"type":"string"},"description":"Child ticket IDs that were updated"},"skipped_missing_child_ticket_ids":{"type":"array","items":{"type":"string"},"description":"Linked child IDs that were not found"},"skipped_not_linked_child_ticket_ids":{"type":"array","items":{"type":"string"},"description":"Requested child IDs not linked to the master ticket"},"skipped_already_closed_child_ticket_ids":{"type":"array","items":{"type":"string"},"description":"Child IDs skipped because they were already closed"},"sync_applied":{"type":"object","properties":{"priority":{"type":"boolean"},"labels":{"type":"boolean"},"assignee":{"type":"boolean"}},"required":["priority","labels","assignee"],"additionalProperties":false}},"required":["master_ticket_id","target_status_id","processed_child_ticket_ids","skipped_missing_child_ticket_ids","skipped_not_linked_child_ticket_ids","skipped_already_closed_child_ticket_ids","sync_applied"],"additionalProperties":false},"UpdateMasterChildTicketsActionDto":{"type":"object","properties":{"child_ticket_ids":{"description":"Optional subset of linked child ticket IDs to process. Defaults to all linked child tickets.","type":"array","items":{"type":"string"}},"include_already_closed":{"default":false,"description":"When true, closed child tickets can also be updated (and reopened when status_id is set).","type":"boolean"},"respect_master_sync_policy":{"default":true,"description":"When true, sync booleans default to the master ticket sync policy.","type":"boolean"},"status_id":{"description":"Non-closed status to apply. Use close-children endpoint for terminal statuses.","type":"string"},"priority":{"description":"Explicit priority to apply to child tickets","type":"string","enum":["low","normal","high","urgent"]},"assignee_user_id":{"description":"Explicit assignee to apply. Use empty string to clear the assignee.","type":"string"},"label_ids":{"description":"Explicit labels to apply. Empty array clears labels.","type":"array","items":{"type":"string"}},"sync_status":{"description":"Copy status from master ticket (non-closed only)","type":"boolean"},"sync_priority":{"description":"Copy priority from master ticket","type":"boolean"},"sync_assignee":{"description":"Copy assignee from master ticket","type":"boolean"},"sync_labels":{"description":"Copy labels from master ticket","type":"boolean"}}},"UpdateMasterChildTicketsActionResultDto_Output":{"type":"object","properties":{"master_ticket_id":{"type":"string","description":"Master ticket ID"},"applied_status_id":{"description":"Applied status ID when status was updated","type":"string"},"applied_priority":{"description":"Applied priority when updated","type":"string","enum":["low","normal","high","urgent"]},"applied_assignee_user_id":{"type":"string","description":"Applied assignee when assignee was updated","nullable":true},"applied_label_ids":{"description":"Applied labels when labels were updated","type":"array","items":{"type":"string"}},"processed_child_ticket_ids":{"type":"array","items":{"type":"string"},"description":"Child ticket IDs that were updated"},"skipped_missing_child_ticket_ids":{"type":"array","items":{"type":"string"},"description":"Linked child IDs that were not found"},"skipped_not_linked_child_ticket_ids":{"type":"array","items":{"type":"string"},"description":"Requested child IDs not linked to the master ticket"},"skipped_already_closed_child_ticket_ids":{"type":"array","items":{"type":"string"},"description":"Child IDs skipped because they were already closed"},"update_applied":{"type":"object","properties":{"status":{"type":"boolean"},"priority":{"type":"boolean"},"assignee":{"type":"boolean"},"labels":{"type":"boolean"}},"required":["status","priority","assignee","labels"],"additionalProperties":false},"sync_applied":{"type":"object","properties":{"status":{"type":"boolean"},"priority":{"type":"boolean"},"assignee":{"type":"boolean"},"labels":{"type":"boolean"}},"required":["status","priority","assignee","labels"],"additionalProperties":false}},"required":["master_ticket_id","processed_child_ticket_ids","skipped_missing_child_ticket_ids","skipped_not_linked_child_ticket_ids","skipped_already_closed_child_ticket_ids","update_applied","sync_applied"],"additionalProperties":false},"BroadcastMasterChildMessageActionDto":{"type":"object","properties":{"child_ticket_ids":{"description":"Optional subset of linked child ticket IDs to receive the message. Defaults to all linked child tickets.","type":"array","items":{"type":"string"}},"visibility":{"default":"public","description":"Message visibility for child tickets","type":"string","enum":["public","internal"]},"text":{"type":"string","minLength":1,"maxLength":32000,"description":"Message text to post to selected child tickets"},"include_already_closed":{"default":false,"description":"When true, closed child tickets also receive the message (public messages may reopen them).","type":"boolean"}},"required":["text"]},"BroadcastMasterChildMessageActionResultDto_Output":{"type":"object","properties":{"master_ticket_id":{"type":"string","description":"Master ticket ID"},"visibility":{"type":"string","enum":["public","internal"],"description":"Applied message visibility"},"processed_child_ticket_ids":{"type":"array","items":{"type":"string"},"description":"Child ticket IDs that received the message"},"skipped_missing_child_ticket_ids":{"type":"array","items":{"type":"string"},"description":"Linked child IDs that were not found"},"skipped_not_linked_child_ticket_ids":{"type":"array","items":{"type":"string"},"description":"Requested child IDs not linked to the master ticket"},"skipped_permission_denied_child_ticket_ids":{"type":"array","items":{"type":"string"},"description":"Child IDs skipped because the current user lacks MANAGE_TICKETS in that child project"},"skipped_already_closed_child_ticket_ids":{"type":"array","items":{"type":"string"},"description":"Child IDs skipped because they were closed and include_already_closed=false"}},"required":["master_ticket_id","visibility","processed_child_ticket_ids","skipped_missing_child_ticket_ids","skipped_not_linked_child_ticket_ids","skipped_permission_denied_child_ticket_ids","skipped_already_closed_child_ticket_ids"],"additionalProperties":false},"ConvertTicketToMasterResultDto_Output":{"type":"object","properties":{"ticket_id":{"type":"string","description":"Updated ticket ID"},"ticket_role":{"type":"string","enum":["standard","master"],"description":"Explicit resulting ticket role"}},"required":["ticket_id","ticket_role"],"additionalProperties":false},"RemoveMasterStatusDto":{"type":"object","properties":{"child_handling":{"default":"convert_to_related","description":"How child links should be rewritten when removing master status","type":"string","enum":["convert_to_related","unlink_all"]}}},"RemoveMasterStatusResultDto_Output":{"type":"object","properties":{"ticket_id":{"type":"string","description":"Updated ticket ID"},"ticket_role":{"type":"string","enum":["standard","master"],"description":"Explicit resulting ticket role"},"processed_child_ticket_ids":{"type":"array","items":{"type":"string"},"description":"Children whose links were rewritten"},"child_handling":{"type":"string","enum":["convert_to_related","unlink_all"],"description":"Applied child-link handling mode"}},"required":["ticket_id","ticket_role","processed_child_ticket_ids","child_handling"],"additionalProperties":false},"TicketAuditListResponseDto_Output":{"type":"object","properties":{"events":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Audit event id"},"guild_id":{"type":"string","description":"Workspace id"},"ticket_id":{"type":"string","description":"Ticket id"},"event_type":{"type":"string","enum":["ticket_created","ticket_updated","ticket_deleted"],"description":"Audit event type"},"actor":{"type":"object","properties":{"type":{"type":"string","enum":["user","api_key","reporter","system","unknown"],"description":"Actor type"},"id":{"description":"Actor id, for example user id or api key owner id","type":"string"},"email":{"description":"Actor email when available","type":"string"},"name":{"description":"Actor display name when available","type":"string"}},"required":["type"],"additionalProperties":false,"description":"Actor metadata"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Audit event timestamp"},"reason":{"description":"Optional event reason","type":"string"},"changes":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Changed ticket field key"},"old_value":{"description":"Previous field value"},"new_value":{"description":"New field value"}},"required":["field"],"additionalProperties":false},"description":"Field-level changes"}},"required":["id","guild_id","ticket_id","event_type","actor","created_at","changes"],"additionalProperties":false},"description":"Chronological audit events for one ticket"}},"required":["events"],"additionalProperties":false},"TicketAuditExportResponseDto_Output":{"type":"object","properties":{"file_name":{"type":"string","description":"Generated export file name"},"mime_type":{"type":"string","description":"Export MIME type"},"content":{"type":"string","description":"Export file content as text"}},"required":["file_name","mime_type","content"],"additionalProperties":false},"PublicTicketProjectListResponseDto_Output":{"type":"object","properties":{"workspace_name":{"type":"string","description":"Workspace display name"},"guild_id":{"type":"string","description":"Resolved guild ID"},"supports_discord_reporter_login":{"type":"boolean","description":"Whether this public ticket page can connect a Discord reporter identity"},"discord_reporter_login_origin":{"description":"Allowed popup postMessage origin for Discord reporter login","type":"string"},"supports_slack_reporter_login":{"type":"boolean","description":"Whether this public ticket page can connect a Slack reporter identity"},"slack_reporter_login_origin":{"description":"Allowed popup postMessage origin for Slack reporter login","type":"string"},"projects":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Project ID"},"name":{"type":"string","description":"Project name"},"enforced_template_id":{"description":"Optional enforced template for this project","type":"string"},"enforced_template_ids_by_type":{"description":"Optional enforced templates keyed by ticket type for this project","type":"object","additionalProperties":{"type":"string"}},"type_definitions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Ticket type ID"},"label":{"type":"string","description":"Ticket type label"}},"required":["id","label"],"additionalProperties":false},"description":"Project ticket type options"},"default_type":{"type":"string","description":"Project default ticket type","nullable":true}},"required":["id","name","type_definitions"],"additionalProperties":false},"description":"Projects that allow public ticket creation"},"default_project_id":{"description":"Configured default public ticket project for this page domain.","type":"string"},"selected_project":{"description":"Current project URL context","type":"object","properties":{"id":{"type":"string","description":"Project ID"},"name":{"type":"string","description":"Project name"},"allowed":{"type":"boolean","description":"Whether the project can currently be used for public ticket creation"},"enforced_template_id":{"description":"Optional enforced template for this project","type":"string"},"enforced_template_ids_by_type":{"description":"Optional enforced templates keyed by ticket type for this project","type":"object","additionalProperties":{"type":"string"}},"type_definitions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Ticket type ID"},"label":{"type":"string","description":"Ticket type label"}},"required":["id","label"],"additionalProperties":false},"description":"Project ticket type options"},"default_type":{"type":"string","description":"Project default ticket type","nullable":true}},"required":["id","name","allowed","type_definitions"],"additionalProperties":false},"templates":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Template ID"},"name":{"type":"string","description":"Template name"},"description":{"description":"Optional description","type":"string"},"fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Field ID"},"label":{"type":"string","description":"Field label"},"type":{"type":"string","enum":["text","textarea","number","email","date","file","boolean"],"description":"Field type"},"required":{"type":"boolean","description":"Whether field is required"}},"required":["id","label","type","required"],"additionalProperties":false},"description":"Reporter-editable template fields"}},"required":["id","name","fields"],"additionalProperties":false},"description":"Project-scoped public ticket templates"},"public_knowledge_suggestions_enabled":{"description":"Whether knowledge suggestions are enabled for the public ticket page","type":"boolean"},"customer_portal_uploads_enabled":{"description":"Whether public ticket form and thread viewers can upload attachments","type":"boolean"},"file_upload_allowed_mime_types":{"type":"array","items":{"type":"string"},"description":"Allowed upload MIME types or category wildcards such as image/*. Empty allows all file types"}},"required":["workspace_name","guild_id","supports_discord_reporter_login","supports_slack_reporter_login","projects","templates","file_upload_allowed_mime_types"],"additionalProperties":false},"CreatePublicTicketDto":{"type":"object","properties":{"project_id":{"description":"Project ID selected from public list","type":"string"},"title":{"type":"string","minLength":1,"maxLength":300,"description":"Ticket title"},"description":{"default":"","description":"Ticket description","type":"string","maxLength":32000},"reporter_email":{"description":"Reporter email","type":"string"},"reporter_name":{"description":"Reporter name","type":"string"},"notify_emails":{"description":"Public ticket creation cannot add extra notification recipients","maxItems":0,"type":"array","items":{"type":"string"}},"remove_reporter_from_notify":{"description":"Allows reporters to remove themselves from notifications","type":"boolean"},"type":{"description":"Ticket type","type":"string"},"priority":{"default":"normal","description":"Ticket priority","type":"string","enum":["low","normal","high","urgent"]},"template_id":{"description":"Template ID","type":"string"},"custom_fields":{"default":{},"description":"Template field values","type":"object","additionalProperties":{}},"attachments":{"default":[],"description":"Ticket attachments","type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment name"},"type":{"type":"string","description":"Attachment mime type"},"size":{"type":"number","description":"Attachment size in bytes"},"url":{"description":"Attachment URL","type":"string"}},"required":["id","name","type","size"]}},"linked_task_ids":{"default":[],"description":"Linked task IDs","type":"array","items":{"type":"string"}},"linked_knowledge_document_ids":{"default":[],"description":"Linked knowledge document references","type":"array","items":{"type":"string"}},"ticket_role":{"default":"standard","description":"Explicit master-ticket role","type":"string","enum":["standard","master"]},"sla_id":{"description":"SLA ID","type":"string"},"initial_message":{"description":"Initial public message","type":"string","maxLength":32000},"reporter_discord_session_token":{"description":"Server-issued Discord reporter session for public ticket creation","type":"string"},"reporter_slack_session_token":{"description":"Server-issued Slack reporter session for public ticket creation","type":"string"}},"required":["title"]},"CustomerPortalPublicContextResponseDto_Output":{"type":"object","properties":{"customer_portal_enabled":{"type":"boolean","description":"Whether customer portal login is publicly available for this page"},"public_anonymous_ticket_creation_enabled":{"type":"boolean","description":"Whether unauthenticated visitors can create tickets"},"customer_portal_knowledge_suggestions_enabled":{"type":"boolean","description":"Whether public portal views can show knowledge suggestions"}},"required":["customer_portal_enabled","public_anonymous_ticket_creation_enabled","customer_portal_knowledge_suggestions_enabled"],"additionalProperties":false},"CustomerPortalLoginRequestDto":{"type":"object","properties":{"email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","description":"Customer email address"}},"required":["email"]},"CustomerPortalLoginResponseDto_Output":{"type":"object","properties":{"ok":{"type":"boolean","description":"Always true so login attempts do not reveal whether the email exists"}},"required":["ok"],"additionalProperties":false},"CustomerPortalCreateSessionDto":{"type":"object","properties":{"token":{"type":"string","minLength":1,"description":"One-time login token from the customer portal email link"}},"required":["token"]},"CustomerPortalSessionResponseDto_Output":{"type":"object","properties":{"session_token":{"type":"string","description":"Bearer token for customer portal API calls"},"expires_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Session expiry timestamp"}},"required":["session_token","expires_at"],"additionalProperties":false},"CustomerPortalContextResponseDto_Output":{"type":"object","properties":{"email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","description":"Authenticated customer email"},"customer_id":{"description":"Matched customer profile ID","type":"string"},"customer_name":{"description":"Matched customer display name","type":"string"},"workspace_name":{"type":"string","description":"Workspace display name"},"customer_portal_enabled":{"type":"boolean","description":"Whether the portal is enabled for this page"},"public_anonymous_ticket_creation_enabled":{"type":"boolean","description":"Whether unauthenticated visitors can create tickets"},"customer_portal_replies_enabled":{"type":"boolean","description":"Whether portal viewers can reply"},"customer_portal_uploads_enabled":{"type":"boolean","description":"Whether portal viewers can upload attachments"},"file_upload_allowed_mime_types":{"type":"array","items":{"type":"string"},"description":"Allowed upload MIME types or category wildcards such as image/*. Empty allows all file types"},"customer_portal_knowledge_suggestions_enabled":{"type":"boolean","description":"Whether portal viewers can see knowledge suggestions"}},"required":["email","workspace_name","customer_portal_enabled","public_anonymous_ticket_creation_enabled","customer_portal_replies_enabled","customer_portal_uploads_enabled","file_upload_allowed_mime_types","customer_portal_knowledge_suggestions_enabled"],"additionalProperties":false},"CustomerPortalTicketListResponseDto_Output":{"type":"object","properties":{"tickets":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Ticket ID"},"project_id":{"type":"string","description":"Project ID"},"title":{"type":"string","description":"Ticket title"},"status":{"type":"string","enum":["open","resolved","rejected"],"description":"Customer-safe ticket lifecycle status"},"status_name":{"description":"Customer-safe ticket status label","type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Creation timestamp"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Last update timestamp"},"closed_at":{"description":"Closed/resolved timestamp","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"public_token":{"type":"string","description":"Scoped public thread token for this viewer"}},"required":["id","project_id","title","status","created_at","updated_at","public_token"],"additionalProperties":false},"description":"Customer-visible tickets"},"next_cursor":{"type":"string","description":"Cursor for the next page, or null when all tickets were returned","nullable":true}},"required":["tickets","next_cursor"],"additionalProperties":false},"CreateCustomerPortalTicketDto":{"type":"object","properties":{"project_id":{"description":"Project ID selected from public list","type":"string"},"title":{"type":"string","minLength":1,"maxLength":300,"description":"Ticket title"},"description":{"default":"","description":"Ticket description","type":"string","maxLength":32000},"reporter_name":{"description":"Reporter name","type":"string"},"remove_reporter_from_notify":{"description":"Allows reporters to remove themselves from notifications","type":"boolean"},"type":{"description":"Ticket type","type":"string"},"template_id":{"description":"Template ID","type":"string"},"custom_fields":{"default":{},"description":"Template field values","type":"object","additionalProperties":{}},"attachments":{"default":[],"description":"Ticket attachments","type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment name"},"type":{"type":"string","description":"Attachment mime type"},"size":{"type":"number","description":"Attachment size in bytes"},"url":{"description":"Attachment URL","type":"string"}},"required":["id","name","type","size"]}},"linked_knowledge_document_ids":{"default":[],"description":"Linked knowledge document references","type":"array","items":{"type":"string"}},"initial_message":{"description":"Initial public message","type":"string","maxLength":32000},"notify_emails":{"default":[],"description":"Customer portal ticket creation cannot add extra notification recipients","maxItems":0,"type":"array","items":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"}}},"required":["title"]},"NormalizedTicketInboundMailDto":{"type":"object","properties":{"provider":{"type":"string","enum":["smtp_imap"]},"mailbox_connection_id":{"type":"string","minLength":1},"provider_message_id":{"type":"string","minLength":1},"internet_message_id":{"type":"string"},"in_reply_to_message_ids":{"default":[],"type":"array","items":{"type":"string","minLength":1}},"reference_message_ids":{"default":[],"type":"array","items":{"type":"string","minLength":1}},"sender_email":{"type":"string"},"sender_name":{"type":"string"},"subject":{"type":"string"},"text":{"type":"string","minLength":1},"html":{"type":"string"},"recipient_address":{"type":"string"},"cc_emails":{"type":"array","items":{"type":"string"}},"attachments":{"default":[],"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1},"content_type":{"type":"string"},"content_base64":{"type":"string","minLength":1}},"required":["filename","content_base64"]}}},"required":["provider","mailbox_connection_id","sender_email","text"]},"UploadPublicTicketAttachmentsResponseDto_Output":{"type":"object","properties":{"attachments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Attachment ID"},"name":{"type":"string","description":"Attachment file name"},"type":{"type":"string","description":"Attachment mime type"},"size":{"type":"number","description":"Attachment size in bytes"},"url":{"description":"Optional public URL","type":"string"},"scan":{"description":"Antivirus scan metadata","type":"object","properties":{"status":{"type":"string","enum":["not_scanned","queued","scanning","clean","malware","scan_failed","scan_skipped_limit"],"description":"Antivirus scan status"},"provider":{"type":"string","enum":["clamav"],"description":"Antivirus scan provider"}},"required":["status","provider"],"additionalProperties":false}},"required":["id","name","type","size"],"additionalProperties":false},"description":"Uploaded attachments"}},"required":["attachments"],"additionalProperties":false},"PeopleSettingsDto_Output":{"type":"object","properties":{"revision":{"description":"Optimistic-concurrency revision for People settings writes","type":"string"},"automation_enabled":{"default":true,"description":"Workspace-level routing automation toggle","type":"boolean"},"default_escalation_user_ids":{"default":[],"description":"Fallback escalation users","type":"array","items":{"type":"string"}},"profiles":{"default":[],"description":"People profiles","type":"array","items":{"type":"object","properties":{"user_id":{"type":"string","description":"Workspace user id"},"display_name":{"type":"string","description":"Imported or cached workspace member display name","nullable":true},"profile_source":{"description":"Profile origin: saved, discord_import, or workspace_member","type":"string"},"title":{"type":"string","description":"Job title","nullable":true},"department":{"type":"string","description":"Department","nullable":true},"manager_user_id":{"type":"string","description":"Manager user id","nullable":true},"team_ids":{"default":[],"description":"Team ids","type":"array","items":{"type":"string"}},"skills":{"default":[],"description":"Routing skills/tags","type":"array","items":{"type":"string"}},"routing_eligible":{"default":true,"description":"Whether automatic routing may assign this person","type":"boolean"},"weekly_capacity_minutes":{"type":"number","minimum":0,"description":"Weekly capacity override in minutes","nullable":true},"backup_user_ids":{"default":[],"description":"Backup user ids","type":"array","items":{"type":"string"}},"vacation_replacements":{"default":[],"description":"Date-bounded vacation replacement periods","type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Stable vacation replacement period id"},"start_date":{"type":"string","description":"Vacation start date in YYYY-MM-DD format"},"end_date":{"type":"string","description":"Vacation end date in YYYY-MM-DD format"},"replacement_user_id":{"type":"string","minLength":1,"description":"Workspace member covering this person during the period"},"note":{"type":"string","description":"Optional admin note for the replacement","nullable":true}},"required":["id","start_date","end_date","replacement_user_id"],"additionalProperties":false}},"notes":{"type":"string","description":"Admin-only notes","nullable":true},"inactive":{"description":"True when the referenced user is stale or no longer active","type":"boolean"}},"required":["user_id","team_ids","skills","routing_eligible","backup_user_ids","vacation_replacements"],"additionalProperties":false}},"teams":{"default":[],"description":"Teams","type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Team id"},"name":{"type":"string","minLength":1,"description":"Team name"},"description":{"type":"string","description":"Team description","nullable":true},"parent_team_id":{"type":"string","description":"Parent team id","nullable":true},"lead_user_ids":{"default":[],"description":"Team lead user ids","type":"array","items":{"type":"string"}},"manager_user_ids":{"default":[],"description":"Team manager user ids","type":"array","items":{"type":"string"}},"routing_enabled":{"default":true,"description":"Whether this team can be a routing target","type":"boolean"},"imported_from_discord":{"description":"True when this team was created from Discord role import metadata","type":"boolean"}},"required":["id","name","lead_user_ids","manager_user_ids","routing_enabled"],"additionalProperties":false}},"routing_policies":{"default":[],"description":"Routing policies","type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Routing policy id"},"name":{"type":"string","minLength":1,"description":"Routing policy name"},"order":{"default":0,"description":"Stable policy evaluation order","type":"integer","minimum":0,"maximum":9007199254740991},"enabled":{"default":true,"description":"Whether this policy is enabled","type":"boolean"},"match":{"type":"object","properties":{"project_ids":{"default":[],"description":"Matched project ids","type":"array","items":{"type":"string"}},"ticket_types":{"default":[],"description":"Matched ticket type ids","type":"array","items":{"type":"string"}},"customer_ids":{"default":[],"description":"Matched customer ids","type":"array","items":{"type":"string"}},"priorities":{"default":[],"description":"Matched priorities","type":"array","items":{"type":"string"}},"sla_ids":{"default":[],"description":"Matched SLA ids","type":"array","items":{"type":"string"}},"label_ids":{"default":[],"description":"Matched label ids","type":"array","items":{"type":"string"}},"sla_states":{"default":[],"description":"Matched SLA risk states","type":"array","items":{"type":"string"}}},"required":["project_ids","ticket_types","customer_ids","priorities","sla_ids","label_ids","sla_states"],"additionalProperties":false,"description":"Policy match criteria"},"target":{"type":"object","properties":{"type":{"type":"string","enum":["person","team"],"description":"Routing target type"},"id":{"type":"string","description":"Target user or team id"}},"required":["type","id"],"additionalProperties":false,"description":"Primary routing target"},"backup_user_ids":{"default":[],"description":"Backup user ids","type":"array","items":{"type":"string"}},"assign_on_create":{"default":true,"description":"Run on ticket creation","type":"boolean"},"escalate_on_sla_warning":{"default":true,"description":"Run on SLA warning","type":"boolean"},"escalate_on_sla_breach":{"default":true,"description":"Run on SLA breach","type":"boolean"},"selection_mode":{"default":"capacity","description":"How eligible candidates are selected for this policy","type":"string","enum":["capacity","rotation"]},"rotation_user_ids":{"default":[],"description":"Preferred user order when this policy uses rotation selection","type":"array","items":{"type":"string"}}},"required":["id","name","order","enabled","match","target","backup_user_ids","assign_on_create","escalate_on_sla_warning","escalate_on_sla_breach","selection_mode","rotation_user_ids"],"additionalProperties":false}},"routing_policy_warnings":{"default":[],"description":"Detected routing policy conflicts and unreachable configured fallback paths","type":"array","items":{"type":"object","properties":{"policy_id":{"type":"string","description":"Policy that owns this warning"},"type":{"type":"string","enum":["overlapping_policy","shadowed_policy","unreachable_fallback"],"description":"Routing policy warning type"},"severity":{"type":"string","enum":["info","warning"],"description":"Warning severity"},"source":{"type":"string","enum":["ticket_create","manual_reroute","sla_warning","sla_breach","preview"],"description":"Routing source affected by this warning"},"related_policy_ids":{"default":[],"description":"Earlier policies involved in this warning","type":"array","items":{"type":"string"}},"fallback_reason":{"description":"Fallback path involved in this warning","type":"string","enum":["policy_target","policy_backup","assignee_manager_chain","team_lead_or_manager","workspace_default_escalation","no_matching_policy","no_eligible_candidate"]}},"required":["policy_id","type","severity","source","related_policy_ids"],"additionalProperties":false}}},"required":["automation_enabled","default_escalation_user_ids","profiles","teams","routing_policies","routing_policy_warnings"],"additionalProperties":false},"PeopleTeamsDto_Output":{"type":"object","properties":{"teams":{"default":[],"description":"Readable People teams","type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Team id"},"name":{"type":"string","minLength":1,"description":"Team name"},"description":{"type":"string","description":"Team description","nullable":true},"parent_team_id":{"type":"string","description":"Parent team id","nullable":true},"lead_user_ids":{"default":[],"description":"Team lead user ids","type":"array","items":{"type":"string"}},"manager_user_ids":{"default":[],"description":"Team manager user ids","type":"array","items":{"type":"string"}},"routing_enabled":{"default":true,"description":"Whether this team can be a routing target","type":"boolean"},"imported_from_discord":{"description":"True when this team was created from Discord role import metadata","type":"boolean"}},"required":["id","name","lead_user_ids","manager_user_ids","routing_enabled"],"additionalProperties":false}},"profiles":{"default":[],"description":"Readable team membership index","type":"array","items":{"type":"object","properties":{"user_id":{"type":"string","description":"Workspace user id"},"team_ids":{"default":[],"description":"Effective team ids for permissions and task queries","type":"array","items":{"type":"string"}},"display_name":{"type":"string","description":"Readable workspace member display name","nullable":true},"vacation_replacements":{"default":[],"description":"Date-bounded vacation replacement periods visible to assignee pickers without private notes","type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Stable vacation replacement period id"},"start_date":{"type":"string","description":"Vacation start date in YYYY-MM-DD format"},"end_date":{"type":"string","description":"Vacation end date in YYYY-MM-DD format"},"replacement_user_id":{"type":"string","minLength":1,"description":"Workspace member covering this person during the period"}},"required":["id","start_date","end_date","replacement_user_id"],"additionalProperties":false}}},"required":["user_id","team_ids","vacation_replacements"],"additionalProperties":false}}},"required":["teams","profiles"],"additionalProperties":false},"PeopleTeamDeletePreviewDto_Output":{"type":"object","properties":{"assigned_task_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Open or historical task team assignments referencing this team"},"invited_event_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Event team invitees referencing this team"}},"required":["assigned_task_count","invited_event_count"],"additionalProperties":false},"PeopleSelfAvailabilityDto_Output":{"type":"object","properties":{"revision":{"description":"Optimistic-concurrency revision for the availability write","type":"string"},"profile":{"type":"object","properties":{"user_id":{"type":"string","description":"Workspace user id"},"display_name":{"type":"string","description":"Readable workspace member display name","nullable":true},"vacation_replacements":{"default":[],"description":"Date-bounded vacation replacement periods","type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Stable vacation replacement period id"},"start_date":{"type":"string","description":"Vacation start date in YYYY-MM-DD format"},"end_date":{"type":"string","description":"Vacation end date in YYYY-MM-DD format"},"replacement_user_id":{"type":"string","minLength":1,"description":"Workspace member covering this person during the period"},"note":{"type":"string","description":"Optional admin note for the replacement","nullable":true}},"required":["id","start_date","end_date","replacement_user_id"],"additionalProperties":false}}},"required":["user_id","vacation_replacements"],"additionalProperties":false,"description":"Caller availability profile"},"replacement_candidates":{"default":[],"description":"Active workspace members that can cover the caller","type":"array","items":{"type":"object","properties":{"user_id":{"type":"string","description":"Workspace user id"},"display_name":{"type":"string","description":"Readable workspace member display name","nullable":true}},"required":["user_id"],"additionalProperties":false}}},"required":["profile","replacement_candidates"],"additionalProperties":false},"UpdatePeopleSettingsDto":{"type":"object","properties":{"revision":{"description":"Optimistic-concurrency revision for People settings writes","type":"string"},"automation_enabled":{"default":true,"description":"Workspace-level routing automation toggle","type":"boolean"},"default_escalation_user_ids":{"default":[],"description":"Fallback escalation users","type":"array","items":{"type":"string"}},"profiles":{"default":[],"description":"People profiles","type":"array","items":{"type":"object","properties":{"user_id":{"type":"string","description":"Workspace user id"},"display_name":{"type":"string","description":"Imported or cached workspace member display name","nullable":true},"profile_source":{"description":"Profile origin: saved, discord_import, or workspace_member","type":"string"},"title":{"type":"string","description":"Job title","nullable":true},"department":{"type":"string","description":"Department","nullable":true},"manager_user_id":{"type":"string","description":"Manager user id","nullable":true},"team_ids":{"default":[],"description":"Team ids","type":"array","items":{"type":"string"}},"skills":{"default":[],"description":"Routing skills/tags","type":"array","items":{"type":"string"}},"routing_eligible":{"default":true,"description":"Whether automatic routing may assign this person","type":"boolean"},"weekly_capacity_minutes":{"type":"number","minimum":0,"description":"Weekly capacity override in minutes","nullable":true},"backup_user_ids":{"default":[],"description":"Backup user ids","type":"array","items":{"type":"string"}},"vacation_replacements":{"default":[],"description":"Date-bounded vacation replacement periods","type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Stable vacation replacement period id"},"start_date":{"type":"string","description":"Vacation start date in YYYY-MM-DD format"},"end_date":{"type":"string","description":"Vacation end date in YYYY-MM-DD format"},"replacement_user_id":{"type":"string","minLength":1,"description":"Workspace member covering this person during the period"},"note":{"type":"string","description":"Optional admin note for the replacement","nullable":true}},"required":["id","start_date","end_date","replacement_user_id"]}},"notes":{"type":"string","description":"Admin-only notes","nullable":true},"inactive":{"description":"True when the referenced user is stale or no longer active","type":"boolean"}},"required":["user_id"]}},"teams":{"default":[],"description":"Teams","type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Team id"},"name":{"type":"string","minLength":1,"description":"Team name"},"description":{"type":"string","description":"Team description","nullable":true},"parent_team_id":{"type":"string","description":"Parent team id","nullable":true},"lead_user_ids":{"default":[],"description":"Team lead user ids","type":"array","items":{"type":"string"}},"manager_user_ids":{"default":[],"description":"Team manager user ids","type":"array","items":{"type":"string"}},"routing_enabled":{"default":true,"description":"Whether this team can be a routing target","type":"boolean"},"imported_from_discord":{"description":"True when this team was created from Discord role import metadata","type":"boolean"}},"required":["id","name"]}},"routing_policies":{"default":[],"description":"Routing policies","type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Routing policy id"},"name":{"type":"string","minLength":1,"description":"Routing policy name"},"order":{"default":0,"description":"Stable policy evaluation order","type":"integer","minimum":0,"maximum":9007199254740991},"enabled":{"default":true,"description":"Whether this policy is enabled","type":"boolean"},"match":{"type":"object","properties":{"project_ids":{"default":[],"description":"Matched project ids","type":"array","items":{"type":"string"}},"ticket_types":{"default":[],"description":"Matched ticket type ids","type":"array","items":{"type":"string"}},"customer_ids":{"default":[],"description":"Matched customer ids","type":"array","items":{"type":"string"}},"priorities":{"default":[],"description":"Matched priorities","type":"array","items":{"type":"string"}},"sla_ids":{"default":[],"description":"Matched SLA ids","type":"array","items":{"type":"string"}},"label_ids":{"default":[],"description":"Matched label ids","type":"array","items":{"type":"string"}},"sla_states":{"default":[],"description":"Matched SLA risk states","type":"array","items":{"type":"string"}}},"description":"Policy match criteria"},"target":{"type":"object","properties":{"type":{"type":"string","enum":["person","team"],"description":"Routing target type"},"id":{"type":"string","description":"Target user or team id"}},"required":["type","id"],"description":"Primary routing target"},"backup_user_ids":{"default":[],"description":"Backup user ids","type":"array","items":{"type":"string"}},"assign_on_create":{"default":true,"description":"Run on ticket creation","type":"boolean"},"escalate_on_sla_warning":{"default":true,"description":"Run on SLA warning","type":"boolean"},"escalate_on_sla_breach":{"default":true,"description":"Run on SLA breach","type":"boolean"},"selection_mode":{"default":"capacity","description":"How eligible candidates are selected for this policy","type":"string","enum":["capacity","rotation"]},"rotation_user_ids":{"default":[],"description":"Preferred user order when this policy uses rotation selection","type":"array","items":{"type":"string"}}},"required":["id","name","match","target"]}}}},"UpdatePeopleOrganizationSettingsDto":{"type":"object","properties":{"revision":{"description":"Optimistic-concurrency revision for People settings writes","type":"string"},"automation_enabled":{"default":true,"description":"Workspace-level routing automation toggle","type":"boolean"},"default_escalation_user_ids":{"default":[],"description":"Fallback escalation users","type":"array","items":{"type":"string"}},"profiles":{"default":[],"description":"People profiles","type":"array","items":{"type":"object","properties":{"user_id":{"type":"string","description":"Workspace user id"},"display_name":{"type":"string","description":"Imported or cached workspace member display name","nullable":true},"profile_source":{"description":"Profile origin: saved, discord_import, or workspace_member","type":"string"},"title":{"type":"string","description":"Job title","nullable":true},"department":{"type":"string","description":"Department","nullable":true},"manager_user_id":{"type":"string","description":"Manager user id","nullable":true},"team_ids":{"default":[],"description":"Team ids","type":"array","items":{"type":"string"}},"skills":{"default":[],"description":"Routing skills/tags","type":"array","items":{"type":"string"}},"routing_eligible":{"default":true,"description":"Whether automatic routing may assign this person","type":"boolean"},"weekly_capacity_minutes":{"type":"number","minimum":0,"description":"Weekly capacity override in minutes","nullable":true},"backup_user_ids":{"default":[],"description":"Backup user ids","type":"array","items":{"type":"string"}},"vacation_replacements":{"default":[],"description":"Date-bounded vacation replacement periods","type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Stable vacation replacement period id"},"start_date":{"type":"string","description":"Vacation start date in YYYY-MM-DD format"},"end_date":{"type":"string","description":"Vacation end date in YYYY-MM-DD format"},"replacement_user_id":{"type":"string","minLength":1,"description":"Workspace member covering this person during the period"},"note":{"type":"string","description":"Optional admin note for the replacement","nullable":true}},"required":["id","start_date","end_date","replacement_user_id"]}},"notes":{"type":"string","description":"Admin-only notes","nullable":true},"inactive":{"description":"True when the referenced user is stale or no longer active","type":"boolean"}},"required":["user_id"]}},"teams":{"default":[],"description":"Teams","type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Team id"},"name":{"type":"string","minLength":1,"description":"Team name"},"description":{"type":"string","description":"Team description","nullable":true},"parent_team_id":{"type":"string","description":"Parent team id","nullable":true},"lead_user_ids":{"default":[],"description":"Team lead user ids","type":"array","items":{"type":"string"}},"manager_user_ids":{"default":[],"description":"Team manager user ids","type":"array","items":{"type":"string"}},"routing_enabled":{"default":true,"description":"Whether this team can be a routing target","type":"boolean"},"imported_from_discord":{"description":"True when this team was created from Discord role import metadata","type":"boolean"}},"required":["id","name"]}}},"description":"Organization-only People settings update without routing policy payload"},"UpdatePeopleSelfAvailabilityDto":{"type":"object","properties":{"revision":{"description":"Optimistic-concurrency revision for the availability write","type":"string"},"vacation_replacements":{"default":[],"description":"Date-bounded vacation replacement periods for the caller","type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Stable vacation replacement period id"},"start_date":{"type":"string","description":"Vacation start date in YYYY-MM-DD format"},"end_date":{"type":"string","description":"Vacation end date in YYYY-MM-DD format"},"replacement_user_id":{"type":"string","minLength":1,"description":"Workspace member covering this person during the period"},"note":{"type":"string","description":"Optional admin note for the replacement","nullable":true}},"required":["id","start_date","end_date","replacement_user_id"]}}}},"PeopleCapacityDto_Output":{"type":"object","properties":{"range_start":{"type":"string","description":"Range start date"},"range_end":{"type":"string","description":"Range end date"},"members":{"type":"array","items":{"type":"object","properties":{"user_id":{"type":"string"},"display_name":{"type":"string"},"title":{"type":"string"},"department":{"type":"string"},"team_ids":{"type":"array","items":{"type":"string"}},"active":{"type":"boolean"},"routing_eligible":{"type":"boolean"},"available_minutes":{"type":"number"},"booked_minutes":{"type":"number"},"utilization":{"type":"number"},"open_task_count":{"type":"number"},"open_ticket_count":{"type":"number"},"sla_risk_ticket_count":{"type":"number"},"overload":{"type":"boolean"}},"required":["user_id","display_name","team_ids","active","routing_eligible","available_minutes","booked_minutes","utilization","open_task_count","open_ticket_count","sla_risk_ticket_count","overload"],"additionalProperties":false}},"teams":{"type":"array","items":{"type":"object","properties":{"team_id":{"type":"string"},"name":{"type":"string"},"member_user_ids":{"type":"array","items":{"type":"string"}},"available_minutes":{"type":"number"},"booked_minutes":{"type":"number"},"utilization":{"type":"number"},"overload":{"type":"boolean"}},"required":["team_id","name","member_user_ids","available_minutes","booked_minutes","utilization","overload"],"additionalProperties":false}}},"required":["range_start","range_end","members","teams"],"additionalProperties":false},"PeopleRoutingPreviewDto":{"type":"object","properties":{"ticket":{"type":"object","properties":{"id":{"type":"string"},"project_id":{"default":"default","type":"string"},"type":{"default":"general","type":"string"},"priority":{"default":"normal","type":"string","enum":["low","normal","high","urgent"]},"status":{"default":"assigned_in_progress","type":"string"},"assignee_user_id":{"type":"string"},"current_assignee_user_id":{"type":"string"},"label_ids":{"default":[],"type":"array","items":{"type":"string"}},"customer_id":{"type":"string"},"sla_id":{"type":"string"},"sla_warning_active":{"default":false,"type":"boolean"},"sla_breach_active":{"default":false,"type":"boolean"}}}},"required":["ticket"]},"PeopleRoutingDecisionDto_Output":{"type":"object","properties":{"matched_policy_id":{"type":"string"},"chosen_assignee_user_id":{"type":"string"},"fallback_reason":{"type":"string","enum":["policy_target","policy_backup","assignee_manager_chain","team_lead_or_manager","workspace_default_escalation","vacation_replacement","no_matching_policy","no_eligible_candidate"]},"candidate_user_ids":{"type":"array","items":{"type":"string"}},"candidates":{"default":[],"type":"array","items":{"type":"object","properties":{"user_id":{"type":"string","description":"Candidate user id"},"display_name":{"description":"Candidate display name at routing time","type":"string"},"fallback_reason":{"type":"string","enum":["policy_target","policy_backup","assignee_manager_chain","team_lead_or_manager","workspace_default_escalation","vacation_replacement","no_matching_policy","no_eligible_candidate"],"description":"Fallback pool that produced this candidate"},"eligible":{"type":"boolean","description":"Whether this candidate was eligible for assignment"},"skipped_reason":{"description":"Reason an ineligible candidate was skipped","type":"string","enum":["not_workspace_member","inactive_member","inactive_profile","vacation_replacement","routing_disabled","missing_capacity","no_available_capacity"]},"utilization":{"description":"Capacity utilization at routing time","type":"number"},"available_minutes":{"description":"Available capacity minutes at routing time","type":"number"},"booked_minutes":{"description":"Booked capacity minutes at routing time","type":"number"},"open_task_count":{"description":"Open tasks counted at routing time","type":"number"},"open_ticket_count":{"description":"Open assigned tickets counted at routing time","type":"number"},"sla_risk_ticket_count":{"description":"SLA-risk tickets counted at routing time","type":"number"},"overload":{"description":"Whether booked work exceeded available capacity","type":"boolean"}},"required":["user_id","fallback_reason","eligible"],"additionalProperties":false}},"fallback_path":{"default":[],"type":"array","items":{"type":"object","properties":{"reason":{"type":"string","enum":["policy_target","policy_backup","assignee_manager_chain","team_lead_or_manager","workspace_default_escalation","vacation_replacement","no_matching_policy","no_eligible_candidate"],"description":"Fallback pool that was evaluated"},"user_ids":{"type":"array","items":{"type":"string"},"description":"Raw users considered in this pool"},"eligible_user_ids":{"type":"array","items":{"type":"string"},"description":"Users still eligible after routing filters"},"skipped_user_ids":{"type":"array","items":{"type":"string"},"description":"Users skipped by routing filters"},"chosen_user_id":{"description":"Chosen user id when this pool selected the assignee","type":"string"}},"required":["reason","user_ids","eligible_user_ids","skipped_user_ids"],"additionalProperties":false}},"selection_mode":{"type":"string","enum":["capacity","rotation"]},"source":{"type":"string","enum":["ticket_create","manual_reroute","sla_warning","sla_breach","availability_handoff","preview"]}},"required":["fallback_reason","candidate_user_ids","candidates","fallback_path","source"],"additionalProperties":false},"WorkspaceHolidaySettingsResponseDto_Output":{"type":"object","properties":{"enabled":{"type":"boolean"},"defaultCountryCode":{"type":"string","minLength":2,"maxLength":2},"defaultRegionCode":{"type":"string","minLength":2,"maxLength":16},"enabledTypes":{"minItems":1,"type":"array","items":{"type":"string"}},"workspaceId":{"type":"string"}},"required":["enabled","enabledTypes","workspaceId"],"additionalProperties":false},"WorkspaceHolidaySettingsDto":{"type":"object","properties":{"enabled":{"type":"boolean"},"defaultCountryCode":{"type":"string","minLength":2,"maxLength":2},"defaultRegionCode":{"type":"string","minLength":2,"maxLength":16},"enabledTypes":{"minItems":1,"type":"array","items":{"type":"string"}}},"required":["enabled","enabledTypes"]},"UserHolidaySettingsResponseDto_Output":{"type":"object","properties":{"enabled":{"type":"boolean"},"countryCode":{"type":"string","minLength":2,"maxLength":2},"regionCode":{"type":"string","minLength":2,"maxLength":16},"userId":{"type":"string"},"workspaceId":{"type":"string"}},"required":["enabled","userId","workspaceId"],"additionalProperties":false},"UserHolidaySettingsDto":{"type":"object","properties":{"enabled":{"type":"boolean"},"countryCode":{"type":"string","minLength":2,"maxLength":2},"regionCode":{"type":"string","minLength":2,"maxLength":16}},"required":["enabled"]},"SupportedCountriesResponseDto_Output":{"type":"object","properties":{"countries":{"type":"array","items":{"type":"object","properties":{"countryCode":{"type":"string"},"name":{"type":"string"},"source":{"type":"string"}},"required":["countryCode","name","source"],"additionalProperties":false}}},"required":["countries"],"additionalProperties":false},"SupportedRegionsResponseDto_Output":{"type":"object","properties":{"regions":{"type":"array","items":{"type":"object","properties":{"countryCode":{"type":"string"},"regionCode":{"type":"string"},"name":{"type":"string"},"source":{"type":"string"}},"required":["countryCode","regionCode","name","source"],"additionalProperties":false}}},"required":["regions"],"additionalProperties":false},"HolidaysResponseDto_Output":{"type":"object","properties":{"holidays":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"source":{"type":"string"},"sourceId":{"type":"string"},"name":{"type":"string"},"localName":{"type":"string"},"countryCode":{"type":"string"},"regionCode":{"type":"string"},"date":{"type":"string"},"endDate":{"type":"string"},"type":{"type":"string","enum":["public","bank","school","observance","religious","company","custom"]},"global":{"type":"boolean"},"fixed":{"type":"boolean"},"observed":{"type":"boolean"},"custom":{"type":"boolean"},"metadata":{"type":"object","additionalProperties":{}}},"required":["id","source","name","countryCode","date","type","global","fixed","custom"],"additionalProperties":false}},"dataStatus":{"type":"object","properties":{"enabled":{"type":"boolean"},"countryCode":{"type":"string"},"regionCode":{"type":"string"},"from":{"type":"string"},"to":{"type":"string"},"hasCountryData":{"type":"boolean"},"hasRegionData":{"type":"boolean"},"coverage":{"type":"string","enum":["disabled","available","country_only","unavailable"]},"sources":{"type":"array","items":{"type":"string"}}},"required":["enabled","from","to","hasCountryData","hasRegionData","coverage","sources"],"additionalProperties":false}},"required":["holidays","dataStatus"],"additionalProperties":false},"BusinessDayResponseDto_Output":{"type":"object","properties":{"businessDay":{"type":"boolean"},"holidays":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"source":{"type":"string"},"sourceId":{"type":"string"},"name":{"type":"string"},"localName":{"type":"string"},"countryCode":{"type":"string"},"regionCode":{"type":"string"},"date":{"type":"string"},"endDate":{"type":"string"},"type":{"type":"string","enum":["public","bank","school","observance","religious","company","custom"]},"global":{"type":"boolean"},"fixed":{"type":"boolean"},"observed":{"type":"boolean"},"custom":{"type":"boolean"},"metadata":{"type":"object","additionalProperties":{}}},"required":["id","source","name","countryCode","date","type","global","fixed","custom"],"additionalProperties":false}},"reason":{"type":"string"}},"required":["businessDay","holidays"],"additionalProperties":false},"NextBusinessDayResponseDto_Output":{"type":"object","properties":{"date":{"type":"string"},"skippedDates":{"type":"array","items":{"type":"string"}}},"required":["date","skippedDates"],"additionalProperties":false},"CreateCustomHolidayDto":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"date":{"type":"string"},"endDate":{"type":"string"},"recurring":{"default":false,"type":"boolean"},"recurrenceRule":{"type":"string","maxLength":300},"visibility":{"default":"workspace","type":"string","enum":["workspace","project"]},"projectIds":{"type":"array","items":{"type":"string","minLength":1}}},"required":["name","date"]},"CustomHolidayResponseDto_Output":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"date":{"type":"string"},"endDate":{"type":"string"},"recurring":{"default":false,"type":"boolean"},"recurrenceRule":{"type":"string","maxLength":300},"visibility":{"default":"workspace","type":"string","enum":["workspace","project"]},"projectIds":{"type":"array","items":{"type":"string","minLength":1}},"id":{"type":"string"},"workspaceId":{"type":"string"},"createdByUserId":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["name","date","recurring","visibility","id","workspaceId","createdByUserId","createdAt","updatedAt"],"additionalProperties":false},"UpdateCustomHolidayDto":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"date":{"type":"string"},"endDate":{"type":"string"},"recurring":{"type":"boolean"},"recurrenceRule":{"type":"string","maxLength":300},"visibility":{"type":"string","enum":["workspace","project"]},"projectIds":{"type":"array","items":{"type":"string","minLength":1}}}},"HolidayOverridesResponseDto_Output":{"type":"object","properties":{"overrides":{"type":"array","items":{"type":"object","properties":{"hidden":{"default":false,"type":"boolean"},"customName":{"type":"string","minLength":1,"maxLength":120},"id":{"type":"string"},"workspaceId":{"type":"string"},"holidayId":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"holiday":{"type":"object","properties":{"id":{"type":"string"},"source":{"type":"string"},"sourceId":{"type":"string"},"name":{"type":"string"},"localName":{"type":"string"},"countryCode":{"type":"string"},"regionCode":{"type":"string"},"date":{"type":"string"},"endDate":{"type":"string"},"type":{"type":"string","enum":["public","bank","school","observance","religious","company","custom"]},"global":{"type":"boolean"},"fixed":{"type":"boolean"},"observed":{"type":"boolean"},"custom":{"type":"boolean"},"metadata":{"type":"object","additionalProperties":{}}},"required":["id","source","name","countryCode","date","type","global","fixed","custom"],"additionalProperties":false}},"required":["hidden","id","workspaceId","holidayId","createdAt","updatedAt"],"additionalProperties":false}}},"required":["overrides"],"additionalProperties":false},"HolidayOverrideDto":{"type":"object","properties":{"hidden":{"default":false,"type":"boolean"},"customName":{"type":"string","minLength":1,"maxLength":120}}},"HolidayOverrideResponseDto_Output":{"type":"object","properties":{"hidden":{"default":false,"type":"boolean"},"customName":{"type":"string","minLength":1,"maxLength":120},"id":{"type":"string"},"workspaceId":{"type":"string"},"holidayId":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["hidden","id","workspaceId","holidayId","createdAt","updatedAt"],"additionalProperties":false},"AdminSyncResponseDto_Output":{"type":"object","properties":{"synced":{"type":"boolean"},"countryCode":{"type":"string"},"regionCode":{"type":"string"}},"required":["synced"],"additionalProperties":false},"LoggingWebhookEndpoint_Output":{"type":"object","properties":{"id":{"type":"string"},"display_name":{"type":"string","minLength":1,"maxLength":80},"url":{"type":"string","maxLength":2048,"format":"uri"},"scope":{"type":"string","enum":["global","project"]},"project_id":{"type":"string"},"format":{"type":"string","enum":["discord","technical"]},"modules":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/LoggingWebhookEndpointModule_Output"}},"log_level":{"type":"integer","minimum":0,"maximum":2},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"created_by_user_id":{"type":"string"},"delivery_stats":{"$ref":"#/components/schemas/LoggingWebhookDeliveryStats_Output"},"recent_deliveries":{"maxItems":5,"type":"array","items":{"$ref":"#/components/schemas/LoggingWebhookDeliveryAttempt_Output"}}},"required":["id","display_name","url","scope","format","modules","log_level","created_at","updated_at","created_by_user_id","delivery_stats","recent_deliveries"],"additionalProperties":false},"LoggingWebhookEndpointModule_Output":{"type":"string","enum":["tasks","documents","tickets","general","all"]},"LoggingWebhookDeliveryStats_Output":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"successful":{"type":"integer","minimum":0,"maximum":9007199254740991},"failed":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["total","successful","failed"],"additionalProperties":false},"LoggingWebhookDeliveryAttempt_Output":{"type":"object","properties":{"event":{"type":"string"},"success":{"type":"boolean"},"attempted_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"status_code":{"type":"integer","minimum":0,"maximum":9007199254740991},"error":{"type":"string"}},"required":["event","success","attempted_at"],"additionalProperties":false},"LoggingWebhookEndpointListDto_Output":{"type":"object","properties":{"endpoints":{"type":"array","items":{"$ref":"#/components/schemas/LoggingWebhookEndpoint_Output"}}},"required":["endpoints"],"additionalProperties":false},"LoggingWebhookEndpointModule":{"type":"string","enum":["tasks","documents","tickets","general","all"]},"UpsertLoggingWebhookEndpointDto":{"type":"object","properties":{"display_name":{"type":"string","minLength":1,"maxLength":80},"url":{"type":"string","maxLength":2048,"format":"uri"},"scope":{"type":"string","enum":["global","project"]},"project_id":{"type":"string"},"format":{"default":"discord","type":"string","enum":["discord","technical"]},"modules":{"default":["all"],"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/LoggingWebhookEndpointModule"}},"log_level":{"default":0,"type":"integer","minimum":0,"maximum":2}},"required":["url","scope"],"additionalProperties":false},"CrmBootstrapDto_Output":{"type":"object","properties":{"terminology":{},"record_types":{"type":"array","items":{}},"relationship_types":{"type":"array","items":{}},"fields":{"type":"array","items":{}},"layouts":{"type":"array","items":{}},"views":{"type":"array","items":{}}},"required":["terminology","record_types","relationship_types","fields","layouts","views"],"additionalProperties":false},"CrmUserPreferencesDto_Output":{"type":"object","properties":{"experience_mode":{"type":"string","enum":["simple","expert"]},"workspace_role":{"type":"string","enum":["customer_manager","service_delivery","support","administrator"]},"dense_mode":{"type":"boolean"},"default_section":{"type":"string","minLength":1,"maxLength":100},"notification_level":{"type":"string","enum":["important","all","off"]},"muted_suggestion_rule_ids":{"maxItems":200,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"snoozed_work_items":{"type":"object","additionalProperties":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"dismissed_work_item_ids":{"maxItems":500,"type":"array","items":{"type":"string","minLength":1,"maxLength":300}},"work_priority_order":{"minItems":5,"maxItems":5,"type":"array","items":{"type":"string"}},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["experience_mode","workspace_role","dense_mode","default_section","notification_level","muted_suggestion_rule_ids","snoozed_work_items","dismissed_work_item_ids","work_priority_order"],"additionalProperties":false},"UpdateCrmUserPreferencesDto":{"type":"object","properties":{"experience_mode":{"type":"string","enum":["simple","expert"]},"workspace_role":{"type":"string","enum":["customer_manager","service_delivery","support","administrator"]},"dense_mode":{"type":"boolean"},"default_section":{"type":"string","minLength":1,"maxLength":100},"notification_level":{"type":"string","enum":["important","all","off"]},"muted_suggestion_rule_ids":{"maxItems":200,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"snoozed_work_items":{"type":"object","additionalProperties":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"dismissed_work_item_ids":{"maxItems":500,"type":"array","items":{"type":"string","minLength":1,"maxLength":300}},"work_priority_order":{"minItems":5,"maxItems":5,"type":"array","items":{"type":"string"}}},"required":["experience_mode","workspace_role","dense_mode","default_section","notification_level","muted_suggestion_rule_ids","snoozed_work_items","dismissed_work_item_ids","work_priority_order"]},"CrmPlanSnapshotDto_Output":{"type":"object","properties":{"workspace_tier":{"type":"string","enum":["free","starter","pro"]},"user_tier":{"type":"string","enum":["free","starter","pro"]},"limits":{"type":"object","properties":{"entities":{"type":"integer","minimum":0,"maximum":9007199254740991},"record_types":{"type":"integer","minimum":0,"maximum":9007199254740991},"fields":{"type":"integer","minimum":0,"maximum":9007199254740991},"lifecycles":{"type":"integer","minimum":0,"maximum":9007199254740991},"views":{"type":"integer","minimum":0,"maximum":9007199254740991},"segments":{"type":"integer","minimum":0,"maximum":9007199254740991},"forms":{"type":"integer","minimum":0,"maximum":9007199254740991},"automations":{"type":"integer","minimum":0,"maximum":9007199254740991},"automation_runs_month":{"type":"integer","minimum":0,"maximum":9007199254740991},"connectors":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["entities","record_types","fields","lifecycles","views","segments","forms","automations","automation_runs_month","connectors"],"additionalProperties":false},"usage":{"type":"object","properties":{"entities":{"type":"integer","minimum":0,"maximum":9007199254740991},"record_types":{"type":"integer","minimum":0,"maximum":9007199254740991},"fields":{"type":"integer","minimum":0,"maximum":9007199254740991},"lifecycles":{"type":"integer","minimum":0,"maximum":9007199254740991},"views":{"type":"integer","minimum":0,"maximum":9007199254740991},"segments":{"type":"integer","minimum":0,"maximum":9007199254740991},"forms":{"type":"integer","minimum":0,"maximum":9007199254740991},"automations":{"type":"integer","minimum":0,"maximum":9007199254740991},"automation_runs_month":{"type":"integer","minimum":0,"maximum":9007199254740991},"connectors":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["entities","record_types","fields","lifecycles","views","segments","forms","automations","automation_runs_month","connectors"],"additionalProperties":false}},"required":["workspace_tier","user_tier","limits","usage"],"additionalProperties":false},"CrmReportDto_Output":{"type":"object","properties":{"generated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"range_start":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"metrics":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"value":{"type":"number"},"unit":{"type":"string","enum":["count","percent","days","hours"]}},"required":["id","label","value","unit"],"additionalProperties":false}},"breakdowns":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"buckets":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"value":{"type":"number"},"parent_id":{"type":"string","nullable":true}},"required":["id","label","value","parent_id"],"additionalProperties":false}}},"required":["id","label","buckets"],"additionalProperties":false}},"series":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"points":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"value":{"type":"number"}},"required":["date","value"],"additionalProperties":false}}},"required":["id","label","points"],"additionalProperties":false}}},"required":["generated_at","range_start","metrics","breakdowns","series"],"additionalProperties":false},"ResolveCrmEntityTitlesDto":{"type":"object","properties":{"entities":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}}},"required":["entities"]},"CrmEntityTitleListDto_Output":{"type":"object","properties":{"titles":{"type":"array","items":{"type":"object","properties":{"entity_type":{"type":"string","enum":["person","organization","record"]},"entity_id":{"type":"string"},"title":{"type":"string"}},"required":["entity_type","entity_id","title"],"additionalProperties":false}}},"required":["titles"],"additionalProperties":false},"CrmDuplicateReviewListDto_Output":{"type":"object","properties":{"reviews":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"entity_type":{"type":"string","enum":["person","organization"]},"source_id":{"type":"string"},"candidate_id":{"type":"string"},"source_label":{"type":"string"},"candidate_label":{"type":"string"},"matched_by":{"type":"array","items":{"type":"string"}},"state":{"type":"string","enum":["pending","kept_separate","merged"]},"created_by":{"type":"string"},"resolved_by":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"resolved_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","entity_type","source_id","candidate_id","source_label","candidate_label","matched_by","state","created_by","resolved_by","created_at","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["reviews","next_cursor"],"additionalProperties":false},"ResolveCrmDuplicateReviewDto":{"type":"object","properties":{"action":{"type":"string","enum":["keep_separate"]}},"required":["action"]},"CrmDuplicateReviewDto_Output":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"entity_type":{"type":"string","enum":["person","organization"]},"source_id":{"type":"string"},"candidate_id":{"type":"string"},"source_label":{"type":"string"},"candidate_label":{"type":"string"},"matched_by":{"type":"array","items":{"type":"string"}},"state":{"type":"string","enum":["pending","kept_separate","merged"]},"created_by":{"type":"string"},"resolved_by":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"resolved_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","entity_type","source_id","candidate_id","source_label","candidate_label","matched_by","state","created_by","resolved_by","created_at","updated_at"],"additionalProperties":false},"CrmMergePreviewRequestDto":{"type":"object","properties":{"target_id":{"type":"string","minLength":1}},"required":["target_id"]},"CrmMergePreviewDto_Output":{"type":"object","properties":{"source":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"revision":{"type":"integer","minimum":0,"maximum":9007199254740991},"workspace_id":{"type":"string"},"display_name":{"type":"string"},"first_name":{"type":"string","nullable":true},"last_name":{"type":"string","nullable":true},"avatar_url":{"type":"string","nullable":true},"emails":{"type":"array","items":{"type":"string"}},"phone_numbers":{"type":"array","items":{"type":"string"}},"preferred_language":{"type":"string","nullable":true},"timezone":{"type":"string","nullable":true},"owner_user_id":{"type":"string","nullable":true},"custom_fields":{"type":"object","additionalProperties":{}},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"merged_into_id":{"type":"string","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"schema_version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","revision","workspace_id","display_name","emails","phone_numbers","custom_fields","created_by","updated_by","created_at","updated_at","schema_version"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"revision":{"type":"integer","minimum":0,"maximum":9007199254740991},"workspace_id":{"type":"string"},"name":{"type":"string"},"domains":{"type":"array","items":{"type":"string"}},"emails":{"type":"array","items":{"type":"string"}},"phone_numbers":{"type":"array","items":{"type":"string"}},"addresses":{"type":"array","items":{"type":"object","additionalProperties":{}}},"owner_user_ids":{"type":"array","items":{"type":"string"}},"custom_fields":{"type":"object","additionalProperties":{}},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"merged_into_id":{"type":"string","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"schema_version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","revision","workspace_id","name","domains","emails","phone_numbers","addresses","owner_user_ids","custom_fields","created_by","updated_by","created_at","updated_at","schema_version"],"additionalProperties":false}]},"target":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"revision":{"type":"integer","minimum":0,"maximum":9007199254740991},"workspace_id":{"type":"string"},"display_name":{"type":"string"},"first_name":{"type":"string","nullable":true},"last_name":{"type":"string","nullable":true},"avatar_url":{"type":"string","nullable":true},"emails":{"type":"array","items":{"type":"string"}},"phone_numbers":{"type":"array","items":{"type":"string"}},"preferred_language":{"type":"string","nullable":true},"timezone":{"type":"string","nullable":true},"owner_user_id":{"type":"string","nullable":true},"custom_fields":{"type":"object","additionalProperties":{}},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"merged_into_id":{"type":"string","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"schema_version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","revision","workspace_id","display_name","emails","phone_numbers","custom_fields","created_by","updated_by","created_at","updated_at","schema_version"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"revision":{"type":"integer","minimum":0,"maximum":9007199254740991},"workspace_id":{"type":"string"},"name":{"type":"string"},"domains":{"type":"array","items":{"type":"string"}},"emails":{"type":"array","items":{"type":"string"}},"phone_numbers":{"type":"array","items":{"type":"string"}},"addresses":{"type":"array","items":{"type":"object","additionalProperties":{}}},"owner_user_ids":{"type":"array","items":{"type":"string"}},"custom_fields":{"type":"object","additionalProperties":{}},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"merged_into_id":{"type":"string","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"schema_version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","revision","workspace_id","name","domains","emails","phone_numbers","addresses","owner_user_ids","custom_fields","created_by","updated_by","created_at","updated_at","schema_version"],"additionalProperties":false}]},"confidence":{"type":"string","enum":["exact","high","ambiguous","none"]},"matched_by":{"type":"array","items":{"type":"string"}},"conflicts":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"source_value":{},"target_value":{}},"required":["field","source_value","target_value"],"additionalProperties":false}},"dependencies":{"type":"object","additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}},"connector_references":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["source","target","confidence","matched_by","conflicts","dependencies","connector_references"],"additionalProperties":false},"ApplyCrmMergeDto":{"type":"object","properties":{"target_id":{"type":"string","minLength":1},"confirmed":{"type":"boolean","enum":[true]},"resolutions":{"default":{},"type":"object","additionalProperties":{"type":"string","enum":["source","target"]}}},"required":["target_id","confirmed"]},"CrmMergeResultDto_Output":{"type":"object","properties":{"target":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"revision":{"type":"integer","minimum":0,"maximum":9007199254740991},"workspace_id":{"type":"string"},"display_name":{"type":"string"},"first_name":{"type":"string","nullable":true},"last_name":{"type":"string","nullable":true},"avatar_url":{"type":"string","nullable":true},"emails":{"type":"array","items":{"type":"string"}},"phone_numbers":{"type":"array","items":{"type":"string"}},"preferred_language":{"type":"string","nullable":true},"timezone":{"type":"string","nullable":true},"owner_user_id":{"type":"string","nullable":true},"custom_fields":{"type":"object","additionalProperties":{}},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"merged_into_id":{"type":"string","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"schema_version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","revision","workspace_id","display_name","emails","phone_numbers","custom_fields","created_by","updated_by","created_at","updated_at","schema_version"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"revision":{"type":"integer","minimum":0,"maximum":9007199254740991},"workspace_id":{"type":"string"},"name":{"type":"string"},"domains":{"type":"array","items":{"type":"string"}},"emails":{"type":"array","items":{"type":"string"}},"phone_numbers":{"type":"array","items":{"type":"string"}},"addresses":{"type":"array","items":{"type":"object","additionalProperties":{}}},"owner_user_ids":{"type":"array","items":{"type":"string"}},"custom_fields":{"type":"object","additionalProperties":{}},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"merged_into_id":{"type":"string","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"schema_version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","revision","workspace_id","name","domains","emails","phone_numbers","addresses","owner_user_ids","custom_fields","created_by","updated_by","created_at","updated_at","schema_version"],"additionalProperties":false}]},"archived_source_id":{"type":"string"},"reassigned":{"type":"object","additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}}},"required":["target","archived_source_id","reassigned"],"additionalProperties":false},"CrmMaintenancePreviewRequestDto":{"type":"object","properties":{"action":{"type":"string","enum":["archive","restore","anonymize","permanent_delete"]}},"required":["action"]},"CrmMaintenancePreviewDto_Output":{"type":"object","properties":{"action":{"type":"string","enum":["archive","restore","anonymize","permanent_delete"]},"allowed":{"type":"boolean"},"dependencies":{"type":"object","additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}},"connector_references":{"type":"integer","minimum":0,"maximum":9007199254740991},"warnings":{"type":"array","items":{"type":"string"}}},"required":["action","allowed","dependencies","connector_references","warnings"],"additionalProperties":false},"ApplyCrmMaintenanceDto":{"type":"object","properties":{"action":{"type":"string","enum":["archive","restore","anonymize","permanent_delete"]},"confirmed":{"type":"boolean","enum":[true]}},"required":["action","confirmed"]},"CrmMaintenanceResultDto_Output":{"type":"object","properties":{"action":{"type":"string","enum":["archive","restore","anonymize","permanent_delete"]},"entity_id":{"type":"string"},"completed":{"type":"boolean"}},"required":["action","entity_id","completed"],"additionalProperties":false},"CrmPrivacyExportDto_Output":{"type":"object","properties":{"category":{"type":"string"},"data":{"type":"array","items":{}},"next_cursor":{"type":"string","nullable":true}},"required":["category","data","next_cursor"],"additionalProperties":false},"CrmTemplatePreviewRequestDto":{"type":"object","properties":{"template_id":{"type":"string","enum":["blank","general_business","sales","customer_success","customer_service","software","retail","local_services","consulting","community","education","ecommerce","other"]},"description":{"type":"string","minLength":3,"maxLength":2000}}},"CrmTemplatePreviewDto_Output":{"type":"object","properties":{"template_id":{"type":"string","enum":["blank","general_business","sales","customer_success","customer_service","software","retail","local_services","consulting","community","education","ecommerce","other"]},"name":{"type":"string"},"description":{"type":"string"},"suggested_from_description":{"type":"boolean"},"terminology":{"type":"object","additionalProperties":{"type":"string"}},"record_types":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"singular_name":{"type":"string"},"plural_name":{"type":"string"},"statuses":{"type":"array","items":{"type":"string"}}},"required":["id","singular_name","plural_name","statuses"],"additionalProperties":false}},"fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"}},"required":["id","name","type"],"additionalProperties":false}},"layouts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"context":{"type":"string"}},"required":["id","context"],"additionalProperties":false}},"views":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"}},"required":["id","name","type"],"additionalProperties":false}},"suggestions":{"type":"object","properties":{"connectors":{"type":"array","items":{"type":"string"}},"virtual_coworkers":{"type":"array","items":{"type":"string"}}},"required":["connectors","virtual_coworkers"],"additionalProperties":false}},"required":["template_id","name","description","suggested_from_description","terminology","record_types","fields","layouts","views","suggestions"],"additionalProperties":false},"ApplyCrmTemplateDto":{"type":"object","properties":{"template_id":{"type":"string","enum":["blank","general_business","sales","customer_success","customer_service","software","retail","local_services","consulting","community","education","ecommerce","other"]},"confirmed":{"type":"boolean","enum":[true]}},"required":["template_id","confirmed"]},"CrmTemplateApplyResultDto_Output":{"type":"object","properties":{"template_id":{"type":"string","enum":["blank","general_business","sales","customer_success","customer_service","software","retail","local_services","consulting","community","education","ecommerce","other"]},"record_types":{"type":"integer","minimum":0,"maximum":9007199254740991},"fields":{"type":"integer","minimum":0,"maximum":9007199254740991},"layouts":{"type":"integer","minimum":0,"maximum":9007199254740991},"views":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["template_id","record_types","fields","layouts","views"],"additionalProperties":false},"CrmAgentExecutionListDto_Output":{"type":"object","properties":{"executions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"virtual_coworker_id":{"type":"string"},"trigger":{"type":"string"},"action":{"type":"string"},"affected_entity":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false,"nullable":true},"data_sources":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string"},"reference":{"type":"string","nullable":true},"fresh_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["source"],"additionalProperties":false}},"approval_status":{"type":"string","enum":["not_required","granted","denied"]},"approval_by":{"type":"string","nullable":true},"changed_field_ids":{"type":"array","items":{"type":"string"}},"external_systems":{"type":"array","items":{"type":"string"}},"outcome":{"type":"string","enum":["running","completed","failed","denied"]},"explanation":{"type":"string"},"error_summary":{"type":"string","nullable":true},"started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"completed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","virtual_coworker_id","trigger","action","data_sources","approval_status","changed_field_ids","external_systems","outcome","explanation","started_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["executions","next_cursor"],"additionalProperties":false},"CrmFormDefinitionListDto_Output":{"type":"object","properties":{"forms":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"target_type":{"type":"string","enum":["person","organization","record","ticket","interaction","signal"]},"target_record_type_id":{"type":"string","nullable":true},"service_definition_id":{"type":"string","nullable":true},"access":{"type":"string","enum":["private","portal","public"]},"public_enabled":{"type":"boolean"},"fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"label":{"type":"string","minLength":1,"maxLength":300},"type":{"type":"string","enum":["short_text","long_text","rich_text","integer","decimal","currency","percentage","boolean","date","date_time","duration","email","phone","url","address","country","single_select","multi_select","status","rating","workspace_member_reference","person_reference","organization_reference","record_reference","entity_reference","relationship_reference","file_reference","formula","lookup","rollup","file"]},"required":{"type":"boolean"},"hidden":{"type":"boolean"},"default_value":{"nullable":true},"target_field":{"type":"string","minLength":1,"maxLength":200},"options":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"color":{"type":"string","nullable":true},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","label"],"additionalProperties":false},"nullable":true},"minimum":{"type":"number","nullable":true},"maximum":{"type":"number","nullable":true},"minimum_length":{"type":"integer","minimum":0,"maximum":9007199254740991,"nullable":true},"maximum_length":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"nullable":true},"pattern":{"type":"string","maxLength":500,"nullable":true},"relationship_type_id":{"type":"string","minLength":1,"nullable":true},"relationship_direction":{"type":"string","enum":["source","target",null],"nullable":true}},"required":["id","label","type","required","hidden","target_field"],"additionalProperties":false}},"source":{"type":"string"},"page_ids":{"type":"array","items":{"type":"string"}},"success_message":{"type":"string"},"success_redirect_url":{"type":"string","nullable":true},"automation_trigger_keys":{"type":"array","items":{"type":"string"}},"duplicate_match_field_ids":{"type":"array","items":{"type":"string"}},"consent_mappings":{"type":"array","items":{"type":"object","properties":{"field_id":{"type":"string"},"channel":{"type":"string"},"purpose":{"type":"string","enum":["marketing","transactional","all","custom"]}},"required":["field_id","channel","purpose"],"additionalProperties":false}},"file_upload_enabled":{"type":"boolean"},"maximum_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"maximum_file_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","name","target_type","access","public_enabled","fields","source","page_ids","success_message","automation_trigger_keys","duplicate_match_field_ids","consent_mappings","file_upload_enabled","maximum_files","maximum_file_bytes","created_by","updated_by","created_at","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["forms","next_cursor"],"additionalProperties":false},"CrmFormDefinitionDto_Output":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"target_type":{"type":"string","enum":["person","organization","record","ticket","interaction","signal"]},"target_record_type_id":{"type":"string","nullable":true},"service_definition_id":{"type":"string","nullable":true},"access":{"type":"string","enum":["private","portal","public"]},"public_enabled":{"type":"boolean"},"fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"label":{"type":"string","minLength":1,"maxLength":300},"type":{"type":"string","enum":["short_text","long_text","rich_text","integer","decimal","currency","percentage","boolean","date","date_time","duration","email","phone","url","address","country","single_select","multi_select","status","rating","workspace_member_reference","person_reference","organization_reference","record_reference","entity_reference","relationship_reference","file_reference","formula","lookup","rollup","file"]},"required":{"type":"boolean"},"hidden":{"type":"boolean"},"default_value":{"nullable":true},"target_field":{"type":"string","minLength":1,"maxLength":200},"options":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"color":{"type":"string","nullable":true},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","label"],"additionalProperties":false},"nullable":true},"minimum":{"type":"number","nullable":true},"maximum":{"type":"number","nullable":true},"minimum_length":{"type":"integer","minimum":0,"maximum":9007199254740991,"nullable":true},"maximum_length":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"nullable":true},"pattern":{"type":"string","maxLength":500,"nullable":true},"relationship_type_id":{"type":"string","minLength":1,"nullable":true},"relationship_direction":{"type":"string","enum":["source","target",null],"nullable":true}},"required":["id","label","type","required","hidden","target_field"],"additionalProperties":false}},"source":{"type":"string"},"page_ids":{"type":"array","items":{"type":"string"}},"success_message":{"type":"string"},"success_redirect_url":{"type":"string","nullable":true},"automation_trigger_keys":{"type":"array","items":{"type":"string"}},"duplicate_match_field_ids":{"type":"array","items":{"type":"string"}},"consent_mappings":{"type":"array","items":{"type":"object","properties":{"field_id":{"type":"string"},"channel":{"type":"string"},"purpose":{"type":"string","enum":["marketing","transactional","all","custom"]}},"required":["field_id","channel","purpose"],"additionalProperties":false}},"file_upload_enabled":{"type":"boolean"},"maximum_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"maximum_file_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","name","target_type","access","public_enabled","fields","source","page_ids","success_message","automation_trigger_keys","duplicate_match_field_ids","consent_mappings","file_upload_enabled","maximum_files","maximum_file_bytes","created_by","updated_by","created_at","updated_at"],"additionalProperties":false},"UpsertCrmFormDefinitionDto":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":300},"description":{"type":"string","maxLength":10000,"nullable":true},"target_type":{"type":"string","enum":["person","organization","record","ticket","interaction","signal"]},"target_record_type_id":{"type":"string","minLength":1,"nullable":true},"service_definition_id":{"type":"string","minLength":1,"nullable":true},"access":{"type":"string","enum":["private","portal","public"]},"public_enabled":{"type":"boolean"},"fields":{"minItems":1,"maxItems":200,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"label":{"type":"string","minLength":1,"maxLength":300},"type":{"type":"string","enum":["short_text","long_text","rich_text","integer","decimal","currency","percentage","boolean","date","date_time","duration","email","phone","url","address","country","single_select","multi_select","status","rating","workspace_member_reference","person_reference","organization_reference","record_reference","entity_reference","relationship_reference","file_reference","formula","lookup","rollup","file"]},"required":{"type":"boolean"},"hidden":{"type":"boolean"},"default_value":{"nullable":true},"target_field":{"type":"string","minLength":1,"maxLength":200},"options":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"color":{"type":"string","nullable":true},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","label"]},"nullable":true},"minimum":{"type":"number","nullable":true},"maximum":{"type":"number","nullable":true},"minimum_length":{"type":"integer","minimum":0,"maximum":9007199254740991,"nullable":true},"maximum_length":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"nullable":true},"pattern":{"type":"string","maxLength":500,"nullable":true},"relationship_type_id":{"type":"string","minLength":1,"nullable":true},"relationship_direction":{"type":"string","enum":["source","target",null],"nullable":true}},"required":["id","label","type","required","hidden","target_field"]}},"source":{"type":"string","minLength":1,"maxLength":200},"page_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"success_message":{"type":"string","minLength":1,"maxLength":1000},"success_redirect_url":{"type":"string","format":"uri","nullable":true},"automation_trigger_keys":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"duplicate_match_field_ids":{"default":[],"maxItems":50,"type":"array","items":{"type":"string","minLength":1}},"consent_mappings":{"default":[],"maxItems":50,"type":"array","items":{"type":"object","properties":{"field_id":{"type":"string"},"channel":{"type":"string"},"purpose":{"type":"string","enum":["marketing","transactional","all","custom"]}},"required":["field_id","channel","purpose"]}},"file_upload_enabled":{"default":false,"type":"boolean"},"maximum_files":{"default":0,"type":"integer","minimum":0,"maximum":20},"maximum_file_bytes":{"default":0,"type":"integer","minimum":0,"maximum":100000000},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["name","target_type","access","public_enabled","fields","source","success_message"]},"CrmFormDefinitionDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"target_type":{"type":"string","enum":["person","organization","record","ticket","interaction","signal"]},"target_record_type_id":{"type":"string","nullable":true},"service_definition_id":{"type":"string","nullable":true},"access":{"type":"string","enum":["private","portal","public"]},"public_enabled":{"type":"boolean"},"fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"label":{"type":"string","minLength":1,"maxLength":300},"type":{"type":"string","enum":["short_text","long_text","rich_text","integer","decimal","currency","percentage","boolean","date","date_time","duration","email","phone","url","address","country","single_select","multi_select","status","rating","workspace_member_reference","person_reference","organization_reference","record_reference","entity_reference","relationship_reference","file_reference","formula","lookup","rollup","file"]},"required":{"type":"boolean"},"hidden":{"type":"boolean"},"default_value":{"nullable":true},"target_field":{"type":"string","minLength":1,"maxLength":200},"options":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"color":{"type":"string","nullable":true},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","label"]},"nullable":true},"minimum":{"type":"number","nullable":true},"maximum":{"type":"number","nullable":true},"minimum_length":{"type":"integer","minimum":0,"maximum":9007199254740991,"nullable":true},"maximum_length":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"nullable":true},"pattern":{"type":"string","maxLength":500,"nullable":true},"relationship_type_id":{"type":"string","minLength":1,"nullable":true},"relationship_direction":{"type":"string","enum":["source","target",null],"nullable":true}},"required":["id","label","type","required","hidden","target_field"]}},"source":{"type":"string"},"page_ids":{"type":"array","items":{"type":"string"}},"success_message":{"type":"string"},"success_redirect_url":{"type":"string","nullable":true},"automation_trigger_keys":{"type":"array","items":{"type":"string"}},"duplicate_match_field_ids":{"type":"array","items":{"type":"string"}},"consent_mappings":{"type":"array","items":{"type":"object","properties":{"field_id":{"type":"string"},"channel":{"type":"string"},"purpose":{"type":"string","enum":["marketing","transactional","all","custom"]}},"required":["field_id","channel","purpose"]}},"file_upload_enabled":{"type":"boolean"},"maximum_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"maximum_file_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","name","target_type","access","public_enabled","fields","source","page_ids","success_message","automation_trigger_keys","duplicate_match_field_ids","consent_mappings","file_upload_enabled","maximum_files","maximum_file_bytes","created_by","updated_by","created_at","updated_at"]},"CrmFormSubmissionListDto_Output":{"type":"object","properties":{"submissions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"form_id":{"type":"string"},"values":{"type":"object","additionalProperties":{}},"source":{"type":"string"},"access":{"type":"string","enum":["private","portal","public"]},"submitter_person_id":{"type":"string","nullable":true},"attachment_ids":{"type":"array","items":{"type":"string"}},"target_reference":{"type":"object","properties":{"target_type":{"type":"string","enum":["person","organization","record","ticket","interaction","signal"]},"target_id":{"type":"string"},"record_type_id":{"type":"string","nullable":true}},"required":["target_type","target_id"],"additionalProperties":false,"nullable":true},"matched_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}},"created_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}},"relationship_ids":{"type":"array","items":{"type":"string"}},"consent_ids":{"type":"array","items":{"type":"string"}},"automation_trigger_keys":{"type":"array","items":{"type":"string"}},"status":{"type":"string","enum":["received","processing","completed","review","failed"]},"error_summary":{"type":"string","nullable":true},"automation_event_id":{"type":"string"},"created_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","form_id","values","source","access","attachment_ids","matched_entities","created_entities","relationship_ids","consent_ids","automation_trigger_keys","status","automation_event_id","created_by","created_at","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["submissions","next_cursor"],"additionalProperties":false},"SubmitCrmFormDto":{"type":"object","properties":{"values":{"type":"object","additionalProperties":{}},"target_entity_id":{"type":"string","minLength":1,"nullable":true},"attachment_ids":{"default":[],"maxItems":20,"type":"array","items":{"type":"string","minLength":1}},"idempotency_key":{"type":"string","minLength":1,"maxLength":500},"form_started_at":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"website":{"type":"string","maxLength":500}},"required":["values"]},"CrmFormSubmissionDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"form_id":{"type":"string"},"values":{"type":"object","additionalProperties":{}},"source":{"type":"string"},"access":{"type":"string","enum":["private","portal","public"]},"submitter_person_id":{"type":"string","nullable":true},"attachment_ids":{"type":"array","items":{"type":"string"}},"target_reference":{"type":"object","properties":{"target_type":{"type":"string","enum":["person","organization","record","ticket","interaction","signal"]},"target_id":{"type":"string"},"record_type_id":{"type":"string","nullable":true}},"required":["target_type","target_id"],"nullable":true},"matched_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"created_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"relationship_ids":{"type":"array","items":{"type":"string"}},"consent_ids":{"type":"array","items":{"type":"string"}},"automation_trigger_keys":{"type":"array","items":{"type":"string"}},"status":{"type":"string","enum":["received","processing","completed","review","failed"]},"error_summary":{"type":"string","nullable":true},"automation_event_id":{"type":"string"},"created_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","form_id","values","source","access","attachment_ids","matched_entities","created_entities","relationship_ids","consent_ids","automation_trigger_keys","status","automation_event_id","created_by","created_at","updated_at"]},"CrmEntitySearchResponseDto_Output":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"entity_type":{"type":"string","enum":["person","organization","record"]},"entity_id":{"type":"string"},"record_type_id":{"type":"string","nullable":true},"title":{"type":"string"},"subtitle":{"type":"string","nullable":true}},"required":["entity_type","entity_id","title"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["results","next_cursor"],"additionalProperties":false},"CrmGlobalSearchKind_Output":{"type":"string","enum":["person","organization","record","commitment"]},"CrmSearchLinkedWorkType_Output":{"type":"string","enum":["task","ticket","project","document"]},"CrmGlobalSearchResponseDto_Output":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"kind":{"$ref":"#/components/schemas/CrmGlobalSearchKind_Output"},"id":{"type":"string"},"entity_type":{"type":"string","enum":["person","organization","record",null],"nullable":true},"record_type_id":{"type":"string","nullable":true},"title":{"type":"string"},"subtitle":{"type":"string","nullable":true},"linked_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}},"linked_work":{"type":"array","items":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/CrmSearchLinkedWorkType_Output"},"id":{"type":"string"}},"required":["type","id"],"additionalProperties":false}}},"required":["kind","id","title","linked_entities","linked_work"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["results","next_cursor"],"additionalProperties":false},"CrmInteractionListDto_Output":{"type":"object","properties":{"interactions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"type":{"type":"string"},"occurred_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"participants":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}},"direction":{"type":"string","enum":["inbound","outbound","internal",null],"nullable":true},"source":{"type":"string"},"summary":{"type":"string"},"content":{"type":"string","nullable":true},"attachment_ids":{"type":"array","items":{"type":"string"}},"created_by":{"type":"string"},"visibility":{"type":"string","enum":["workspace","restricted","portal"]},"linked_task_ids":{"type":"array","items":{"type":"string"}},"linked_ticket_ids":{"type":"array","items":{"type":"string"}},"linked_event_ids":{"type":"array","items":{"type":"string"}},"external_reference":{"type":"object","properties":{"connection_id":{"type":"string","minLength":1},"object_type":{"type":"string","minLength":1,"maxLength":100},"external_id":{"type":"string","minLength":1,"maxLength":500}},"required":["connection_id","object_type","external_id"],"additionalProperties":false,"nullable":true},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","type","occurred_at","participants","source","summary","attachment_ids","created_by","visibility","linked_task_ids","linked_ticket_ids","linked_event_ids","created_at","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["interactions","next_cursor"],"additionalProperties":false},"LatestCrmInteractionsDto":{"type":"object","properties":{"entities":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}}},"required":["entities"]},"LatestCrmInteractionListDto_Output":{"type":"object","properties":{"latest":{"type":"array","items":{"type":"object","properties":{"entity":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false},"occurred_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["entity","occurred_at"],"additionalProperties":false}}},"required":["latest"],"additionalProperties":false},"CrmInteractionDto_Output":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"type":{"type":"string"},"occurred_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"participants":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}},"direction":{"type":"string","enum":["inbound","outbound","internal",null],"nullable":true},"source":{"type":"string"},"summary":{"type":"string"},"content":{"type":"string","nullable":true},"attachment_ids":{"type":"array","items":{"type":"string"}},"created_by":{"type":"string"},"visibility":{"type":"string","enum":["workspace","restricted","portal"]},"linked_task_ids":{"type":"array","items":{"type":"string"}},"linked_ticket_ids":{"type":"array","items":{"type":"string"}},"linked_event_ids":{"type":"array","items":{"type":"string"}},"external_reference":{"type":"object","properties":{"connection_id":{"type":"string","minLength":1},"object_type":{"type":"string","minLength":1,"maxLength":100},"external_id":{"type":"string","minLength":1,"maxLength":500}},"required":["connection_id","object_type","external_id"],"additionalProperties":false,"nullable":true},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","type","occurred_at","participants","source","summary","attachment_ids","created_by","visibility","linked_task_ids","linked_ticket_ids","linked_event_ids","created_at","updated_at"],"additionalProperties":false},"UpsertCrmInteractionDto":{"type":"object","properties":{"type":{"type":"string","minLength":1,"maxLength":100},"occurred_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"participants":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"direction":{"type":"string","enum":["inbound","outbound","internal",null],"nullable":true},"source":{"type":"string","minLength":1,"maxLength":100},"summary":{"type":"string","minLength":1,"maxLength":1000},"content":{"type":"string","maxLength":100000,"nullable":true},"attachment_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string"}},"visibility":{"type":"string","enum":["workspace","restricted","portal"]},"linked_task_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string"}},"linked_ticket_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string"}},"linked_event_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string"}},"external_reference":{"type":"object","properties":{"connection_id":{"type":"string","minLength":1},"object_type":{"type":"string","minLength":1,"maxLength":100},"external_id":{"type":"string","minLength":1,"maxLength":500}},"required":["connection_id","object_type","external_id"],"nullable":true}},"required":["type","occurred_at","participants","source","summary","visibility"]},"CrmInteractionDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"type":{"type":"string"},"occurred_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"participants":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"direction":{"type":"string","enum":["inbound","outbound","internal",null],"nullable":true},"source":{"type":"string"},"summary":{"type":"string"},"content":{"type":"string","nullable":true},"attachment_ids":{"type":"array","items":{"type":"string"}},"created_by":{"type":"string"},"visibility":{"type":"string","enum":["workspace","restricted","portal"]},"linked_task_ids":{"type":"array","items":{"type":"string"}},"linked_ticket_ids":{"type":"array","items":{"type":"string"}},"linked_event_ids":{"type":"array","items":{"type":"string"}},"external_reference":{"type":"object","properties":{"connection_id":{"type":"string","minLength":1},"object_type":{"type":"string","minLength":1,"maxLength":100},"external_id":{"type":"string","minLength":1,"maxLength":500}},"required":["connection_id","object_type","external_id"],"nullable":true},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","type","occurred_at","participants","source","summary","attachment_ids","created_by","visibility","linked_task_ids","linked_ticket_ids","linked_event_ids","created_at","updated_at"]},"CrmSignalListDto_Output":{"type":"object","properties":{"signals":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"type":{"type":"string"},"occurred_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}},"source":{"type":"string"},"severity":{"type":"string","enum":["info","warning","critical"]},"summary":{"type":"string"},"payload":{"type":"object","additionalProperties":{}},"status":{"type":"string","enum":["new","acknowledged","dismissed","resolved"]},"external_reference":{"type":"object","properties":{"connection_id":{"type":"string","minLength":1},"object_type":{"type":"string","minLength":1,"maxLength":100},"external_id":{"type":"string","minLength":1,"maxLength":500}},"required":["connection_id","object_type","external_id"],"additionalProperties":false,"nullable":true},"created_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","type","occurred_at","entities","source","severity","summary","payload","status","created_by","created_at","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["signals","next_cursor"],"additionalProperties":false},"CrmSignalDto_Output":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"type":{"type":"string"},"occurred_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}},"source":{"type":"string"},"severity":{"type":"string","enum":["info","warning","critical"]},"summary":{"type":"string"},"payload":{"type":"object","additionalProperties":{}},"status":{"type":"string","enum":["new","acknowledged","dismissed","resolved"]},"external_reference":{"type":"object","properties":{"connection_id":{"type":"string","minLength":1},"object_type":{"type":"string","minLength":1,"maxLength":100},"external_id":{"type":"string","minLength":1,"maxLength":500}},"required":["connection_id","object_type","external_id"],"additionalProperties":false,"nullable":true},"created_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","type","occurred_at","entities","source","severity","summary","payload","status","created_by","created_at","updated_at"],"additionalProperties":false},"UpsertCrmSignalDto":{"type":"object","properties":{"type":{"type":"string","minLength":1,"maxLength":100},"occurred_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"entities":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"source":{"type":"string","minLength":1,"maxLength":100},"severity":{"type":"string","enum":["info","warning","critical"]},"summary":{"type":"string","minLength":1,"maxLength":1000},"payload":{"type":"object","additionalProperties":{}},"status":{"type":"string","enum":["new","acknowledged","dismissed","resolved"]},"external_reference":{"type":"object","properties":{"connection_id":{"type":"string","minLength":1},"object_type":{"type":"string","minLength":1,"maxLength":100},"external_id":{"type":"string","minLength":1,"maxLength":500}},"required":["connection_id","object_type","external_id"],"nullable":true}},"required":["type","occurred_at","entities","source","severity","summary","payload","status"]},"CrmSignalDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"type":{"type":"string"},"occurred_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"source":{"type":"string"},"severity":{"type":"string","enum":["info","warning","critical"]},"summary":{"type":"string"},"payload":{"type":"object","additionalProperties":{}},"status":{"type":"string","enum":["new","acknowledged","dismissed","resolved"]},"external_reference":{"type":"object","properties":{"connection_id":{"type":"string","minLength":1},"object_type":{"type":"string","minLength":1,"maxLength":100},"external_id":{"type":"string","minLength":1,"maxLength":500}},"required":["connection_id","object_type","external_id"],"nullable":true},"created_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","type","occurred_at","entities","source","severity","summary","payload","status","created_by","created_at","updated_at"]},"CrmTimelineListDto_Output":{"type":"object","properties":{"entries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}},"activity_type":{"type":"string"},"occurred_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"source":{"type":"string"},"summary":{"type":"string"},"actor_id":{"type":"string","nullable":true},"visibility":{"type":"string","enum":["workspace","restricted","portal"]},"source_entity_type":{"type":"string","enum":["interaction","signal","crm","ticket","task","project","calendar_event","document","file","connector","automation","agent"]},"source_entity_id":{"type":"string"},"grouping_key":{"type":"string","nullable":true},"provider":{"type":"string","nullable":true}},"required":["id","workspace_id","entities","activity_type","occurred_at","source","summary","visibility","source_entity_type","source_entity_id"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["entries","next_cursor"],"additionalProperties":false},"CrmConsentListDto_Output":{"type":"object","properties":{"consent":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"person_id":{"type":"string"},"channel":{"type":"string"},"purpose":{"type":"string","enum":["marketing","transactional","all","custom"]},"custom_purpose":{"type":"string","nullable":true},"state":{"type":"string","enum":["allowed","denied","unknown"]},"consent_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"source":{"type":"string"},"withdrawn_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"evidence":{"type":"string","nullable":true},"external_provider":{"type":"string","nullable":true},"source_list":{"type":"string","nullable":true},"created_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","person_id","channel","purpose","state","source","created_by","created_at","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["consent","next_cursor"],"additionalProperties":false},"CrmContactabilityDto_Output":{"type":"object","properties":{"state":{"type":"string","enum":["allowed","denied","unknown"]}},"required":["state"],"additionalProperties":false},"UpsertCrmConsentDto":{"type":"object","properties":{"person_id":{"type":"string","minLength":1},"channel":{"type":"string","minLength":1,"maxLength":50},"purpose":{"type":"string","enum":["marketing","transactional","all","custom"]},"custom_purpose":{"type":"string","minLength":1,"maxLength":200,"nullable":true},"state":{"type":"string","enum":["allowed","denied","unknown"]},"consent_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"source":{"type":"string","minLength":1,"maxLength":200},"withdrawn_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"evidence":{"type":"string","maxLength":5000,"nullable":true},"external_provider":{"type":"string","nullable":true},"source_list":{"type":"string","nullable":true}},"required":["person_id","channel","purpose","state","source"]},"CrmConsentDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"person_id":{"type":"string"},"channel":{"type":"string"},"purpose":{"type":"string","enum":["marketing","transactional","all","custom"]},"custom_purpose":{"type":"string","nullable":true},"state":{"type":"string","enum":["allowed","denied","unknown"]},"consent_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"source":{"type":"string"},"withdrawn_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"evidence":{"type":"string","nullable":true},"external_provider":{"type":"string","nullable":true},"source_list":{"type":"string","nullable":true},"created_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","person_id","channel","purpose","state","source","created_by","created_at","updated_at"]},"CrmSegmentListDto_Output":{"type":"object","properties":{"segments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"entity_type":{"type":"string","enum":["person","organization","record"]},"record_type_id":{"type":"string","nullable":true},"mode":{"type":"string","enum":["static","dynamic"]},"filter":{"nullable":true},"created_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","name","entity_type","mode","created_by","created_at","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["segments","next_cursor"],"additionalProperties":false},"CrmSegmentDto_Output":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"entity_type":{"type":"string","enum":["person","organization","record"]},"record_type_id":{"type":"string","nullable":true},"mode":{"type":"string","enum":["static","dynamic"]},"filter":{"nullable":true},"created_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","name","entity_type","mode","created_by","created_at","updated_at"],"additionalProperties":false},"UpsertCrmSegmentDto":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","maxLength":2000,"nullable":true},"entity_type":{"type":"string","enum":["person","organization","record"]},"record_type_id":{"type":"string","nullable":true},"mode":{"type":"string","enum":["static","dynamic"]},"filter":{"nullable":true},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["name","entity_type","mode"]},"CrmSegmentDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"entity_type":{"type":"string","enum":["person","organization","record"]},"record_type_id":{"type":"string","nullable":true},"mode":{"type":"string","enum":["static","dynamic"]},"filter":{"nullable":true},"created_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","name","entity_type","mode","created_by","created_at","updated_at"]},"CrmSegmentMemberListDto_Output":{"type":"object","properties":{"entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}},"resolved_entities":{"type":"array","items":{"type":"object","properties":{"entity":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false},"title":{"type":"string"}},"required":["entity","title"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["entities","next_cursor"],"additionalProperties":false},"UpsertCrmSegmentMemberDto":{"type":"object","properties":{"entity":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"required":["entity"]},"CrmCommitmentListDto_Output":{"type":"object","properties":{"commitments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"title":{"type":"string"},"description":{"type":"string","nullable":true},"committing_party":{"type":"object","properties":{"kind":{"type":"string","enum":["person","organization","record","user","team","workspace","external"]},"id":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"label":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"record_type_id":{"type":"string","minLength":1,"nullable":true}},"required":["kind"],"additionalProperties":false},"receiving_party":{"type":"object","properties":{"kind":{"type":"string","enum":["person","organization","record","user","team","workspace","external"]},"id":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"label":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"record_type_id":{"type":"string","minLength":1,"nullable":true}},"required":["kind"],"additionalProperties":false},"owner_user_id":{"type":"string","nullable":true},"source_interaction_id":{"type":"string","nullable":true},"source_ticket_id":{"type":"string","nullable":true},"source_record":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false,"nullable":true},"due_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"status_id":{"type":"string"},"visibility":{"type":"string","enum":["workspace","restricted","portal"]},"linked_task_id":{"type":"string","nullable":true},"linked_project_id":{"type":"string","nullable":true},"linked_document_id":{"type":"string","nullable":true},"dependency_ids":{"type":"array","items":{"type":"string"}},"risk":{"type":"string","enum":["none","watch","at_risk","blocked"]},"completion_evidence":{"type":"string","nullable":true},"completion_attachment_ids":{"type":"array","items":{"type":"string"}},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"completed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","title","committing_party","receiving_party","status_id","visibility","dependency_ids","risk","completion_attachment_ids","created_by","updated_by","created_at","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["commitments","next_cursor"],"additionalProperties":false},"CrmWorkListDto_Output":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["commitment","outcome","ticket"]},"item":{"type":"object","additionalProperties":{}}},"required":["kind","item"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["items","next_cursor"],"additionalProperties":false},"CrmCommitmentDto_Output":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"title":{"type":"string"},"description":{"type":"string","nullable":true},"committing_party":{"type":"object","properties":{"kind":{"type":"string","enum":["person","organization","record","user","team","workspace","external"]},"id":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"label":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"record_type_id":{"type":"string","minLength":1,"nullable":true}},"required":["kind"],"additionalProperties":false},"receiving_party":{"type":"object","properties":{"kind":{"type":"string","enum":["person","organization","record","user","team","workspace","external"]},"id":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"label":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"record_type_id":{"type":"string","minLength":1,"nullable":true}},"required":["kind"],"additionalProperties":false},"owner_user_id":{"type":"string","nullable":true},"source_interaction_id":{"type":"string","nullable":true},"source_ticket_id":{"type":"string","nullable":true},"source_record":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false,"nullable":true},"due_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"status_id":{"type":"string"},"visibility":{"type":"string","enum":["workspace","restricted","portal"]},"linked_task_id":{"type":"string","nullable":true},"linked_project_id":{"type":"string","nullable":true},"linked_document_id":{"type":"string","nullable":true},"dependency_ids":{"type":"array","items":{"type":"string"}},"risk":{"type":"string","enum":["none","watch","at_risk","blocked"]},"completion_evidence":{"type":"string","nullable":true},"completion_attachment_ids":{"type":"array","items":{"type":"string"}},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"completed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","title","committing_party","receiving_party","status_id","visibility","dependency_ids","risk","completion_attachment_ids","created_by","updated_by","created_at","updated_at"],"additionalProperties":false},"UpsertCrmCommitmentDto":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":300},"description":{"type":"string","maxLength":10000,"nullable":true},"committing_party":{"type":"object","properties":{"kind":{"type":"string","enum":["person","organization","record","user","team","workspace","external"]},"id":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"label":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"record_type_id":{"type":"string","minLength":1,"nullable":true}},"required":["kind"]},"receiving_party":{"type":"object","properties":{"kind":{"type":"string","enum":["person","organization","record","user","team","workspace","external"]},"id":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"label":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"record_type_id":{"type":"string","minLength":1,"nullable":true}},"required":["kind"]},"owner_user_id":{"type":"string","nullable":true},"source_interaction_id":{"type":"string","nullable":true},"source_ticket_id":{"type":"string","nullable":true},"source_record":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]},"due_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"status_id":{"default":"open","type":"string","minLength":1,"maxLength":100},"visibility":{"default":"workspace","type":"string","enum":["workspace","restricted","portal"]},"linked_task_id":{"type":"string","nullable":true},"linked_project_id":{"type":"string","nullable":true},"linked_document_id":{"type":"string","nullable":true},"dependency_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"risk":{"default":"none","type":"string","enum":["none","watch","at_risk","blocked"]},"completion_evidence":{"type":"string","maxLength":10000,"nullable":true},"completion_attachment_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"completed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["title","committing_party","receiving_party","source_record"]},"CrmCommitmentDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"title":{"type":"string"},"description":{"type":"string","nullable":true},"committing_party":{"type":"object","properties":{"kind":{"type":"string","enum":["person","organization","record","user","team","workspace","external"]},"id":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"label":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"record_type_id":{"type":"string","minLength":1,"nullable":true}},"required":["kind"]},"receiving_party":{"type":"object","properties":{"kind":{"type":"string","enum":["person","organization","record","user","team","workspace","external"]},"id":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"label":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"record_type_id":{"type":"string","minLength":1,"nullable":true}},"required":["kind"]},"owner_user_id":{"type":"string","nullable":true},"source_interaction_id":{"type":"string","nullable":true},"source_ticket_id":{"type":"string","nullable":true},"source_record":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"nullable":true},"due_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"status_id":{"type":"string"},"visibility":{"type":"string","enum":["workspace","restricted","portal"]},"linked_task_id":{"type":"string","nullable":true},"linked_project_id":{"type":"string","nullable":true},"linked_document_id":{"type":"string","nullable":true},"dependency_ids":{"type":"array","items":{"type":"string"}},"risk":{"type":"string","enum":["none","watch","at_risk","blocked"]},"completion_evidence":{"type":"string","nullable":true},"completion_attachment_ids":{"type":"array","items":{"type":"string"}},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"completed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","title","committing_party","receiving_party","status_id","visibility","dependency_ids","risk","completion_attachment_ids","created_by","updated_by","created_at","updated_at"]},"CrmOutcomeListDto_Output":{"type":"object","properties":{"outcomes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"title":{"type":"string"},"description":{"type":"string","nullable":true},"related_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}},"internal_owner_user_id":{"type":"string","nullable":true},"external_owner":{"type":"object","properties":{"kind":{"type":"string","enum":["person","organization","record","user","team","workspace","external"]},"id":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"label":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"record_type_id":{"type":"string","minLength":1,"nullable":true}},"required":["kind"],"additionalProperties":false,"nullable":true},"baseline":{"anyOf":[{"type":"string","maxLength":1000},{"type":"number"},{"type":"boolean"}],"nullable":true},"target":{"anyOf":[{"type":"string","maxLength":1000},{"type":"number"},{"type":"boolean"}],"nullable":true},"metric":{"type":"string","nullable":true},"progress":{"type":"number","nullable":true},"due_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"status_id":{"type":"string"},"linked_task_ids":{"type":"array","items":{"type":"string"}},"linked_project_ids":{"type":"array","items":{"type":"string"}},"linked_records":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}},"evidence":{"type":"string","nullable":true},"evidence_attachment_ids":{"type":"array","items":{"type":"string"}},"review_cadence_days":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"nullable":true},"next_review_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"portal_visible":{"type":"boolean"},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"completed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","title","related_entities","status_id","linked_task_ids","linked_project_ids","linked_records","evidence_attachment_ids","portal_visible","created_by","updated_by","created_at","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["outcomes","next_cursor"],"additionalProperties":false},"CrmOutcomeDto_Output":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"title":{"type":"string"},"description":{"type":"string","nullable":true},"related_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}},"internal_owner_user_id":{"type":"string","nullable":true},"external_owner":{"type":"object","properties":{"kind":{"type":"string","enum":["person","organization","record","user","team","workspace","external"]},"id":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"label":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"record_type_id":{"type":"string","minLength":1,"nullable":true}},"required":["kind"],"additionalProperties":false,"nullable":true},"baseline":{"anyOf":[{"type":"string","maxLength":1000},{"type":"number"},{"type":"boolean"}],"nullable":true},"target":{"anyOf":[{"type":"string","maxLength":1000},{"type":"number"},{"type":"boolean"}],"nullable":true},"metric":{"type":"string","nullable":true},"progress":{"type":"number","nullable":true},"due_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"status_id":{"type":"string"},"linked_task_ids":{"type":"array","items":{"type":"string"}},"linked_project_ids":{"type":"array","items":{"type":"string"}},"linked_records":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}},"evidence":{"type":"string","nullable":true},"evidence_attachment_ids":{"type":"array","items":{"type":"string"}},"review_cadence_days":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"nullable":true},"next_review_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"portal_visible":{"type":"boolean"},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"completed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","title","related_entities","status_id","linked_task_ids","linked_project_ids","linked_records","evidence_attachment_ids","portal_visible","created_by","updated_by","created_at","updated_at"],"additionalProperties":false},"UpsertCrmOutcomeDto":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":300},"description":{"type":"string","maxLength":10000,"nullable":true},"related_entities":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"internal_owner_user_id":{"type":"string","nullable":true},"external_owner":{"type":"object","properties":{"kind":{"type":"string","enum":["person","organization","record","user","team","workspace","external"]},"id":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"label":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"record_type_id":{"type":"string","minLength":1,"nullable":true}},"required":["kind"],"nullable":true},"baseline":{"anyOf":[{"type":"string","maxLength":1000},{"type":"number"},{"type":"boolean"}],"nullable":true},"target":{"anyOf":[{"type":"string","maxLength":1000},{"type":"number"},{"type":"boolean"}],"nullable":true},"metric":{"type":"string","maxLength":500,"nullable":true},"progress":{"type":"number","minimum":0,"maximum":100,"nullable":true},"due_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"status_id":{"default":"open","type":"string","minLength":1,"maxLength":100},"linked_task_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"linked_project_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"linked_records":{"default":[],"maxItems":100,"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"evidence":{"type":"string","maxLength":10000,"nullable":true},"evidence_attachment_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"review_cadence_days":{"type":"integer","minimum":1,"maximum":3650,"nullable":true},"next_review_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"portal_visible":{"default":false,"type":"boolean"},"completed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["title","related_entities"]},"CrmOutcomeDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"title":{"type":"string"},"description":{"type":"string","nullable":true},"related_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"internal_owner_user_id":{"type":"string","nullable":true},"external_owner":{"type":"object","properties":{"kind":{"type":"string","enum":["person","organization","record","user","team","workspace","external"]},"id":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"label":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"record_type_id":{"type":"string","minLength":1,"nullable":true}},"required":["kind"],"nullable":true},"baseline":{"anyOf":[{"type":"string","maxLength":1000},{"type":"number"},{"type":"boolean"}],"nullable":true},"target":{"anyOf":[{"type":"string","maxLength":1000},{"type":"number"},{"type":"boolean"}],"nullable":true},"metric":{"type":"string","nullable":true},"progress":{"type":"number","nullable":true},"due_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"status_id":{"type":"string"},"linked_task_ids":{"type":"array","items":{"type":"string"}},"linked_project_ids":{"type":"array","items":{"type":"string"}},"linked_records":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"evidence":{"type":"string","nullable":true},"evidence_attachment_ids":{"type":"array","items":{"type":"string"}},"review_cadence_days":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"nullable":true},"next_review_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"portal_visible":{"type":"boolean"},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"completed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","title","related_entities","status_id","linked_task_ids","linked_project_ids","linked_records","evidence_attachment_ids","portal_visible","created_by","updated_by","created_at","updated_at"]},"CrmHealthModelListDto_Output":{"type":"object","properties":{"models":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"entity_type":{"type":"string","enum":["person","organization","record"]},"record_type_id":{"type":"string","nullable":true},"enabled":{"type":"boolean"},"base_score":{"type":"number"},"rules":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"label":{"type":"string","minLength":1,"maxLength":300},"condition":{},"reason":{"type":"string","minLength":1,"maxLength":1000},"score_delta":{"type":"number","minimum":-100,"maximum":100},"recommended_action":{"type":"string","minLength":1,"maxLength":1000,"nullable":true}},"required":["id","label","condition","reason","score_delta"],"additionalProperties":false}},"bands":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"label":{"type":"string","minLength":1,"maxLength":300},"minimum_score":{"type":"integer","minimum":0,"maximum":100},"maximum_score":{"type":"integer","minimum":0,"maximum":100},"color":{"type":"string","maxLength":50,"nullable":true}},"required":["id","label","minimum_score","maximum_score"],"additionalProperties":false}},"created_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","name","entity_type","enabled","base_score","rules","bands","created_by","created_at","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["models","next_cursor"],"additionalProperties":false},"CrmHealthModelDto_Output":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"entity_type":{"type":"string","enum":["person","organization","record"]},"record_type_id":{"type":"string","nullable":true},"enabled":{"type":"boolean"},"base_score":{"type":"number"},"rules":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"label":{"type":"string","minLength":1,"maxLength":300},"condition":{},"reason":{"type":"string","minLength":1,"maxLength":1000},"score_delta":{"type":"number","minimum":-100,"maximum":100},"recommended_action":{"type":"string","minLength":1,"maxLength":1000,"nullable":true}},"required":["id","label","condition","reason","score_delta"],"additionalProperties":false}},"bands":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"label":{"type":"string","minLength":1,"maxLength":300},"minimum_score":{"type":"integer","minimum":0,"maximum":100},"maximum_score":{"type":"integer","minimum":0,"maximum":100},"color":{"type":"string","maxLength":50,"nullable":true}},"required":["id","label","minimum_score","maximum_score"],"additionalProperties":false}},"created_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","name","entity_type","enabled","base_score","rules","bands","created_by","created_at","updated_at"],"additionalProperties":false},"UpsertCrmHealthModelDto":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":300},"description":{"type":"string","maxLength":5000,"nullable":true},"entity_type":{"type":"string","enum":["person","organization","record"]},"record_type_id":{"type":"string","nullable":true},"enabled":{"default":true,"type":"boolean"},"base_score":{"default":100,"type":"number","minimum":0,"maximum":100},"rules":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"label":{"type":"string","minLength":1,"maxLength":300},"condition":{},"reason":{"type":"string","minLength":1,"maxLength":1000},"score_delta":{"type":"number","minimum":-100,"maximum":100},"recommended_action":{"type":"string","minLength":1,"maxLength":1000,"nullable":true}},"required":["id","label","condition","reason","score_delta"]}},"bands":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"label":{"type":"string","minLength":1,"maxLength":300},"minimum_score":{"type":"integer","minimum":0,"maximum":100},"maximum_score":{"type":"integer","minimum":0,"maximum":100},"color":{"type":"string","maxLength":50,"nullable":true}},"required":["id","label","minimum_score","maximum_score"]}},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["name","entity_type","rules","bands"]},"CrmHealthModelDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"entity_type":{"type":"string","enum":["person","organization","record"]},"record_type_id":{"type":"string","nullable":true},"enabled":{"type":"boolean"},"base_score":{"type":"number"},"rules":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"label":{"type":"string","minLength":1,"maxLength":300},"condition":{},"reason":{"type":"string","minLength":1,"maxLength":1000},"score_delta":{"type":"number","minimum":-100,"maximum":100},"recommended_action":{"type":"string","minLength":1,"maxLength":1000,"nullable":true}},"required":["id","label","condition","reason","score_delta"]}},"bands":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"label":{"type":"string","minLength":1,"maxLength":300},"minimum_score":{"type":"integer","minimum":0,"maximum":100},"maximum_score":{"type":"integer","minimum":0,"maximum":100},"color":{"type":"string","maxLength":50,"nullable":true}},"required":["id","label","minimum_score","maximum_score"]}},"created_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","name","entity_type","enabled","base_score","rules","bands","created_by","created_at","updated_at"]},"EvaluateCrmHealthDto":{"type":"object","properties":{"entity":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"required":["entity"]},"CrmHealthResultDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"model_id":{"type":"string"},"entity":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]},"score":{"type":"number"},"band_id":{"type":"string"},"band_label":{"type":"string"},"reasons":{"type":"array","items":{"type":"object","properties":{"rule_id":{"type":"string"},"label":{"type":"string"},"reason":{"type":"string"},"score_delta":{"type":"number"}},"required":["rule_id","label","reason","score_delta"]}},"recommended_actions":{"type":"array","items":{"type":"string"}},"facts":{"type":"object","additionalProperties":{}},"evaluated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","model_id","entity","score","band_id","band_label","reasons","recommended_actions","facts","evaluated_at"]},"CrmHealthResultDto_Output":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"model_id":{"type":"string"},"entity":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false},"score":{"type":"number"},"band_id":{"type":"string"},"band_label":{"type":"string"},"reasons":{"type":"array","items":{"type":"object","properties":{"rule_id":{"type":"string"},"label":{"type":"string"},"reason":{"type":"string"},"score_delta":{"type":"number"}},"required":["rule_id","label","reason","score_delta"],"additionalProperties":false}},"recommended_actions":{"type":"array","items":{"type":"string"}},"facts":{"type":"object","additionalProperties":{}},"evaluated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","model_id","entity","score","band_id","band_label","reasons","recommended_actions","facts","evaluated_at"],"additionalProperties":false},"CrmLifecycleDefinitionListDto_Output":{"type":"object","properties":{"definitions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"entity_type":{"type":"string","enum":["person","organization","record"]},"record_type_id":{"type":"string","nullable":true},"stages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"name":{"type":"string","minLength":1,"maxLength":300},"description":{"type":"string","maxLength":2000,"nullable":true},"order":{"type":"integer","minimum":0,"maximum":9007199254740991},"entry_condition":{"nullable":true},"exit_condition":{"nullable":true},"required_field_ids":{"type":"array","items":{"type":"string"}},"required_task_template_ids":{"type":"array","items":{"type":"string"}},"required_document_ids":{"type":"array","items":{"type":"string"}},"linked_playbook_ids":{"type":"array","items":{"type":"string"}},"responsible_role_ids":{"type":"array","items":{"type":"string"}},"portal_behavior":{"type":"string","enum":["hidden","read_only","interactive"]},"automation_behavior":{"type":"string","enum":["manual","automatic","hybrid"]}},"required":["id","name","order","required_field_ids","required_task_template_ids","required_document_ids","linked_playbook_ids","responsible_role_ids","portal_behavior","automation_behavior"],"additionalProperties":false}},"enabled":{"type":"boolean"},"created_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","name","entity_type","stages","enabled","created_by","created_at","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["definitions","next_cursor"],"additionalProperties":false},"CrmLifecycleDefinitionDto_Output":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"entity_type":{"type":"string","enum":["person","organization","record"]},"record_type_id":{"type":"string","nullable":true},"stages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"name":{"type":"string","minLength":1,"maxLength":300},"description":{"type":"string","maxLength":2000,"nullable":true},"order":{"type":"integer","minimum":0,"maximum":9007199254740991},"entry_condition":{"nullable":true},"exit_condition":{"nullable":true},"required_field_ids":{"type":"array","items":{"type":"string"}},"required_task_template_ids":{"type":"array","items":{"type":"string"}},"required_document_ids":{"type":"array","items":{"type":"string"}},"linked_playbook_ids":{"type":"array","items":{"type":"string"}},"responsible_role_ids":{"type":"array","items":{"type":"string"}},"portal_behavior":{"type":"string","enum":["hidden","read_only","interactive"]},"automation_behavior":{"type":"string","enum":["manual","automatic","hybrid"]}},"required":["id","name","order","required_field_ids","required_task_template_ids","required_document_ids","linked_playbook_ids","responsible_role_ids","portal_behavior","automation_behavior"],"additionalProperties":false}},"enabled":{"type":"boolean"},"created_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","name","entity_type","stages","enabled","created_by","created_at","updated_at"],"additionalProperties":false},"UpsertCrmLifecycleDefinitionDto":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":300},"description":{"type":"string","maxLength":5000,"nullable":true},"entity_type":{"type":"string","enum":["person","organization","record"]},"record_type_id":{"type":"string","nullable":true},"stages":{"minItems":1,"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"name":{"type":"string","minLength":1,"maxLength":300},"description":{"type":"string","maxLength":2000,"nullable":true},"order":{"type":"integer","minimum":0,"maximum":9007199254740991},"entry_condition":{"nullable":true},"exit_condition":{"nullable":true},"required_field_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"required_task_template_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"required_document_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"linked_playbook_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"responsible_role_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"portal_behavior":{"default":"hidden","type":"string","enum":["hidden","read_only","interactive"]},"automation_behavior":{"default":"manual","type":"string","enum":["manual","automatic","hybrid"]}},"required":["id","name","order"]}},"enabled":{"default":true,"type":"boolean"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["name","entity_type","stages"]},"CrmLifecycleDefinitionDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"entity_type":{"type":"string","enum":["person","organization","record"]},"record_type_id":{"type":"string","nullable":true},"stages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"name":{"type":"string","minLength":1,"maxLength":300},"description":{"type":"string","maxLength":2000,"nullable":true},"order":{"type":"integer","minimum":0,"maximum":9007199254740991},"entry_condition":{"nullable":true},"exit_condition":{"nullable":true},"required_field_ids":{"type":"array","items":{"type":"string"}},"required_task_template_ids":{"type":"array","items":{"type":"string"}},"required_document_ids":{"type":"array","items":{"type":"string"}},"linked_playbook_ids":{"type":"array","items":{"type":"string"}},"responsible_role_ids":{"type":"array","items":{"type":"string"}},"portal_behavior":{"type":"string","enum":["hidden","read_only","interactive"]},"automation_behavior":{"type":"string","enum":["manual","automatic","hybrid"]}},"required":["id","name","order","required_field_ids","required_task_template_ids","required_document_ids","linked_playbook_ids","responsible_role_ids","portal_behavior","automation_behavior"]}},"enabled":{"type":"boolean"},"created_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","name","entity_type","stages","enabled","created_by","created_at","updated_at"]},"CrmLifecycleInstanceListDto_Output":{"type":"object","properties":{"instances":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"definition_id":{"type":"string"},"entity":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false},"current_stage_id":{"type":"string"},"owner_user_id":{"type":"string","nullable":true},"status":{"type":"string","enum":["active","completed","cancelled"]},"entered_stage_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","definition_id","entity","current_stage_id","status","entered_stage_at","created_by","updated_by","created_at","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["instances","next_cursor"],"additionalProperties":false},"CrmLifecycleInstanceDto_Output":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"definition_id":{"type":"string"},"entity":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false},"current_stage_id":{"type":"string"},"owner_user_id":{"type":"string","nullable":true},"status":{"type":"string","enum":["active","completed","cancelled"]},"entered_stage_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","definition_id","entity","current_stage_id","status","entered_stage_at","created_by","updated_by","created_at","updated_at"],"additionalProperties":false},"CreateCrmLifecycleInstanceDto":{"type":"object","properties":{"definition_id":{"type":"string","minLength":1},"entity":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]},"initial_stage_id":{"type":"string","minLength":1},"owner_user_id":{"type":"string","minLength":1,"nullable":true}},"required":["definition_id","entity"]},"CrmLifecycleInstanceDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"definition_id":{"type":"string"},"entity":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]},"current_stage_id":{"type":"string"},"owner_user_id":{"type":"string","nullable":true},"status":{"type":"string","enum":["active","completed","cancelled"]},"entered_stage_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","definition_id","entity","current_stage_id","status","entered_stage_at","created_by","updated_by","created_at","updated_at"]},"TransitionCrmLifecycleDto":{"type":"object","properties":{"to_stage_id":{"type":"string","minLength":1},"reason":{"type":"string","maxLength":2000,"nullable":true},"owner_user_id":{"type":"string","minLength":1,"nullable":true},"completed_task_template_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"available_document_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"status":{"default":"active","type":"string","enum":["active","completed","cancelled"]}},"required":["to_stage_id"]},"CrmLifecycleTransitionListDto_Output":{"type":"object","properties":{"transitions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"instance_id":{"type":"string"},"from_stage_id":{"type":"string","nullable":true},"to_stage_id":{"type":"string"},"reason":{"type":"string","nullable":true},"actor_id":{"type":"string"},"occurred_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","instance_id","to_stage_id","actor_id","occurred_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["transitions","next_cursor"],"additionalProperties":false},"CrmHandoffTemplateListDto_Output":{"type":"object","properties":{"templates":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"lifecycle_definition_id":{"type":"string","nullable":true},"from_stage_id":{"type":"string","nullable":true},"to_stage_id":{"type":"string","nullable":true},"checklist":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"label":{"type":"string","minLength":1,"maxLength":500},"required":{"type":"boolean"}},"required":["id","label","required"],"additionalProperties":false}},"required_information_keys":{"type":"array","items":{"type":"string"}},"approval_required":{"type":"boolean"},"created_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","name","checklist","required_information_keys","approval_required","created_by","created_at","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["templates","next_cursor"],"additionalProperties":false},"CrmHandoffTemplateDto_Output":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"lifecycle_definition_id":{"type":"string","nullable":true},"from_stage_id":{"type":"string","nullable":true},"to_stage_id":{"type":"string","nullable":true},"checklist":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"label":{"type":"string","minLength":1,"maxLength":500},"required":{"type":"boolean"}},"required":["id","label","required"],"additionalProperties":false}},"required_information_keys":{"type":"array","items":{"type":"string"}},"approval_required":{"type":"boolean"},"created_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","name","checklist","required_information_keys","approval_required","created_by","created_at","updated_at"],"additionalProperties":false},"UpsertCrmHandoffTemplateDto":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":300},"description":{"type":"string","maxLength":5000,"nullable":true},"lifecycle_definition_id":{"type":"string","nullable":true},"from_stage_id":{"type":"string","nullable":true},"to_stage_id":{"type":"string","nullable":true},"checklist":{"default":[],"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"label":{"type":"string","minLength":1,"maxLength":500},"required":{"type":"boolean"}},"required":["id","label","required"]}},"required_information_keys":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"approval_required":{"default":true,"type":"boolean"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["name"]},"CrmHandoffTemplateDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"lifecycle_definition_id":{"type":"string","nullable":true},"from_stage_id":{"type":"string","nullable":true},"to_stage_id":{"type":"string","nullable":true},"checklist":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"label":{"type":"string","minLength":1,"maxLength":500},"required":{"type":"boolean"}},"required":["id","label","required"]}},"required_information_keys":{"type":"array","items":{"type":"string"}},"approval_required":{"type":"boolean"},"created_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","name","checklist","required_information_keys","approval_required","created_by","created_at","updated_at"]},"CrmHandoffListDto_Output":{"type":"object","properties":{"handoffs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"template_id":{"type":"string","nullable":true},"title":{"type":"string"},"description":{"type":"string","nullable":true},"lifecycle_instance_id":{"type":"string","nullable":true},"from_owner":{"type":"object","properties":{"kind":{"type":"string","enum":["person","organization","record","user","team","workspace","external"]},"id":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"label":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"record_type_id":{"type":"string","minLength":1,"nullable":true}},"required":["kind"],"additionalProperties":false,"nullable":true},"receiving_owner":{"type":"object","properties":{"kind":{"type":"string","enum":["person","organization","record","user","team","workspace","external"]},"id":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"label":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"record_type_id":{"type":"string","minLength":1,"nullable":true}},"required":["kind"],"additionalProperties":false},"related_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}},"outcome_ids":{"type":"array","items":{"type":"string"}},"commitment_ids":{"type":"array","items":{"type":"string"}},"stakeholders":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}},"task_ids":{"type":"array","items":{"type":"string"}},"ticket_ids":{"type":"array","items":{"type":"string"}},"risks":{"type":"array","items":{"type":"string"}},"document_ids":{"type":"array","items":{"type":"string"}},"related_records":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}},"next_event_ids":{"type":"array","items":{"type":"string"}},"missing_information":{"type":"array","items":{"type":"string"}},"checklist":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"label":{"type":"string","minLength":1,"maxLength":500},"required":{"type":"boolean"},"completed":{"type":"boolean"},"completed_by":{"type":"string","nullable":true},"completed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","label","required","completed"],"additionalProperties":false}},"status":{"type":"string","enum":["draft","pending","accepted","rejected","cancelled"]},"approval_required":{"type":"boolean"},"acknowledged_by":{"type":"string","nullable":true},"acknowledged_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"rejection_reason":{"type":"string","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","title","receiving_owner","related_entities","outcome_ids","commitment_ids","stakeholders","task_ids","ticket_ids","risks","document_ids","related_records","next_event_ids","missing_information","checklist","status","approval_required","created_by","updated_by","created_at","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["handoffs","next_cursor"],"additionalProperties":false},"CrmHandoffDto_Output":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"template_id":{"type":"string","nullable":true},"title":{"type":"string"},"description":{"type":"string","nullable":true},"lifecycle_instance_id":{"type":"string","nullable":true},"from_owner":{"type":"object","properties":{"kind":{"type":"string","enum":["person","organization","record","user","team","workspace","external"]},"id":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"label":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"record_type_id":{"type":"string","minLength":1,"nullable":true}},"required":["kind"],"additionalProperties":false,"nullable":true},"receiving_owner":{"type":"object","properties":{"kind":{"type":"string","enum":["person","organization","record","user","team","workspace","external"]},"id":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"label":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"record_type_id":{"type":"string","minLength":1,"nullable":true}},"required":["kind"],"additionalProperties":false},"related_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}},"outcome_ids":{"type":"array","items":{"type":"string"}},"commitment_ids":{"type":"array","items":{"type":"string"}},"stakeholders":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}},"task_ids":{"type":"array","items":{"type":"string"}},"ticket_ids":{"type":"array","items":{"type":"string"}},"risks":{"type":"array","items":{"type":"string"}},"document_ids":{"type":"array","items":{"type":"string"}},"related_records":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}},"next_event_ids":{"type":"array","items":{"type":"string"}},"missing_information":{"type":"array","items":{"type":"string"}},"checklist":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"label":{"type":"string","minLength":1,"maxLength":500},"required":{"type":"boolean"},"completed":{"type":"boolean"},"completed_by":{"type":"string","nullable":true},"completed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","label","required","completed"],"additionalProperties":false}},"status":{"type":"string","enum":["draft","pending","accepted","rejected","cancelled"]},"approval_required":{"type":"boolean"},"acknowledged_by":{"type":"string","nullable":true},"acknowledged_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"rejection_reason":{"type":"string","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","title","receiving_owner","related_entities","outcome_ids","commitment_ids","stakeholders","task_ids","ticket_ids","risks","document_ids","related_records","next_event_ids","missing_information","checklist","status","approval_required","created_by","updated_by","created_at","updated_at"],"additionalProperties":false},"UpsertCrmHandoffDto":{"type":"object","properties":{"template_id":{"type":"string","nullable":true},"title":{"type":"string","minLength":1,"maxLength":300},"description":{"type":"string","maxLength":10000,"nullable":true},"lifecycle_instance_id":{"type":"string","nullable":true},"from_owner":{"type":"object","properties":{"kind":{"type":"string","enum":["person","organization","record","user","team","workspace","external"]},"id":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"label":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"record_type_id":{"type":"string","minLength":1,"nullable":true}},"required":["kind"],"nullable":true},"receiving_owner":{"type":"object","properties":{"kind":{"type":"string","enum":["person","organization","record","user","team","workspace","external"]},"id":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"label":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"record_type_id":{"type":"string","minLength":1,"nullable":true}},"required":["kind"]},"related_entities":{"minItems":1,"maxItems":50,"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"outcome_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"commitment_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"stakeholders":{"default":[],"maxItems":100,"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"task_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"ticket_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"risks":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":1000}},"document_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"related_records":{"default":[],"maxItems":100,"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"next_event_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"missing_information":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":1000}},"status":{"type":"string","enum":["draft","pending","cancelled"]},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["title","receiving_owner","related_entities","status"]},"CrmHandoffDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"template_id":{"type":"string","nullable":true},"title":{"type":"string"},"description":{"type":"string","nullable":true},"lifecycle_instance_id":{"type":"string","nullable":true},"from_owner":{"type":"object","properties":{"kind":{"type":"string","enum":["person","organization","record","user","team","workspace","external"]},"id":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"label":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"record_type_id":{"type":"string","minLength":1,"nullable":true}},"required":["kind"],"nullable":true},"receiving_owner":{"type":"object","properties":{"kind":{"type":"string","enum":["person","organization","record","user","team","workspace","external"]},"id":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"label":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"record_type_id":{"type":"string","minLength":1,"nullable":true}},"required":["kind"]},"related_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"outcome_ids":{"type":"array","items":{"type":"string"}},"commitment_ids":{"type":"array","items":{"type":"string"}},"stakeholders":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"task_ids":{"type":"array","items":{"type":"string"}},"ticket_ids":{"type":"array","items":{"type":"string"}},"risks":{"type":"array","items":{"type":"string"}},"document_ids":{"type":"array","items":{"type":"string"}},"related_records":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"next_event_ids":{"type":"array","items":{"type":"string"}},"missing_information":{"type":"array","items":{"type":"string"}},"checklist":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"label":{"type":"string","minLength":1,"maxLength":500},"required":{"type":"boolean"},"completed":{"type":"boolean"},"completed_by":{"type":"string","nullable":true},"completed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","label","required","completed"]}},"status":{"type":"string","enum":["draft","pending","accepted","rejected","cancelled"]},"approval_required":{"type":"boolean"},"acknowledged_by":{"type":"string","nullable":true},"acknowledged_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"rejection_reason":{"type":"string","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","title","receiving_owner","related_entities","outcome_ids","commitment_ids","stakeholders","task_ids","ticket_ids","risks","document_ids","related_records","next_event_ids","missing_information","checklist","status","approval_required","created_by","updated_by","created_at","updated_at"]},"UpdateCrmHandoffChecklistDto":{"type":"object","properties":{"items":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"completed":{"type":"boolean"}},"required":["id","completed"]}}},"required":["items"]},"AcknowledgeCrmHandoffDto":{"type":"object","properties":{"decision":{"type":"string","enum":["accepted","rejected"]},"rejection_reason":{"type":"string","minLength":1,"maxLength":5000,"nullable":true}},"required":["decision"]},"CrmServiceEligibleEntityType_Output":{"type":"string","enum":["person","organization","record"]},"CrmServiceDefinitionListDto_Output":{"type":"object","properties":{"services":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"input_form_id":{"type":"string","nullable":true},"required_field_ids":{"type":"array","items":{"type":"string"}},"eligible_entity_types":{"type":"array","items":{"$ref":"#/components/schemas/CrmServiceEligibleEntityType_Output"}},"routing_user_id":{"type":"string","nullable":true},"routing_team_id":{"type":"string","nullable":true},"response_minutes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"nullable":true},"resolution_minutes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"nullable":true},"approval_required":{"type":"boolean"},"playbook_id":{"type":"string","nullable":true},"portal_available":{"type":"boolean"},"price_reference":{"type":"string","nullable":true},"entitlement_required":{"type":"boolean"},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","name","required_field_ids","eligible_entity_types","approval_required","portal_available","entitlement_required","created_by","updated_by","created_at","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["services","next_cursor"],"additionalProperties":false},"CrmServiceDefinitionDto_Output":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"input_form_id":{"type":"string","nullable":true},"required_field_ids":{"type":"array","items":{"type":"string"}},"eligible_entity_types":{"type":"array","items":{"$ref":"#/components/schemas/CrmServiceEligibleEntityType_Output"}},"routing_user_id":{"type":"string","nullable":true},"routing_team_id":{"type":"string","nullable":true},"response_minutes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"nullable":true},"resolution_minutes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"nullable":true},"approval_required":{"type":"boolean"},"playbook_id":{"type":"string","nullable":true},"portal_available":{"type":"boolean"},"price_reference":{"type":"string","nullable":true},"entitlement_required":{"type":"boolean"},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","name","required_field_ids","eligible_entity_types","approval_required","portal_available","entitlement_required","created_by","updated_by","created_at","updated_at"],"additionalProperties":false},"CrmServiceEligibleEntityType":{"type":"string","enum":["person","organization","record"]},"UpsertCrmServiceDefinitionDto":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":300},"description":{"type":"string","maxLength":10000,"nullable":true},"input_form_id":{"type":"string","minLength":1,"nullable":true},"required_field_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"eligible_entity_types":{"minItems":1,"maxItems":3,"type":"array","items":{"$ref":"#/components/schemas/CrmServiceEligibleEntityType"}},"routing_user_id":{"type":"string","minLength":1,"nullable":true},"routing_team_id":{"type":"string","minLength":1,"nullable":true},"response_minutes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"nullable":true},"resolution_minutes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"nullable":true},"approval_required":{"default":false,"type":"boolean"},"playbook_id":{"type":"string","minLength":1,"nullable":true},"portal_available":{"default":false,"type":"boolean"},"price_reference":{"type":"string","maxLength":500,"nullable":true},"entitlement_required":{"default":false,"type":"boolean"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["name","eligible_entity_types"]},"CrmServiceDefinitionDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"input_form_id":{"type":"string","nullable":true},"required_field_ids":{"type":"array","items":{"type":"string"}},"eligible_entity_types":{"type":"array","items":{"$ref":"#/components/schemas/CrmServiceEligibleEntityType"}},"routing_user_id":{"type":"string","nullable":true},"routing_team_id":{"type":"string","nullable":true},"response_minutes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"nullable":true},"resolution_minutes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"nullable":true},"approval_required":{"type":"boolean"},"playbook_id":{"type":"string","nullable":true},"portal_available":{"type":"boolean"},"price_reference":{"type":"string","nullable":true},"entitlement_required":{"type":"boolean"},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","name","required_field_ids","eligible_entity_types","approval_required","portal_available","entitlement_required","created_by","updated_by","created_at","updated_at"]},"CrmEntitlementListDto_Output":{"type":"object","properties":{"entitlements":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"eligible_entity":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false},"service_definition_ids":{"type":"array","items":{"type":"string"}},"quantity":{"type":"number","exclusiveMinimum":0,"nullable":true},"used_quantity":{"type":"number","minimum":0},"valid_from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"valid_until":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"channel_ids":{"type":"array","items":{"type":"string"}},"response_minutes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"nullable":true},"restrictions":{"type":"array","items":{"type":"string"}},"source_contract_id":{"type":"string","nullable":true},"external_subscription_reference":{"type":"string","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","eligible_entity","service_definition_ids","used_quantity","channel_ids","restrictions","created_by","updated_by","created_at","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["entitlements","next_cursor"],"additionalProperties":false},"CrmEntitlementDto_Output":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"eligible_entity":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false},"service_definition_ids":{"type":"array","items":{"type":"string"}},"quantity":{"type":"number","exclusiveMinimum":0,"nullable":true},"used_quantity":{"type":"number","minimum":0},"valid_from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"valid_until":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"channel_ids":{"type":"array","items":{"type":"string"}},"response_minutes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"nullable":true},"restrictions":{"type":"array","items":{"type":"string"}},"source_contract_id":{"type":"string","nullable":true},"external_subscription_reference":{"type":"string","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","eligible_entity","service_definition_ids","used_quantity","channel_ids","restrictions","created_by","updated_by","created_at","updated_at"],"additionalProperties":false},"UpsertCrmEntitlementDto":{"type":"object","properties":{"eligible_entity":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]},"service_definition_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"quantity":{"type":"number","exclusiveMinimum":0,"nullable":true},"valid_from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"valid_until":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"channel_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":100}},"response_minutes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"nullable":true},"restrictions":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":1000}},"source_contract_id":{"type":"string","maxLength":500,"nullable":true},"external_subscription_reference":{"type":"string","maxLength":500,"nullable":true},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["eligible_entity","service_definition_ids"]},"CrmEntitlementDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"eligible_entity":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]},"service_definition_ids":{"type":"array","items":{"type":"string"}},"quantity":{"type":"number","exclusiveMinimum":0,"nullable":true},"used_quantity":{"type":"number","minimum":0},"valid_from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"valid_until":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"channel_ids":{"type":"array","items":{"type":"string"}},"response_minutes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"nullable":true},"restrictions":{"type":"array","items":{"type":"string"}},"source_contract_id":{"type":"string","nullable":true},"external_subscription_reference":{"type":"string","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","eligible_entity","service_definition_ids","used_quantity","channel_ids","restrictions","created_by","updated_by","created_at","updated_at"]},"CrmEntitlementUsageListDto_Output":{"type":"object","properties":{"usage":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"entitlement_id":{"type":"string"},"service_definition_id":{"type":"string"},"quantity":{"type":"number","exclusiveMinimum":true,"minimum":0},"occurred_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"source":{"type":"string"},"reference_type":{"type":"string","nullable":true},"reference_id":{"type":"string","nullable":true},"note":{"type":"string","nullable":true},"created_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","entitlement_id","service_definition_id","quantity","occurred_at","source","created_by","created_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["usage","next_cursor"],"additionalProperties":false},"RecordCrmEntitlementUsageDto":{"type":"object","properties":{"service_definition_id":{"type":"string","minLength":1},"quantity":{"type":"number","exclusiveMinimum":true,"maximum":1000000,"minimum":0},"occurred_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"source":{"type":"string","minLength":1,"maxLength":200},"reference_type":{"type":"string","minLength":1,"maxLength":100,"nullable":true},"reference_id":{"type":"string","minLength":1,"maxLength":500,"nullable":true},"note":{"type":"string","maxLength":5000,"nullable":true}},"required":["service_definition_id","quantity","occurred_at","source"]},"CrmEntitlementUsageDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"entitlement_id":{"type":"string"},"service_definition_id":{"type":"string"},"quantity":{"type":"number","exclusiveMinimum":true,"minimum":0},"occurred_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"source":{"type":"string"},"reference_type":{"type":"string","nullable":true},"reference_id":{"type":"string","nullable":true},"note":{"type":"string","nullable":true},"created_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","entitlement_id","service_definition_id","quantity","occurred_at","source","created_by","created_at"]},"CrmCustomerImpactListDto_Output":{"type":"object","properties":{"impacts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"work_type":{"type":"string"},"work_id":{"type":"string"},"summary":{"type":"string"},"severity":{"type":"string","nullable":true},"status_id":{"type":"string"},"affected_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}},"affected_segment_ids":{"type":"array","items":{"type":"string"}},"important_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}},"communication_task_ids":{"type":"array","items":{"type":"string"}},"update_document_ids":{"type":"array","items":{"type":"string"}},"portal_page_ids":{"type":"array","items":{"type":"string"}},"follow_up_task_ids":{"type":"array","items":{"type":"string"}},"post_review_document_id":{"type":"string","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","work_type","work_id","summary","status_id","affected_entities","affected_segment_ids","important_entities","communication_task_ids","update_document_ids","portal_page_ids","follow_up_task_ids","created_by","updated_by","created_at","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["impacts","next_cursor"],"additionalProperties":false},"CrmCustomerImpactDto_Output":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"work_type":{"type":"string"},"work_id":{"type":"string"},"summary":{"type":"string"},"severity":{"type":"string","nullable":true},"status_id":{"type":"string"},"affected_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}},"affected_segment_ids":{"type":"array","items":{"type":"string"}},"important_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}},"communication_task_ids":{"type":"array","items":{"type":"string"}},"update_document_ids":{"type":"array","items":{"type":"string"}},"portal_page_ids":{"type":"array","items":{"type":"string"}},"follow_up_task_ids":{"type":"array","items":{"type":"string"}},"post_review_document_id":{"type":"string","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","work_type","work_id","summary","status_id","affected_entities","affected_segment_ids","important_entities","communication_task_ids","update_document_ids","portal_page_ids","follow_up_task_ids","created_by","updated_by","created_at","updated_at"],"additionalProperties":false},"UpsertCrmCustomerImpactDto":{"type":"object","properties":{"work_type":{"type":"string","minLength":1,"maxLength":100},"work_id":{"type":"string","minLength":1,"maxLength":500},"summary":{"type":"string","minLength":1,"maxLength":10000},"severity":{"type":"string","minLength":1,"maxLength":100,"nullable":true},"status_id":{"type":"string","minLength":1,"maxLength":100},"affected_entities":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"affected_segment_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"important_entities":{"default":[],"maxItems":100,"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"communication_task_ids":{"default":[],"maxItems":500,"type":"array","items":{"type":"string","minLength":1}},"update_document_ids":{"default":[],"maxItems":500,"type":"array","items":{"type":"string","minLength":1}},"portal_page_ids":{"default":[],"maxItems":500,"type":"array","items":{"type":"string","minLength":1}},"follow_up_task_ids":{"default":[],"maxItems":500,"type":"array","items":{"type":"string","minLength":1}},"post_review_document_id":{"type":"string","minLength":1,"nullable":true},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["work_type","work_id","summary","status_id","affected_entities"]},"CrmCustomerImpactDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"work_type":{"type":"string"},"work_id":{"type":"string"},"summary":{"type":"string"},"severity":{"type":"string","nullable":true},"status_id":{"type":"string"},"affected_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"affected_segment_ids":{"type":"array","items":{"type":"string"}},"important_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"communication_task_ids":{"type":"array","items":{"type":"string"}},"update_document_ids":{"type":"array","items":{"type":"string"}},"portal_page_ids":{"type":"array","items":{"type":"string"}},"follow_up_task_ids":{"type":"array","items":{"type":"string"}},"post_review_document_id":{"type":"string","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","work_type","work_id","summary","status_id","affected_entities","affected_segment_ids","important_entities","communication_task_ids","update_document_ids","portal_page_ids","follow_up_task_ids","created_by","updated_by","created_at","updated_at"]},"CrmExecutionPolicyDto_Output":{"type":"object","properties":{"trusted_meeting_automation":{"type":"boolean"},"updated_by":{"type":"string"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["trusted_meeting_automation","updated_by","updated_at"],"additionalProperties":false},"UpdateCrmExecutionPolicyDto":{"type":"object","properties":{"trusted_meeting_automation":{"type":"boolean"}},"required":["trusted_meeting_automation"]},"CrmExecutionPolicyDto":{"type":"object","properties":{"trusted_meeting_automation":{"type":"boolean"},"updated_by":{"type":"string"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["trusted_meeting_automation","updated_by","updated_at"]},"CrmMeetingExtractionListDto_Output":{"type":"object","properties":{"extractions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"source_interaction_id":{"type":"string","nullable":true},"source_event_id":{"type":"string","nullable":true},"source_document_id":{"type":"string","nullable":true},"related_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}},"summary":{"type":"string"},"decisions":{"type":"array","items":{"type":"string"}},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["commitment","task","risk","request","next_step","relationship_update","custom"]},"summary":{"type":"string"},"payload":{"type":"object","additionalProperties":{}},"critical":{"type":"boolean"},"status":{"type":"string","enum":["pending","approved","rejected","applied"]},"decided_by":{"type":"string","nullable":true},"decided_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"applied_reference_type":{"type":"string","nullable":true},"applied_reference_id":{"type":"string","nullable":true}},"required":["id","kind","summary","payload","critical","status"],"additionalProperties":false}},"trusted_automation_applied":{"type":"boolean"},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","related_entities","summary","decisions","items","trusted_automation_applied","created_by","updated_by","created_at","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["extractions","next_cursor"],"additionalProperties":false},"CrmMeetingExtractionDto_Output":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"source_interaction_id":{"type":"string","nullable":true},"source_event_id":{"type":"string","nullable":true},"source_document_id":{"type":"string","nullable":true},"related_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false}},"summary":{"type":"string"},"decisions":{"type":"array","items":{"type":"string"}},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["commitment","task","risk","request","next_step","relationship_update","custom"]},"summary":{"type":"string"},"payload":{"type":"object","additionalProperties":{}},"critical":{"type":"boolean"},"status":{"type":"string","enum":["pending","approved","rejected","applied"]},"decided_by":{"type":"string","nullable":true},"decided_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"applied_reference_type":{"type":"string","nullable":true},"applied_reference_id":{"type":"string","nullable":true}},"required":["id","kind","summary","payload","critical","status"],"additionalProperties":false}},"trusted_automation_applied":{"type":"boolean"},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","related_entities","summary","decisions","items","trusted_automation_applied","created_by","updated_by","created_at","updated_at"],"additionalProperties":false},"CreateCrmMeetingExtractionDto":{"type":"object","properties":{"source_interaction_id":{"type":"string","minLength":1,"nullable":true},"source_event_id":{"type":"string","minLength":1,"nullable":true},"source_document_id":{"type":"string","minLength":1,"nullable":true},"related_entities":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"summary":{"type":"string","minLength":1,"maxLength":20000},"decisions":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":5000}},"items":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"kind":{"type":"string","enum":["commitment","task","risk","request","next_step","relationship_update","custom"]},"summary":{"type":"string","minLength":1,"maxLength":5000},"payload":{"default":{},"type":"object","additionalProperties":{}},"critical":{"default":true,"type":"boolean"}},"required":["id","kind","summary"]}}},"required":["related_entities","summary","items"]},"CrmMeetingExtractionDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"source_interaction_id":{"type":"string","nullable":true},"source_event_id":{"type":"string","nullable":true},"source_document_id":{"type":"string","nullable":true},"related_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"summary":{"type":"string"},"decisions":{"type":"array","items":{"type":"string"}},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["commitment","task","risk","request","next_step","relationship_update","custom"]},"summary":{"type":"string"},"payload":{"type":"object","additionalProperties":{}},"critical":{"type":"boolean"},"status":{"type":"string","enum":["pending","approved","rejected","applied"]},"decided_by":{"type":"string","nullable":true},"decided_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"applied_reference_type":{"type":"string","nullable":true},"applied_reference_id":{"type":"string","nullable":true}},"required":["id","kind","summary","payload","critical","status"]}},"trusted_automation_applied":{"type":"boolean"},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","related_entities","summary","decisions","items","trusted_automation_applied","created_by","updated_by","created_at","updated_at"]},"DecideCrmMeetingExtractionDto":{"type":"object","properties":{"items":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"decision":{"type":"string","enum":["approved","rejected"]}},"required":["id","decision"]}}},"required":["items"]},"ApplyCrmMeetingExtractionItemDto":{"type":"object","properties":{"item_id":{"type":"string","minLength":1},"reference_type":{"type":"string","minLength":1,"maxLength":100},"reference_id":{"type":"string","minLength":1,"maxLength":500}},"required":["item_id","reference_type","reference_id"]},"CrmRelationshipReviewEligibleEntityType_Output":{"type":"string","enum":["person","organization","record"]},"CrmRelationshipReviewTemplateListDto_Output":{"type":"object","properties":{"templates":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"eligible_entity_types":{"type":"array","items":{"$ref":"#/components/schemas/CrmRelationshipReviewEligibleEntityType_Output"}},"cadence_days":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"nullable":true},"included_sections":{"type":"array","items":{"type":"string"}},"view_ids":{"type":"array","items":{"type":"string"}},"ai_summary_enabled":{"type":"boolean"},"portal_publishing_enabled":{"type":"boolean"},"follow_up_required":{"type":"boolean"},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","name","eligible_entity_types","included_sections","view_ids","ai_summary_enabled","portal_publishing_enabled","follow_up_required","created_by","updated_by","created_at","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["templates","next_cursor"],"additionalProperties":false},"CrmRelationshipReviewTemplateDto_Output":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"eligible_entity_types":{"type":"array","items":{"$ref":"#/components/schemas/CrmRelationshipReviewEligibleEntityType_Output"}},"cadence_days":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"nullable":true},"included_sections":{"type":"array","items":{"type":"string"}},"view_ids":{"type":"array","items":{"type":"string"}},"ai_summary_enabled":{"type":"boolean"},"portal_publishing_enabled":{"type":"boolean"},"follow_up_required":{"type":"boolean"},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","name","eligible_entity_types","included_sections","view_ids","ai_summary_enabled","portal_publishing_enabled","follow_up_required","created_by","updated_by","created_at","updated_at"],"additionalProperties":false},"CrmRelationshipReviewEligibleEntityType":{"type":"string","enum":["person","organization","record"]},"UpsertCrmRelationshipReviewTemplateDto":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":300},"description":{"type":"string","maxLength":10000,"nullable":true},"eligible_entity_types":{"minItems":1,"maxItems":3,"type":"array","items":{"$ref":"#/components/schemas/CrmRelationshipReviewEligibleEntityType"}},"cadence_days":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"nullable":true},"included_sections":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":100}},"view_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"ai_summary_enabled":{"default":false,"type":"boolean"},"portal_publishing_enabled":{"default":false,"type":"boolean"},"follow_up_required":{"default":false,"type":"boolean"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["name","eligible_entity_types","included_sections"]},"CrmRelationshipReviewTemplateDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"eligible_entity_types":{"type":"array","items":{"$ref":"#/components/schemas/CrmRelationshipReviewEligibleEntityType"}},"cadence_days":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"nullable":true},"included_sections":{"type":"array","items":{"type":"string"}},"view_ids":{"type":"array","items":{"type":"string"}},"ai_summary_enabled":{"type":"boolean"},"portal_publishing_enabled":{"type":"boolean"},"follow_up_required":{"type":"boolean"},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","name","eligible_entity_types","included_sections","view_ids","ai_summary_enabled","portal_publishing_enabled","follow_up_required","created_by","updated_by","created_at","updated_at"]},"CrmRelationshipReviewListDto_Output":{"type":"object","properties":{"reviews":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"template_id":{"type":"string","nullable":true},"entity":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false},"title":{"type":"string"},"period_start":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"period_end":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"status":{"type":"string","enum":["draft","internal_review","published","closed"]},"included_sections":{"type":"array","items":{"type":"string"}},"source_view_ids":{"type":"array","items":{"type":"string"}},"section_data":{"type":"object","additionalProperties":{}},"outcome_ids":{"type":"array","items":{"type":"string"}},"commitment_ids":{"type":"array","items":{"type":"string"}},"task_ids":{"type":"array","items":{"type":"string"}},"ticket_ids":{"type":"array","items":{"type":"string"}},"interaction_ids":{"type":"array","items":{"type":"string"}},"health_result_ids":{"type":"array","items":{"type":"string"}},"signal_ids":{"type":"array","items":{"type":"string"}},"ai_summary":{"type":"string","nullable":true},"internal_notes":{"type":"string","nullable":true},"page_ids":{"type":"array","items":{"type":"string"}},"next_action_task_ids":{"type":"array","items":{"type":"string"}},"reviewed_by":{"type":"string","nullable":true},"reviewed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"published_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","entity","title","status","included_sections","source_view_ids","section_data","outcome_ids","commitment_ids","task_ids","ticket_ids","interaction_ids","health_result_ids","signal_ids","page_ids","next_action_task_ids","created_by","updated_by","created_at","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["reviews","next_cursor"],"additionalProperties":false},"CrmRelationshipReviewDto_Output":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"template_id":{"type":"string","nullable":true},"entity":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false},"title":{"type":"string"},"period_start":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"period_end":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"status":{"type":"string","enum":["draft","internal_review","published","closed"]},"included_sections":{"type":"array","items":{"type":"string"}},"source_view_ids":{"type":"array","items":{"type":"string"}},"section_data":{"type":"object","additionalProperties":{}},"outcome_ids":{"type":"array","items":{"type":"string"}},"commitment_ids":{"type":"array","items":{"type":"string"}},"task_ids":{"type":"array","items":{"type":"string"}},"ticket_ids":{"type":"array","items":{"type":"string"}},"interaction_ids":{"type":"array","items":{"type":"string"}},"health_result_ids":{"type":"array","items":{"type":"string"}},"signal_ids":{"type":"array","items":{"type":"string"}},"ai_summary":{"type":"string","nullable":true},"internal_notes":{"type":"string","nullable":true},"page_ids":{"type":"array","items":{"type":"string"}},"next_action_task_ids":{"type":"array","items":{"type":"string"}},"reviewed_by":{"type":"string","nullable":true},"reviewed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"published_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","entity","title","status","included_sections","source_view_ids","section_data","outcome_ids","commitment_ids","task_ids","ticket_ids","interaction_ids","health_result_ids","signal_ids","page_ids","next_action_task_ids","created_by","updated_by","created_at","updated_at"],"additionalProperties":false},"UpsertCrmRelationshipReviewDto":{"type":"object","properties":{"template_id":{"type":"string","minLength":1,"nullable":true},"entity":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]},"title":{"type":"string","minLength":1,"maxLength":500},"period_start":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"period_end":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"status":{"type":"string","enum":["draft","internal_review","published","closed"]},"included_sections":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":100}},"source_view_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"section_data":{"default":{},"type":"object","additionalProperties":{}},"outcome_ids":{"default":[],"maxItems":500,"type":"array","items":{"type":"string","minLength":1}},"commitment_ids":{"default":[],"maxItems":500,"type":"array","items":{"type":"string","minLength":1}},"task_ids":{"default":[],"maxItems":500,"type":"array","items":{"type":"string","minLength":1}},"ticket_ids":{"default":[],"maxItems":500,"type":"array","items":{"type":"string","minLength":1}},"interaction_ids":{"default":[],"maxItems":500,"type":"array","items":{"type":"string","minLength":1}},"health_result_ids":{"default":[],"maxItems":500,"type":"array","items":{"type":"string","minLength":1}},"signal_ids":{"default":[],"maxItems":500,"type":"array","items":{"type":"string","minLength":1}},"ai_summary":{"type":"string","maxLength":20000,"nullable":true},"internal_notes":{"type":"string","maxLength":20000,"nullable":true},"page_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"next_action_task_ids":{"default":[],"maxItems":500,"type":"array","items":{"type":"string","minLength":1}},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["entity","title","status"]},"CrmRelationshipReviewDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"template_id":{"type":"string","nullable":true},"entity":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]},"title":{"type":"string"},"period_start":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"period_end":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"status":{"type":"string","enum":["draft","internal_review","published","closed"]},"included_sections":{"type":"array","items":{"type":"string"}},"source_view_ids":{"type":"array","items":{"type":"string"}},"section_data":{"type":"object","additionalProperties":{}},"outcome_ids":{"type":"array","items":{"type":"string"}},"commitment_ids":{"type":"array","items":{"type":"string"}},"task_ids":{"type":"array","items":{"type":"string"}},"ticket_ids":{"type":"array","items":{"type":"string"}},"interaction_ids":{"type":"array","items":{"type":"string"}},"health_result_ids":{"type":"array","items":{"type":"string"}},"signal_ids":{"type":"array","items":{"type":"string"}},"ai_summary":{"type":"string","nullable":true},"internal_notes":{"type":"string","nullable":true},"page_ids":{"type":"array","items":{"type":"string"}},"next_action_task_ids":{"type":"array","items":{"type":"string"}},"reviewed_by":{"type":"string","nullable":true},"reviewed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"published_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","entity","title","status","included_sections","source_view_ids","section_data","outcome_ids","commitment_ids","task_ids","ticket_ids","interaction_ids","health_result_ids","signal_ids","page_ids","next_action_task_ids","created_by","updated_by","created_at","updated_at"]},"CrmPersonListDto_Output":{"type":"object","properties":{"people":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"revision":{"type":"integer","minimum":0,"maximum":9007199254740991},"workspace_id":{"type":"string"},"display_name":{"type":"string"},"first_name":{"type":"string","nullable":true},"last_name":{"type":"string","nullable":true},"avatar_url":{"type":"string","nullable":true},"emails":{"type":"array","items":{"type":"string"}},"phone_numbers":{"type":"array","items":{"type":"string"}},"preferred_language":{"type":"string","nullable":true},"timezone":{"type":"string","nullable":true},"owner_user_id":{"type":"string","nullable":true},"custom_fields":{"type":"object","additionalProperties":{}},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"merged_into_id":{"type":"string","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"schema_version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","revision","workspace_id","display_name","emails","phone_numbers","custom_fields","created_by","updated_by","created_at","updated_at","schema_version"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["people","next_cursor"],"additionalProperties":false},"CrmPersonDto_Output":{"type":"object","properties":{"id":{"type":"string"},"revision":{"type":"integer","minimum":0,"maximum":9007199254740991},"workspace_id":{"type":"string"},"display_name":{"type":"string"},"first_name":{"type":"string","nullable":true},"last_name":{"type":"string","nullable":true},"avatar_url":{"type":"string","nullable":true},"emails":{"type":"array","items":{"type":"string"}},"phone_numbers":{"type":"array","items":{"type":"string"}},"preferred_language":{"type":"string","nullable":true},"timezone":{"type":"string","nullable":true},"owner_user_id":{"type":"string","nullable":true},"custom_fields":{"type":"object","additionalProperties":{}},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"merged_into_id":{"type":"string","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"schema_version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","revision","workspace_id","display_name","emails","phone_numbers","custom_fields","created_by","updated_by","created_at","updated_at","schema_version"],"additionalProperties":false},"CrmPersonOrganizationContextDto_Output":{"type":"object","properties":{"relationship_id":{"type":"string","nullable":true},"organization":{"type":"object","properties":{"organization_id":{"type":"string"},"name":{"type":"string"}},"required":["organization_id","name"],"additionalProperties":false,"nullable":true},"suggestions":{"type":"array","items":{"type":"object","properties":{"organization_id":{"type":"string"},"name":{"type":"string"},"matched_domain":{"type":"string"}},"required":["organization_id","name","matched_domain"],"additionalProperties":false}},"auto_link_exact_domain":{"type":"boolean"}},"required":["relationship_id","organization","suggestions","auto_link_exact_domain"],"additionalProperties":false},"SetCrmPersonOrganizationDto":{"type":"object","properties":{"organization_id":{"type":"string","minLength":1,"maxLength":300,"nullable":true}},"required":["organization_id"]},"CrmPersonOrganizationContextDto":{"type":"object","properties":{"relationship_id":{"type":"string","nullable":true},"organization":{"type":"object","properties":{"organization_id":{"type":"string"},"name":{"type":"string"}},"required":["organization_id","name"],"nullable":true},"suggestions":{"type":"array","items":{"type":"object","properties":{"organization_id":{"type":"string"},"name":{"type":"string"},"matched_domain":{"type":"string"}},"required":["organization_id","name","matched_domain"]}},"auto_link_exact_domain":{"type":"boolean"}},"required":["relationship_id","organization","suggestions","auto_link_exact_domain"]},"UpsertCrmPersonDto":{"type":"object","properties":{"revision":{"type":"integer","minimum":0,"maximum":9007199254740991},"display_name":{"type":"string","minLength":1,"maxLength":300},"first_name":{"type":"string","maxLength":150,"nullable":true},"last_name":{"type":"string","maxLength":150,"nullable":true},"avatar_url":{"type":"string","format":"uri","nullable":true},"emails":{"default":[],"maxItems":50,"type":"array","items":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"}},"phone_numbers":{"default":[],"maxItems":50,"type":"array","items":{"type":"string","maxLength":64}},"preferred_language":{"type":"string","maxLength":35,"nullable":true},"timezone":{"type":"string","maxLength":100,"nullable":true},"owner_user_id":{"type":"string","nullable":true},"custom_fields":{"default":{},"type":"object","additionalProperties":{}},"allow_duplicate":{"default":false,"type":"boolean"}},"required":["display_name"]},"CrmPersonDto":{"type":"object","properties":{"id":{"type":"string"},"revision":{"type":"integer","minimum":0,"maximum":9007199254740991},"workspace_id":{"type":"string"},"display_name":{"type":"string"},"first_name":{"type":"string","nullable":true},"last_name":{"type":"string","nullable":true},"avatar_url":{"type":"string","nullable":true},"emails":{"type":"array","items":{"type":"string"}},"phone_numbers":{"type":"array","items":{"type":"string"}},"preferred_language":{"type":"string","nullable":true},"timezone":{"type":"string","nullable":true},"owner_user_id":{"type":"string","nullable":true},"custom_fields":{"type":"object","additionalProperties":{}},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"merged_into_id":{"type":"string","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"schema_version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","revision","workspace_id","display_name","emails","phone_numbers","custom_fields","created_by","updated_by","created_at","updated_at","schema_version"]},"UpdateCrmPersonDto":{"type":"object","properties":{"revision":{"type":"integer","minimum":0,"maximum":9007199254740991},"display_name":{"type":"string","minLength":1,"maxLength":300},"first_name":{"type":"string","maxLength":150,"nullable":true},"last_name":{"type":"string","maxLength":150,"nullable":true},"avatar_url":{"type":"string","format":"uri","nullable":true},"emails":{"default":[],"maxItems":50,"type":"array","items":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"}},"phone_numbers":{"default":[],"maxItems":50,"type":"array","items":{"type":"string","maxLength":64}},"preferred_language":{"type":"string","maxLength":35,"nullable":true},"timezone":{"type":"string","maxLength":100,"nullable":true},"owner_user_id":{"type":"string","nullable":true},"custom_fields":{"default":{},"type":"object","additionalProperties":{}},"allow_duplicate":{"default":false,"type":"boolean"}},"required":["revision","display_name"]},"CrmOrganizationListDto_Output":{"type":"object","properties":{"organizations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"revision":{"type":"integer","minimum":0,"maximum":9007199254740991},"workspace_id":{"type":"string"},"name":{"type":"string"},"domains":{"type":"array","items":{"type":"string"}},"emails":{"type":"array","items":{"type":"string"}},"phone_numbers":{"type":"array","items":{"type":"string"}},"addresses":{"type":"array","items":{"type":"object","additionalProperties":{}}},"owner_user_ids":{"type":"array","items":{"type":"string"}},"custom_fields":{"type":"object","additionalProperties":{}},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"merged_into_id":{"type":"string","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"schema_version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","revision","workspace_id","name","domains","emails","phone_numbers","addresses","owner_user_ids","custom_fields","created_by","updated_by","created_at","updated_at","schema_version"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["organizations","next_cursor"],"additionalProperties":false},"CrmOrganizationProposalListDto_Output":{"type":"object","properties":{"proposals":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"person_id":{"type":"string"},"company_name":{"type":"string"},"status":{"type":"string","enum":["pending","linked","ignored"]},"organization_id":{"type":"string","nullable":true},"relationship_id":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"resolved_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"resolved_by":{"type":"string","nullable":true}},"required":["id","person_id","company_name","status","organization_id","relationship_id","created_at","resolved_by"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["proposals","next_cursor"],"additionalProperties":false},"ResolveCrmOrganizationProposalDto":{"type":"object","properties":{"action":{"type":"string","enum":["create","link","ignore"]},"organization_id":{"type":"string","minLength":1,"maxLength":300},"relationship_type_id":{"type":"string","minLength":1,"maxLength":300}},"required":["action"]},"CrmOrganizationProposalDto_Output":{"type":"object","properties":{"id":{"type":"string"},"person_id":{"type":"string"},"company_name":{"type":"string"},"status":{"type":"string","enum":["pending","linked","ignored"]},"organization_id":{"type":"string","nullable":true},"relationship_id":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"resolved_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"resolved_by":{"type":"string","nullable":true}},"required":["id","person_id","company_name","status","organization_id","relationship_id","created_at","resolved_by"],"additionalProperties":false},"CrmOrganizationDto_Output":{"type":"object","properties":{"id":{"type":"string"},"revision":{"type":"integer","minimum":0,"maximum":9007199254740991},"workspace_id":{"type":"string"},"name":{"type":"string"},"domains":{"type":"array","items":{"type":"string"}},"emails":{"type":"array","items":{"type":"string"}},"phone_numbers":{"type":"array","items":{"type":"string"}},"addresses":{"type":"array","items":{"type":"object","additionalProperties":{}}},"owner_user_ids":{"type":"array","items":{"type":"string"}},"custom_fields":{"type":"object","additionalProperties":{}},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"merged_into_id":{"type":"string","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"schema_version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","revision","workspace_id","name","domains","emails","phone_numbers","addresses","owner_user_ids","custom_fields","created_by","updated_by","created_at","updated_at","schema_version"],"additionalProperties":false},"UpsertCrmOrganizationDto":{"type":"object","properties":{"revision":{"type":"integer","minimum":0,"maximum":9007199254740991},"name":{"type":"string","minLength":1,"maxLength":300},"domains":{"default":[],"maxItems":50,"type":"array","items":{"type":"string","maxLength":253}},"emails":{"default":[],"maxItems":50,"type":"array","items":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"}},"phone_numbers":{"default":[],"maxItems":50,"type":"array","items":{"type":"string","maxLength":64}},"addresses":{"default":[],"maxItems":25,"type":"array","items":{"type":"object","additionalProperties":{}}},"owner_user_ids":{"default":[],"maxItems":50,"type":"array","items":{"type":"string"}},"custom_fields":{"default":{},"type":"object","additionalProperties":{}},"allow_duplicate":{"default":false,"type":"boolean"}},"required":["name"]},"CrmOrganizationDto":{"type":"object","properties":{"id":{"type":"string"},"revision":{"type":"integer","minimum":0,"maximum":9007199254740991},"workspace_id":{"type":"string"},"name":{"type":"string"},"domains":{"type":"array","items":{"type":"string"}},"emails":{"type":"array","items":{"type":"string"}},"phone_numbers":{"type":"array","items":{"type":"string"}},"addresses":{"type":"array","items":{"type":"object","additionalProperties":{}}},"owner_user_ids":{"type":"array","items":{"type":"string"}},"custom_fields":{"type":"object","additionalProperties":{}},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"merged_into_id":{"type":"string","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"schema_version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","revision","workspace_id","name","domains","emails","phone_numbers","addresses","owner_user_ids","custom_fields","created_by","updated_by","created_at","updated_at","schema_version"]},"UpdateCrmOrganizationDto":{"type":"object","properties":{"revision":{"type":"integer","minimum":0,"maximum":9007199254740991},"name":{"type":"string","minLength":1,"maxLength":300},"domains":{"default":[],"maxItems":50,"type":"array","items":{"type":"string","maxLength":253}},"emails":{"default":[],"maxItems":50,"type":"array","items":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"}},"phone_numbers":{"default":[],"maxItems":50,"type":"array","items":{"type":"string","maxLength":64}},"addresses":{"default":[],"maxItems":25,"type":"array","items":{"type":"object","additionalProperties":{}}},"owner_user_ids":{"default":[],"maxItems":50,"type":"array","items":{"type":"string"}},"custom_fields":{"default":{},"type":"object","additionalProperties":{}},"allow_duplicate":{"default":false,"type":"boolean"}},"required":["revision","name"]},"CrmRecordTypeListDto_Output":{"type":"object","properties":{"record_types":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"singular_name":{"type":"string"},"plural_name":{"type":"string"},"icon":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"primary_display_field_id":{"type":"string"},"statuses":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"description":{"type":"string","nullable":true},"order":{"type":"integer","minimum":0,"maximum":9007199254740991},"category":{"type":"string","enum":["open","in_progress","waiting","completed","cancelled","custom"]},"color":{"type":"string","nullable":true},"terminal":{"type":"boolean"},"allowed_next_status_ids":{"type":"array","items":{"type":"string"},"nullable":true},"entry_required_field_ids":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1},"nullable":true},"exit_required_field_ids":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1},"nullable":true},"portal_visible":{"type":"boolean"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","name","order","category","terminal","portal_visible"],"additionalProperties":false}},"default_view_id":{"type":"string","nullable":true},"navigation_visible":{"type":"boolean"},"navigation_order":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"navigation_group":{"type":"string","minLength":1,"maxLength":100,"nullable":true},"portal_visible":{"type":"boolean"},"numbering_prefix":{"type":"string","nullable":true},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","singular_name","plural_name","primary_display_field_id","statuses","navigation_visible","navigation_order","portal_visible","created_at","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["record_types","next_cursor"],"additionalProperties":false},"UpsertCrmRecordTypeDto":{"type":"object","properties":{"singular_name":{"type":"string"},"plural_name":{"type":"string"},"icon":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"primary_display_field_id":{"type":"string"},"statuses":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"description":{"type":"string","nullable":true},"order":{"type":"integer","minimum":0,"maximum":9007199254740991},"category":{"type":"string","enum":["open","in_progress","waiting","completed","cancelled","custom"]},"color":{"type":"string","nullable":true},"terminal":{"type":"boolean"},"allowed_next_status_ids":{"type":"array","items":{"type":"string"},"nullable":true},"entry_required_field_ids":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1},"nullable":true},"exit_required_field_ids":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1},"nullable":true},"portal_visible":{"type":"boolean"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","name","order","category","terminal","portal_visible"]}},"default_view_id":{"type":"string","nullable":true},"navigation_visible":{"type":"boolean"},"navigation_order":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"navigation_group":{"type":"string","minLength":1,"maxLength":100,"nullable":true},"portal_visible":{"type":"boolean"},"numbering_prefix":{"type":"string","nullable":true},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["singular_name","plural_name","primary_display_field_id","statuses","navigation_visible","navigation_order","portal_visible"]},"CrmRecordTypeDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"singular_name":{"type":"string"},"plural_name":{"type":"string"},"icon":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"primary_display_field_id":{"type":"string"},"statuses":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"description":{"type":"string","nullable":true},"order":{"type":"integer","minimum":0,"maximum":9007199254740991},"category":{"type":"string","enum":["open","in_progress","waiting","completed","cancelled","custom"]},"color":{"type":"string","nullable":true},"terminal":{"type":"boolean"},"allowed_next_status_ids":{"type":"array","items":{"type":"string"},"nullable":true},"entry_required_field_ids":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1},"nullable":true},"exit_required_field_ids":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1},"nullable":true},"portal_visible":{"type":"boolean"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","name","order","category","terminal","portal_visible"]}},"default_view_id":{"type":"string","nullable":true},"navigation_visible":{"type":"boolean"},"navigation_order":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"navigation_group":{"type":"string","minLength":1,"maxLength":100,"nullable":true},"portal_visible":{"type":"boolean"},"numbering_prefix":{"type":"string","nullable":true},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","singular_name","plural_name","primary_display_field_id","statuses","navigation_visible","navigation_order","portal_visible","created_at","updated_at"]},"CrmRecordListDto_Output":{"type":"object","properties":{"records":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"revision":{"type":"integer","minimum":0,"maximum":9007199254740991},"workspace_id":{"type":"string"},"record_type_id":{"type":"string"},"display_name":{"type":"string"},"number":{"type":"string","nullable":true},"status_id":{"type":"string"},"owner_user_id":{"type":"string","nullable":true},"assignee_user_ids":{"type":"array","items":{"type":"string"}},"custom_fields":{"type":"object","additionalProperties":{}},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"completed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"schema_version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","revision","workspace_id","record_type_id","display_name","status_id","assignee_user_ids","custom_fields","created_by","updated_by","created_at","updated_at","schema_version"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["records","next_cursor"],"additionalProperties":false},"CrmRecordDto_Output":{"type":"object","properties":{"id":{"type":"string"},"revision":{"type":"integer","minimum":0,"maximum":9007199254740991},"workspace_id":{"type":"string"},"record_type_id":{"type":"string"},"display_name":{"type":"string"},"number":{"type":"string","nullable":true},"status_id":{"type":"string"},"owner_user_id":{"type":"string","nullable":true},"assignee_user_ids":{"type":"array","items":{"type":"string"}},"custom_fields":{"type":"object","additionalProperties":{}},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"completed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"schema_version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","revision","workspace_id","record_type_id","display_name","status_id","assignee_user_ids","custom_fields","created_by","updated_by","created_at","updated_at","schema_version"],"additionalProperties":false},"UpsertCrmRecordDto":{"type":"object","properties":{"revision":{"type":"integer","minimum":0,"maximum":9007199254740991},"record_type_id":{"type":"string","minLength":1},"display_name":{"type":"string","minLength":1,"maxLength":500},"number":{"type":"string","maxLength":100,"nullable":true},"status_id":{"type":"string","minLength":1},"owner_user_id":{"type":"string","nullable":true},"assignee_user_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string"}},"custom_fields":{"default":{},"type":"object","additionalProperties":{}}},"required":["record_type_id","display_name","status_id"]},"CrmRecordDto":{"type":"object","properties":{"id":{"type":"string"},"revision":{"type":"integer","minimum":0,"maximum":9007199254740991},"workspace_id":{"type":"string"},"record_type_id":{"type":"string"},"display_name":{"type":"string"},"number":{"type":"string","nullable":true},"status_id":{"type":"string"},"owner_user_id":{"type":"string","nullable":true},"assignee_user_ids":{"type":"array","items":{"type":"string"}},"custom_fields":{"type":"object","additionalProperties":{}},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"completed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"schema_version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","revision","workspace_id","record_type_id","display_name","status_id","assignee_user_ids","custom_fields","created_by","updated_by","created_at","updated_at","schema_version"]},"UpdateCrmRecordDto":{"type":"object","properties":{"revision":{"type":"integer","minimum":0,"maximum":9007199254740991},"record_type_id":{"type":"string","minLength":1},"display_name":{"type":"string","minLength":1,"maxLength":500},"number":{"type":"string","maxLength":100,"nullable":true},"status_id":{"type":"string","minLength":1},"owner_user_id":{"type":"string","nullable":true},"assignee_user_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string"}},"custom_fields":{"default":{},"type":"object","additionalProperties":{}}},"required":["revision","record_type_id","display_name","status_id"]},"CrmFieldDefinitionListDto_Output":{"type":"object","properties":{"fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"version":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"workspace_id":{"type":"string"},"entity_type":{"type":"string","enum":["person","organization","record"]},"record_type_id":{"type":"string","nullable":true},"name":{"type":"string"},"description":{"type":"string","nullable":true},"type":{"type":"string","enum":["short_text","long_text","rich_text","integer","decimal","currency","percentage","boolean","date","date_time","duration","email","phone","url","address","country","single_select","multi_select","status","rating","workspace_member_reference","person_reference","organization_reference","record_reference","entity_reference","relationship_reference","file_reference","formula","lookup","rollup"]},"required":{"type":"boolean"},"order":{"type":"integer","minimum":0,"maximum":9007199254740991},"visibility":{"type":"string","enum":["workspace","restricted","portal"]},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"default_value":{},"options":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"color":{"type":"string","nullable":true},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","label"],"additionalProperties":false}},"allow_multiple":{"type":"boolean"},"allowed_record_type_id":{"type":"string","nullable":true},"configured_currency":{"type":"string","nullable":true},"allow_per_record_currency":{"type":"boolean"},"minimum":{"type":"number","nullable":true},"maximum":{"type":"number","nullable":true},"decimal_places":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"nullable":true},"formula":{"type":"string","nullable":true},"lookup":{"type":"object","properties":{"relationshipTypeId":{"type":"string","minLength":1},"sourceFieldId":{"type":"string","minLength":1}},"required":["relationshipTypeId","sourceFieldId"],"additionalProperties":false,"nullable":true},"rollup":{"type":"object","properties":{"relationshipTypeId":{"type":"string","minLength":1},"sourceFieldId":{"type":"string","minLength":1},"operation":{"type":"string","enum":["count","count_matching","sum","average","minimum","maximum","earliest_date","latest_date","distinct_count","boolean_any","boolean_all"]},"filter":{}},"required":["relationshipTypeId","sourceFieldId","operation"],"additionalProperties":false,"nullable":true},"api_exposed":{"type":"boolean"},"searchable":{"type":"boolean"},"externally_managed":{"type":"boolean"},"agent_description":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","version","workspace_id","entity_type","name","type","required","order","visibility","api_exposed","searchable","externally_managed","created_at","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["fields","next_cursor"],"additionalProperties":false},"UpsertCrmFieldDefinitionDto":{"type":"object","properties":{"entity_type":{"type":"string","enum":["person","organization","record"]},"record_type_id":{"type":"string","nullable":true},"name":{"type":"string"},"description":{"type":"string","nullable":true},"type":{"type":"string","enum":["short_text","long_text","rich_text","integer","decimal","currency","percentage","boolean","date","date_time","duration","email","phone","url","address","country","single_select","multi_select","status","rating","workspace_member_reference","person_reference","organization_reference","record_reference","entity_reference","relationship_reference","file_reference","formula","lookup","rollup"]},"required":{"type":"boolean"},"order":{"type":"integer","minimum":0,"maximum":9007199254740991},"visibility":{"type":"string","enum":["workspace","restricted","portal"]},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"default_value":{},"options":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"color":{"type":"string","nullable":true},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","label"]}},"allow_multiple":{"type":"boolean"},"allowed_record_type_id":{"type":"string","nullable":true},"configured_currency":{"type":"string","nullable":true},"allow_per_record_currency":{"type":"boolean"},"minimum":{"type":"number","nullable":true},"maximum":{"type":"number","nullable":true},"decimal_places":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"nullable":true},"formula":{"type":"string","nullable":true},"lookup":{"type":"object","properties":{"relationshipTypeId":{"type":"string","minLength":1},"sourceFieldId":{"type":"string","minLength":1}},"required":["relationshipTypeId","sourceFieldId"],"nullable":true},"rollup":{"type":"object","properties":{"relationshipTypeId":{"type":"string","minLength":1},"sourceFieldId":{"type":"string","minLength":1},"operation":{"type":"string","enum":["count","count_matching","sum","average","minimum","maximum","earliest_date","latest_date","distinct_count","boolean_any","boolean_all"]},"filter":{}},"required":["relationshipTypeId","sourceFieldId","operation"],"nullable":true},"api_exposed":{"type":"boolean"},"searchable":{"type":"boolean"},"externally_managed":{"type":"boolean"},"agent_description":{"type":"string","nullable":true}},"required":["entity_type","name","type","required","order","visibility","api_exposed","searchable","externally_managed"]},"CrmFieldDefinitionDto":{"type":"object","properties":{"id":{"type":"string"},"version":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"workspace_id":{"type":"string"},"entity_type":{"type":"string","enum":["person","organization","record"]},"record_type_id":{"type":"string","nullable":true},"name":{"type":"string"},"description":{"type":"string","nullable":true},"type":{"type":"string","enum":["short_text","long_text","rich_text","integer","decimal","currency","percentage","boolean","date","date_time","duration","email","phone","url","address","country","single_select","multi_select","status","rating","workspace_member_reference","person_reference","organization_reference","record_reference","entity_reference","relationship_reference","file_reference","formula","lookup","rollup"]},"required":{"type":"boolean"},"order":{"type":"integer","minimum":0,"maximum":9007199254740991},"visibility":{"type":"string","enum":["workspace","restricted","portal"]},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"default_value":{},"options":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"color":{"type":"string","nullable":true},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","label"]}},"allow_multiple":{"type":"boolean"},"allowed_record_type_id":{"type":"string","nullable":true},"configured_currency":{"type":"string","nullable":true},"allow_per_record_currency":{"type":"boolean"},"minimum":{"type":"number","nullable":true},"maximum":{"type":"number","nullable":true},"decimal_places":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"nullable":true},"formula":{"type":"string","nullable":true},"lookup":{"type":"object","properties":{"relationshipTypeId":{"type":"string","minLength":1},"sourceFieldId":{"type":"string","minLength":1}},"required":["relationshipTypeId","sourceFieldId"],"nullable":true},"rollup":{"type":"object","properties":{"relationshipTypeId":{"type":"string","minLength":1},"sourceFieldId":{"type":"string","minLength":1},"operation":{"type":"string","enum":["count","count_matching","sum","average","minimum","maximum","earliest_date","latest_date","distinct_count","boolean_any","boolean_all"]},"filter":{}},"required":["relationshipTypeId","sourceFieldId","operation"],"nullable":true},"api_exposed":{"type":"boolean"},"searchable":{"type":"boolean"},"externally_managed":{"type":"boolean"},"agent_description":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","version","workspace_id","entity_type","name","type","required","order","visibility","api_exposed","searchable","externally_managed","created_at","updated_at"]},"CrmTerminologyDto_Output":{"type":"object","properties":{"people_singular":{"type":"string","minLength":1,"maxLength":80},"people_plural":{"type":"string","minLength":1,"maxLength":80},"organizations_singular":{"type":"string","minLength":1,"maxLength":80},"organizations_plural":{"type":"string","minLength":1,"maxLength":80},"records_singular":{"type":"string","minLength":1,"maxLength":80},"records_plural":{"type":"string","minLength":1,"maxLength":80}},"required":["people_singular","people_plural","organizations_singular","organizations_plural","records_singular","records_plural"],"additionalProperties":false},"CrmTerminologyDto":{"type":"object","properties":{"people_singular":{"type":"string","minLength":1,"maxLength":80},"people_plural":{"type":"string","minLength":1,"maxLength":80},"organizations_singular":{"type":"string","minLength":1,"maxLength":80},"organizations_plural":{"type":"string","minLength":1,"maxLength":80},"records_singular":{"type":"string","minLength":1,"maxLength":80},"records_plural":{"type":"string","minLength":1,"maxLength":80}},"required":["people_singular","people_plural","organizations_singular","organizations_plural","records_singular","records_plural"]},"CrmOrganizationLinkingSettingsDto_Output":{"type":"object","properties":{"auto_link_exact_domain":{"type":"boolean"}},"required":["auto_link_exact_domain"],"additionalProperties":false},"CrmOrganizationLinkingSettingsDto":{"type":"object","properties":{"auto_link_exact_domain":{"type":"boolean"}},"required":["auto_link_exact_domain"]},"CrmRelationshipTypeListDto_Output":{"type":"object","properties":{"relationship_types":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"source_entity_type":{"type":"string","enum":["person","organization","record"]},"target_entity_type":{"type":"string","enum":["person","organization","record"]},"source_record_type_id":{"type":"string","nullable":true},"target_record_type_id":{"type":"string","nullable":true},"forward_label":{"type":"string"},"reverse_label":{"type":"string"},"description":{"type":"string","nullable":true},"cardinality":{"type":"string","enum":["one_to_one","one_to_many","many_to_one","many_to_many"]},"allow_duplicates":{"type":"boolean"},"portal_visible":{"type":"boolean"},"metadata_fields":{"default":[],"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"name":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","maxLength":2000,"nullable":true},"type":{"type":"string","enum":["short_text","long_text","integer","decimal","boolean","date","date_time","single_select","multi_select","rating","workspace_member_reference"]},"required":{"type":"boolean"},"order":{"type":"integer","minimum":0,"maximum":9007199254740991},"visibility":{"type":"string","enum":["workspace","restricted","portal"]},"default_value":{},"options":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"color":{"type":"string","nullable":true},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","label"],"additionalProperties":false},"nullable":true},"minimum":{"type":"number","nullable":true},"maximum":{"type":"number","nullable":true},"agent_description":{"type":"string","maxLength":2000,"nullable":true},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","name","type","required","order","visibility"],"additionalProperties":false}},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","source_entity_type","target_entity_type","forward_label","reverse_label","cardinality","allow_duplicates","portal_visible","metadata_fields","created_at","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["relationship_types","next_cursor"],"additionalProperties":false},"UpsertCrmRelationshipTypeDto":{"type":"object","properties":{"source_entity_type":{"type":"string","enum":["person","organization","record"]},"target_entity_type":{"type":"string","enum":["person","organization","record"]},"source_record_type_id":{"type":"string","nullable":true},"target_record_type_id":{"type":"string","nullable":true},"forward_label":{"type":"string"},"reverse_label":{"type":"string"},"description":{"type":"string","nullable":true},"cardinality":{"type":"string","enum":["one_to_one","one_to_many","many_to_one","many_to_many"]},"allow_duplicates":{"type":"boolean"},"portal_visible":{"type":"boolean"},"metadata_fields":{"default":[],"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"name":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","maxLength":2000,"nullable":true},"type":{"type":"string","enum":["short_text","long_text","integer","decimal","boolean","date","date_time","single_select","multi_select","rating","workspace_member_reference"]},"required":{"type":"boolean"},"order":{"type":"integer","minimum":0,"maximum":9007199254740991},"visibility":{"type":"string","enum":["workspace","restricted","portal"]},"default_value":{},"options":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"color":{"type":"string","nullable":true},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","label"]},"nullable":true},"minimum":{"type":"number","nullable":true},"maximum":{"type":"number","nullable":true},"agent_description":{"type":"string","maxLength":2000,"nullable":true},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","name","type","required","order","visibility"]}},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["source_entity_type","target_entity_type","forward_label","reverse_label","cardinality","allow_duplicates","portal_visible"]},"CrmRelationshipTypeDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"source_entity_type":{"type":"string","enum":["person","organization","record"]},"target_entity_type":{"type":"string","enum":["person","organization","record"]},"source_record_type_id":{"type":"string","nullable":true},"target_record_type_id":{"type":"string","nullable":true},"forward_label":{"type":"string"},"reverse_label":{"type":"string"},"description":{"type":"string","nullable":true},"cardinality":{"type":"string","enum":["one_to_one","one_to_many","many_to_one","many_to_many"]},"allow_duplicates":{"type":"boolean"},"portal_visible":{"type":"boolean"},"metadata_fields":{"default":[],"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"name":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","maxLength":2000,"nullable":true},"type":{"type":"string","enum":["short_text","long_text","integer","decimal","boolean","date","date_time","single_select","multi_select","rating","workspace_member_reference"]},"required":{"type":"boolean"},"order":{"type":"integer","minimum":0,"maximum":9007199254740991},"visibility":{"type":"string","enum":["workspace","restricted","portal"]},"default_value":{},"options":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"color":{"type":"string","nullable":true},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","label"]},"nullable":true},"minimum":{"type":"number","nullable":true},"maximum":{"type":"number","nullable":true},"agent_description":{"type":"string","maxLength":2000,"nullable":true},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","name","type","required","order","visibility"]}},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","source_entity_type","target_entity_type","forward_label","reverse_label","cardinality","allow_duplicates","portal_visible","created_at","updated_at"]},"CrmRelationshipListDto_Output":{"type":"object","properties":{"relationships":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"relationship_type_id":{"type":"string"},"source":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false},"target":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"additionalProperties":false},"custom_fields":{"type":"object","additionalProperties":{}},"created_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"archived_by":{"type":"string","nullable":true}},"required":["id","workspace_id","relationship_type_id","source","target","custom_fields","created_by","created_at","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["relationships","next_cursor"],"additionalProperties":false},"UpsertCrmRelationshipDto":{"type":"object","properties":{"relationship_type_id":{"type":"string"},"source":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]},"target":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]},"custom_fields":{"type":"object","additionalProperties":{}}},"required":["relationship_type_id","source","target","custom_fields"]},"CrmRelationshipDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"relationship_type_id":{"type":"string"},"source":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]},"target":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]},"custom_fields":{"type":"object","additionalProperties":{}},"created_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"archived_by":{"type":"string","nullable":true}},"required":["id","workspace_id","relationship_type_id","source","target","custom_fields","created_by","created_at","updated_at"]},"CrmFieldLayoutListDto_Output":{"type":"object","properties":{"layouts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"entity_type":{"type":"string","enum":["person","organization","record"]},"record_type_id":{"type":"string","nullable":true},"context":{"type":"string","enum":["detail","quick_create","create","edit","table","kanban_card","ticket_create","ticket_sidebar","task_sidebar","project_sidebar","calendar_event","document","file","portal_profile","portal_record","public_form","authenticated_form","import_preview","search_result","picker_result"]},"sections":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"title":{"type":"string"},"collapsedByDefault":{"type":"boolean"},"fields":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","minLength":1},"required":{"type":"boolean"},"readOnly":{"type":"boolean"},"emphasized":{"type":"boolean"},"compact":{"type":"boolean"}},"required":["fieldId"],"additionalProperties":false}}},"required":["id","collapsedByDefault","fields"],"additionalProperties":false}},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","entity_type","context","sections","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["layouts","next_cursor"],"additionalProperties":false},"UpsertCrmFieldLayoutDto":{"type":"object","properties":{"entity_type":{"type":"string","enum":["person","organization","record"]},"record_type_id":{"type":"string","nullable":true},"context":{"type":"string","enum":["detail","quick_create","create","edit","table","kanban_card","ticket_create","ticket_sidebar","task_sidebar","project_sidebar","calendar_event","document","file","portal_profile","portal_record","public_form","authenticated_form","import_preview","search_result","picker_result"]},"sections":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"title":{"type":"string"},"collapsedByDefault":{"type":"boolean"},"fields":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","minLength":1},"required":{"type":"boolean"},"readOnly":{"type":"boolean"},"emphasized":{"type":"boolean"},"compact":{"type":"boolean"}},"required":["fieldId"]}}},"required":["id","collapsedByDefault","fields"]}}},"required":["entity_type","context","sections"]},"CrmFieldLayoutDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"entity_type":{"type":"string","enum":["person","organization","record"]},"record_type_id":{"type":"string","nullable":true},"context":{"type":"string","enum":["detail","quick_create","create","edit","table","kanban_card","ticket_create","ticket_sidebar","task_sidebar","project_sidebar","calendar_event","document","file","portal_profile","portal_record","public_form","authenticated_form","import_preview","search_result","picker_result"]},"sections":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"title":{"type":"string"},"collapsedByDefault":{"type":"boolean"},"fields":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","minLength":1},"required":{"type":"boolean"},"readOnly":{"type":"boolean"},"emphasized":{"type":"boolean"},"compact":{"type":"boolean"}},"required":["fieldId"]}}},"required":["id","collapsedByDefault","fields"]}},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","entity_type","context","sections","updated_at"]},"CrmViewListDto_Output":{"type":"object","properties":{"views":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"name":{"type":"string"},"entity_type":{"type":"string","enum":["person","organization","record","request","commitment","outcome","segment"]},"record_type_id":{"type":"string","nullable":true},"view_type":{"type":"string","enum":["table","kanban","calendar","timeline","owner"]},"filter":{"nullable":true},"sort":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","minLength":1},"direction":{"type":"string","enum":["ascending","descending"]}},"required":["fieldId","direction"],"additionalProperties":false}},"group_by_field_id":{"type":"string","nullable":true},"visible_field_ids":{"maxItems":200,"type":"array","items":{"type":"string"}},"column_widths":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number","minimum":40,"maximum":2000},"nullable":true},"frozen_field_ids":{"maxItems":20,"type":"array","items":{"type":"string"},"nullable":true},"owner_user_id":{"type":"string"},"sharing":{"type":"string","enum":["personal","workspace","team"]},"team_id":{"type":"string","nullable":true},"is_default":{"type":"boolean"},"order":{"type":"integer","minimum":0,"maximum":9007199254740991},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"materialized_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","name","entity_type","view_type","sort","visible_field_ids","owner_user_id","sharing","is_default","order","created_at","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["views","next_cursor"],"additionalProperties":false},"CrmViewEntityListDto_Output":{"type":"object","properties":{"entities":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"revision":{"type":"integer","minimum":0,"maximum":9007199254740991},"workspace_id":{"type":"string"},"display_name":{"type":"string"},"first_name":{"type":"string","nullable":true},"last_name":{"type":"string","nullable":true},"avatar_url":{"type":"string","nullable":true},"emails":{"type":"array","items":{"type":"string"}},"phone_numbers":{"type":"array","items":{"type":"string"}},"preferred_language":{"type":"string","nullable":true},"timezone":{"type":"string","nullable":true},"owner_user_id":{"type":"string","nullable":true},"custom_fields":{"type":"object","additionalProperties":{}},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"merged_into_id":{"type":"string","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"schema_version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","revision","workspace_id","display_name","emails","phone_numbers","custom_fields","created_by","updated_by","created_at","updated_at","schema_version"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"revision":{"type":"integer","minimum":0,"maximum":9007199254740991},"workspace_id":{"type":"string"},"name":{"type":"string"},"domains":{"type":"array","items":{"type":"string"}},"emails":{"type":"array","items":{"type":"string"}},"phone_numbers":{"type":"array","items":{"type":"string"}},"addresses":{"type":"array","items":{"type":"object","additionalProperties":{}}},"owner_user_ids":{"type":"array","items":{"type":"string"}},"custom_fields":{"type":"object","additionalProperties":{}},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"merged_into_id":{"type":"string","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"schema_version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","revision","workspace_id","name","domains","emails","phone_numbers","addresses","owner_user_ids","custom_fields","created_by","updated_by","created_at","updated_at","schema_version"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"revision":{"type":"integer","minimum":0,"maximum":9007199254740991},"workspace_id":{"type":"string"},"record_type_id":{"type":"string"},"display_name":{"type":"string"},"number":{"type":"string","nullable":true},"status_id":{"type":"string"},"owner_user_id":{"type":"string","nullable":true},"assignee_user_ids":{"type":"array","items":{"type":"string"}},"custom_fields":{"type":"object","additionalProperties":{}},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"completed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"schema_version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","revision","workspace_id","record_type_id","display_name","status_id","assignee_user_ids","custom_fields","created_by","updated_by","created_at","updated_at","schema_version"],"additionalProperties":false}]}},"next_cursor":{"type":"string","nullable":true},"materializing":{"type":"boolean"}},"required":["entities","next_cursor","materializing"],"additionalProperties":false},"UpsertCrmViewDto":{"type":"object","properties":{"name":{"type":"string"},"entity_type":{"type":"string","enum":["person","organization","record","request","commitment","outcome","segment"]},"record_type_id":{"type":"string","nullable":true},"view_type":{"type":"string","enum":["table","kanban","calendar","timeline","owner"]},"filter":{"nullable":true},"sort":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","minLength":1},"direction":{"type":"string","enum":["ascending","descending"]}},"required":["fieldId","direction"]}},"group_by_field_id":{"type":"string","nullable":true},"visible_field_ids":{"maxItems":200,"type":"array","items":{"type":"string"}},"column_widths":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number","minimum":40,"maximum":2000},"nullable":true},"frozen_field_ids":{"maxItems":20,"type":"array","items":{"type":"string"},"nullable":true},"sharing":{"type":"string","enum":["personal","workspace","team"]},"team_id":{"type":"string","nullable":true},"is_default":{"type":"boolean"},"order":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["name","entity_type","view_type","sort","visible_field_ids","sharing","is_default","order"]},"CrmViewDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"name":{"type":"string"},"entity_type":{"type":"string","enum":["person","organization","record","request","commitment","outcome","segment"]},"record_type_id":{"type":"string","nullable":true},"view_type":{"type":"string","enum":["table","kanban","calendar","timeline","owner"]},"filter":{"nullable":true},"sort":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","minLength":1},"direction":{"type":"string","enum":["ascending","descending"]}},"required":["fieldId","direction"]}},"group_by_field_id":{"type":"string","nullable":true},"visible_field_ids":{"maxItems":200,"type":"array","items":{"type":"string"}},"column_widths":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number","minimum":40,"maximum":2000},"nullable":true},"frozen_field_ids":{"maxItems":20,"type":"array","items":{"type":"string"},"nullable":true},"owner_user_id":{"type":"string"},"sharing":{"type":"string","enum":["personal","workspace","team"]},"team_id":{"type":"string","nullable":true},"is_default":{"type":"boolean"},"order":{"type":"integer","minimum":0,"maximum":9007199254740991},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"materialized_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","name","entity_type","view_type","sort","visible_field_ids","owner_user_id","sharing","is_default","order","created_at","updated_at"]},"CrmAutomationDefinitionListDto_Output":{"type":"object","properties":{"automations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"trigger_type":{"type":"string","enum":["person.created","person.updated","organization.created","organization.updated","record.created","record.updated","status.changed","field.changed","relationship.created","relationship.removed","interaction.logged","signal.received","commitment.created","commitment.at_risk","commitment.fulfilled","outcome.changed","health.changed","lifecycle.stage_changed","handoff.created","handoff.accepted","task.created","task.completed","ticket.created","ticket.updated","event.booked","date.reached","entity_date.reached","connector.event_received","form.submitted","portal.action_completed","playbook.started","manual.event"]},"trigger_config":{"type":"object","additionalProperties":{}},"conditions":{"nullable":true},"actions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["task.create","project.create","ticket.create","record.create","field.update","status.update","workspace_member.assign","relationship.create","comment.add","notification.create","interaction.create","signal.create","commitment.create","outcome.update","handoff.start","webhook.invoke","integration.invoke","virtual_coworker.invoke","communication.prepare","approval.request","portal_content.update","playbook.start","segment_member.add","segment_member.remove","relationship_review.create","workflow.wait","workflow.condition"]},"config":{"default":{},"type":"object","additionalProperties":{}},"approval_required":{"default":false,"type":"boolean"},"on_error":{"default":"stop","type":"string","enum":["stop","continue"]}},"required":["id","type","config","approval_required","on_error"],"additionalProperties":false}},"enabled":{"type":"boolean"},"run_as_user_id":{"type":"string","nullable":true},"maximum_fan_out":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"allow_reentry":{"type":"boolean"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","name","trigger_type","trigger_config","actions","enabled","maximum_fan_out","allow_reentry","version","created_by","updated_by","created_at","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["automations","next_cursor"],"additionalProperties":false},"CrmAutomationRunListDto_Output":{"type":"object","properties":{"runs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"definition_id":{"type":"string"},"definition_version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"run_as_user_id":{"type":"string"},"kind":{"type":"string","enum":["automation","playbook"]},"playbook_id":{"type":"string","nullable":true},"event_id":{"type":"string"},"actions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["task.create","project.create","ticket.create","record.create","field.update","status.update","workspace_member.assign","relationship.create","comment.add","notification.create","interaction.create","signal.create","commitment.create","outcome.update","handoff.start","webhook.invoke","integration.invoke","virtual_coworker.invoke","communication.prepare","approval.request","portal_content.update","playbook.start","segment_member.add","segment_member.remove","relationship_review.create","workflow.wait","workflow.condition"]},"config":{"default":{},"type":"object","additionalProperties":{}},"approval_required":{"default":false,"type":"boolean"},"on_error":{"default":"stop","type":"string","enum":["stop","continue"]}},"required":["id","type","config","approval_required","on_error"],"additionalProperties":false}},"status":{"type":"string","enum":["pending","running","waiting_approval","waiting","paused","completed","failed","cancelled"]},"action_states":{"type":"array","items":{"type":"object","properties":{"action_id":{"type":"string"},"status":{"type":"string","enum":["pending","running","waiting_approval","waiting","completed","failed","skipped"]},"attempt_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"idempotency_key":{"type":"string"},"output":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"nullable":true},"error_summary":{"type":"string","nullable":true},"approval_decision":{"type":"string","enum":["approved","rejected",null],"nullable":true},"approval_by":{"type":"string","nullable":true},"approval_note":{"type":"string","nullable":true},"approval_decided_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"completed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"wait_until":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["action_id","status","attempt_count","idempotency_key"],"additionalProperties":false}},"next_action_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"attempt_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"lease_owner":{"type":"string","nullable":true},"lease_expires_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"maximum_fan_out":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"emitted_event_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"error_summary":{"type":"string","nullable":true},"started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"completed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"wait_until":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","definition_id","definition_version","run_as_user_id","kind","event_id","actions","status","action_states","next_action_index","attempt_count","maximum_fan_out","emitted_event_count","created_at","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["runs","next_cursor"],"additionalProperties":false},"CrmAutomationRunDto_Output":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"definition_id":{"type":"string"},"definition_version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"run_as_user_id":{"type":"string"},"kind":{"type":"string","enum":["automation","playbook"]},"playbook_id":{"type":"string","nullable":true},"event_id":{"type":"string"},"actions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["task.create","project.create","ticket.create","record.create","field.update","status.update","workspace_member.assign","relationship.create","comment.add","notification.create","interaction.create","signal.create","commitment.create","outcome.update","handoff.start","webhook.invoke","integration.invoke","virtual_coworker.invoke","communication.prepare","approval.request","portal_content.update","playbook.start","segment_member.add","segment_member.remove","relationship_review.create","workflow.wait","workflow.condition"]},"config":{"default":{},"type":"object","additionalProperties":{}},"approval_required":{"default":false,"type":"boolean"},"on_error":{"default":"stop","type":"string","enum":["stop","continue"]}},"required":["id","type","config","approval_required","on_error"],"additionalProperties":false}},"status":{"type":"string","enum":["pending","running","waiting_approval","waiting","paused","completed","failed","cancelled"]},"action_states":{"type":"array","items":{"type":"object","properties":{"action_id":{"type":"string"},"status":{"type":"string","enum":["pending","running","waiting_approval","waiting","completed","failed","skipped"]},"attempt_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"idempotency_key":{"type":"string"},"output":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"nullable":true},"error_summary":{"type":"string","nullable":true},"approval_decision":{"type":"string","enum":["approved","rejected",null],"nullable":true},"approval_by":{"type":"string","nullable":true},"approval_note":{"type":"string","nullable":true},"approval_decided_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"completed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"wait_until":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["action_id","status","attempt_count","idempotency_key"],"additionalProperties":false}},"next_action_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"attempt_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"lease_owner":{"type":"string","nullable":true},"lease_expires_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"maximum_fan_out":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"emitted_event_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"error_summary":{"type":"string","nullable":true},"started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"completed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"wait_until":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","definition_id","definition_version","run_as_user_id","kind","event_id","actions","status","action_states","next_action_index","attempt_count","maximum_fan_out","emitted_event_count","created_at","updated_at"],"additionalProperties":false},"CrmAutomationRunLogListDto_Output":{"type":"object","properties":{"logs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"run_id":{"type":"string"},"action_id":{"type":"string","nullable":true},"level":{"type":"string","enum":["debug","info","warning","error"]},"message":{"type":"string"},"data":{"type":"object","additionalProperties":{}},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","run_id","level","message","data","created_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["logs","next_cursor"],"additionalProperties":false},"CrmAutomationInvocationListDto_Output":{"type":"object","properties":{"invocations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"run_id":{"type":"string"},"action_id":{"type":"string"},"type":{"type":"string","enum":["webhook","integration","virtual_coworker","portal","playbook"]},"config":{"type":"object","additionalProperties":{}},"status":{"type":"string","enum":["pending","processing","completed","failed"]},"attempt_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"lease_owner":{"type":"string","nullable":true},"lease_expires_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"output":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"nullable":true},"error_summary":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"completed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","run_id","action_id","type","config","status","attempt_count","created_at","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["invocations","next_cursor"],"additionalProperties":false},"CrmAutomationDefinitionDto_Output":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"trigger_type":{"type":"string","enum":["person.created","person.updated","organization.created","organization.updated","record.created","record.updated","status.changed","field.changed","relationship.created","relationship.removed","interaction.logged","signal.received","commitment.created","commitment.at_risk","commitment.fulfilled","outcome.changed","health.changed","lifecycle.stage_changed","handoff.created","handoff.accepted","task.created","task.completed","ticket.created","ticket.updated","event.booked","date.reached","entity_date.reached","connector.event_received","form.submitted","portal.action_completed","playbook.started","manual.event"]},"trigger_config":{"type":"object","additionalProperties":{}},"conditions":{"nullable":true},"actions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["task.create","project.create","ticket.create","record.create","field.update","status.update","workspace_member.assign","relationship.create","comment.add","notification.create","interaction.create","signal.create","commitment.create","outcome.update","handoff.start","webhook.invoke","integration.invoke","virtual_coworker.invoke","communication.prepare","approval.request","portal_content.update","playbook.start","segment_member.add","segment_member.remove","relationship_review.create","workflow.wait","workflow.condition"]},"config":{"default":{},"type":"object","additionalProperties":{}},"approval_required":{"default":false,"type":"boolean"},"on_error":{"default":"stop","type":"string","enum":["stop","continue"]}},"required":["id","type","config","approval_required","on_error"],"additionalProperties":false}},"enabled":{"type":"boolean"},"run_as_user_id":{"type":"string","nullable":true},"maximum_fan_out":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"allow_reentry":{"type":"boolean"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","name","trigger_type","trigger_config","actions","enabled","maximum_fan_out","allow_reentry","version","created_by","updated_by","created_at","updated_at"],"additionalProperties":false},"UpsertCrmAutomationDefinitionDto":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":300},"description":{"type":"string","maxLength":10000,"nullable":true},"trigger_type":{"type":"string","enum":["person.created","person.updated","organization.created","organization.updated","record.created","record.updated","status.changed","field.changed","relationship.created","relationship.removed","interaction.logged","signal.received","commitment.created","commitment.at_risk","commitment.fulfilled","outcome.changed","health.changed","lifecycle.stage_changed","handoff.created","handoff.accepted","task.created","task.completed","ticket.created","ticket.updated","event.booked","date.reached","entity_date.reached","connector.event_received","form.submitted","portal.action_completed","playbook.started","manual.event"]},"trigger_config":{"default":{},"type":"object","additionalProperties":{}},"conditions":{"nullable":true},"actions":{"minItems":1,"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["task.create","project.create","ticket.create","record.create","field.update","status.update","workspace_member.assign","relationship.create","comment.add","notification.create","interaction.create","signal.create","commitment.create","outcome.update","handoff.start","webhook.invoke","integration.invoke","virtual_coworker.invoke","communication.prepare","approval.request","portal_content.update","playbook.start","segment_member.add","segment_member.remove","relationship_review.create","workflow.wait","workflow.condition"]},"config":{"default":{},"type":"object","additionalProperties":{}},"approval_required":{"default":false,"type":"boolean"},"on_error":{"default":"stop","type":"string","enum":["stop","continue"]}},"required":["id","type"]}},"enabled":{"type":"boolean"},"run_as_user_id":{"type":"string","minLength":1,"nullable":true},"maximum_fan_out":{"default":20,"type":"integer","minimum":1,"maximum":100},"allow_reentry":{"default":false,"type":"boolean"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["name","trigger_type","actions","enabled"]},"CrmAutomationDefinitionDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"trigger_type":{"type":"string","enum":["person.created","person.updated","organization.created","organization.updated","record.created","record.updated","status.changed","field.changed","relationship.created","relationship.removed","interaction.logged","signal.received","commitment.created","commitment.at_risk","commitment.fulfilled","outcome.changed","health.changed","lifecycle.stage_changed","handoff.created","handoff.accepted","task.created","task.completed","ticket.created","ticket.updated","event.booked","date.reached","entity_date.reached","connector.event_received","form.submitted","portal.action_completed","playbook.started","manual.event"]},"trigger_config":{"type":"object","additionalProperties":{}},"conditions":{"nullable":true},"actions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["task.create","project.create","ticket.create","record.create","field.update","status.update","workspace_member.assign","relationship.create","comment.add","notification.create","interaction.create","signal.create","commitment.create","outcome.update","handoff.start","webhook.invoke","integration.invoke","virtual_coworker.invoke","communication.prepare","approval.request","portal_content.update","playbook.start","segment_member.add","segment_member.remove","relationship_review.create","workflow.wait","workflow.condition"]},"config":{"default":{},"type":"object","additionalProperties":{}},"approval_required":{"default":false,"type":"boolean"},"on_error":{"default":"stop","type":"string","enum":["stop","continue"]}},"required":["id","type"]}},"enabled":{"type":"boolean"},"run_as_user_id":{"type":"string","nullable":true},"maximum_fan_out":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"allow_reentry":{"type":"boolean"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","name","trigger_type","trigger_config","actions","enabled","maximum_fan_out","allow_reentry","version","created_by","updated_by","created_at","updated_at"]},"SubmitCrmAutomationEventDto":{"type":"object","properties":{"trigger_type":{"type":"string","enum":["person.created","person.updated","organization.created","organization.updated","record.created","record.updated","status.changed","field.changed","relationship.created","relationship.removed","interaction.logged","signal.received","commitment.created","commitment.at_risk","commitment.fulfilled","outcome.changed","health.changed","lifecycle.stage_changed","handoff.created","handoff.accepted","task.created","task.completed","ticket.created","ticket.updated","event.booked","date.reached","entity_date.reached","connector.event_received","form.submitted","portal.action_completed","playbook.started","manual.event"]},"subject":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"nullable":true},"linked_entities":{"default":[],"maxItems":100,"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"facts":{"default":{},"type":"object","additionalProperties":{}},"payload":{"default":{},"type":"object","additionalProperties":{}},"source":{"type":"string","minLength":1,"maxLength":200},"source_provider":{"type":"string","nullable":true},"correlation_id":{"type":"string","minLength":1,"maxLength":500},"causation_id":{"type":"string","nullable":true},"depth":{"default":0,"type":"integer","minimum":0,"maximum":10},"lineage_automation_ids":{"default":[],"maxItems":10,"type":"array","items":{"type":"string","minLength":1}},"occurred_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scheduled_for":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"idempotency_key":{"type":"string","minLength":1,"maxLength":500}},"required":["trigger_type","source"]},"CrmAutomationEventDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"trigger_type":{"type":"string","enum":["person.created","person.updated","organization.created","organization.updated","record.created","record.updated","status.changed","field.changed","relationship.created","relationship.removed","interaction.logged","signal.received","commitment.created","commitment.at_risk","commitment.fulfilled","outcome.changed","health.changed","lifecycle.stage_changed","handoff.created","handoff.accepted","task.created","task.completed","ticket.created","ticket.updated","event.booked","date.reached","entity_date.reached","connector.event_received","form.submitted","portal.action_completed","playbook.started","manual.event"]},"subject":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"nullable":true},"linked_entities":{"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"facts":{"type":"object","additionalProperties":{}},"payload":{"type":"object","additionalProperties":{}},"source":{"type":"string"},"source_provider":{"type":"string","nullable":true},"correlation_id":{"type":"string"},"causation_id":{"type":"string","nullable":true},"depth":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"lineage_automation_ids":{"type":"array","items":{"type":"string"}},"occurred_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"scheduled_for":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"status":{"type":"string","enum":["pending","processing","processed","failed"]},"error_summary":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","trigger_type","linked_entities","facts","payload","source","correlation_id","depth","lineage_automation_ids","occurred_at","status","created_at","updated_at"]},"CrmAutomationRunDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"definition_id":{"type":"string"},"definition_version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"run_as_user_id":{"type":"string"},"kind":{"type":"string","enum":["automation","playbook"]},"playbook_id":{"type":"string","nullable":true},"event_id":{"type":"string"},"actions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["task.create","project.create","ticket.create","record.create","field.update","status.update","workspace_member.assign","relationship.create","comment.add","notification.create","interaction.create","signal.create","commitment.create","outcome.update","handoff.start","webhook.invoke","integration.invoke","virtual_coworker.invoke","communication.prepare","approval.request","portal_content.update","playbook.start","segment_member.add","segment_member.remove","relationship_review.create","workflow.wait","workflow.condition"]},"config":{"default":{},"type":"object","additionalProperties":{}},"approval_required":{"default":false,"type":"boolean"},"on_error":{"default":"stop","type":"string","enum":["stop","continue"]}},"required":["id","type"]}},"status":{"type":"string","enum":["pending","running","waiting_approval","waiting","paused","completed","failed","cancelled"]},"action_states":{"type":"array","items":{"type":"object","properties":{"action_id":{"type":"string"},"status":{"type":"string","enum":["pending","running","waiting_approval","waiting","completed","failed","skipped"]},"attempt_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"idempotency_key":{"type":"string"},"output":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"nullable":true},"error_summary":{"type":"string","nullable":true},"approval_decision":{"type":"string","enum":["approved","rejected",null],"nullable":true},"approval_by":{"type":"string","nullable":true},"approval_note":{"type":"string","nullable":true},"approval_decided_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"completed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"wait_until":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["action_id","status","attempt_count","idempotency_key"]}},"next_action_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"attempt_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"lease_owner":{"type":"string","nullable":true},"lease_expires_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"maximum_fan_out":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"emitted_event_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"error_summary":{"type":"string","nullable":true},"started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"completed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"wait_until":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","definition_id","definition_version","run_as_user_id","kind","event_id","actions","status","action_states","next_action_index","attempt_count","maximum_fan_out","emitted_event_count","created_at","updated_at"]},"DecideCrmAutomationActionDto":{"type":"object","properties":{"action_id":{"type":"string","minLength":1},"approved":{"type":"boolean"},"note":{"type":"string","maxLength":2000,"nullable":true}},"required":["action_id","approved"]},"CrmPlaybookDefinitionListDto_Output":{"type":"object","properties":{"playbooks":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"steps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["task.create","project.create","ticket.create","record.create","field.update","status.update","workspace_member.assign","relationship.create","comment.add","notification.create","interaction.create","signal.create","commitment.create","outcome.update","handoff.start","webhook.invoke","integration.invoke","virtual_coworker.invoke","communication.prepare","approval.request","portal_content.update","playbook.start","segment_member.add","segment_member.remove","relationship_review.create","workflow.wait","workflow.condition"]},"config":{"default":{},"type":"object","additionalProperties":{}},"approval_required":{"default":false,"type":"boolean"},"on_error":{"default":"stop","type":"string","enum":["stop","continue"]}},"required":["id","type","config","approval_required","on_error"],"additionalProperties":false}},"enabled":{"type":"boolean"},"run_as_user_id":{"type":"string","nullable":true},"maximum_fan_out":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","name","steps","enabled","maximum_fan_out","version","created_by","updated_by","created_at","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["playbooks","next_cursor"],"additionalProperties":false},"CrmPlaybookDefinitionDto_Output":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"steps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["task.create","project.create","ticket.create","record.create","field.update","status.update","workspace_member.assign","relationship.create","comment.add","notification.create","interaction.create","signal.create","commitment.create","outcome.update","handoff.start","webhook.invoke","integration.invoke","virtual_coworker.invoke","communication.prepare","approval.request","portal_content.update","playbook.start","segment_member.add","segment_member.remove","relationship_review.create","workflow.wait","workflow.condition"]},"config":{"default":{},"type":"object","additionalProperties":{}},"approval_required":{"default":false,"type":"boolean"},"on_error":{"default":"stop","type":"string","enum":["stop","continue"]}},"required":["id","type","config","approval_required","on_error"],"additionalProperties":false}},"enabled":{"type":"boolean"},"run_as_user_id":{"type":"string","nullable":true},"maximum_fan_out":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","name","steps","enabled","maximum_fan_out","version","created_by","updated_by","created_at","updated_at"],"additionalProperties":false},"UpsertCrmPlaybookDefinitionDto":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":300},"description":{"type":"string","maxLength":10000,"nullable":true},"steps":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["task.create","project.create","ticket.create","record.create","field.update","status.update","workspace_member.assign","relationship.create","comment.add","notification.create","interaction.create","signal.create","commitment.create","outcome.update","handoff.start","webhook.invoke","integration.invoke","virtual_coworker.invoke","communication.prepare","approval.request","portal_content.update","playbook.start","segment_member.add","segment_member.remove","relationship_review.create","workflow.wait","workflow.condition"]},"config":{"default":{},"type":"object","additionalProperties":{}},"approval_required":{"default":false,"type":"boolean"},"on_error":{"default":"stop","type":"string","enum":["stop","continue"]}},"required":["id","type"]}},"enabled":{"type":"boolean"},"run_as_user_id":{"type":"string","minLength":1,"nullable":true},"maximum_fan_out":{"default":20,"type":"integer","minimum":1,"maximum":100},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["name","steps","enabled"]},"CrmPlaybookDefinitionDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"steps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["task.create","project.create","ticket.create","record.create","field.update","status.update","workspace_member.assign","relationship.create","comment.add","notification.create","interaction.create","signal.create","commitment.create","outcome.update","handoff.start","webhook.invoke","integration.invoke","virtual_coworker.invoke","communication.prepare","approval.request","portal_content.update","playbook.start","segment_member.add","segment_member.remove","relationship_review.create","workflow.wait","workflow.condition"]},"config":{"default":{},"type":"object","additionalProperties":{}},"approval_required":{"default":false,"type":"boolean"},"on_error":{"default":"stop","type":"string","enum":["stop","continue"]}},"required":["id","type"]}},"enabled":{"type":"boolean"},"run_as_user_id":{"type":"string","nullable":true},"maximum_fan_out":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","workspace_id","name","steps","enabled","maximum_fan_out","version","created_by","updated_by","created_at","updated_at"]},"StartCrmPlaybookDto":{"type":"object","properties":{"subject":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"],"nullable":true},"linked_entities":{"default":[],"maxItems":100,"type":"array","items":{"type":"object","properties":{"entityType":{"type":"string","enum":["person","organization","record"]},"entityId":{"type":"string","minLength":1},"recordTypeId":{"type":"string"}},"required":["entityType","entityId"]}},"facts":{"default":{},"type":"object","additionalProperties":{}},"payload":{"default":{},"type":"object","additionalProperties":{}},"idempotency_key":{"type":"string","minLength":1,"maxLength":500}}},"CrmPortalEntityType_Output":{"type":"string","enum":["person","organization","record"]},"CrmPortalOptionListDto_Output":{"type":"object","properties":{"options":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"subtitle":{"type":"string","nullable":true},"archived":{"type":"boolean"},"entity_type":{"allOf":[{"$ref":"#/components/schemas/CrmPortalEntityType_Output"}],"nullable":true},"record_type_id":{"type":"string","nullable":true}},"required":["id","label","archived"],"additionalProperties":false}},"selected":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"subtitle":{"type":"string","nullable":true},"archived":{"type":"boolean"},"entity_type":{"allOf":[{"$ref":"#/components/schemas/CrmPortalEntityType_Output"}],"nullable":true},"record_type_id":{"type":"string","nullable":true}},"required":["id","label","archived"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["options","selected","next_cursor"],"additionalProperties":false},"CrmPortalComponentType_Output":{"type":"string","enum":["records","tickets","forms","commitments","outcomes","relationship_reviews","communication_preferences"]},"CrmPortalActionType_Output":{"type":"string","enum":["view","update_fields","fulfill_commitment","manage_preferences"]},"CrmPortalConfigurationDto_Output":{"type":"object","properties":{"workspace_id":{"type":"string"},"enabled":{"type":"boolean"},"domain_ids":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"components":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"type":{"$ref":"#/components/schemas/CrmPortalComponentType_Output"},"label":{"type":"string","minLength":1,"maxLength":120,"nullable":true},"enabled":{"type":"boolean"},"order":{"type":"integer","minimum":0,"maximum":10000},"actions":{"maxItems":4,"type":"array","items":{"$ref":"#/components/schemas/CrmPortalActionType_Output"}},"record_type_ids":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"form_ids":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"field_ids":{"maxItems":200,"type":"array","items":{"type":"string","minLength":1}}},"required":["id","type","enabled","order","actions","record_type_ids","form_ids","field_ids"],"additionalProperties":false}},"updated_by":{"type":"string"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["workspace_id","enabled","domain_ids","components","updated_by","updated_at"],"additionalProperties":false},"CrmPortalComponentType":{"type":"string","enum":["records","tickets","forms","commitments","outcomes","relationship_reviews","communication_preferences"]},"CrmPortalActionType":{"type":"string","enum":["view","update_fields","fulfill_commitment","manage_preferences"]},"UpsertCrmPortalConfigurationDto":{"type":"object","properties":{"enabled":{"type":"boolean"},"domain_ids":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"components":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"type":{"$ref":"#/components/schemas/CrmPortalComponentType"},"label":{"type":"string","minLength":1,"maxLength":120,"nullable":true},"enabled":{"type":"boolean"},"order":{"type":"integer","minimum":0,"maximum":10000},"actions":{"maxItems":4,"type":"array","items":{"$ref":"#/components/schemas/CrmPortalActionType"}},"record_type_ids":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"form_ids":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1}},"field_ids":{"maxItems":200,"type":"array","items":{"type":"string","minLength":1}}},"required":["id","type","enabled","order","actions","record_type_ids","form_ids","field_ids"]}}},"required":["enabled","domain_ids","components"]},"PublicCrmPortalContextDto_Output":{"type":"object","properties":{"enabled":{"type":"boolean"},"email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"display_name":{"type":"string","nullable":true},"sections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"$ref":"#/components/schemas/CrmPortalComponentType_Output"},"label":{"type":"string","nullable":true},"actions":{"type":"array","items":{"$ref":"#/components/schemas/CrmPortalActionType_Output"}},"fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"description":{"type":"string","nullable":true},"type":{"type":"string"},"required":{"type":"boolean"},"editable":{"type":"boolean"},"allow_multiple":{"type":"boolean"},"configured_currency":{"type":"string","nullable":true},"allow_per_record_currency":{"type":"boolean"},"minimum":{"type":"number","nullable":true},"maximum":{"type":"number","nullable":true},"decimal_places":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"nullable":true},"options":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"}},"required":["id","label"],"additionalProperties":false}},"entity_type":{"$ref":"#/components/schemas/CrmPortalEntityType_Output"},"record_type_id":{"type":"string","nullable":true}},"required":["id","label","type","required","editable","allow_multiple","allow_per_record_currency","options","entity_type"],"additionalProperties":false}},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"entity_type":{"$ref":"#/components/schemas/CrmPortalEntityType_Output"},"record_type_id":{"type":"string"},"display_fields":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array","items":{"type":"string"}}]},"format":{"default":"text","type":"string","enum":["text","date","date_time"]},"field_id":{"type":"string"}},"required":["key","label","value","format"],"additionalProperties":false}},"editable_values":{"type":"object","additionalProperties":{}},"can_fulfill":{"type":"boolean"},"preference":{"type":"object","properties":{"key":{"type":"string"},"channel":{"type":"string"},"purpose":{"type":"string","enum":["marketing","transactional","all","custom"]},"custom_purpose":{"type":"string","nullable":true},"state":{"type":"string","enum":["allowed","denied","unknown"]}},"required":["key","channel","purpose","state"],"additionalProperties":false}},"required":["id","display_fields"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["id","type","actions","fields","items","next_cursor"],"additionalProperties":false}}},"required":["enabled","email","sections"],"additionalProperties":false},"PublicCrmPortalSectionPageDto_Output":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"entity_type":{"$ref":"#/components/schemas/CrmPortalEntityType_Output"},"record_type_id":{"type":"string"},"display_fields":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array","items":{"type":"string"}}]},"format":{"default":"text","type":"string","enum":["text","date","date_time"]},"field_id":{"type":"string"}},"required":["key","label","value","format"],"additionalProperties":false}},"editable_values":{"type":"object","additionalProperties":{}},"can_fulfill":{"type":"boolean"},"preference":{"type":"object","properties":{"key":{"type":"string"},"channel":{"type":"string"},"purpose":{"type":"string","enum":["marketing","transactional","all","custom"]},"custom_purpose":{"type":"string","nullable":true},"state":{"type":"string","enum":["allowed","denied","unknown"]}},"required":["key","channel","purpose","state"],"additionalProperties":false}},"required":["id","display_fields"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["items","next_cursor"],"additionalProperties":false},"PublicCrmPortalActionType":{"type":"string","enum":["update_fields","fulfill_commitment","manage_preferences"]},"CrmPortalEntityType":{"type":"string","enum":["person","organization","record"]},"PublicCrmPortalActionDto":{"type":"object","properties":{"component_id":{"type":"string","minLength":1},"action":{"$ref":"#/components/schemas/PublicCrmPortalActionType"},"entity_type":{"$ref":"#/components/schemas/CrmPortalEntityType"},"entity_id":{"type":"string","minLength":1},"values":{"default":{},"type":"object","additionalProperties":{}},"evidence":{"type":"string","maxLength":5000,"nullable":true}},"required":["component_id","action","entity_id"]},"PublicCrmPortalActionResultDto_Output":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]}},"required":["ok"],"additionalProperties":false},"PublicCrmFormDto_Output":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"target_type":{"type":"string","enum":["person","organization","record","ticket","interaction","signal"]},"fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"label":{"type":"string","minLength":1,"maxLength":300},"type":{"type":"string","enum":["short_text","long_text","rich_text","integer","decimal","currency","percentage","boolean","date","date_time","duration","email","phone","url","address","country","single_select","multi_select","status","rating","workspace_member_reference","person_reference","organization_reference","record_reference","entity_reference","relationship_reference","file_reference","formula","lookup","rollup","file"]},"required":{"type":"boolean"},"hidden":{"type":"boolean","enum":[false]},"target_field":{"type":"string","minLength":1,"maxLength":200},"options":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"color":{"type":"string","nullable":true},"archived_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["id","label"],"additionalProperties":false},"nullable":true},"minimum":{"type":"number","nullable":true},"maximum":{"type":"number","nullable":true},"minimum_length":{"type":"integer","minimum":0,"maximum":9007199254740991,"nullable":true},"maximum_length":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"nullable":true},"pattern":{"type":"string","maxLength":500,"nullable":true},"relationship_type_id":{"type":"string","minLength":1,"nullable":true},"relationship_direction":{"type":"string","enum":["source","target",null],"nullable":true}},"required":["id","label","type","required","hidden","target_field"],"additionalProperties":false}},"success_message":{"type":"string"}},"required":["id","name","target_type","fields","success_message"],"additionalProperties":false},"PublicCrmFormSubmissionResultDto":{"type":"object","properties":{"submission_id":{"type":"string"},"status":{"type":"string","enum":["completed","review"]},"success_message":{"type":"string"},"success_redirect_url":{"type":"string","nullable":true}},"required":["submission_id","status","success_message"]},"ConnectorId_Output":{"type":"string","enum":["stripe","square","shopify","woocommerce","shopware","hubspot","pipedrive","mailchimp","brevo","csv","inbound_webhook","bnder_rest_api"]},"ConnectorCatalogDto_Output":{"type":"object","properties":{"connectors":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/ConnectorId_Output"},"display_name":{"type":"string"},"description":{"type":"string"},"category":{"type":"string"},"icon":{"type":"string"},"documentation_path":{"type":"string"},"authentication_methods":{"type":"array","items":{"type":"string"}},"required_scopes":{"type":"array","items":{"type":"string"}},"optional_scopes":{"type":"array","items":{"type":"string"}},"objects":{"type":"array","items":{"type":"object","properties":{"object_type":{"type":"string"},"label":{"type":"string"},"sync_support":{"type":"array","items":{"type":"string"}},"webhook_events":{"type":"array","items":{"type":"string"}},"supports_deletion":{"type":"boolean"},"supports_merge":{"type":"boolean"},"supports_custom_fields":{"type":"boolean"},"coverage_notes":{"type":"string","nullable":true}},"required":["object_type","label","sync_support","webhook_events","supports_deletion","supports_merge","supports_custom_fields"],"additionalProperties":false}},"supports_multiple_accounts":{"type":"boolean"},"supports_locations":{"type":"boolean"},"supports_sandbox":{"type":"boolean"},"supports_manual_refresh":{"type":"boolean"},"event_triggered_object_fetch":{"type":"boolean"},"provider_api_version":{"type":"string"},"implementation_version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"restrictions":{"type":"array","items":{"type":"string"}},"reviewed_at":{"type":"string"},"available":{"type":"boolean"},"unavailable_reason":{"type":"string","nullable":true}},"required":["id","display_name","description","category","icon","documentation_path","authentication_methods","required_scopes","optional_scopes","objects","supports_multiple_accounts","supports_locations","supports_sandbox","supports_manual_refresh","event_triggered_object_fetch","provider_api_version","implementation_version","restrictions","reviewed_at","available","unavailable_reason"],"additionalProperties":false}}},"required":["connectors"],"additionalProperties":false},"ConnectorConnectionState_Output":{"type":"string","enum":["draft","authorization_pending","active","initial_import_running","healthy","degraded","authorization_expired","missing_permissions","push_unavailable","rate_limited","paused","disabled","disconnected","failed"]},"ConnectorImportMode_Output":{"type":"string","enum":["one_time","continuous_push","event_only","manual","historical"]},"ConnectorConnectionListDto_Output":{"type":"object","properties":{"connections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"connector_id":{"$ref":"#/components/schemas/ConnectorId_Output"},"display_name":{"type":"string"},"owner_id":{"type":"string"},"state":{"$ref":"#/components/schemas/ConnectorConnectionState_Output"},"external_account_id":{"type":"string","nullable":true},"external_account_name":{"type":"string","nullable":true},"selected_locations":{"type":"array","items":{"type":"string"}},"granted_scopes":{"type":"array","items":{"type":"string"}},"selected_object_types":{"type":"array","items":{"type":"string"}},"import_mode":{"$ref":"#/components/schemas/ConnectorImportMode_Output"},"configuration":{"type":"object","additionalProperties":{}},"mapping_version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"source_priority":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"push_subscription_state":{"type":"string","nullable":true},"push_subscription_ids":{"type":"array","items":{"type":"string"}},"latest_successful_import_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"latest_received_event_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"latest_processed_event_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"stale_after":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"error_summary":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","connector_id","display_name","owner_id","state","external_account_id","external_account_name","selected_locations","granted_scopes","selected_object_types","import_mode","configuration","mapping_version","source_priority","push_subscription_state","push_subscription_ids","latest_successful_import_at","latest_received_event_at","latest_processed_event_at","stale_after","error_summary","created_at","updated_at"],"additionalProperties":false}}},"required":["connections"],"additionalProperties":false},"ConnectorId":{"type":"string","enum":["stripe","square","shopify","woocommerce","shopware","hubspot","pipedrive","mailchimp","brevo","csv","inbound_webhook","bnder_rest_api"]},"ConnectorImportMode":{"type":"string","enum":["one_time","continuous_push","event_only","manual","historical"]},"CreateConnectorConnectionDto":{"type":"object","properties":{"connector_id":{"$ref":"#/components/schemas/ConnectorId"},"display_name":{"type":"string","minLength":1,"maxLength":120},"import_mode":{"$ref":"#/components/schemas/ConnectorImportMode"},"selected_object_types":{"default":[],"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":100}},"selected_locations":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"configuration":{"default":{},"type":"object","additionalProperties":{"anyOf":[{"type":"string","maxLength":10000},{"type":"number"},{"type":"boolean"},{"maxItems":100,"type":"array","items":{"type":"string","maxLength":1000}}],"nullable":true}},"credentials":{"type":"object","additionalProperties":{"type":"string","minLength":1,"maxLength":100000}},"source_priority":{"default":0,"type":"integer","minimum":-1000,"maximum":1000}},"required":["connector_id","display_name","import_mode"]},"ConnectorConnectionState":{"type":"string","enum":["draft","authorization_pending","active","initial_import_running","healthy","degraded","authorization_expired","missing_permissions","push_unavailable","rate_limited","paused","disabled","disconnected","failed"]},"ConnectorConnectionDto":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"connector_id":{"$ref":"#/components/schemas/ConnectorId"},"display_name":{"type":"string"},"owner_id":{"type":"string"},"state":{"$ref":"#/components/schemas/ConnectorConnectionState"},"external_account_id":{"type":"string","nullable":true},"external_account_name":{"type":"string","nullable":true},"selected_locations":{"type":"array","items":{"type":"string"}},"granted_scopes":{"type":"array","items":{"type":"string"}},"selected_object_types":{"type":"array","items":{"type":"string"}},"import_mode":{"$ref":"#/components/schemas/ConnectorImportMode"},"configuration":{"type":"object","additionalProperties":{}},"mapping_version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"source_priority":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"push_subscription_state":{"type":"string","nullable":true},"push_subscription_ids":{"type":"array","items":{"type":"string"}},"latest_successful_import_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"latest_received_event_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"latest_processed_event_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"stale_after":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"error_summary":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","connector_id","display_name","owner_id","state","external_account_id","external_account_name","selected_locations","granted_scopes","selected_object_types","import_mode","configuration","mapping_version","source_priority","push_subscription_state","push_subscription_ids","latest_successful_import_at","latest_received_event_at","latest_processed_event_at","stale_after","error_summary","created_at","updated_at"]},"ConnectorSourceListDto_Output":{"type":"object","properties":{"sources":{"type":"array","items":{"type":"object","properties":{"connection_id":{"type":"string"},"connector_id":{"$ref":"#/components/schemas/ConnectorId_Output"},"connection_name":{"type":"string"},"connection_state":{"$ref":"#/components/schemas/ConnectorConnectionState_Output"},"external_object_type":{"type":"string"},"external_object_id":{"type":"string"},"external_url":{"type":"string","format":"uri","nullable":true},"source_status":{"type":"string","nullable":true},"tombstone":{"type":"string","nullable":true},"source_updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"latest_event_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"synchronized_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"stale":{"type":"boolean"},"mapping_version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"values":{"type":"object","additionalProperties":{}},"managed_fields":{"type":"array","items":{"type":"object","properties":{"destination_field":{"type":"string"},"mapping_version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"source_updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"synchronized_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["destination_field","mapping_version","source_updated_at","synchronized_at"],"additionalProperties":false}}},"required":["connection_id","connector_id","connection_name","connection_state","external_object_type","external_object_id","external_url","source_status","tombstone","source_updated_at","latest_event_at","synchronized_at","stale","mapping_version","values","managed_fields"],"additionalProperties":false}}},"required":["sources"],"additionalProperties":false},"ConnectorConnectionDto_Output":{"type":"object","properties":{"id":{"type":"string"},"workspace_id":{"type":"string"},"connector_id":{"$ref":"#/components/schemas/ConnectorId_Output"},"display_name":{"type":"string"},"owner_id":{"type":"string"},"state":{"$ref":"#/components/schemas/ConnectorConnectionState_Output"},"external_account_id":{"type":"string","nullable":true},"external_account_name":{"type":"string","nullable":true},"selected_locations":{"type":"array","items":{"type":"string"}},"granted_scopes":{"type":"array","items":{"type":"string"}},"selected_object_types":{"type":"array","items":{"type":"string"}},"import_mode":{"$ref":"#/components/schemas/ConnectorImportMode_Output"},"configuration":{"type":"object","additionalProperties":{}},"mapping_version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"source_priority":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"push_subscription_state":{"type":"string","nullable":true},"push_subscription_ids":{"type":"array","items":{"type":"string"}},"latest_successful_import_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"latest_received_event_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"latest_processed_event_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"stale_after":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"error_summary":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","workspace_id","connector_id","display_name","owner_id","state","external_account_id","external_account_name","selected_locations","granted_scopes","selected_object_types","import_mode","configuration","mapping_version","source_priority","push_subscription_state","push_subscription_ids","latest_successful_import_at","latest_received_event_at","latest_processed_event_at","stale_after","error_summary","created_at","updated_at"],"additionalProperties":false},"UpdateConnectorConnectionDto":{"type":"object","properties":{"display_name":{"type":"string","minLength":1,"maxLength":120},"selected_object_types":{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":100}},"selected_locations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"configuration":{"type":"object","additionalProperties":{"anyOf":[{"type":"string","maxLength":10000},{"type":"number"},{"type":"boolean"},{"maxItems":100,"type":"array","items":{"type":"string","maxLength":1000}}],"nullable":true}},"credentials":{"type":"object","additionalProperties":{"type":"string","minLength":1,"maxLength":100000}},"source_priority":{"type":"integer","minimum":-1000,"maximum":1000}}},"ConnectorActionDto":{"type":"object","properties":{"action":{"type":"string","enum":["test","pause","resume","import","remap","repair","disconnect"]},"disconnect_mode":{"default":"keep_imported_data","type":"string","enum":["keep_imported_data","remove_source_links","archive_source_only"]}},"required":["action"]},"ConnectorDisconnectPreviewDto_Output":{"type":"object","properties":{"source_links":{"type":"integer","minimum":0,"maximum":9007199254740991},"connected_snapshots":{"type":"integer","minimum":0,"maximum":9007199254740991},"source_only_entities":{"type":"array","items":{"type":"object","properties":{"entity_type":{"type":"string","enum":["person","organization","record"]},"entity_id":{"type":"string"},"display_name":{"type":"string"}},"required":["entity_type","entity_id","display_name"],"additionalProperties":false}}},"required":["source_links","connected_snapshots","source_only_entities"],"additionalProperties":false},"ConnectorDiagnosticsDto_Output":{"type":"object","properties":{"generated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"connection_id":{"type":"string"},"provider":{"$ref":"#/components/schemas/ConnectorId_Output"},"account_reference":{"type":"string","nullable":true},"connector_version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"api_version":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"latest_successful_api_request_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"latest_import_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"latest_event_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"push_subscription_state":{"type":"string","nullable":true},"mapping_version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"metrics":{"type":"object","properties":{"imported_people":{"type":"integer","minimum":0,"maximum":9007199254740991},"imported_organizations":{"type":"integer","minimum":0,"maximum":9007199254740991},"imported_records":{"type":"integer","minimum":0,"maximum":9007199254740991},"source_links":{"type":"integer","minimum":0,"maximum":9007199254740991},"connected_snapshots":{"type":"integer","minimum":0,"maximum":9007199254740991},"stale_sources":{"type":"integer","minimum":0,"maximum":9007199254740991},"event_volume":{"type":"integer","minimum":0,"maximum":9007199254740991},"failed_deliveries":{"type":"integer","minimum":0,"maximum":9007199254740991},"open_conflicts":{"type":"integer","minimum":0,"maximum":9007199254740991},"failed_jobs":{"type":"integer","minimum":0,"maximum":9007199254740991},"queued_jobs":{"type":"integer","minimum":0,"maximum":9007199254740991},"automation_events":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["imported_people","imported_organizations","imported_records","source_links","connected_snapshots","stale_sources","event_volume","failed_deliveries","open_conflicts","failed_jobs","queued_jobs","automation_events"],"additionalProperties":false},"redacted_errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","nullable":true},"summary":{"type":"string"},"correlation_id":{"type":"string"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["code","summary","correlation_id","updated_at"],"additionalProperties":false}},"correlation_ids":{"type":"array","items":{"type":"string"}}},"required":["generated_at","connection_id","provider","account_reference","connector_version","api_version","scopes","latest_successful_api_request_at","latest_import_at","latest_event_at","push_subscription_state","mapping_version","metrics","redacted_errors","correlation_ids"],"additionalProperties":false},"ConnectorAuthorizationDto_Output":{"type":"object","properties":{"authorization_url":{"type":"string","format":"uri"},"expires_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["authorization_url","expires_at"],"additionalProperties":false},"ConnectorMappingListDto_Output":{"type":"object","properties":{"mappings":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"source_object_type":{"type":"string"},"destination":{"type":"string"},"record_type_id":{"type":"string","nullable":true},"rules":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"source_field":{"type":"string","minLength":1,"maxLength":500},"destination_field":{"type":"string","maxLength":500,"nullable":true},"transform":{"type":"string","enum":["identity","trim","lowercase","email","phone","date","number","currency_minor_units","boolean","enum","tags","constant","concat","split_first_name","split_last_name"]},"transform_options":{"type":"object","additionalProperties":{}},"update_policy":{"type":"string","enum":["fill_empty","external_wins","bnder_wins_after_import","newest_timestamp","review","connected_data_only"]},"ignore_empty":{"type":"boolean"},"required":{"type":"boolean"}},"required":["id","source_field","transform","update_policy","ignore_empty","required"],"additionalProperties":false}},"created_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","version","source_object_type","destination","record_type_id","rules","created_by","created_at"],"additionalProperties":false}}},"required":["mappings"],"additionalProperties":false},"ConnectorDiscoveryDto_Output":{"type":"object","properties":{"accounts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"locations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"object_types":{"type":"array","items":{"type":"string"}},"schemas":{"type":"array","items":{"type":"object","properties":{"object_type":{"type":"string"},"provider_api_version":{"type":"string"},"discovered_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"fields":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"type":{"type":"string","enum":["string","number","boolean","date","datetime","currency","enum","object","array"]},"required":{"type":"boolean"},"custom":{"type":"boolean"},"sample_values":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array","items":{"type":"string"}}],"nullable":true}}},"required":["key","label","type","required","custom","sample_values"],"additionalProperties":false}},"suggested_mapping":{"type":"object","properties":{"destination":{"type":"string","enum":["person","organization","record","interaction","signal","ignored","connected_data"]},"rules":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"source_field":{"type":"string","minLength":1,"maxLength":500},"destination_field":{"type":"string","maxLength":500,"nullable":true},"transform":{"type":"string","enum":["identity","trim","lowercase","email","phone","date","number","currency_minor_units","boolean","enum","tags","constant","concat","split_first_name","split_last_name"]},"transform_options":{"type":"object","additionalProperties":{}},"update_policy":{"type":"string","enum":["fill_empty","external_wins","bnder_wins_after_import","newest_timestamp","review","connected_data_only"]},"ignore_empty":{"type":"boolean"},"required":{"type":"boolean"}},"required":["id","source_field","transform","update_policy","ignore_empty","required"],"additionalProperties":false}}},"required":["destination","rules"],"additionalProperties":false}},"required":["object_type","provider_api_version","discovered_at","fields","suggested_mapping"],"additionalProperties":false}}},"required":["accounts","locations","object_types","schemas"],"additionalProperties":false},"ConnectorPreviewDto":{"type":"object","properties":{"object_type":{"type":"string","minLength":1,"maxLength":100},"filters":{"default":{},"type":"object","additionalProperties":{}}},"required":["object_type"]},"ConnectorPreviewResultDto_Output":{"type":"object","properties":{"estimated_total":{"type":"integer","minimum":0,"maximum":9007199254740991},"sampled":{"type":"boolean"},"sample_size":{"type":"integer","minimum":0,"maximum":9007199254740991},"expected":{"type":"object","properties":{"creates":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"matches":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"updates":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"conflicts":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"skips":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["creates","matches","updates","conflicts","skips"],"additionalProperties":false},"samples":{"type":"array","items":{"type":"object","properties":{"external_id":{"type":"string"},"display_name":{"type":"string","nullable":true},"prediction":{"type":"string","enum":["create","match","update","conflict","skip"]},"fields":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array","items":{"type":"string"}}],"nullable":true}}},"required":["external_id","display_name","prediction","fields"],"additionalProperties":false}}},"required":["estimated_total","sampled","sample_size","expected","samples"],"additionalProperties":false},"UpsertConnectorMappingDto":{"type":"object","properties":{"source_object_type":{"type":"string","minLength":1,"maxLength":100},"destination":{"type":"string","enum":["person","organization","record","interaction","signal","ignored","connected_data"]},"record_type_id":{"type":"string","nullable":true},"rules":{"maxItems":250,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"source_field":{"type":"string","minLength":1,"maxLength":500},"destination_field":{"type":"string","maxLength":500,"nullable":true},"transform":{"type":"string","enum":["identity","trim","lowercase","email","phone","date","number","currency_minor_units","boolean","enum","tags","constant","concat","split_first_name","split_last_name"]},"transform_options":{"type":"object","additionalProperties":{}},"update_policy":{"type":"string","enum":["fill_empty","external_wins","bnder_wins_after_import","newest_timestamp","review","connected_data_only"]},"ignore_empty":{"type":"boolean"},"required":{"type":"boolean"}},"required":["id","source_field","transform","update_policy","ignore_empty","required"]}}},"required":["source_object_type","destination","rules"]},"ConnectorJobListDto_Output":{"type":"object","properties":{"jobs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"kind":{"type":"string"},"state":{"type":"string"},"object_type":{"type":"string","nullable":true},"event_id":{"type":"string","nullable":true},"mapping_version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"attempt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"max_attempts":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"cancellation_requested":{"type":"boolean"},"progress":{"type":"object","properties":{"scanned":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"created":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"updated":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"matched":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"conflicted":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"skipped":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["scanned","created","updated","matched","conflicted","skipped"],"additionalProperties":false},"error_code":{"type":"string","nullable":true},"error_summary":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","kind","state","object_type","event_id","mapping_version","attempt","max_attempts","cancellation_requested","progress","error_code","error_summary","created_at","updated_at"],"additionalProperties":false}},"next_cursor":{"type":"string","nullable":true}},"required":["jobs","next_cursor"],"additionalProperties":false},"ConnectorJobActionResultDto_Output":{"type":"object","properties":{"id":{"type":"string"},"state":{"type":"string"},"cancellation_requested":{"type":"boolean"}},"required":["id","state","cancellation_requested"],"additionalProperties":false},"ConnectorConflictListDto_Output":{"type":"object","properties":{"conflicts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"external_object_type":{"type":"string"},"external_object_id":{"type":"string"},"reason":{"type":"string"},"status":{"type":"string"},"candidates":{"type":"array","items":{"type":"object","properties":{"entity_type":{"type":"string","enum":["person","organization","record"]},"entity_id":{"type":"string"},"record_type_id":{"type":"string","nullable":true}},"required":["entity_type","entity_id","record_type_id"],"additionalProperties":false}},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"resolved_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"resolved_by":{"type":"string","nullable":true}},"required":["id","external_object_type","external_object_id","reason","status","candidates","created_at","resolved_at","resolved_by"],"additionalProperties":false}}},"required":["conflicts"],"additionalProperties":false},"ResolveConnectorConflictDto":{"type":"object","properties":{"action":{"type":"string","enum":["link","ignore"]},"entity_type":{"type":"string","enum":["person","organization","record"]},"entity_id":{"type":"string","minLength":1,"maxLength":300},"record_type_id":{"type":"string","maxLength":300}},"required":["action"]},"ConnectorWebhookResultDto":{"type":"object","properties":{"accepted":{"type":"boolean"},"duplicate":{"type":"boolean"},"delivery_id":{"type":"string"}},"required":["accepted","duplicate","delivery_id"]},"InboundConnectorEventDto":{"type":"object","properties":{"event_id":{"type":"string","minLength":1,"maxLength":300},"type":{"type":"string","minLength":1,"maxLength":200},"object_type":{"type":"string","minLength":1,"maxLength":100},"object_id":{"type":"string","maxLength":300},"occurred_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"deleted":{"default":false,"type":"boolean"},"merged_into_object_id":{"type":"string","maxLength":300},"data":{"default":{},"type":"object","additionalProperties":{}}},"required":["event_id","type","object_type","occurred_at"]},"ConnectorAuthorizationResultDto_Output":{"type":"object","properties":{"connected":{"type":"boolean"},"workspace_id":{"type":"string"},"connection_id":{"type":"string"}},"required":["connected","workspace_id","connection_id"],"additionalProperties":false},"CrmPortalOptionKind":{"type":"string","enum":["record_type","field","form"]}}},"security":[{"bearer":[]}]}