{"openapi":"3.0.0","paths":{"/admin/ra/message/{message_guid}/reprocess":{"post":{"operationId":"AdminController_reprocessMessage","parameters":[{"name":"message_guid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized"}},"summary":"Reprocess message","tags":["Admin"]}},"/admin/ra/message/{message_guid}/status/{status}":{"put":{"operationId":"AdminController_setMessageStatus","parameters":[{"name":"message_guid","required":true,"in":"path","schema":{"type":"string"}},{"name":"status","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized"}},"summary":"Set Message Status","tags":["Admin"]}},"/admin/ra/message/{message_guid}/createMP3":{"get":{"operationId":"AdminController_recreateMP3","parameters":[{"name":"message_guid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized"}},"summary":"Recreate mp3 file from HLS audio","tags":["Admin"]}},"/admin/ra/message/{message_guid}/recreateWaveform":{"get":{"operationId":"AdminController_recreateWaveform","parameters":[{"name":"message_guid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized"}},"summary":"Recreate waveform","tags":["Admin"]}},"/admin/ra/{entity}":{"get":{"operationId":"AdminController_reactAdminGetEntities","parameters":[{"name":"entity","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized"}},"summary":"Get entities","tags":["Admin"]}},"/admin/ra/{entity}/{id}":{"get":{"operationId":"AdminController_reactAdminGetEntity","parameters":[{"name":"entity","required":true,"in":"path","schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized"}},"summary":"Get entity","tags":["Admin"]}},"/admin/users/info":{"get":{"operationId":"AdminController_getUsersInfo","parameters":[{"name":"users","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized"}},"summary":"Get users info by ID's","tags":["Admin"]}},"/admin/users/active":{"get":{"operationId":"AdminController_getActiveUsers","parameters":[],"responses":{"401":{"description":"Unauthorized"}},"summary":"Get active users","tags":["Admin"]}},"/admin/users/merge":{"post":{"operationId":"AdminController_mergeUsers","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MergeUsersDto"}}}},"responses":{"401":{"description":"Unauthorized"}},"summary":"Merge two user accounts","tags":["Admin"]}},"/admin/workspaces":{"get":{"operationId":"AdminController_getWorkspaces","parameters":[],"responses":{"401":{"description":"Unauthorized"}},"summary":"Get current user workspaces","tags":["Admin"]}},"/admin/workspace/users":{"get":{"operationId":"AdminController_getWorkspaceUsers","parameters":[{"name":"workspace_guid","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized"}},"summary":"Get users by workspace","tags":["Admin"]}},"/admin/workspace/owner":{"put":{"operationId":"AdminController_setWorkspaceOwner","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetWorkspaceOwnerDto"}}}},"responses":{"401":{"description":"Unauthorized"}},"summary":"Set workspace owner","tags":["Admin"]}},"/admin/user/set_verified/{id}":{"put":{"operationId":"AdminController_setUserIsVerified","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized"}},"summary":"Set User to Verified","tags":["Admin"]}},"/admin/ra/channels/{id}":{"put":{"operationId":"AdminController_setChannelVisibility","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetChannelVisibilityDto"}}}},"responses":{"401":{"description":"Unauthorized"}},"summary":"Set Channel Visibility","tags":["Admin"]}},"/admin/ra/channels/{channelId}/members/{userId}":{"put":{"operationId":"AdminController_updateChannelMemberAdmin","parameters":[{"name":"channelId","required":true,"in":"path","schema":{"type":"string"}},{"name":"userId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateChannelMemberAdminDto"}}}},"responses":{"401":{"description":"Unauthorized"}},"summary":"Admin: update channel member role and/or membership status","tags":["Admin"]}},"/admin/ra/domains/{id}":{"put":{"operationId":"AdminController_updateDomain","parameters":[{"name":"id","required":true,"in":"path","schema":{}}],"responses":{"401":{"description":"Unauthorized"}},"summary":"Update domain","tags":["Admin"]},"delete":{"operationId":"AdminController_deleteDomain","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized"}},"summary":"Delete domain","tags":["Admin"]}},"/admin/ra/domains":{"post":{"operationId":"AdminController_createDomain","parameters":[],"responses":{"401":{"description":"Unauthorized"}},"summary":"Create domain","tags":["Admin"]}},"/admin/message/statistics":{"get":{"operationId":"AdminController_getMessageStatistics","parameters":[],"responses":{"401":{"description":"Unauthorized"},"default":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DailyMessageStatistics"}}}}}},"summary":"Get the number of message in each status per day","tags":["Admin"]}},"/admin/user/payment-plans/{user_id}":{"get":{"operationId":"AdminController_getMyPaymentPlans","parameters":[{"name":"user_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPaymentPlanSummaryResponse"}}}},"401":{"description":"Unauthorized"}},"tags":["Admin"]}},"/admin/noworkspace/{workspace_id}":{"get":{"operationId":"AdminController_getOktaProviderDataNoWorkspace","parameters":[{"name":"workspace_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized"}},"summary":"Get users not attached to the workspace_id","tags":["Admin"]}},"/admin/oktaProviderNotInWorkspace/{workspace_id}":{"get":{"operationId":"AdminController_getOktaProviderDataNotInWorkspace","parameters":[{"name":"workspace_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized"}},"tags":["Admin"]}},"/admin/orphanedNotifications":{"get":{"operationId":"AdminController_getOrphanedNotifications","parameters":[],"responses":{"401":{"description":"Unauthorized"}},"summary":"Get orphaned notifications","tags":["Admin"]}},"/admin/orphanedChannels":{"get":{"operationId":"AdminController_getOrphanedChannels","parameters":[],"responses":{"401":{"description":"Unauthorized"}},"summary":"Get orphaned channels","tags":["Admin"]}},"/admin/repairChannelSequenceNumbers":{"post":{"operationId":"AdminController_repairChannelSequenceNumbers","parameters":[],"responses":{"401":{"description":"Unauthorized"}},"summary":"Repair channel sequence numbers","tags":["Admin"]}},"/agents":{"post":{"description":"Creates a new agent under your account. Human and agent callers are supported. New agents share the same root human `creator_id` as you: for a human caller that is your user id; for an agent caller that is the root human for your agent account (never the calling agent’s id). Responses expose that human as `creator_id` on each agent resource.","operationId":"AgentAccountController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAgentAccount"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agent"}}}},"403":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Create an agent account","tags":["Agents"]},"get":{"description":"Returns every agent whose `creator_id` equals your root human: your own user id for a human caller, or that same root human for an agent caller (so agent users can list sibling agents under one human account).","operationId":"AgentAccountController_list","parameters":[{"name":"skip","required":false,"in":"query","schema":{"minimum":0,"format":"int32","default":0,"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Max number of results allowed per page is 100.","schema":{"minimum":1,"maximum":100,"nullable":true,"default":50,"type":"number"}},{"name":"direction","required":false,"in":"query","schema":{"nullable":true,"default":"newer","type":"string","enum":["older","newer"]}},{"name":"date","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListAgentAccountsResponse"}}}},"403":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"List agent accounts under your ownership scope","tags":["Agents"]}},"/agents/{id}":{"get":{"description":"Returns one agent whose `creator_id` matches your ownership scope (same rules as list).","operationId":"AgentAccountController_get","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agent"}}}},"403":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get an agent account","tags":["Agents"]},"delete":{"description":"Soft-deletes an agent (and its workspaces) when that agent’s `creator_id` matches your ownership scope.","operationId":"AgentAccountController_delete","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""},"403":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Delete an agent account","tags":["Agents"]}},"/agents/{id}/tokens":{"post":{"description":"Mints a stateless JWT for an agent in your ownership scope (humans: their agents; agents: siblings under the same root human). The JWT includes `user_id` (the agent) and `creator_id` (the root human). Send the returned `token` as `Authorization: Bearer <token>`.","operationId":"AgentAccountController_createToken","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAgentToken"}}}},"responses":{"200":{"description":"JWT and expiry fields. Use `token` as the bearer credential in the `Authorization` header.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedAgentToken"}}}},"403":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Create a short-lived stateless token for an agent","tags":["Agents"]}},"/prompts":{"get":{"operationId":"AIPromptController_getPrompts","parameters":[{"name":"owner_type","required":false,"in":"query","schema":{"type":"string","enum":["user","workspace","system"]}},{"name":"workspace_id","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AIPrompt"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["AI"]},"post":{"operationId":"AIPromptController_createPrompt","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAIPrompt"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIPrompt"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["AI"]}},"/prompts/{id}":{"put":{"operationId":"AIPromptController_updatePrompt","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAIPrompt"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIPrompt"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["AI"]},"delete":{"operationId":"AIPromptController_deletePrompt","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["AI"]}},"/responses":{"get":{"operationId":"AIResponseController_getAllResponses","parameters":[{"name":"message_id","required":false,"in":"query","schema":{"type":"string"}},{"name":"prompt_id","required":false,"in":"query","schema":{"type":"string"}},{"name":"channel_id","required":false,"in":"query","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"default":50,"type":"number"}},{"name":"direction","required":false,"in":"query","schema":{"type":"string","enum":["older","newer"]}},{"name":"date","required":false,"in":"query","schema":{"format":"date-time","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AIResponse"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["AI"]},"post":{"operationId":"AIResponseController_createResponse","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAIResponse"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["AI"]}},"/responses/prompt/{prompt_id}/latest-ten":{"get":{"operationId":"AIResponseController_getLatestTenAIResponseByPrompt","parameters":[{"name":"prompt_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"List of 10 recent ai prompt responses including (messages, conversations and creator) for given prompt","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTenRecentAIPromptResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["AI"]}},"/responses/share-link":{"post":{"operationId":"createShareLinkAIResponse","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateShareLinkAIResponse"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIShareLinkResponse"}}}},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Generate AI Prompt Response by share-link-ids","tags":["AI"]}},"/responses/{id}":{"get":{"operationId":"AIResponseController_getResponseById","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIResponse"}}}},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["AI"]},"delete":{"operationId":"AIResponseController_deletePrompt","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["AI"]}},"/responses/by-id":{"post":{"operationId":"AIResponseController_getResponseByIds","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAIResponsesByIds"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AIResponse"}}}}},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["AI"]}},"/answers":{"get":{"operationId":"AnswersController_getAnswer","parameters":[{"name":"question","required":true,"in":"query","description":"The question text","schema":{"minLength":3,"example":"What did we discuss about the project yesterday?","type":"string"}},{"name":"workspace_id","required":true,"in":"query","description":"The workspace ID to search in","schema":{"example":"wksp_123456789","type":"string"}},{"name":"channel_ids","required":false,"in":"query","description":"The channel IDs to search in (can be a single ID or array of IDs)","schema":{"example":["fsdfasdfsdafasdf"],"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnswerModel"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get answer to a question","tags":["Answers"]}},"/messages/{message_guid}/stream":{"get":{"operationId":"MessageController_getStreamKey","parameters":[{"name":"message_guid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get stream key for a message","tags":["Message","Messages"]}},"/messages/topic":{"put":{"operationId":"MessageController_updateDiscussionTopic","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMessageTopic"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update the discussion topic on a message","tags":["Message","Messages"]}},"/messages/{channel_id}/index":{"get":{"operationId":"MessageController_getChannelIndexMessages","parameters":[{"name":"channel_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"skip","required":false,"in":"query","schema":{"minimum":0,"format":"int32","default":0,"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Max number of results allowed per page is: **1000**","schema":{"minimum":1,"maximum":1000,"nullable":true,"default":100,"type":"number"}},{"name":"direction","required":false,"in":"query","schema":{"$ref":"#/components/schemas/Direction"}},{"name":"start_date","required":false,"in":"query","schema":{"format":"int64","example":1694313500106,"type":"number"}},{"name":"end_date","required":false,"in":"query","schema":{"format":"int64","example":1694313500106,"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesIndexResponse"}}}},"403":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get Index Messages of Channel","tags":["Message","Messages"]}},"/messages/{messageguid}":{"delete":{"operationId":"MessageController_deleteMessage","parameters":[{"name":"messageguid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Delete message","tags":["Message","Messages"]}},"/messages/transcript":{"put":{"operationId":"MessageController_updateTranscript","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageTranscript"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update message transcript","tags":["Message","Messages"]}},"/messages/{messageguid}/attachments":{"post":{"operationId":"MessageController_addAttachments","parameters":[{"name":"messageguid","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddAttachments"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Attachment"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Add message attachment","tags":["Message","Attachments (messages)"]}},"/messages/{workspaceguid}/{messageguid}/attachment/{attachmentguid}":{"delete":{"deprecated":true,"operationId":"MessageController_deleteAttachmentOld","parameters":[{"name":"workspaceguid","required":true,"in":"path","schema":{"type":"string"}},{"name":"messageguid","required":true,"in":"path","schema":{"type":"string"}},{"name":"attachmentguid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Delete message attachment","tags":["Message","Attachments (messages)"]},"put":{"deprecated":true,"operationId":"MessageController_updateAttachmentOld","parameters":[{"name":"workspaceguid","required":true,"in":"path","schema":{"type":"string"}},{"name":"messageguid","required":true,"in":"path","schema":{"type":"string"}},{"name":"attachmentguid","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestAttachment"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update message attachment","tags":["Message","Attachments (messages)"]}},"/messages/{messageguid}/attachment/{attachmentguid}":{"delete":{"operationId":"MessageController_deleteAttachment","parameters":[{"name":"messageguid","required":true,"in":"path","schema":{"type":"string"}},{"name":"attachmentguid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Delete message attachment","tags":["Message","Attachments (messages)"]},"put":{"operationId":"MessageController_updateAttachment","parameters":[{"name":"messageguid","required":true,"in":"path","schema":{"type":"string"}},{"name":"attachmentguid","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestAttachment"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update message attachment","tags":["Message","Attachments (messages)"]}},"/messages/notes":{"put":{"operationId":"MessageController_updateNotes","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddNotes"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update message notes","tags":["Message","Messages"]}},"/notes":{"get":{"operationId":"MessageController_getNotes","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonalNotesResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get personal notes for messages","tags":["Message"]}},"/message/voicemail":{"post":{"operationId":"MessageController_createVoiceMail","parameters":[],"responses":{"201":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Message"]}},"/message/{message_id}/interactions":{"get":{"operationId":"MessageController_getMessageInteractions","parameters":[{"name":"message_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MessageInteraction"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get notifications,reactions and heard data details for a message","tags":["Message","Messages"]}},"/messages/channel/{channel_id}":{"delete":{"operationId":"MessageController_deleteChannelMessages","parameters":[{"name":"channel_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Delete all messages in a channel","tags":["Message","Messages"]}},"/messages/{workspace_guid}/{message_guid}":{"delete":{"operationId":"MessageController_deleteWelcomeMessage","parameters":[{"name":"workspace_guid","required":true,"in":"path","schema":{"type":"string"}},{"name":"message_guid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Delete a message","tags":["Message","Messages"]}},"/message/heard/{workspace_guid}/{message_guid}/{ms}/{pct}":{"put":{"operationId":"MessageController_updateMessageHeard","parameters":[{"name":"workspace_guid","required":true,"in":"path","schema":{"type":"string"}},{"name":"message_guid","required":true,"in":"path","schema":{"type":"string"}},{"name":"ms","required":true,"in":"path","schema":{"type":"number"}},{"name":"pct","required":true,"in":"path","schema":{"type":"number"}},{"name":"playback_completed","required":false,"in":"query","schema":{"type":"boolean"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update the amount of the message that has been listened to","tags":["Message","Messages"]}},"/messages/preserve":{"put":{"operationId":"MessageController_preserveMessages","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreserveMessagesPayload"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreserveMessagesResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Set messages to be preserved/un-preserved","tags":["Message","Messages"]}},"/messages/{message_id}/tag/{user_id}":{"put":{"operationId":"MessageController_tagUser","parameters":[{"name":"message_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"user_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Tag a user on a message","tags":["Message","Messages"]},"delete":{"operationId":"MessageController_removeTaggedUser","parameters":[{"name":"message_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"user_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Tag a user on a message","tags":["Message","Messages"]}},"/messages/{message_id}/tagged-users":{"put":{"operationId":"MessageController_setTaggedUsers","parameters":[{"name":"message_id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetTaggedUsersDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Replace the full tagged-users list on a message in a single atomic write","tags":["Message","Messages"]}},"/v3/messages/store-vector":{"post":{"operationId":"MessageControllerV3_indexChannel_v3","parameters":[{"name":"channel_id","required":false,"in":"query","schema":{"type":"string"}},{"name":"message_id","required":false,"in":"query","schema":{"type":"string"}},{"name":"workspace_id","required":false,"in":"query","schema":{"type":"string"}},{"name":"start_date","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Store vector for a messages","tags":["MessageControllerV3","Messages"]}},"/v3/messages/statistics/user/{user_id}":{"get":{"operationId":"MessageControllerV3_getMessageStats_v3","parameters":[{"name":"user_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserMessageStatisticModel"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get message stats comparing you to the specified user","tags":["MessageControllerV3","Messages"]}},"/v3/messages/{message_id}/generate/{text_model_type}":{"post":{"operationId":"MessageControllerV3_generateTextModel_v3","parameters":[{"name":"message_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"text_model_type","required":true,"in":"path","schema":{"enum":["transcript","transcript_with_timecode","summary","topic","bullet_list"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageV2"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Generate a new text model and add it to the specified message","tags":["MessageControllerV3","Messages"]}},"/v3/message/welcome/{workspaceguid}":{"get":{"operationId":"MessageControllerV3_getWelcomeMessage_v3","parameters":[{"name":"workspaceguid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageV2"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get welcome message","tags":["MessageControllerV3","Messages"]}},"/v3/messages/start":{"post":{"operationId":"MessageControllerV3_startChannelMessageV3_v3","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartChannelMessage"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageV2"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Start channel message","tags":["MessageControllerV3","Messages"]}},"/v3/messages/prerecorded/start":{"post":{"operationId":"MessageControllerV3_startPrerecordedMessage_v3","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartPrerecordedMessage"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageV2"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Start prerecorded message","tags":["MessageControllerV3","Prerecorded Messages"]}},"/v3/messages/labeled/start":{"post":{"deprecated":true,"description":"We should start using proper endpoints (/prerecorded/start, /voicememo/start, /stored/start) instead of this one","operationId":"MessageControllerV3_startLabeledMessage_v3","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartLabeledMessage"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageV2"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Start labeled message","tags":["MessageControllerV3","Labeled Messages"]}},"/v3/messages/welcome/start":{"post":{"operationId":"MessageControllerV3_startWelcomeMessage_v3","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartWelcomeMessage"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageV2"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Start welcome message","tags":["MessageControllerV3","Messages"]}},"/v3/messages/translate":{"post":{"operationId":"MessageControllerV3_translateMessages_v3","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranslateMessages"}}}},"responses":{"202":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Translate a Message ID or List of Message Id's into specific language","tags":["MessageControllerV3","Messages"]}},"/v4/messages/translate":{"post":{"operationId":"MessageControllerV3_translateMessagesV4_v4","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranslationRequestParams"}}}},"responses":{"202":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Given a list of message or message share ids, translate the messages to the specified language","tags":["MessageControllerV3","Messages"]}},"/v3/messages/{unique_message_id}/stream":{"get":{"operationId":"MessageControllerV3_getStreamKeyV3_v3","parameters":[{"name":"unique_message_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamKeyResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get stream key and message id using a message id or a unique client id","tags":["MessageControllerV3","Messages"]}},"/v3/messages/complete":{"post":{"operationId":"MessageControllerV3_completeMessage_v3","parameters":[],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"completeMessage":{"nullable":false,"allOf":[{"$ref":"#/components/schemas/CompleteMessage"}]},"audio_file":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageV2"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Complete message","tags":["MessageControllerV3","Messages"]}},"/v3/messages/{channel_id}/by-id":{"get":{"description":"**Only possible to send 500 message_ids per request**","operationId":"MessageControllerV3_getMessagesById_v3","parameters":[{"name":"channel_id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMessagesByIdPayload"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesByIdResponse"}}}},"403":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get List of Messages By Id","tags":["MessageControllerV3","Messages"]}},"/v4/messages/{channel_id}/by-id":{"get":{"description":"**Only possible to send 500 message_ids per request**","operationId":"MessageControllerV3_getMessagesByIdV4_v4","parameters":[{"name":"channel_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"message_ids","required":true,"in":"query","description":"Comma-separated list of message IDs (max 500)","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesByIdResponse"}}}},"403":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get List of Messages By Id","tags":["MessageControllerV3","Messages"]}},"/v3/messages/summary":{"put":{"operationId":"MessageControllerV3_upsertMessageSummary_v3","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMessageSummary"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageV2"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update message summary","tags":["MessageControllerV3","Messages"]}},"/v3/messages/{channel_id}/notified/{start}/{stop}":{"get":{"operationId":"MessageControllerV3_getNotifiedMessages_v3","parameters":[{"name":"channel_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"start","required":true,"in":"path","schema":{"type":"number"}},{"name":"stop","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MessageV2"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get notified between sequence numbers","tags":["MessageControllerV3","Messages"]}},"/v3/messages/{channel_id}/sequential/{start}/{stop}":{"get":{"operationId":"MessageControllerV3_getMessagesBySequenceId_v3","parameters":[{"name":"channel_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"start","required":true,"in":"path","schema":{"type":"number"}},{"name":"stop","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MessageV2"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get using sequence ids","tags":["MessageControllerV3","Messages"]}},"/v3/messages/recent":{"post":{"operationId":"MessageControllerV3_getRecentMessagesV3_v3","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageQueryParameters"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MessageV2"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get recent messages","tags":["MessageControllerV3","Messages"]}},"/v3/messages/notified":{"post":{"operationId":"MessageControllerV3_getNotifiedMessagesV3_v3","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageQueryParameters"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MessageV2"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get notified messages by created/last_updated date","tags":["MessageControllerV3","Messages"]}},"/v3/messages/name":{"put":{"operationId":"MessageControllerV3_updateMessageName_v3","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetMessageName"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageV2"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update message name","tags":["MessageControllerV3","Messages"]}},"/v3/messages/prerecorded":{"get":{"operationId":"MessageControllerV3_getPrerecordedMessages_v3","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MessageV2"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get prerecorded message","tags":["MessageControllerV3","Prerecorded Messages"]},"post":{"operationId":"MessageControllerV3_createPrerecordedMessage_v3","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePrerecordedMessage"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageV2"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Create prerecorded message from a message","tags":["MessageControllerV3","Prerecorded Messages"]}},"/v3/messages/voicememo/start":{"post":{"operationId":"MessageControllerV3_startVoiceMemoMessage_v3","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartVoicememoMessage"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageV2"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Start voice memo message","tags":["MessageControllerV3","Voice Memo Messages"]}},"/v3/messages/stored/start":{"post":{"operationId":"MessageControllerV3_startStoredMessage_v3","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartMessage"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageV2"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Start stored message","tags":["MessageControllerV3","Stored Messages"]}},"/v3/messages/voicememo":{"get":{"operationId":"MessageControllerV3_getVoicememoMessages_v3","parameters":[{"name":"date","required":false,"in":"query","schema":{"format":"date-time","nullable":true,"type":"string"}},{"name":"direction","required":false,"in":"query","schema":{"$ref":"#/components/schemas/Direction"}},{"name":"limit","required":false,"in":"query","schema":{"format":"int32","default":200,"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MessageV2"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get voice memos","tags":["MessageControllerV3","Voice Memo Messages"]}},"/v4/messages/voicememo":{"get":{"operationId":"MessageControllerV3_getVoicememoMessagesV4_v4","parameters":[{"name":"date","required":false,"in":"query","schema":{"format":"date-time","nullable":true,"type":"string"}},{"name":"direction","required":false,"in":"query","schema":{"$ref":"#/components/schemas/Direction"}},{"name":"sort_direction","required":false,"in":"query","schema":{"$ref":"#/components/schemas/SortDirection"}},{"name":"include_deleted","required":false,"in":"query","schema":{"default":true,"type":"boolean"}},{"name":"limit","required":false,"in":"query","schema":{"format":"int32","default":200,"type":"number"}},{"name":"workspace_id","required":false,"in":"query","schema":{"type":"string"}},{"name":"folder_id","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MessageV2"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get voice memos","tags":["MessageControllerV3","Voice Memo Messages"]}},"/v3/messages/by-id":{"get":{"operationId":"getListOfMessagesById","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetListOfMessagesById"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MessageV2"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get list of messages by ID (Up to 500 messages each request)","tags":["MessageControllerV3","Messages"]},"post":{"operationId":"listOfMessagesById","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetListOfMessagesById"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MessageV2"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get list of messages by ID (Up to 500 messages each request)","tags":["MessageControllerV3","Messages"]},"delete":{"operationId":"MessageControllerV3_deleteMessagesById_v3","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteMessagesByIdPayload"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteMessagesByIdResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Delete list of messages by ID","tags":["MessageControllerV3","Messages"]}},"/v3/message/{message_id}/interactions":{"get":{"operationId":"MessageControllerV3_getMessageInteractions_v3","parameters":[{"name":"message_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageAndInteractionData"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get notifications,reactions and heard data details for a message","tags":["MessageControllerV3","Messages"]}},"/v3/messages/prerecorded/{message_guid}/send/{channel_guid}":{"post":{"operationId":"MessageControllerV3_sendPrerecordedMessage_v3","parameters":[{"name":"message_guid","required":true,"in":"path","schema":{"type":"string"}},{"name":"channel_guid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageV2"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Send prerecorded message","tags":["MessageControllerV3","Prerecorded Messages"]}},"/v3/messages/prerecorded/{message_guid}/send/{channel_guid}/{parent_message_guid}":{"post":{"operationId":"MessageControllerV3_replyWithPrerecordedMessage_v3","parameters":[{"name":"message_guid","required":true,"in":"path","schema":{"type":"string"}},{"name":"channel_guid","required":true,"in":"path","schema":{"type":"string"}},{"name":"parent_message_guid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageV2"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Reply with prerecorded message","tags":["MessageControllerV3","Prerecorded Messages"]}},"/v3/messages/{message_guid}/send/{channel_guid}":{"post":{"operationId":"MessageControllerV3_sendExistingMessage_v3","parameters":[{"name":"message_guid","required":true,"in":"path","schema":{"type":"string"}},{"name":"channel_guid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageV2"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Send existing message to a channel","tags":["MessageControllerV3","Messages"]}},"/v3/messages/{message_guid}/send/{channel_guid}/{reply_to_message_id}":{"post":{"operationId":"MessageControllerV3_sendExistingMessageAsReply_v3","parameters":[{"name":"message_guid","required":true,"in":"path","schema":{"type":"string"}},{"name":"channel_guid","required":true,"in":"path","schema":{"type":"string"}},{"name":"reply_to_message_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageV2"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Send an existing message as a reply","tags":["MessageControllerV3","Messages"]}},"/v3/messages/transcript":{"put":{"operationId":"MessageControllerV3_updateTranscript_v3","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageTranscriptV2"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageV2"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update message transcript","tags":["MessageControllerV3","Messages"]}},"/v4/messages/{messageguid}":{"get":{"operationId":"MessageControllerV3_getMessageByIdV4_v4","parameters":[{"name":"messageguid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageV2"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get a message","tags":["MessageControllerV3","Messages"]}},"/v3/unverified/messages":{"get":{"operationId":"MessageControllerV3_findUnverifiedMessages_v3","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnverifiedMessagesV2"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get unverified messages","tags":["MessageControllerV3","Messages"]}},"/v3/messages/{message_id}/dub/{language}":{"put":{"operationId":"MessageControllerV3_addDubbedAudio_v3","parameters":[{"name":"message_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"language","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Add a dubbed audio to a message","tags":["MessageControllerV3","Messages"]}},"/v5/messages/by-ids":{"post":{"description":"Returns a list of messages (MessageV5) by IDs. Requires conversation_id; user must have access to the conversation. Only messages belonging to that conversation are returned.","operationId":"getMessagesByIdsV5","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMessagesByIdsV5Payload"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MessageV5"}}}}},"400":{"description":""},"403":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get messages by IDs","tags":["Messages (v5)"]}},"/v5/messages/{id}":{"get":{"operationId":"getMessageByIdV5","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"language","required":false,"in":"query","description":"Language (optional) - Original language will be used if not provided or not found.","schema":{"example":"english","type":"string"}},{"name":"presigned_url","required":false,"in":"query","description":"Whether to include presigned URLs for audio files (optional, default: false)","schema":{"default":false,"type":"boolean"}},{"name":"fresh","required":false,"in":"query","description":"Whether to bypass cache and fetch fresh data from database (optional, default: false - uses cache)","schema":{"default":false,"type":"boolean"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMessageResponseV5"}}}},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get Message By ID","tags":["Messages (v5)"]}},"/v5/messages/{id}/save-to-voicememo":{"post":{"description":"Save a message into voice memos by copying it. You must be the owner of the message.","operationId":"saveMessageToVoiceMemo","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SaveMessageToVoiceMemoPayload"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageV5"}}}},"400":{"description":""},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Save Message to Voice Memo","tags":["Messages (v5)"]}},"/v5/messages/text":{"post":{"description":"Always returns `201 Created`, including idempotent replays. Clients that need to distinguish a replay from an initial creation must compare `idempotency_key` / `id` instead of relying on the HTTP status.","operationId":"createConversationTextMessageV5","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConversationTextV5Payload"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageV5"}}}},"400":{"description":""},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Create text message in a conversation","tags":["Messages (v5)"]}},"/v5/messages/attachment":{"post":{"description":"Always returns `201 Created`, including idempotent replays. Clients that need to distinguish a replay from an initial creation must compare `idempotency_key` / `id` instead of relying on the HTTP status.","operationId":"createConversationAttachmentMessageV5","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConversationAttachmentV5Payload"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageV5"}}}},"400":{"description":""},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Create attachment-only message in a conversation","tags":["Messages (v5)"]}},"/v5/messages/audio":{"post":{"description":"Uploads the audio in one request (no separate /complete step). The audio file is sent as multipart part `audio_file`; all other metadata travels in the JSON multipart field `payload`. Always returns `201 Created`, including idempotent replays. Clients that need to distinguish a replay from an initial creation must compare `idempotency_key` / `id` instead of relying on the HTTP status.","operationId":"createConversationAudioMessageV5","parameters":[],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["payload","audio_file"],"properties":{"payload":{"description":"JSON-encoded `CreateConversationAudioV5Payload` (conversation_id, optional idempotency_key, attachments, utm_data, thread_id, forward, duration, transcript_timecodes).","allOf":[{"$ref":"#/components/schemas/CreateConversationAudioV5Payload"}]},"audio_file":{"type":"string","format":"binary"}}}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageV5"}}}},"400":{"description":""},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Create audio message in a conversation","tags":["Messages (v5)"]}},"/v5/messages/stream":{"post":{"description":"Returns the started message plus a signed `stream_key`. Clients open the existing application websocket and authenticate the audio-upload session with this key (same flow as the legacy v3 stream-key behavior). The `stream_key` is bound to `message.id` and expires according to the websocket gateway configuration. Always returns `201 Created`, including idempotent replays. Clients that need to distinguish a replay from an initial creation must compare `idempotency_key` / `id` instead of relying on the HTTP status.","operationId":"createConversationStreamMessageV5","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConversationStreamV5Payload"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateStreamMessageV5Response"}}}},"400":{"description":""},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Create conversation message and obtain stream_key for WebSocket audio upload","tags":["Messages (v5)"]}},"/v5/voicememos/text":{"post":{"description":"Always returns `201 Created`, including idempotent replays. Clients that need to distinguish a replay from an initial creation must compare `idempotency_key` / `id` instead of relying on the HTTP status.","operationId":"createVoicememoTextMessageV5","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVoicememoTextV5Payload"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageV5"}}}},"400":{"description":""},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Create text voice memo","tags":["Messages (v5)"]}},"/v5/voicememos/attachment":{"post":{"description":"Always returns `201 Created`, including idempotent replays. Clients that need to distinguish a replay from an initial creation must compare `idempotency_key` / `id` instead of relying on the HTTP status.","operationId":"createVoicememoAttachmentMessageV5","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVoicememoAttachmentV5Payload"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageV5"}}}},"400":{"description":""},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Create attachment-only voice memo","tags":["Messages (v5)"]}},"/v5/voicememos/audio":{"post":{"description":"Uploads the audio in one request (no separate /complete step). The audio file is sent as multipart part `audio_file`; all other metadata travels in the JSON multipart field `payload`. Always returns `201 Created`, including idempotent replays. Clients that need to distinguish a replay from an initial creation must compare `idempotency_key` / `id` instead of relying on the HTTP status.","operationId":"createVoicememoAudioMessageV5","parameters":[],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["payload","audio_file"],"properties":{"payload":{"description":"JSON-encoded `CreateVoicememoAudioV5Payload` (optional workspace_id, folder_id, idempotency_key, attachments, duration, transcript_timecodes). `conversation_id`, `utm_data`, `thread_id`, and `forward` are rejected.","allOf":[{"$ref":"#/components/schemas/CreateVoicememoAudioV5Payload"}]},"audio_file":{"type":"string","format":"binary"}}}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageV5"}}}},"400":{"description":""},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Create audio voice memo","tags":["Messages (v5)"]}},"/v5/voicememos/stream":{"post":{"description":"Returns the started message plus a signed `stream_key`. Clients open the existing application websocket and authenticate the audio-upload session with this key (same flow as the legacy v3 stream-key behavior). The `stream_key` is bound to `message.id` and expires according to the websocket gateway configuration. Always returns `201 Created`, including idempotent replays. Clients that need to distinguish a replay from an initial creation must compare `idempotency_key` / `id` instead of relying on the HTTP status.","operationId":"createVoicememoStreamMessageV5","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVoicememoStreamV5Payload"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateStreamMessageV5Response"}}}},"400":{"description":""},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Create voice memo message and obtain stream_key for WebSocket audio upload","tags":["Messages (v5)"]}},"/user/languages":{"put":{"operationId":"UserController_updateUserLanguages","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLanguageParameters"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDto"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]}},"/user/newidentity":{"post":{"operationId":"UserController_newIdentity","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewIdentity"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]}},"/test/merge/{userId1}/{userId2}":{"post":{"operationId":"UserController_testMergeUser","parameters":[{"name":"userId1","required":true,"in":"path","schema":{"type":"string"}},{"name":"userId2","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDto"}}}}},"tags":["User"]}},"/sessions/merge":{"post":{"operationId":"UserController_sessionsMerge","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionMerge"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]}},"/user/merge":{"post":{"operationId":"UserController_userMerge","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserMerge"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]}},"/v3/user/profile/{user_id}":{"get":{"operationId":"UserController_userProfileV3_v3","parameters":[{"name":"user_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserProfileV3"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]}},"/user/profile/{id}":{"get":{"operationId":"UserController_userProfile","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserProfile"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]}},"/user":{"post":{"operationId":"UserController_updateUser","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUser"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDto"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]}},"/user/image":{"put":{"operationId":"UserController_updateUserImage","parameters":[],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"user_image":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]}},"/users":{"get":{"operationId":"UserController_users","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}}}}},"401":{"description":"Unauthorized"}},"security":[{"api_key":[]},{"oauth2":["admin"]}],"summary":"Get users","tags":["User","Admin"]}},"/users/last-seen":{"get":{"operationId":"getLastSeen","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetLastSeenById"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserLastSeen"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get Last Seen and Timezone info for a set of users","tags":["User"]}},"/v3/users/last-seen":{"get":{"operationId":"getLastSeenV3","parameters":[{"name":"user_ids","required":true,"in":"query","description":"List of User IDs, Max allowed is 500","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserLastSeen"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get Last Seen and Timezone info for a set of users","tags":["User"]}},"/user/account":{"delete":{"operationId":"UserController_deleteAccount","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Delete my account","tags":["User"]}},"/user/{guid}":{"delete":{"operationId":"UserController_deleteUser","parameters":[{"name":"guid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}},"401":{"description":"Unauthorized"}},"security":[{"api_key":[]},{"oauth2":["admin"]}],"summary":"Delete user","tags":["User","Admin"]}},"/user/{guid}/identities":{"delete":{"operationId":"UserController_deleteUserIdentities","parameters":[{"name":"guid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]}},"/user/create/unverified":{"post":{"operationId":"UserController_createUnverifiedUser","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUnverifiedUser"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]}},"/user/headshot/{id}":{"get":{"operationId":"UserController_userHeadshot","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"tags":["User"]}},"/user/setting":{"post":{"operationId":"UserController_updateUserPreference","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserSetting"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]}},"/user/check":{"get":{"operationId":"UserController_checkUser","parameters":[{"name":"method","required":true,"in":"query","schema":{"type":"string"}},{"name":"value","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]}},"/user/findunverified":{"get":{"operationId":"UserController_findUnverifiedUser","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserIdentitiesResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]}},"/user/identites":{"get":{"operationId":"UserController_myIdentities","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserIdentitiesResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]}},"/user/profileentry/{entry_guid}":{"delete":{"operationId":"UserController_deleteProfileEntry","parameters":[{"name":"entry_guid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]}},"/user/profile":{"post":{"operationId":"UserController_addProfileEntry","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddProfile"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserEntryUpdateResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]},"put":{"operationId":"UserController_updateProfileEntry","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProfile"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserEntryUpdateResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]}},"/user/identity/email/{email}":{"delete":{"operationId":"UserController_deleteUserEmailIdentity","parameters":[{"name":"email","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]}},"/user/identity/phone/{phone}":{"delete":{"operationId":"UserController_deleteUserPhoneIdentity","parameters":[{"name":"phone","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]}},"/contact-ids-for-user/{user_guid}":{"get":{"operationId":"UserController_getUserContactIds","parameters":[{"name":"user_guid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"Unauthorized"}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get current list of contact ids for given user id","tags":["User"]}},"/contacts-for-user/{user_guid}":{"get":{"operationId":"UserController_getUserContacts","parameters":[{"name":"user_guid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Contact"}}}}},"401":{"description":"Unauthorized"}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get current list of contact ids for given user id","tags":["User"]}},"/contacts":{"post":{"operationId":"UserController_getMyContacts","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSearchParameters"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Contact"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get all the contacts for a user","tags":["User"]}},"/contact-ids":{"get":{"operationId":"UserController_getMyContactIds","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get current list of contact ids","tags":["User"]}},"/v3/contact-ids":{"get":{"operationId":"UserController_getMyContactIdsV2_v3","parameters":[{"name":"last_updated_at","required":false,"in":"query","schema":{"format":"date-time","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserIndex"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get current list of contact ids","tags":["User"]}},"/identity/{user_guid}":{"delete":{"operationId":"UserController_deleteIdentity","parameters":[{"name":"user_guid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Delete an identity","tags":["User"]}},"/user/global-voice":{"put":{"operationId":"UserController_setGlobalVoiceSettings","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateGlobalVoiceSettings"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]}},"/user/voice/{voice_id}":{"put":{"operationId":"UserController_updateUserVoice","parameters":[{"name":"voice_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]},"delete":{"operationId":"UserController_deleteUserVoice","parameters":[{"name":"voice_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]}},"/user/voice/gender/{voice_gender}":{"put":{"operationId":"UserController_updateUserVoiceGender","parameters":[{"name":"voice_gender","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]}},"/user/{user_id}/voice/{voice_type}/train":{"put":{"operationId":"UserController_trainUserVoice","parameters":[{"name":"voice_type","required":true,"in":"path","schema":{"type":"string"}},{"name":"user_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"message_id","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]}},"/v3/user/{user_id}/voice/{voice_type}/train":{"put":{"operationId":"UserController_trainUserVoiceV3_v3","parameters":[{"name":"voice_type","required":true,"in":"path","schema":{"type":"string"}},{"name":"user_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"message_id","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]}},"/user/test":{"post":{"operationId":"UserController_createTestUser","parameters":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTestUser"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserResponse"}}}}},"tags":["User"]}},"/user/preferences":{"put":{"operationId":"UserController_setUserPreferences","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPreferenceServiceModel"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDto"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]},"get":{"operationId":"UserController_getUserPreferences","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPreferenceServiceModel"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]}},"/user/preferences/boolean/{category}/{name}":{"delete":{"operationId":"UserController_deleteBooleanUserPreference","parameters":[{"name":"category","required":true,"in":"path","schema":{"enum":["message_card","onboarding","playback","recording","label","conversation_feed","tooltips","home"],"type":"string"}},{"name":"name","required":true,"in":"path","schema":{"enum":["speed","auto_clear_notification","auto_clear_compressed_audio_messages","compress_text_messages","compress_to_ai_summary","show_ai_summary","ai_summary_display_mode","show_transcript","identity_complete","languages_complete","suggested_conversations_complete","streaming","waiting_room","default_id","message_compression_character_limit","message_compression_line_limit","education_page_complete","single_tap_to_record","show_mic_tooltip","show_create_conversation_tooltip","show_create_a_folder_tooltip","show_message_info_translate_button_tooltip","show_chats_tab_tooltip","tap_on_message_card_mode","show_educational_message_card_right_swipe","user_goal_complete","hide_checklist","show_message_card_swipe","show_bulleted_summary_tooltip","user_role_complete","attribution_complete","work_environment_complete","conversations_workspace_complete","team_workspace_complete","send_first_message_complete","pinned_cards","hidden_playlists","speed_dial_complete","agent_setup_complete","voice_memo_auto_copy"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPreferenceServiceModel"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]}},"/user/preferences/number/{category}/{name}":{"delete":{"operationId":"UserController_deleteNumberUserPreference","parameters":[{"name":"category","required":true,"in":"path","schema":{"enum":["message_card","onboarding","playback","recording","label","conversation_feed","tooltips","home"],"type":"string"}},{"name":"name","required":true,"in":"path","schema":{"enum":["speed","auto_clear_notification","auto_clear_compressed_audio_messages","compress_text_messages","compress_to_ai_summary","show_ai_summary","ai_summary_display_mode","show_transcript","identity_complete","languages_complete","suggested_conversations_complete","streaming","waiting_room","default_id","message_compression_character_limit","message_compression_line_limit","education_page_complete","single_tap_to_record","show_mic_tooltip","show_create_conversation_tooltip","show_create_a_folder_tooltip","show_message_info_translate_button_tooltip","show_chats_tab_tooltip","tap_on_message_card_mode","show_educational_message_card_right_swipe","user_goal_complete","hide_checklist","show_message_card_swipe","show_bulleted_summary_tooltip","user_role_complete","attribution_complete","work_environment_complete","conversations_workspace_complete","team_workspace_complete","send_first_message_complete","pinned_cards","hidden_playlists","speed_dial_complete","agent_setup_complete","voice_memo_auto_copy"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPreferenceServiceModel"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]}},"/user/preferences/string/{category}/{name}":{"delete":{"operationId":"UserController_deleteStringUserPreference","parameters":[{"name":"category","required":true,"in":"path","schema":{"enum":["message_card","onboarding","playback","recording","label","conversation_feed","tooltips","home"],"type":"string"}},{"name":"name","required":true,"in":"path","schema":{"enum":["speed","auto_clear_notification","auto_clear_compressed_audio_messages","compress_text_messages","compress_to_ai_summary","show_ai_summary","ai_summary_display_mode","show_transcript","identity_complete","languages_complete","suggested_conversations_complete","streaming","waiting_room","default_id","message_compression_character_limit","message_compression_line_limit","education_page_complete","single_tap_to_record","show_mic_tooltip","show_create_conversation_tooltip","show_create_a_folder_tooltip","show_message_info_translate_button_tooltip","show_chats_tab_tooltip","tap_on_message_card_mode","show_educational_message_card_right_swipe","user_goal_complete","hide_checklist","show_message_card_swipe","show_bulleted_summary_tooltip","user_role_complete","attribution_complete","work_environment_complete","conversations_workspace_complete","team_workspace_complete","send_first_message_complete","pinned_cards","hidden_playlists","speed_dial_complete","agent_setup_complete","voice_memo_auto_copy"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPreferenceServiceModel"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]}},"/users/reverse-lookup":{"post":{"operationId":"UserController_getUserIdsByReverseLookup","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetUserIdsByReverseLookup"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetUserIdsByReverseLookupResponse"}}}},"403":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Reverse lookup to return list of user_ids based on e-mails or phones","tags":["User"]}},"/users/verify-access":{"post":{"operationId":"UserController_verifyWhoHasAccessToResource","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WhoHasAccessPayload"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WhoHasAccessResponse"}}}},"403":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Endpoint to verify if list of (users, emails, phones) have access to a specific resource","tags":["User"]}},"/users/lifecycle/{type}":{"post":{"operationId":"UserController_addLifecycleEvent","parameters":[{"name":"type","required":true,"in":"path","schema":{"$ref":"#/components/schemas/LifecycleEventType"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["User"]}},"/contact-info":{"post":{"operationId":"ContactInfoController_addContacts","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateContactInfo"}}}},"responses":{"200":{"description":"Register all contacts for notification and return status of each","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactInfoResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Contact-Info"]},"delete":{"operationId":"ContactInfoController_removeContacts","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateContactInfo"}}}},"responses":{"200":{"description":"Remove the authenticated user from the related users list so they dont get notifications","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactInfoResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Contact-Info"]}},"/contact-info/lookup":{"post":{"operationId":"ContactInfoController_lookupContacts","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateContactInfo"}}}},"responses":{"200":{"description":"Lookup all contacts for notification and return status of each","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactInfoResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Contact-Info"]}},"/contact-info/hash/{value}":{"get":{"operationId":"ContactInfoController_hashValue","parameters":[{"name":"value","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"A way to test the sanitization and hashing of contact info","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Contact-Info"]}},"/contact-info/insert/all":{"post":{"operationId":"ContactInfoController_insertAllContacts","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Contact-Info"]}},"/contact-info/test/contact":{"delete":{"operationId":"ContactInfoController_removeTestContact","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateContactInfo"}}}},"responses":{"200":{"description":"This is really only used for testing","content":{"application/json":{"schema":{"type":"boolean"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Contact-Info"]}},"/channel/{channel_id}/seen-seq/{seen_seq}":{"put":{"operationId":"ChannelController_updateChannelSeenSeq","parameters":[{"name":"channel_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"seen_seq","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update the seen sequence on the channel for the authed user","tags":["Channels"]}},"/v3/channel/{channel_id}/seen-seq/{seen_seq}":{"put":{"operationId":"ChannelController_updateChannelSeenSeqV2_v3","parameters":[{"name":"channel_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"seen_seq","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"number"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update seen sequence and synchronize notified state by sequence","tags":["Channels"]}},"/v4/channel/{channel_id}/seen-seq/{seen_seq}":{"put":{"operationId":"ChannelController_updateChannelSeenSeqV4_v4","parameters":[{"name":"channel_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"seen_seq","required":true,"in":"path","schema":{"type":"number"}},{"name":"force","required":false,"in":"query","schema":{"type":"boolean"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"number"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update seen sequence and synchronize notified state by sequence","tags":["Channels"]}},"/channel/{channel_id}/user/{user_id}/role/{role}":{"put":{"operationId":"ChannelController_updateUserRole","parameters":[{"name":"channel_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"user_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"role","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":""},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update user role in channel","tags":["Channels"]}},"/channels/{channel_id}/export":{"get":{"operationId":"ChannelController_exportChannel","parameters":[{"name":"channel_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"startingAtMessageId","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ExportedMessage"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Export channel","tags":["Channels"]}},"/channels/joinrequest/{id}":{"put":{"operationId":"ChannelController_requestToJoinWorkspace","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]},{"api_key":[]},{"oauth2":[]}],"summary":"Send an email to the channel owner asking to let the user join","tags":["Channels"]}},"/channels/recent/derived/{source_type}/{source_value}":{"get":{"operationId":"ChannelController_getRecentDerivedChannelsV2","parameters":[{"name":"source_type","required":true,"in":"path","description":"Source type","schema":{"$ref":"#/components/schemas/DerviedConversationSourceType"}},{"name":"source_value","required":true,"in":"path","description":"Source value","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"nullable":true,"type":"number"}},{"name":"direction","required":false,"in":"query","schema":{"$ref":"#/components/schemas/Direction"}},{"name":"date","required":false,"in":"query","schema":{"format":"date-time","nullable":true,"type":"string"}},{"name":"includeDeleted","required":false,"in":"query","schema":{"nullable":true,"default":false,"type":"boolean"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PersonalizedChannel"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get recent derived channels","tags":["Channels"]}},"/channels/recent/derived/{channel_id}":{"get":{"operationId":"ChannelController_getRecentDerivedChannels","parameters":[{"name":"channel_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"Maximum number of channels to return","schema":{"nullable":true,"type":"number"}},{"name":"direction","required":false,"in":"query","description":"Direction for pagination","schema":{"$ref":"#/components/schemas/Direction"}},{"name":"date","required":false,"in":"query","description":"Reference date for pagination","schema":{"format":"date-time","nullable":true,"type":"string"}},{"name":"includeDeleted","required":false,"in":"query","description":"Include deleted channels","schema":{"nullable":true,"default":false,"type":"boolean"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PersonalizedChannel"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get recent derived channels","tags":["Channels"]}},"/channels/recent":{"post":{"operationId":"ChannelController_getRecentChannels","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecentChannelsFilter"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PersonalizedChannel"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get recent channels","tags":["Channels"]}},"/channels/{workspaceguid}":{"get":{"operationId":"ChannelController_getChannels","parameters":[{"name":"workspaceguid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PersonalizedChannel"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get workspace channels","tags":["Channels"]}},"/channels/namedConversation":{"post":{"operationId":"ChannelController_createNamedConversation","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateNamedConversation"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonalizedChannel"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Create named conversation","tags":["Channels"]}},"/channels/derived":{"post":{"operationId":"ChannelController_createDerivedConversation","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDerivedConversation"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonalizedChannel"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Create a derived conversation","tags":["Channels"]}},"/v3/channels/derived":{"post":{"operationId":"ChannelController_createDerivedConversationV2_v3","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDerivedConversationV2"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonalizedChannel"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Create a derived conversation","tags":["Channels"]}},"/channels/{channel_id}/role/{role}":{"put":{"operationId":"ChannelController_updateDefaultChannelRole","parameters":[{"name":"channel_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"role","required":true,"in":"path","schema":{"enum":["admin","owner","creator","member","guest"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonalizedChannel"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update default channel role","tags":["Channels"]}},"/channels/meeting":{"post":{"operationId":"ChannelController_createAsyncMeeting","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAsyncMeetingRequest"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonalizedChannel"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Create an async meeting","tags":["Channels"]},"put":{"operationId":"ChannelController_updateAsyncMeeting","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAsyncMeetingRequest"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonalizedChannel"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update an async meeting","tags":["Channels"]}},"/channels/directMessage":{"post":{"operationId":"ChannelController_createDirectMessage","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDirectMessage"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonalizedChannel"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Create direct message","tags":["Channels"]}},"/channels/dm/match":{"post":{"operationId":"ChannelController_dmMatch","parameters":[],"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonalizedChannel"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Find DM match","tags":["Channels"]}},"/channel/collaborators/{workspaceguid}/{channelguid}":{"get":{"operationId":"ChannelController_getChannelCollaborators","parameters":[{"name":"workspaceguid","required":true,"in":"path","schema":{"type":"string"}},{"name":"channelguid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ChannelCollaborator"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Channels"]}},"/channels/collaborators":{"post":{"operationId":"ChannelController_addCollaborators","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddCollaborators"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonalizedChannel"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Add collaborator","tags":["Channels"]}},"/channel/{channel_id}/derived":{"get":{"deprecated":true,"operationId":"ChannelController_getDerivedChannel","parameters":[{"name":"channel_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PersonalizedChannel"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get Channel by ID","tags":["Channels"]}},"/channel/{channelguid}":{"get":{"deprecated":true,"operationId":"ChannelController_getChannel","parameters":[{"name":"channelguid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonalizedChannel"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get Channel by ID","tags":["Channels"]}},"/v2/channel/{channelguid}":{"get":{"description":"V2 of channel has all collaborators in json_collaborators field.","operationId":"ChannelController_getChannelV2","parameters":[{"name":"channelguid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonalizedChannel"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get Channel by ID","tags":["Channels"]}},"/channels/{workspaceguid}/available":{"get":{"operationId":"ChannelController_getAvailableChannels","parameters":[{"name":"workspaceguid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PersonalizedChannel"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get available channels","tags":["Channels"]}},"/channels/{channel_id}/summary":{"get":{"operationId":"ChannelController_getConversationSummary","parameters":[{"name":"channel_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"span_id","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationSummary"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get an AI generated summary of a converstation","tags":["Channels"]}},"/channels/{channelguid}/attachments":{"post":{"operationId":"ChannelController_addAttachments","parameters":[{"name":"channelguid","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddAttachments"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Attachment"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Add channel attachment","tags":["Channels","Attachments (channels)"]}},"/channels/{channelguid}/attachment/{attachmentguid}":{"delete":{"operationId":"ChannelController_deleteAttachment","parameters":[{"name":"channelguid","required":true,"in":"path","schema":{"type":"string"}},{"name":"attachmentguid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Delete channel attachment","tags":["Channels","Attachments (channels)"]}},"/channel/leave/{workspace_guid}/{channel_guid}":{"post":{"operationId":"ChannelController_leaveChannel","parameters":[{"name":"workspace_guid","required":true,"in":"path","schema":{"type":"string"}},{"name":"channel_guid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Leave channel","tags":["Channels"]}},"/channel/{workspace_guid}/{channel_guid}":{"delete":{"operationId":"ChannelController_deleteChannel","parameters":[{"name":"workspace_guid","required":true,"in":"path","schema":{"type":"string"}},{"name":"channel_guid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Delete channel","tags":["Channels"]}},"/channel/{channel_guid}/user/{user_guid}":{"delete":{"operationId":"ChannelController_removeUser","parameters":[{"name":"channel_guid","required":true,"in":"path","schema":{"type":"string"}},{"name":"user_guid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Remove user from channel","tags":["Channels"]}},"/channel/{channel_id}/access":{"put":{"operationId":"ChannelController_accessChannel","parameters":[{"name":"channel_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update the first accessed date on a channel","tags":["Channels"]}},"/channel/{channel_guid}/join":{"put":{"operationId":"ChannelController_joinChannel","parameters":[{"name":"channel_guid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Join channel","tags":["Channels"]}},"/webcontact/channel":{"post":{"operationId":"ChannelController_getWebContact","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetWebContactParameters"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebContactResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get web contact","tags":["Channels"]}},"/channel/{channel_guid}/image":{"put":{"operationId":"ChannelController_updateChannelImage","parameters":[{"name":"channel_guid","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"channel_image":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update channel image","tags":["Channels"]}},"/channel/{channel_id}/favorite/{favorite}":{"put":{"operationId":"ChannelController_setFavorite","parameters":[{"name":"channel_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"favorite","required":true,"in":"path","schema":{"type":"boolean"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonalizedChannel"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Set or remove the is_favoriate setting on a channel","tags":["Channels"]}},"/channel":{"put":{"operationId":"ChannelController_updateChannel","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateChannelParameters"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonalizedChannel"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update a channel","tags":["Channels"]}},"/channel/{channel_id}/retention-days":{"put":{"description":"**Options are:** Workspace Default, Specific duration in X days, Never (doesn't clear messages)","operationId":"ChannelController_updateChannelRetentionTime","parameters":[{"name":"channel_id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateChannelRetentionTime"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonalizedChannel"}}}},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update a retention time in channel","tags":["Channels"]}},"/channel/view":{"put":{"operationId":"ChannelController_updateChannelLastViewed","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelDateUpdate"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update the last viewed date on the channel for the authed user","tags":["Channels"]}},"/channel/{channel_id}/convert":{"put":{"operationId":"convertDmIntoNamedConversation","parameters":[{"name":"channel_id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConvertDmIntoNamedConversationDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonalizedChannel"}}}},"400":{"description":""},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Convert DM Conversation into Private Named Conversation","tags":["Channels"]}},"/v5/conversations/{id}/move":{"post":{"description":"Move a conversation into or out of a workspace. When moving from Personal to Workspace, user must have access to the target workspace. When moving from Workspace, user must be admin or owner of the workspace.","operationId":"moveConversationV5","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MoveConversationPayload"}}}},"responses":{"204":{"description":""},"400":{"description":""},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Move Conversation to Workspace","tags":["Conversations (v5)"]}},"/v5/conversations/{id}/messages/user-counts":{"get":{"description":"Get aggregated message counts grouped by user for the specified conversation. Returns user IDs with their message counts only (no user profile information). Optional filters for user IDs, date, and direction.","operationId":"getMessageUserCountsV5","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"user_ids","required":false,"in":"query","description":"List of user IDs to filter by. Can be passed as repeated parameters: user_ids=id1&user_ids=id2","schema":{"type":"array","items":{"type":"string"}}},{"name":"date","required":false,"in":"query","description":"Date filter for messages","schema":{"format":"date-time","example":"2024-01-01T00:00:00.000Z","type":"string"}},{"name":"direction","required":false,"in":"query","description":"Direction for date filter (newer or older)","schema":{"$ref":"#/components/schemas/Direction"}},{"name":"status","required":false,"in":"query","description":"List of message statuses to filter by. Can be passed as repeated parameters: status=active&status=processing. If not provided, defaults to ACTIVE only.","schema":{"type":"array","items":{"$ref":"#/components/schemas/MessageStatus"}}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMessageUserCountsResponse"}}}},"400":{"description":""},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get Message Counts by User","tags":["Conversations (v5)"]}},"/v5/conversations/{id}/messages/ids":{"get":{"description":"List all message IDs for the specified conversation with cursor pagination. Returns message IDs only. Optional filters for user IDs, status, date, and direction.","operationId":"getMessageIdsV5","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"direction","required":false,"in":"query","schema":{"default":"newer","type":"string","enum":["older","newer"]}},{"name":"limit","required":false,"in":"query","description":"Number of items to return (min: 1, max: 1000)","schema":{"minimum":1,"maximum":1000,"default":500,"type":"number"}},{"name":"date","required":false,"in":"query","description":"Date filter for messages","schema":{"example":"2024-01-01T00:00:00.000Z","type":"string"}},{"name":"starting_after","required":false,"in":"query","description":"Cursor to fetch the next page (use value from next_cursor).","schema":{"type":"string"}},{"name":"ending_before","required":false,"in":"query","description":"Cursor to fetch the previous page (use value from previous_cursor).","schema":{"type":"string"}},{"name":"user_ids","required":false,"in":"query","description":"List of user IDs to filter by. Can be passed as repeated parameters: user_ids=id1&user_ids=id2","schema":{"type":"array","items":{"type":"string"}}},{"name":"status","required":false,"in":"query","description":"List of message statuses to filter by. Can be passed as repeated parameters: status=active&status=processing. If not provided, defaults to ACTIVE only.","schema":{"type":"array","items":{"$ref":"#/components/schemas/MessageStatus"}}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMessageIdsResponse"}}}},"400":{"description":""},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"List Message IDs","tags":["Conversations (v5)"]}},"/whoami":{"get":{"operationId":"AuthController_whoami","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WhoAmIResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get current user info","tags":["Auth"]}},"/user/anonymous":{"post":{"operationId":"AuthController_createAnonymousUser","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAnonymousUserResponse"}}}}},"summary":"Create anonymous user","tags":["Auth"]}},"/user/authenticate":{"post":{"description":"Create a user if needed and then log them in","operationId":"AuthController_authenticateIdToken","parameters":[{"name":"idtoken","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WhoAmIResponse"}}}}},"summary":"Pass in idtoken to authenticate","tags":["Auth"]}},"/login":{"post":{"description":"Exchange Firebase token for pxtoken and the user","operationId":"AuthController_login","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenRequest"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WhoAmIResponse"}}}}},"summary":"Login with Firebase","tags":["Auth"]}},"/user/verify":{"post":{"description":"Exchange Firebase token for pxtoken","operationId":"AuthController_userVerify","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenRequest"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResponse"}}}}},"summary":"Login with Firebase","tags":["Auth"]}},"/token/expire":{"post":{"description":"Deletes the pxtoken from the backend","operationId":"AuthController_expireToken","parameters":[],"responses":{"201":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Expire your pxtoken","tags":["Auth"]}},"/logout":{"get":{"description":"Removes http-only auth cookie","operationId":"AuthController_logout","parameters":[],"responses":{"200":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Logout","tags":["Auth"]}},"/auth-requirements":{"get":{"description":"Get a list of authentication provider ids","operationId":"AuthController_getAuthenticationRequirements","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AuthenticationRequirement"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get auth requirements","tags":["Auth"]}},"/attachments/signedurl":{"post":{"operationId":"AttachmentsController_getSignedUrl","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignedUrlParameters"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Attachments"]}},"/v3/attachments/signedurl":{"post":{"operationId":"AttachmentsController_getSignedUrlV3_v3","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAttachmentUrls"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AttachmentUrl"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Attachments"]}},"/attachments/signedurl/{attachment_id}":{"get":{"operationId":"AttachmentsController_getSignedUrlForDownload","parameters":[{"name":"attachment_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Attachments"]}},"/v3/attachments/signedurl/bulk":{"post":{"operationId":"AttachmentsController_getSignedUrlForDownloadV3_v3","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentIdList"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BulkAttachmentResult"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Attachments"]}},"/v5/attachments/upload/signedurl":{"post":{"operationId":"AttachmentsController_getSignedUrlV5Upload_v5","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAttachmentUrlsV5"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SignedUrlResponseV5"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Attachments"]}},"/v5/attachments/download/signedurl/{attachment_id}":{"get":{"operationId":"AttachmentsController_getSignedUrlForDownloadV5_v5","parameters":[{"name":"attachment_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Attachments"]}},"/v5/attachments/download/signedurl/bulk":{"post":{"operationId":"AttachmentsController_getSignedUrlForDownloadV5Bulk_v5","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentIdList"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BulkAttachmentResult"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Attachments"]}},"/carbonlink/upgrade":{"post":{"operationId":"CarbonLinkController_upgrade","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CarbonLinkUpgradeParameters"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["CarbonLink"]}},"/carbonlink/personal":{"post":{"operationId":"CarbonLinkController_personal","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workspace"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["CarbonLink"]}},"/carbonlink/create":{"post":{"operationId":"CarbonLinkController_createCarbonLink","parameters":[],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"body":{"nullable":false,"allOf":[{"$ref":"#/components/schemas/CreateBusinessCarbonlink"}]},"workspace_image":{"type":"string","format":"binary"}}}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workspace"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["CarbonLink"]}},"/workspaces/self/{workspace_guid}":{"delete":{"operationId":"WorkspaceController_removeSelfWorkspace","parameters":[{"name":"workspace_guid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"pxtoken":[]}],"summary":"Remove the authenticated user from a workspace","tags":["Workspaces"]}},"/workspace/{email_domain}/auth_info":{"get":{"operationId":"WorkspaceController_getWorkspaceAuthInfo","parameters":[{"name":"email_domain","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceAuthInfo"}}}}},"summary":"Get workspace auth info","tags":["Workspaces"]}},"/workspaces/recent":{"get":{"operationId":"WorkspaceController_getRecentWorkspaces","parameters":[{"name":"limit","required":false,"in":"query","schema":{"nullable":true,"default":50,"type":"number"}},{"name":"direction","required":false,"in":"query","schema":{"$ref":"#/components/schemas/Direction"}},{"name":"date","required":false,"in":"query","schema":{"format":"int64","example":1694313500106,"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecentWorkspacesResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get recent workspaces","tags":["Workspaces"]}},"/workspace/joinrequest/{id}":{"get":{"operationId":"WorkspaceController_requestToJoinWorkspace","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Request to join a Workspace","tags":["Workspaces"]}},"/workspaces/user":{"delete":{"operationId":"WorkspaceController_removeWorkspaceUser","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveWorkspaceUserDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Remove user from workspace","tags":["Workspaces"]}},"/workspaces/inviteuser":{"post":{"operationId":"WorkspaceController_inviteUserToWorkspace","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteUserDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Invite user to workspace","tags":["Workspaces"]}},"/workspaces/addusers":{"post":{"operationId":"WorkspaceController_addUserToWorkspace","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddUserPayload"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddUsersResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Add users to workspace","tags":["Workspaces"]}},"/workspace/order":{"post":{"operationId":"WorkspaceController_orderWorkspace","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"number"}}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Order workspace","tags":["Workspaces"]}},"/workspace/{guid}":{"delete":{"operationId":"WorkspaceController_deleteWorkspace","parameters":[{"name":"guid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Delete workspace","tags":["Workspaces"]}},"/workspace/logo/{guid}":{"get":{"operationId":"WorkspaceController_getWorkspaceLogo","parameters":[{"name":"guid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"302":{"description":"Redirect to logo image"}},"summary":"Get workspace logo","tags":["Workspaces"]}},"/workspace/{workspace_guid}/image":{"post":{"operationId":"WorkspaceController_addWorkspaceLogo","parameters":[{"name":"workspace_guid","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"workspace_image":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workspace"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Add a logo to a workspace","tags":["Workspaces"]}},"/workspace/{guid}/phone/{number}":{"delete":{"operationId":"WorkspaceController_removePhoneNumber","parameters":[{"name":"guid","required":true,"in":"path","schema":{"type":"string"}},{"name":"number","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Remove phone number from workspace","tags":["Workspaces"]}},"/workspace/vanityname/check":{"get":{"operationId":"WorkspaceController_checkVanityName","parameters":[{"name":"name","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VanityNameCheckResponse"}}}}},"summary":"Check name availability","tags":["Workspaces"]}},"/workspace/{workspaceguid}/welcome-message":{"delete":{"operationId":"WorkspaceController_deleteWelcomeMessage","parameters":[{"name":"workspaceguid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Delete welcome message","tags":["Workspaces"]}},"/workspace/{id}/accept-join-request":{"post":{"operationId":"WorkspaceController_acceptJoinRequest","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptOrDeclineJoinRequestPayload"}}}},"responses":{"204":{"description":""},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Accept a join request from an user","tags":["Workspaces"]}},"/v3/workspace/role":{"put":{"operationId":"WorkspaceControllerV3_updateWorkspaceRole_v3","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserRoleParameters"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceV2"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update a user's role in a workspace","tags":["Workspaces"]}},"/v3/workspaces/{workspaceguid}":{"get":{"operationId":"WorkspaceControllerV3_getWorkspaceV3_v3","parameters":[{"name":"workspaceguid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceV2"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get Workspace by ID","tags":["Workspaces"]}},"/v3/workspaces":{"get":{"operationId":"WorkspaceControllerV3_getWorkspacesV3_v3","parameters":[{"name":"workspace_ids","required":false,"in":"query","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkspaceV2"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get workspaces","tags":["Workspaces"]}},"/v3/workspace/logo/{guid}":{"get":{"operationId":"WorkspaceControllerV3_getWorkspaceLogo_v3","parameters":[{"name":"guid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"302":{"description":"Redirect to logo image"}},"summary":"Get workspace logo","tags":["Workspaces"]}},"/v3/workspace/{workspace_guid}/image":{"post":{"operationId":"WorkspaceControllerV3_addWorkspaceLogo_v3","parameters":[{"name":"workspace_guid","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"workspace_image":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceV2"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Add a logo to a workspace","tags":["Workspaces"]}},"/v3/workspace":{"post":{"operationId":"WorkspaceControllerV3_createWorkspace_v3","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWorkspace"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceV2"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Create workspace","tags":["Workspaces"]},"put":{"operationId":"WorkspaceControllerV3_updateWorkspace_v3","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertWorkspaceDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceV2"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update a workspace","tags":["Workspaces"]}},"/v3/workspace/{workspace_guid}/domain/{domain}":{"put":{"operationId":"WorkspaceControllerV3_addDomainToWorkspace_v3","parameters":[{"name":"workspace_guid","required":true,"in":"path","schema":{"type":"string"}},{"name":"domain","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceV2"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Add a domain to a workspace","tags":["Workspaces"]},"delete":{"operationId":"WorkspaceControllerV3_removeDomainToWorkspace_v3","parameters":[{"name":"workspace_guid","required":true,"in":"path","schema":{"type":"string"}},{"name":"domain","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceV2"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Remove a domain from a workspace","tags":["Workspaces"]}},"/v3/workspace/{guid}/phone/{number}":{"post":{"operationId":"WorkspaceControllerV3_addPhoneNumber_v3","parameters":[{"name":"guid","required":true,"in":"path","schema":{"type":"string"}},{"name":"number","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceV2"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Add phone number to workspace","tags":["Workspaces"]}},"/v3/workspace/{workspace_guid}/vanityname/{vanityname}":{"post":{"operationId":"WorkspaceControllerV3_setVanityName_v3","parameters":[{"name":"workspace_guid","required":true,"in":"path","schema":{"type":"string"}},{"name":"vanityname","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceV2"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Set the vanity name on a workspace","tags":["Workspaces"]}},"/v3/workspace/suggested":{"get":{"operationId":"WorkspaceControllerV3_getSuggestedWorkspaces_v3","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestedWorkspacesResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get suggested workspaces","tags":["Workspaces"]}},"/v3/workspace/{workspaceId}/join":{"post":{"operationId":"WorkspaceControllerV3_joinWorkspace_v3","parameters":[{"name":"workspaceId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceV2"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Join a workspace based on domain","tags":["Workspaces"]}},"/v5/workspaces":{"get":{"description":"List all workspaces for the logged-in user with pagination","operationId":"getWorkspacesV5","parameters":[{"name":"direction","required":false,"in":"query","schema":{"default":"newer","type":"string","enum":["older","newer"]}},{"name":"limit","required":false,"in":"query","description":"Number of items to return (min: 1, max: 100)","schema":{"minimum":1,"maximum":100,"default":50,"type":"number"}},{"name":"date","required":false,"in":"query","description":"Anchor timestamp to start from. Uses updated_at. Ignored when starting_after/ending_before is provided.","schema":{"type":"string"}},{"name":"starting_after","required":false,"in":"query","description":"Cursor to fetch the next page (use value from next_cursor).","schema":{"type":"string"}},{"name":"ending_before","required":false,"in":"query","description":"Cursor to fetch the previous page (use value from previous_cursor).","schema":{"type":"string"}},{"name":"roles","required":false,"in":"query","description":"List of roles that logged user must have to list workspaces. Defaults to all roles. Can be passed as repeated parameters: roles=admin&roles=guest","schema":{"type":"array","items":{"$ref":"#/components/schemas/Role"}}},{"name":"types","required":false,"in":"query","description":"List of workspace types to filter by. Can be passed as repeated parameters: types=standard&types=webcontact","schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkspaceType"}}},{"name":"include_total","required":false,"in":"query","description":"Whether to include the total count in the response. Defaults to false for better performance.","schema":{"default":false,"type":"boolean"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetWorkspacesResponseV5"}}}},"403":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get Workspaces","tags":["Workspaces (v5)"]}},"/v5/workspaces/{id}":{"get":{"description":"Get a workspace by ID (users are not included, use /workspaces/:id/users endpoint)","operationId":"getWorkspaceByIdV5","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceV5"}}}},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get Workspace By ID","tags":["Workspaces (v5)"]}},"/settings":{"get":{"operationId":"SettingsController_getSettings","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Settings"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Settings"]}},"/settings/summary/channels":{"get":{"operationId":"SettingsController_getExampleChannels","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ChannelSettingsSummary"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Settings"]}},"/public/channel/{channelguid}":{"get":{"operationId":"PublicController_getChannel","parameters":[{"name":"channelguid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicChannelResponse"}}}}},"security":[{"pxtoken":[]}],"summary":"Get channel by ID","tags":["Public"]}},"/public/workspaces":{"post":{"operationId":"PublicController_getWorkspaces","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceSearchParameters"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicWorkspaceResponse"}}}}},"summary":"Get workspaces","tags":["Public"]}},"/public/contact/{user_id}":{"get":{"operationId":"PublicController_getUserContactInfo","parameters":[{"name":"user_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicContactInfo"}}}}},"tags":["Public"]}},"/public/channel/{channel_id}/users/not-allowed-to-receive-notifications":{"get":{"operationId":"PublicController_getChannelUsersNotAllowedReceiveNotifications","parameters":[{"name":"channel_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelUsersNotAllowedReceiveNotifications"}}}},"404":{"description":""}},"summary":"Get all users of channel that does not yet allowed to receive notifications","tags":["Public"]}},"/favorites":{"post":{"operationId":"FavoriteController_add","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddFavoriteDto"}}}},"responses":{"201":{"description":"Favorite added"},"400":{"description":"Favorite already exists"}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Add new favorite","tags":["Favorites"]},"get":{"operationId":"FavoriteController_list","parameters":[{"name":"type","required":false,"in":"query","description":"Favorite type","schema":{"enum":["channel"],"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get user favorites","tags":["Favorites"]},"delete":{"operationId":"FavoriteController_deleteByType","parameters":[{"name":"type","required":true,"in":"query","schema":{"type":"string","enum":["channel"]}},{"name":"entity_id","required":true,"in":"query","schema":{"example":"5e9f8f8f8f8f8f8f8f8f8f8","type":"string"}}],"responses":{"200":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Delete favorite by entity","tags":["Favorites"]}},"/favorites/sort":{"post":{"operationId":"FavoriteController_sort","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SortFavoritesDto"}}}},"responses":{"201":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update favorites order","tags":["Favorites"]}},"/favorites/{id}":{"delete":{"operationId":"FavoriteController_remove","parameters":[{"name":"id","required":true,"in":"path","description":"The ID of the favorite element to delete","schema":{"example":"5e8f8f8f8f8f8f8f8f","type":"string"}}],"responses":{"200":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Delete favorite by ID","tags":["Favorites"]}},"/gate/create/vanity/{name}":{"get":{"operationId":"GateController_createVanityGateToken","parameters":[{"name":"name","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Gate"]}},"/gate/create/{count}":{"get":{"operationId":"GateController_createGateTokens","parameters":[{"name":"count","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"200":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Gate"]}},"/v3/gate/redeem":{"post":{"operationId":"GateController_redeemGateTokenV3_v3","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RedeemGateCodeParameters"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Gate"]}},"/gate/redeem/{gatetoken}":{"get":{"operationId":"GateController_redeemGateToken","parameters":[{"name":"gatetoken","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Gate"]}},"/health":{"get":{"operationId":"HealthController_check","parameters":[],"responses":{"200":{"description":""}},"tags":["Health Checks"]}},"/heard-status":{"get":{"operationId":"HeardStatusController_getHeardStatus","parameters":[{"name":"channel_id","required":true,"in":"query","schema":{"type":"string"}},{"name":"date","required":true,"in":"query","schema":{"format":"date-time","type":"string"}},{"name":"direction","required":true,"in":"query","schema":{"enum":["older","newer"],"type":"string"}},{"name":"sequence","required":false,"in":"query","schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MessageHeardStatus"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["heard-status"]}},"/startup":{"get":{"operationId":"HomeController_startup","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartupResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get app startup data","tags":["Home"]}},"/home":{"get":{"operationId":"HomeController_home","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HomeResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get home screen data","tags":["Home"]}},"/labels":{"post":{"operationId":"LabelController_createLabel","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateLabel"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Label"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Create label","tags":["Labels"]},"get":{"operationId":"LabelController_getAllLabelsForUser","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Label"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get all labels for user","tags":["Labels"]}},"/labels/{guid}":{"get":{"operationId":"LabelController_getLabel","parameters":[{"name":"guid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Label"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get label by ID","tags":["Labels"]},"put":{"operationId":"LabelController_updateLabel","parameters":[{"name":"guid","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateLabel"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Label"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update label","tags":["Labels"]},"delete":{"operationId":"LabelController_deleteLabel","parameters":[{"name":"guid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Delete label","tags":["Labels"]}},"/labels/{labelguid}/message/{workspace_guid}/{messageguid}":{"post":{"operationId":"LabelController_applyLabelToMessage","parameters":[{"name":"labelguid","required":true,"in":"path","schema":{"type":"string"}},{"name":"workspace_guid","required":true,"in":"path","schema":{"type":"string"}},{"name":"messageguid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Apply label to message","tags":["Labels"]},"delete":{"operationId":"LabelController_removeLabelFromMessage","parameters":[{"name":"labelguid","required":true,"in":"path","schema":{"type":"string"}},{"name":"workspace_guid","required":true,"in":"path","schema":{"type":"string"}},{"name":"messageguid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Remove label from message","tags":["Labels"]}},"/link/{name}":{"get":{"operationId":"LinkController_getLink","parameters":[{"name":"name","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkResponseDto"}}}}},"summary":"Get link by name","tags":["Link"]}},"/link/workspace/{guid}":{"get":{"operationId":"LinkController_getWorkspaceLink","parameters":[{"name":"guid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkResponseDto"}}}}},"summary":"Get link by workspace ID","tags":["Link"]}},"/log/test/error":{"post":{"operationId":"LogController_testErrorLogging","parameters":[],"responses":{"201":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"An end point for generating a 500 error.","tags":["Log"]}},"/logerror":{"post":{"operationId":"LogController_logClientError","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientLogDto"}}}},"responses":{"201":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Log client error","tags":["Log"]}},"/log/debug":{"post":{"operationId":"LogController_logClientDebug","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ClientLogDto"}}}}},"responses":{"201":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Log client error","tags":["Log"]}},"/magiclink/send/{user_id}":{"post":{"description":"Creates a magiclink login for the passed in information.","operationId":"MagiclinkController_sendMagiclink","parameters":[{"name":"user_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"forMerge","required":false,"in":"query","description":"Is the magic link being used for merging users","schema":{"type":"boolean"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendMagicLinkResponse"}}}}},"summary":"Send magiclink","tags":["Magiclink"]}},"/magiclink":{"post":{"description":"Creates a magiclink login for the passed in information.","operationId":"MagiclinkController_magiclink","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendMagicLinkDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"summary":"Send magiclink","tags":["Magiclink"]}},"/v3/magiclink":{"post":{"description":"Creates a magiclink login for the passed in information.","operationId":"MagiclinkController_magiclinkV3_v3","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendMagicLinkDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MagicKey"}}}}},"summary":"Send magiclink","tags":["Magiclink"]}},"/magiclink/test/{magickey}":{"get":{"operationId":"MagiclinkController_getTestMagicCode","parameters":[{"name":"magickey","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"tags":["Magiclink"]}},"/magiclink/confirmed/{key}":{"put":{"operationId":"MagiclinkController_confirmed","parameters":[{"name":"key","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"summary":"Confirm magictoken","tags":["Magiclink"]}},"/magiclink/redeemnow/{magictoken}":{"get":{"operationId":"MagiclinkController_redeemnow","parameters":[{"name":"magictoken","required":true,"in":"path","schema":{}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"summary":"Redeem now magictoken","tags":["Magiclink"]}},"/magiclink/redeem/{magictoken}":{"get":{"operationId":"MagiclinkController_redeem","parameters":[{"name":"magictoken","required":true,"in":"path","schema":{}}],"responses":{"200":{"description":""}},"summary":"Redeem magictoken","tags":["Magiclink"]}},"/magiclink/code/check/{magickey}/{code}":{"get":{"description":"Check generated code and exchange it for a pxtoken. 3 attempts allowed.","operationId":"MagiclinkController_codeCheck","parameters":[{"name":"magickey","required":true,"in":"path","schema":{"type":"string"}},{"name":"code","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MagicTokenResponse"}}}}},"summary":"Check code","tags":["Magiclink"]}},"/magiclink/{magictoken}":{"get":{"operationId":"MagiclinkController_get","parameters":[{"name":"magictoken","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"summary":"Get magictoken","tags":["Magiclink"]}},"/magickey/{magickey}":{"get":{"operationId":"MagiclinkController_getMagicKey","parameters":[{"name":"magickey","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"summary":"Get magickey","tags":["Magiclink"]}},"/message-metadata/notified-message-statistics":{"get":{"operationId":"MessageMetadataController_getNotifiedMessageStatistics","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NotifiedMessageStatistic"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["message-metadata"]}},"/message-metadata/engagement-summary/{channel_id}":{"get":{"operationId":"MessageMetadataController_getEngagementSummary","parameters":[{"name":"channel_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"start","required":true,"in":"query","schema":{"format":"date-time","type":"string"}},{"name":"end","required":true,"in":"query","schema":{"format":"date-time","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserEngagementSummary"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["message-metadata"]}},"/v5/message-metadata/statistics":{"get":{"operationId":"MessageMetadataV5Controller_getStatistics_v5","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Statistics"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["message-metadata"]}},"/notifications/count":{"get":{"operationId":"NotificationController_getNotificationCount","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"number"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Notifications"]}},"/notifications":{"get":{"operationId":"NotificationController_getNotifications","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Notification"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get Notifications","tags":["Notifications"]}},"/notification":{"post":{"operationId":"NotificationController_createNotification","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationModel"}}}},"responses":{"201":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Create Notification","tags":["Notifications"]}},"/notifications/{channel_guid}":{"delete":{"operationId":"NotificationController_deleteChannelNotifications","parameters":[{"name":"channel_guid","required":true,"in":"path","schema":{"type":"string"}},{"name":"type","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Notifications"]},"post":{"operationId":"NotificationController_recreateChannelNotifications","parameters":[{"name":"type","required":true,"in":"query","schema":{"type":"string"}},{"name":"channel_guid","required":true,"in":"path","schema":{"type":"string"}},{"name":"heard_percent","required":true,"in":"query","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Notifications"]}},"/notifications/{channel_guid}/{message_guid}":{"delete":{"operationId":"NotificationController_deleteMessageNotifications","parameters":[{"name":"type","required":true,"in":"query","schema":{"type":"string"}},{"name":"channel_guid","required":true,"in":"path","schema":{"type":"string"}},{"name":"message_guid","required":true,"in":"path","schema":{"type":"string"}},{"name":"notification_removal_mode","required":false,"in":"query","schema":{"enum":["hard","soft"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Notifications"]},"post":{"operationId":"NotificationController_recreateMessageNotifications","parameters":[{"name":"type","required":true,"in":"query","schema":{"type":"string"}},{"name":"channel_guid","required":true,"in":"path","schema":{"type":"string"}},{"name":"message_guid","required":true,"in":"path","schema":{"type":"string"}},{"name":"heard_percent","required":true,"in":"query","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Notifications"]}},"/notifications/test":{"post":{"operationId":"NotificationController_sendTestNotifications","parameters":[{"name":"from_user_id","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Notifications"]}},"/oauth/authorize":{"get":{"operationId":"Oauth2Controller_auth","parameters":[{"name":"response_type","required":true,"in":"query","description":"Use `code` for server side flows, and `token` for application side flows","schema":{"type":"string"}},{"name":"client_id","required":true,"in":"query","description":"Application client_id","schema":{"type":"string"}},{"name":"state","required":false,"in":"query","description":"An opaque value the applications adds to the initial request that the authorization server includes when redirecting the back to the application. This value must be used by the application to prevent CSRF attacks.","schema":{"type":"string"}},{"name":"scope","required":true,"in":"query","description":"A space-delimited list of permissions that the application requires.","schema":{"type":"string"}},{"name":"redirect_uri","required":true,"in":"query","description":"The URL to which Auth will redirect the browser after authorization has been granted by the user.","schema":{"type":"string"}},{"name":"code_challenge","required":false,"in":"query","description":"The code challenge used to verify the code_challenge during the token exchange.","schema":{"type":"string"}},{"name":"code_challenge_method","required":false,"in":"query","description":"The method used to encode the code_challenge parameter. This is used to verify the code_challenge during the token exchange.","schema":{"default":"S256","type":"string"}},{"name":"prompt","required":false,"in":"query","description":"Prompt parameter to force re-authentication. Use \"login\" to ignore any existing user session and force login.","schema":{"type":"string","enum":["login"]}}],"responses":{"302":{"description":"Redirect to login page or redirectUri sent"}},"summary":"Authorize User","tags":["OAuth2"]}},"/oauth/userinfo":{"get":{"operationId":"Oauth2Controller_userinfo","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get User info","tags":["OAuth2"]}},"/oauth/token":{"post":{"operationId":"Oauth2Controller_token","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Oauth2TokenRequest"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuth2Response"}}}}},"summary":"Authenticate User","tags":["OAuth2"]}},"/oauth/logout":{"post":{"description":"Revokes the current OAuth client session for the authenticated user, clears auth cookies, and returns the auth UI logout URL.","operationId":"Oauth2Controller_logout","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Oauth2LogoutRequest"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Oauth2LogoutResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Logout OAuth client session","tags":["OAuth2"]}},"/oauth/clients":{"get":{"description":"Owned OAuth clients for the user. Does not include the auto-managed default subscription client (same omission as GET /apps).","operationId":"Oauth2Controller_getClients","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Oauth2Client"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get All Clients","tags":["OAuth2"]},"post":{"operationId":"Oauth2Controller_createClient","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Oauth2RegisterRequest"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Oauth2Client"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Create OAuth2 Client","tags":["OAuth2"]}},"/oauth/client/{client_id}":{"get":{"deprecated":true,"description":"This endpoint is deprecated. Use /oauth/clients/:client_id instead.","operationId":"Oauth2Controller_client","parameters":[{"name":"client_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Client"}}}}},"summary":"Get OAuth2 Client","tags":["OAuth2"]}},"/oauth/clients/{client_id}":{"get":{"operationId":"Oauth2Controller_getClient","parameters":[{"name":"client_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Oauth2Client"}}}},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get OAuth2 Client","tags":["OAuth2"]},"put":{"operationId":"Oauth2Controller_updateClient","parameters":[{"name":"client_id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Oauth2UpdateClientRequest"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Oauth2Client"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update OAuth2 Client","tags":["OAuth2"]},"delete":{"operationId":"Oauth2Controller_deleteClient","parameters":[{"name":"client_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Delete OAuth2 Client","tags":["OAuth2"]}},"/oauth/register":{"post":{"operationId":"Oauth2Controller_register","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Oauth2RegisterRequest"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Oauth2Client"}}}}},"summary":"Register Client","tags":["OAuth2"]}},"/.well-known/oauth-authorization-server":{"get":{"operationId":"WellKnownController_wellKnown","parameters":[],"responses":{"200":{"description":"OAuth 2.0 Authorization Server Metadata"}},"summary":"OAuth 2.0 Authorization Server Metadata","tags":["WellKnown"]}},"/oauth/integrations":{"get":{"operationId":"OAuth2IntegrationController_getIntegrations","parameters":[],"responses":{"200":{"description":"List of available integrations"}},"summary":"Get all available integrations","tags":["OAuth2 Integrations"]}},"/oauth/integrations/user":{"get":{"operationId":"OAuth2IntegrationController_getUserIntegrations","parameters":[],"responses":{"200":{"description":"User integrations"}},"summary":"Get user integrations","tags":["OAuth2 Integrations"]}},"/oauth/integrations/{provider}/authorize":{"get":{"operationId":"OAuth2IntegrationController_authorize","parameters":[{"name":"provider","required":true,"in":"path","description":"Integration provider","schema":{"type":"string"}},{"name":"scopes","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"302":{"description":"Redirect to OAuth provider"}},"summary":"Start OAuth flow for an integration","tags":["OAuth2 Integrations"]}},"/oauth/integrations/{provider}/callback":{"get":{"operationId":"OAuth2IntegrationController_callback","parameters":[{"name":"provider","required":true,"in":"path","description":"Integration provider","schema":{"type":"string"}},{"name":"code","required":true,"in":"query","schema":{"type":"string"}},{"name":"state","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OAuth completed successfully"}},"summary":"Handle OAuth callback for an integration","tags":["OAuth2 Integrations"]}},"/oauth/integrations/{provider}":{"delete":{"operationId":"OAuth2IntegrationController_revokeIntegration","parameters":[{"name":"provider","required":true,"in":"path","description":"Integration provider","schema":{"type":"string"}}],"responses":{"200":{"description":"Integration revoked successfully"}},"summary":"Revoke integration access","tags":["OAuth2 Integrations"]}},"/oauth/integrations/{provider}/status":{"get":{"operationId":"OAuth2IntegrationController_getIntegrationStatus","parameters":[{"name":"provider","required":true,"in":"path","description":"Integration provider","schema":{"type":"string"}}],"responses":{"200":{"description":"Integration status"}},"summary":"Check integration status","tags":["OAuth2 Integrations"]}},"/opengraph/message/{message_guid}":{"get":{"operationId":"OpengraphController_getMessageInfo","parameters":[{"name":"message_guid","required":true,"in":"path","schema":{"type":"string"}},{"name":"a","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}}},"summary":"Get OpenGraph info for a message","tags":["Open Graph"]}},"/opengraph/info":{"post":{"deprecated":true,"operationId":"OpengraphController_getUrlInfo","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenGraphInfoRequestDto"}}}},"responses":{"201":{"description":""}},"summary":"Get OpenGraph info for URL","tags":["Open Graph"]},"delete":{"operationId":"clearOpenGraphInfoForUrl","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenGraphInfoRequestDto"}}}},"responses":{"204":{"description":""}},"summary":"Delete OpenGraph info for URL","tags":["Open Graph"]}},"/v3/opengraph/info":{"post":{"description":"OpenGraph info for url, we would like to use mostly opengraph protocol properties: <a href=\"https://ogp.me/\" target=\"_blank\">https://ogp.me/</a>","operationId":"OpengraphController_getUrlInfoV2_v3","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenGraphInfoRequestDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenGraphInfoResponseDto"}}}}},"summary":"Get OpenGraph info for URL (v3)","tags":["Open Graph"]}},"/opengraph/workspace/{workspace_guid}":{"get":{"operationId":"OpengraphController_getWorkspaceInfo","parameters":[{"name":"workspace_guid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceResponse"}}}}},"summary":"Get OpenGraph info for a workspace","tags":["Open Graph"]}},"/opengraph/workspace/invite/{token}":{"get":{"operationId":"OpengraphController_getWorkspaceInviteInfo","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceInviteResponse"}}}}},"summary":"Get OpenGraph info for a workspace invite","tags":["Open Graph"]}},"/opengraph/link/{name}":{"get":{"operationId":"OpengraphController_getCarbonLinkInfo","parameters":[{"name":"name","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CarbonLinkResponse"}}}}},"summary":"Get OpenGraph info for a CarbonLink","tags":["Open Graph"]}},"/opengraph/channel/{channel_guid}":{"get":{"operationId":"OpengraphController_getChannelInfo","parameters":[{"name":"channel_guid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenGraphChannel"}}}}},"summary":"Get OpenGraph info for a channel","tags":["Open Graph"]}},"/opengraph/message-sharelinks/{share_link_id}":{"get":{"operationId":"OpengraphController_getMessageShareLink","parameters":[{"name":"share_link_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}}},"summary":"Get OpenGraph info for Message Share Link","tags":["Open Graph"]}},"/payment-plan":{"get":{"operationId":"PaymentPlanController_getPaymentPlan","parameters":[{"name":"workspace_id","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentPlanSummaryResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Payment Plans"]},"delete":{"operationId":"PaymentPlanController_cancel","parameters":[{"name":"user_id","required":false,"in":"query","schema":{"type":"string"}},{"name":"workspace_id","required":false,"in":"query","schema":{"type":"string"}},{"name":"managed_by_workspace_id","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentPlanSummaryResponse"}}}},"401":{"description":"Unauthorized"}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Payment Plans"]}},"/payment-plan/user":{"get":{"operationId":"PaymentPlanController_getMyPaymentPlans","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPaymentPlanSummaryResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Payment Plans"]}},"/payment-plan/{pricing_tier_id}":{"post":{"operationId":"PaymentPlanController_activate","parameters":[{"name":"user_id","required":false,"in":"query","schema":{"type":"string"}},{"name":"pricing_tier_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"workspace_id","required":false,"in":"query","schema":{"type":"string"}},{"name":"app_store_transaction_id","required":false,"in":"query","schema":{"type":"string"}},{"name":"managed_by_workspace_id","required":false,"in":"query","schema":{"type":"string"}},{"name":"expires","required":false,"in":"query","schema":{"format":"date-time","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PaymentPlanSummary"}}}}},"401":{"description":"Unauthorized"}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Payment Plans"]}},"/payment-plan/tiers":{"get":{"operationId":"PaymentPlanController_getTiers","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PricingTier"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Payment Plans"]}},"/payment-plan/transaction/{transaction_id}/source/{source}":{"post":{"operationId":"PaymentPlanController_captureTransactionId","parameters":[{"name":"transaction_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"source","required":true,"in":"path","schema":{"enum":["apple","google","stripe","gift","workspace","default"],"type":"string"}},{"name":"pricing_tier_id","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentPlanSummary"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Payment Plans"]}},"/app-store/notification/{environment}":{"post":{"operationId":"AppStoreController_handlePurchaseNotification","parameters":[{"name":"environment","required":true,"in":"path","schema":{"enum":["Sandbox","Production","Xcode","LocalTesting"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PurchaseNotification"}}}},"responses":{"200":{"description":""}},"tags":["Payment Plans"]}},"/app-store/send-test-notification":{"post":{"operationId":"AppStoreController_sendTestNotification","parameters":[],"responses":{"200":{"description":"Send test notification"}},"tags":["Payment Plans"]}},"/app-store/process-notification-history":{"post":{"operationId":"AppStoreController_processNotificationHistory","parameters":[],"responses":{"200":{"description":"Process the notification history"}},"tags":["Payment Plans"]}},"/stripe/workspace/{workspace_id}/credits/{credits}":{"post":{"operationId":"StripeController_addCreditsToWorkspace","parameters":[{"name":"workspace_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"credits","required":true,"in":"path","schema":{"type":"number"}}],"responses":{"200":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Payment Plans"]}},"/stripe/create-user-session":{"post":{"operationId":"StripeController_createSession","parameters":[],"responses":{"200":{"description":"Stripe session created","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Payment Plans"]}},"/stripe/create-workspace-session/{workspace_id}":{"post":{"operationId":"StripeController_createWorkspaceSession","parameters":[{"name":"workspace_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Stripe session created","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Payment Plans"]}},"/stripe/webhook":{"post":{"operationId":"StripeController_handlePurchaseNotification","parameters":[{"name":"stripe-signature","required":true,"in":"header","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Payment Plans"]}},"/app-store/subscriptions":{"get":{"operationId":"PlayStoreController_getSubscriptions","parameters":[],"responses":{"200":{"description":""}},"tags":["Payment Plans"]}},"/playlists":{"get":{"operationId":"PlaylistController_getPlaylistsForUser","parameters":[],"responses":{"200":{"description":"The playlists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Playlist"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get user playlists","tags":["Playlists"]},"post":{"operationId":"PlaylistController_createUserPlaylist","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePlaylist"}}}},"responses":{"201":{"description":"The playlist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Playlist"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Create playlist","tags":["Playlists"]}},"/playlists/{playlistguid}":{"put":{"operationId":"PlaylistController_updatePlaylist","parameters":[{"name":"playlistguid","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePlaylist"}}}},"responses":{"201":{"description":"The playlist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Playlist"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update playlist","tags":["Playlists"]},"delete":{"operationId":"PlaylistController_deletePlaylist","parameters":[{"name":"playlistguid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Delete playlist","tags":["Playlists"]}},"/playlists/{playlistguid}/icon":{"put":{"operationId":"PlaylistController_uploadPlaylistIcon","parameters":[{"name":"playlistguid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":"The playlist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Playlist"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update playlist icon","tags":["Playlists"]}},"/pushtoken":{"post":{"operationId":"PushController_pushToken","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateToken"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Save push token","tags":["Push"]}},"/reactions":{"get":{"operationId":"ReactionController_getReactions","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Reaction"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get available reactions","tags":["Reactions"]}},"/reactions/{reaction_id}/{message_id}":{"post":{"operationId":"ReactionController_addReactionToMessage","parameters":[{"name":"reaction_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"message_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Add reaction to message","tags":["Reactions"]},"delete":{"operationId":"ReactionController_removeReaction","parameters":[{"name":"reaction_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"message_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Remove reaction from message","tags":["Reactions"]}},"/v3/search":{"post":{"operationId":"SearchController_searchV2_v3","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchParameters"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResultsV2"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Search messages","tags":["Search"]}},"/search/message-ids":{"get":{"operationId":"SearchController_messageIds","parameters":[{"name":"label_ids","required":false,"in":"query","schema":{"nullable":true,"type":"array","items":{"type":"string"}}},{"name":"creator_ids","required":true,"in":"query","schema":{"nullable":true,"type":"array","items":{"type":"string"}}},{"name":"tagged_user_ids","required":false,"in":"query","schema":{"nullable":true,"type":"array","items":{"type":"string"}}},{"name":"conversation_ids","required":false,"in":"query","schema":{"nullable":true,"type":"array","items":{"type":"string"}}},{"name":"workspace_ids","required":false,"in":"query","schema":{"nullable":true,"type":"array","items":{"type":"string"}}},{"name":"created_or_updated_at","required":false,"in":"query","schema":{"format":"date-time","nullable":true,"type":"string"}},{"name":"has_notes","required":true,"in":"query","schema":{"$ref":"#/components/schemas/HasNotes"}},{"name":"notified_status","required":true,"in":"query","schema":{"$ref":"#/components/schemas/NotifiedStatus"}},{"name":"limit","required":true,"in":"query","schema":{"format":"int32","nullable":true,"default":100,"type":"number"}},{"name":"next_cursor","required":false,"in":"query","schema":{"nullable":true,"type":"string"}},{"name":"sort_direction","required":false,"in":"query","schema":{"$ref":"#/components/schemas/Direction"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageIdSearchResults"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Search for message ids","tags":["Search"]}},"/internal/slack-auth/auto-login":{"post":{"description":"M2M endpoint called by cv-slack relay. Returns a one-time URL that logs the user into CV and redirects to the conversation.","operationId":"SlackAutoLoginController_autoLogin","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlackAutoLoginRequestDto"}}}},"responses":{"200":{"description":"Auto-login URL generated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlackAutoLoginResponseDto"}}}},"401":{"description":"Invalid M2M credentials"},"404":{"description":"User or channel not found"}},"summary":"Generate auto-login URL for Slack relay","tags":["Internal"]}},"/stream/raw/{message_id}":{"get":{"operationId":"StreamController_getRawAudio","parameters":[{"name":"message_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized"}},"security":[{"pxtoken":[]}],"tags":["Streaming"]}},"/stream/json/{message_id}":{"get":{"operationId":"StreamController_getJsonAudio","parameters":[{"name":"message_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"Unauthorized"}},"security":[{"pxtoken":[]}],"tags":["Streaming"]}},"/stream/{message_id}/{audio_id}/{file}":{"get":{"operationId":"StreamController_proxyAudioFile","parameters":[{"name":"message_id","required":true,"in":"path","description":"Message ID","schema":{"example":"fd546db4b648d6b1fa","type":"string"}},{"name":"audio_id","required":true,"in":"path","description":"The id of the audio within the message","schema":{"example":"sdfsdfsdfsdfsdf","type":"string"}},{"name":"file","required":true,"in":"path","description":"The filename, used to determine content type (e.g., audio.mp3, playlist.m3u8, segment.ts)","schema":{"example":"audio.mp3","type":"string"}}],"responses":{"200":{"description":"Returns the audio file data directly."},"403":{"description":"Forbidden. No access to the message."},"404":{"description":"Not Found. Message or audio not found."}},"security":[{"pxtoken":[]}],"summary":"Proxy a specific version of the audio from a message","tags":["Streaming"]}},"/stream/{message_id}/{file}":{"get":{"operationId":"StreamController_getFile","parameters":[{"name":"message_id","required":true,"in":"path","description":"Message ID","schema":{"example":"fd546db4b648d6b1fa","type":"string"}},{"name":"file","required":true,"in":"path","description":"Filename","schema":{"example":"stream.m3u8","type":"string"}},{"name":"pxtoken","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Rewritten m3u8 file with all ts files pointing back to this api"},"302":{"description":"Redirect to the S3 URL"}},"security":[{"pxtoken":[]}],"summary":"Get stream files signed URL","tags":["Streaming"]}},"/pats":{"post":{"description":"Creates a new Personal Access Token (PAT) for the current user. The full secret is only returned once in this response and will never be shown again. Both human users and agent users may call this endpoint; PATs are always scoped to the calling user.","operationId":"PatController_createPat","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePatRequest"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedPatResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Create Personal Access Token","tags":["Personal Access Tokens (PATs)"]},"get":{"description":"Lists all PATs for the current user.","operationId":"PatController_listPats","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPatResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"List Personal Access Tokens","tags":["Personal Access Tokens (PATs)"]}},"/pats/{id}":{"get":{"operationId":"PatController_getPatById","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatDetail"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get Personal Access Token by id","tags":["Personal Access Tokens (PATs)"]},"delete":{"description":"Permanently deletes a PAT record. Once deleted, it cannot be recovered.","operationId":"PatController_deletePat","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""},"401":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Delete Personal Access Token","tags":["Personal Access Tokens (PATs)"]}},"/pats/{id}/revoke":{"put":{"description":"Revokes a PAT so it can no longer be used. The record is kept for audit purposes.","operationId":"PatController_revokePat","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevokePatResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Revoke Personal Access Token","tags":["Personal Access Tokens (PATs)"]}},"/statistics":{"get":{"operationId":"StatisticsController_getStatistics","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Statistic"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get statistics","tags":["Statistics"]}},"/token/discussion/{guid}":{"get":{"operationId":"TokenController_getToken","parameters":[{"name":"guid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Token"}}}}},"tags":["Token"]}},"/token/access/combine/{accesstoken}":{"get":{"operationId":"TokenController_combineAccessToken","parameters":[{"name":"accesstoken","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CombinedAccessTokenResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Token"]}},"/token/access/check/{accesstoken}":{"get":{"operationId":"TokenController_checkAccessToken","parameters":[{"name":"accesstoken","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenAccessCheckResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Token"]}},"/token/access/exchange/{accesstoken}":{"get":{"operationId":"TokenController_exchangeAccessToken","parameters":[{"name":"accesstoken","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessTokenExchangeResponse"}}}}},"tags":["Token"]}},"/token/invite/detail/{tokenguid}":{"get":{"operationId":"TokenController_getInviteDetail","parameters":[{"name":"tokenguid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteDetailResponse"}}}}},"tags":["Token"]}},"/workspace/invite/accept/{code}":{"post":{"operationId":"TokenController_acceptWorkspaceInvite","parameters":[{"name":"code","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Token"]}},"/workspace/invite/create":{"post":{"operationId":"TokenController_createWorkspaceInvite","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWorkspaceInviteRequest"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Token"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Token"]}},"/redeem/invite/{code}":{"get":{"operationId":"TokenController_redeemToken","parameters":[{"name":"code","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Token"]},"post":{"operationId":"TokenController_createInviteToken","parameters":[{"name":"code","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Token"]}},"/message/sms":{"post":{"description":"This endpoint is called by AWS","operationId":"VoicemailController_receiveSMS","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReceiveSMS"}}}},"responses":{"201":{"description":""}},"summary":"Receive SMS webhook","tags":["Voicemail"]}},"/voicemail/find/phone":{"get":{"description":"Get a list of available phone numbers","operationId":"VoicemailController_findPhone","parameters":[{"name":"areacode","required":true,"in":"query","schema":{"type":"string"}},{"name":"country_code","required":false,"in":"query","description":"ISO-3166-1 country code (will default to 'USA')","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/VoiceMailPhoneNumber"}}}}}},"summary":"Get voicemail phone numbers","tags":["Voicemail"]}},"/voicemail/phone/{workspaceguid}/{phoneNumber}":{"delete":{"description":"Delete a phone number","operationId":"VoicemailController_deletePhone","parameters":[{"name":"workspaceguid","required":true,"in":"path","schema":{"type":"string"}},{"name":"phoneNumber","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Delete a phone number","tags":["Voicemail"]}},"/voicemail/phone":{"post":{"operationId":"VoicemailController_createPhone","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoicemailPhone"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePhoneResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Voicemail"]},"put":{"operationId":"VoicemailController_updatePhone","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoicemailPhone"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"tags":["Voicemail"]}},"/trigger-actions":{"post":{"operationId":"createTrigger","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTriggerAction"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerAction"}}}},"400":{"description":""},"403":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Create New Trigger","tags":["Trigger Actions"]},"get":{"operationId":"listTriggers","parameters":[{"name":"skip","required":false,"in":"query","schema":{"minimum":0,"format":"int32","default":0,"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Max number of results allowed per page is: **100**","schema":{"minimum":1,"maximum":100,"nullable":true,"default":50,"type":"number"}},{"name":"direction","required":false,"in":"query","schema":{"nullable":true,"default":"newer","type":"string","enum":["older","newer"]}},{"name":"date","required":false,"in":"query","schema":{"type":"string"}},{"name":"conversation_id","required":false,"in":"query","description":"Conversation ID to filter trigger actions by. If provided, returns all trigger-action records that have at least one action matching this conversation_id. The entire trigger-action record is returned intact, including all actions (even those that do not match the conversation_id).","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListTriggerActionResponse"}}}},"403":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"List Triggers","tags":["Trigger Actions"]}},"/trigger-actions/{id}":{"delete":{"operationId":"deleteTrigger","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Delete Trigger","tags":["Trigger Actions"]},"put":{"operationId":"updateTrigger","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTriggerAction"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerAction"}}}},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update Trigger","tags":["Trigger Actions"]},"get":{"operationId":"getTrigger","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerAction"}}}},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get Trigger","tags":["Trigger Actions"]}},"/action-items":{"post":{"operationId":"ActionItemController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateActionItemPayload"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionItem"}}}},"400":{"description":""},"403":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Create an action item","tags":["Action Items"]}},"/action-items/{container_type}/{container_id}":{"get":{"operationId":"ActionItemController_list","parameters":[{"name":"container_type","required":true,"in":"path","schema":{"type":"string"}},{"name":"container_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"direction","required":false,"in":"query","schema":{"default":"newer","type":"string","enum":["older","newer"]}},{"name":"limit","required":false,"in":"query","description":"Number of items to return (min: 1, max: 100)","schema":{"minimum":1,"maximum":100,"default":50,"type":"number"}},{"name":"date","required":false,"in":"query","description":"Anchor timestamp to start from. Uses updated_at. Ignored when starting_after/ending_before is provided.","schema":{"type":"string"}},{"name":"starting_after","required":false,"in":"query","description":"Cursor to fetch the next page (use value from next_cursor).","schema":{"type":"string"}},{"name":"ending_before","required":false,"in":"query","description":"Cursor to fetch the previous page (use value from previous_cursor).","schema":{"type":"string"}},{"name":"assigned_to","required":false,"in":"query","description":"Filter by assigned_to (user_id). Use 'null' to filter by unassigned items.","schema":{"type":"string"}},{"name":"status","required":false,"in":"query","schema":{"$ref":"#/components/schemas/ActionItemStatus"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListActionItemsResponse"}}}},"400":{"description":""},"403":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"List action items","tags":["Action Items"]}},"/action-items/{container_type}/{container_id}/ids":{"get":{"operationId":"ActionItemController_listIds","parameters":[{"name":"container_type","required":true,"in":"path","schema":{"type":"string"}},{"name":"container_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"direction","required":false,"in":"query","schema":{"default":"newer","type":"string","enum":["older","newer"]}},{"name":"limit","required":false,"in":"query","description":"Number of items to return (min: 1, max: 1000)","schema":{"minimum":1,"maximum":1000,"default":500,"type":"number"}},{"name":"date","required":false,"in":"query","description":"Anchor timestamp to start from. Uses updated_at. Ignored when starting_after/ending_before is provided.","schema":{"type":"string"}},{"name":"starting_after","required":false,"in":"query","description":"Cursor to fetch the next page (use value from next_cursor).","schema":{"type":"string"}},{"name":"ending_before","required":false,"in":"query","description":"Cursor to fetch the previous page (use value from previous_cursor).","schema":{"type":"string"}},{"name":"assigned_to","required":false,"in":"query","description":"Filter by assigned_to (user_id). Use 'null' to filter by unassigned items.","schema":{"type":"string"}},{"name":"status","required":false,"in":"query","schema":{"$ref":"#/components/schemas/ActionItemStatus"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListActionItemsIdsResponse"}}}},"400":{"description":""},"403":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"List action items IDs","tags":["Action Items"]}},"/action-items/{container_type}/{container_id}/by-id":{"post":{"operationId":"ActionItemController_getByIds","parameters":[{"name":"container_type","required":true,"in":"path","schema":{"type":"string"}},{"name":"container_id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetActionItemsByIdsPayload"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ActionItem"}}}}},"403":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get List of Action Items by ID","tags":["Action Items"]}},"/action-items/mine":{"get":{"description":"Returns action items assigned to the authenticated user or created by them that are currently unassigned (no assigned_to).","operationId":"ActionItemController_listMyActionItems","parameters":[{"name":"direction","required":false,"in":"query","schema":{"default":"newer","type":"string","enum":["older","newer"]}},{"name":"limit","required":false,"in":"query","description":"Number of items to return (min: 1, max: 100)","schema":{"minimum":1,"maximum":100,"default":50,"type":"number"}},{"name":"date","required":false,"in":"query","description":"Anchor timestamp to start from. Uses updated_at. Ignored when starting_after/ending_before is provided.","schema":{"type":"string"}},{"name":"starting_after","required":false,"in":"query","description":"Cursor to fetch the next page (use value from next_cursor).","schema":{"type":"string"}},{"name":"ending_before","required":false,"in":"query","description":"Cursor to fetch the previous page (use value from previous_cursor).","schema":{"type":"string"}},{"name":"status","required":false,"in":"query","schema":{"$ref":"#/components/schemas/ActionItemStatus"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListActionItemsResponse"}}}},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get logged in user action items","tags":["Action Items"]}},"/action-items/{id}":{"get":{"operationId":"ActionItemController_getById","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionItem"}}}},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get action item by id","tags":["Action Items"]},"delete":{"operationId":"ActionItemController_delete","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionItem"}}}},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Delete Action Item","tags":["Action Items"]},"put":{"operationId":"ActionItemController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateActionItemPayload"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionItem"}}}},"400":{"description":""},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update action item","tags":["Action Items"]}},"/action-items/{id}/status":{"patch":{"operationId":"ActionItemController_setStatus","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateActionItemStatusPayload"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionItem"}}}},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update action item status","tags":["Action Items"]}},"/action-items/suggestions":{"post":{"description":"The process will be enqueued and will be processed in the background. No response will be returned.","operationId":"ActionItemController_createSuggestionsFromMessages","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSuggestionsFromMessagesPayload"}}}},"responses":{"202":{"description":""},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Create suggestion(s) Action Item(s) from a list of messages","tags":["Action Items"]}},"/apps":{"get":{"description":"Apps that the user has access to (subscribed or not). If the user is the owner of the app, details will be returned with the private fields. Does not include the auto-managed default subscription app (`POST /apps/subscribe`); that client cannot be listed here or edited via OAuth client APIs.","operationId":"get_my_apps","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/App"}}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get List of My Apps","tags":["Apps"]}},"/apps/subscribe":{"post":{"description":"Registers a webhook for the user without requiring a client_id. A client_id will be generated automatically. To update or delete, use the client_id returned in the response. Authorization matches `POST /apps/:client_id/subscribe` once the implicit client exists: OAuth access token for that client, Personal Access Token with cv:write on an app you own, short-lived stateless agent JWT (minted via `POST /agents/:id/tokens`) whose payload includes cv:read and cv:write, or session token (pxtoken) for an app you own.","operationId":"subscribe_user_implicit_client","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscribeUserPayload"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscribedUser"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Subscribe user to events subscribed via a Webhook","tags":["Apps"]}},"/apps/{client_id}/subscribe":{"post":{"description":"OAuth access token must be issued for this client_id. With a personal access token (PAT), use cv:write and an app you own (client.owner_id matches the authenticated user). With a stateless agent JWT (`POST /agents/:id/tokens`), the same cv:write rule applies via embedded scopes (cv:read + cv:write). With a session token (pxtoken), ownership of the app is required; no scope is needed.","operationId":"subscribe_user_into_app","parameters":[{"name":"client_id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscribeUserPayload"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscribedUser"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Subscribe user to events sent via webhook","tags":["Apps"]}},"/apps/{client_id}/unsubscribe/{id}":{"delete":{"description":"Same authorization as subscribe: OAuth access token for this client_id, PAT or stateless agent JWT with cv:write on an app you own, or pxtoken session for an app you own.","operationId":"unsubscribe_specific_subscription_from_app","parameters":[{"name":"client_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Unsubscribe user from registered event","tags":["Apps"]}},"/apps/subscriptions":{"get":{"description":"List subscriptions for this user. Any authenticated user (including agents via session, PAT, or stateless agent JWT) sees only their own rows.","operationId":"list_owned_subscriptions","parameters":[{"name":"skip","required":false,"in":"query","schema":{"minimum":0,"format":"int32","default":0,"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Max number of results allowed per page is: **100**","schema":{"minimum":1,"maximum":100,"nullable":true,"default":100,"type":"number"}},{"name":"direction","required":false,"in":"query","schema":{"nullable":true,"default":"newer","type":"string","enum":["older","newer"]}},{"name":"date","required":false,"in":"query","description":"ISO 8601 date string for cursor pagination","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSubscriptionsResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"List owned subscriptions","tags":["Apps"]}},"/apps/{client_id}/subscriptions/{id}":{"put":{"description":"Updates a subscription previously registered by this user. Requires an authenticated user for that subscription row (same as today); agents authenticated with PAT or stateless agent JWT follow the same rule.","operationId":"update_subscription","parameters":[{"name":"client_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSubscriptionPayload"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Subscription"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update subscription","tags":["Apps"]}},"/apps/{client_id}/unsubscribe":{"delete":{"description":"Same auth as subscribe: OAuth access token for this client_id, PAT or stateless agent JWT with cv:write for an app you own, or session token (pxtoken) for an app you own.","operationId":"unsubscribe_user_from_app","parameters":[{"name":"client_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Unsubscribe user from all events and removes all access tokens associated with this app.","tags":["Apps"]}},"/scim/v2/{workspaceId}/Users":{"get":{"operationId":"filter_users","parameters":[{"name":"workspaceId","required":true,"in":"path","schema":{"type":"string"}},{"name":"filter","required":false,"in":"query","description":"Filter expression for filtering. Currently only supported filter is [`eq`]","schema":{"example":"userName eq \"jane-doe@test.com\"","type":"string"}},{"name":"startIndex","required":false,"in":"query","description":"Index to start the list of results from","schema":{"example":1,"type":"number"}},{"name":"count","required":false,"in":"query","description":"Total number of results to return","schema":{"example":1,"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSCIMListResponse"}}}}},"summary":"Filter Users","tags":["SCIM"]},"post":{"operationId":"create_user","parameters":[{"name":"workspaceId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserSCIMPayload"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSCIM"}}}},"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Create User","tags":["SCIM"]}},"/scim/v2/{workspaceId}/Users/{id}":{"get":{"operationId":"find_user_by_id","parameters":[{"name":"workspaceId","required":true,"in":"path","schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSCIM"}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Find User by ID","tags":["SCIM"]},"put":{"operationId":"UsersSCIMController_updateUser","parameters":[{"name":"workspaceId","required":true,"in":"path","schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSCIM"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSCIM"}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"tags":["SCIM"]}},"/languages/all":{"get":{"operationId":"LanguageController_getAll","parameters":[],"responses":{"200":{"description":"Get all languages","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Language"}}}}}},"tags":["Language"]}},"/inbox-notifications":{"get":{"operationId":"InboxNotificationController_findAll","parameters":[{"name":"skip","required":false,"in":"query","schema":{"minimum":0,"format":"int32","default":0,"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Max number of results allowed per page is: **100**","schema":{"minimum":1,"maximum":100,"nullable":true,"default":50,"type":"number"}},{"name":"direction","required":false,"in":"query","schema":{"$ref":"#/components/schemas/Direction"}},{"name":"category","required":false,"in":"query","schema":{"$ref":"#/components/schemas/InboxNotificationCategory"}},{"name":"type","required":false,"in":"query","schema":{"$ref":"#/components/schemas/InboxNotificationType"}},{"name":"date","required":false,"in":"query","schema":{"example":1694313500106,"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboxNotificationResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"List Inbox Notifications","tags":["Inbox Notifications"]},"post":{"operationId":"InboxNotificationController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateInboxNotification"}}}},"responses":{"403":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Create notifications","tags":["Inbox Notifications"]}},"/inbox-notifications/{notification_id}":{"get":{"operationId":"InboxNotificationController_findOne","parameters":[{"name":"notification_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboxNotification"}}}},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get one Notification by ID","tags":["Inbox Notifications"]},"patch":{"operationId":"InboxNotificationController_markAsReadUnread","parameters":[{"name":"notification_id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboxNotificationMarkAsReadDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboxNotification"}}}},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Mark a notification as Read/Unread","tags":["Inbox Notifications"]},"delete":{"operationId":"InboxNotificationController_delete","parameters":[{"name":"notification_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Delete a notification","tags":["Inbox Notifications"]}},"/inbox-notifications/read-unread-all":{"patch":{"operationId":"InboxNotificationController_markAllAsReadUnread","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboxNotificationMarkAsReadDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboxNotificationMarkAllAsReadUnreadResponse"}}}}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Mark all notifications as Read/Unread","tags":["Inbox Notifications"]}},"/message-forwards/forwarded-messages/{message_id}":{"get":{"operationId":"MessageForwardController_getForwardsByForwardedMessage","parameters":[{"name":"message_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"skip","required":false,"in":"query","schema":{"minimum":0,"format":"int32","default":0,"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Max number of results allowed per page is: **100**","schema":{"minimum":1,"maximum":100,"nullable":true,"default":50,"type":"number"}},{"name":"direction","required":false,"in":"query","schema":{"nullable":true,"default":"newer","type":"string","enum":["older","newer"]}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetForwardsByForwardedMessage"}}}},"403":{"description":""},"404":{"description":""}},"security":[{"pxtoken":[]}],"summary":"Get List of forwards of a Message","tags":["Forwards"]}},"/message-forwards/{forward_id}":{"get":{"operationId":"MessageForwardController_getForwardById","parameters":[{"name":"forward_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageForward"}}}},"403":{"description":""}},"security":[{"pxtoken":[]}],"summary":"Get forwarded Message","tags":["Forwards"]}},"/message-forwards/{forward_id}/{audio_id}":{"get":{"operationId":"MessageForwardController_getAudioFile","parameters":[{"name":"forward_id","required":true,"in":"path","description":"Forward ID","schema":{"example":"fd546db4b648d6b1fa","type":"string"}},{"name":"audio_id","required":true,"in":"path","description":"The ID of the audio within the forwarded message","schema":{"example":"65cfafb7027c0e45b35d5cda","type":"string"}}],"responses":{"302":{"description":"Redirect to the S3 URL"},"403":{"description":""},"404":{"description":""}},"security":[{"pxtoken":[]}],"summary":"Get a specific version of the audio from a forwarded message","tags":["Forwards"]}},"/message-forwards":{"post":{"operationId":"MessageForwardController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateForwardMessage"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageForward"}}}},"403":{"description":""}},"security":[{"pxtoken":[]}],"summary":"Create a forward to a Message","tags":["Forwards"]},"put":{"description":"Only the creator of original message can revoke access to all forwards by: forwarded_message_id ","operationId":"MessageForwardController_revokeAccessToForward","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevokeAccessToForward"}}}},"responses":{"204":{"description":""},"403":{"description":""}},"security":[{"pxtoken":[]}],"summary":"Revoke access to all forwarded Messages or one specific forward.","tags":["Forwards"]}},"/message-sharelinks/shared-links/{message_id}":{"get":{"operationId":"MessageShareLinkController_getShareLinksBySharedMessage","parameters":[{"name":"message_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"skip","required":false,"in":"query","schema":{"minimum":0,"format":"int32","default":0,"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Max number of results allowed per page is: **100**","schema":{"minimum":1,"maximum":100,"nullable":true,"default":50,"type":"number"}},{"name":"direction","required":false,"in":"query","schema":{"nullable":true,"default":"newer","type":"string","enum":["older","newer"]}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMessageShareLinksBySharedMessageResponse"}}}},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get List of Message Share Links of a Message","tags":["Message Share Links"]}},"/message-sharelinks/{share_link_id}":{"get":{"operationId":"MessageShareLinkController_getMessageShareLink","parameters":[{"name":"share_link_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageShareLinkWithSharedMessage"}}}},"403":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get Message Share Link with Shared Message","tags":["Message Share Links"]}},"/v3/message-sharelinks/{share_link_id}":{"get":{"operationId":"MessageShareLinkController_getMessageShareLinkV3_v3","parameters":[{"name":"share_link_id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageShareLinkWithMessage"}}}},"403":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get Message Share Link with Shared Message","tags":["Message Share Links"]}},"/message-sharelinks/{share_link_id}/attachments/signedurl/{attachment_id}":{"get":{"operationId":"MessageShareLinkController_getAttachmentFile","parameters":[{"name":"share_link_id","required":true,"in":"path","description":"MessageShareLink ID","schema":{"example":"fd546db4b648d6b1fa","type":"string"}},{"name":"attachment_id","required":true,"in":"path","description":"The ID of the attachment within the MessageShareLink","schema":{"example":"65cfafb7027c0e45b35d5cda","type":"string"}}],"responses":{"200":{"description":"Signed S3 URL for the attachment","content":{"application/json":{"schema":{"type":"string"}}}},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get signed URL for specific attachment of a Shared message","tags":["Message Share Links"]}},"/message-sharelinks/{share_link_id}/{audio_id}":{"get":{"operationId":"MessageShareLinkController_getAudioFile","parameters":[{"name":"share_link_id","required":true,"in":"path","description":"MessageShareLink ID","schema":{"example":"fd546db4b648d6b1fa","type":"string"}},{"name":"audio_id","required":true,"in":"path","description":"The ID of the audio within the MessageShareLink","schema":{"example":"65cfafb7027c0e45b35d5cda","type":"string"}}],"responses":{"302":{"description":"Redirect to the Signed S3 URL"},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get a specific version of the audio from a Shared message","tags":["Message Share Links"]}},"/message-sharelinks":{"post":{"operationId":"MessageShareLinkController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMessageShareLink"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageShareLinkWithSharedMessage"}}}},"403":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Create a MessageShareLink","tags":["Message Share Links"]}},"/message-sharelinks/revoke-access":{"put":{"description":"Only the creator of original message can revoke access to all share links by: shared_message_id ","operationId":"MessageShareLinkController_revokeAccessToShareLink","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevokeAccessToShareLink"}}}},"responses":{"204":{"description":""},"403":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Revoke access to all share links or one specific.","tags":["Message Share Links"]}},"/message-sharelinks/{share_link_id}/access":{"put":{"description":"Update AccessType (public, specified) and SpecifiedAccessType. Only possible when ShareType of Shared Message is (link).","operationId":"MessageShareLinkController_updateAccess","parameters":[{"name":"share_link_id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAccessPayload"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageShareLink"}}}},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update the access control for a Message Share Link.","tags":["Message Share Links"]}},"/message-sharelinks/by-message-ids":{"post":{"operationId":"getListOfSharelinksByMessageIds","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetListOfSharelinksByMessageIds"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SharelinksByMessageIdResponse"}}}}},"403":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get list of Message Share Links by Message ID's (Up to 500 messages each request)","tags":["Message Share Links"]}},"/folders":{"get":{"operationId":"getAllRootFolders","parameters":[{"name":"type","required":true,"in":"query","description":"Folder Type","schema":{"type":"string","enum":["voicememo","prerecorded"]}},{"name":"include_all_tree","required":false,"in":"query","description":"Return all folders tree","schema":{"default":false,"type":"boolean"}},{"name":"workspace_id","required":false,"in":"query","description":"Workspace ID","schema":{"type":"string"}},{"name":"sort_direction","required":false,"in":"query","description":"Sort order direction","schema":{"default":"ASC","type":"string","enum":["ASC","DESC"]}},{"name":"sort_by","required":false,"in":"query","description":"Field to sort by","schema":{"$ref":"#/components/schemas/SortFolderBy"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListFoldersResponse"}}}},"403":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get all root Folders","tags":["Folders"]},"post":{"operationId":"createFolder","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFolderPayload"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Folder"}}}},"400":{"description":""},"403":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Create a new Folder","tags":["Folders"]}},"/folders/count-by-workspace":{"get":{"operationId":"getCountsGroupedByWorkspace","parameters":[{"name":"type","required":true,"in":"query","description":"Folder Type","schema":{"type":"string","enum":["voicememo","prerecorded"]}},{"name":"workspace_id","required":false,"in":"query","description":"Workspace ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ListCountFoldersGroupedByWorkspace"}}}}},"403":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get count of all folders, messages and message_ids not in folders grouped by workspace","tags":["Folders"]}},"/folders/{id}/messages":{"get":{"operationId":"getFolderMessages","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderWithMessages"}}}},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get Folder with Messages","tags":["Folders"]}},"/folders/{id}":{"get":{"operationId":"getFolderById","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"include_first_level_tree","required":false,"in":"query","description":"Defines if the first level of the folder tree should be returned","schema":{"default":false,"type":"boolean"}},{"name":"direction","required":false,"in":"query","description":"Direction of the results (newer or older)","schema":{"default":"newer","type":"string","enum":["older","newer"]}},{"name":"date","required":false,"in":"query","description":"Return only Subfolders updated based on the date and direction (must inform include_first_level_tree = true)","schema":{"format":"date-time","nullable":true,"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Folder"}}}},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get Folder by ID","tags":["Folders"]},"patch":{"operationId":"updateFolderName","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateFolderNamePayload"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Folder"}}}},"403":{"description":""},"404":{"description":""},"409":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Update Folder Name","tags":["Folders"]},"delete":{"operationId":"deleteFolder","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Delete Folder and all subfolders and messages in nested folders","tags":["Folders"]}},"/folders/message":{"patch":{"description":"Only allowed to move messages of type: voicememo,prerecorded.","operationId":"addMessageToFolderOrWorkspace","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddMessageToFolderPayload"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageV2"}}}},"400":{"description":""},"403":{"description":""},"404":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Move a message into specific Folder or into a Workspace","tags":["Folders"]}},"/folders/{id}/move":{"patch":{"operationId":"moveFolder","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MoveFolderPayload"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Folder"}}}},"403":{"description":""},"404":{"description":""},"409":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Move a Folder into another Folder or into a Workspace","tags":["Folders"]}},"/data-events":{"get":{"operationId":"getDataEvents","parameters":[{"name":"direction","required":true,"in":"query","schema":{"nullable":false,"type":"string","enum":["older","newer"]}},{"name":"limit","required":false,"in":"query","schema":{"nullable":true,"type":"number"}},{"name":"date","required":false,"in":"query","description":"Use the dates when you have no event id","schema":{"format":"date-time","type":"string"}},{"name":"data_event_id","required":false,"in":"query","description":"Use the event id if you know them to avoid page size older/newer loop","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataEvent"}}}}},"403":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get Data Events","tags":["data-events"]}},"/updates":{"get":{"operationId":"getUpdates","parameters":[{"name":"since","required":true,"in":"query","description":"Only return updates created after this timestamp.","schema":{"format":"date-time","type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"nullable":true,"type":"number"}},{"name":"id","required":false,"in":"query","description":"Optional event id tie-breaker for repeated requests with the same since timestamp.","schema":{"type":"string"}},{"name":"resource","required":false,"in":"query","schema":{"$ref":"#/components/schemas/UpdateResource"}},{"name":"action","required":false,"in":"query","schema":{"$ref":"#/components/schemas/UpdateAction"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatesResponse"}}}},"403":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get updates","tags":["updates"]}},"/v3/updates":{"get":{"operationId":"getUpdatesV3","parameters":[{"name":"since","required":true,"in":"query","description":"Only return updates created after this timestamp.","schema":{"format":"date-time","type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"nullable":true,"type":"number"}},{"name":"id","required":false,"in":"query","description":"Optional event id tie-breaker for repeated requests with the same since timestamp.","schema":{"type":"string"}},{"name":"resource","required":false,"in":"query","schema":{"$ref":"#/components/schemas/UpdateResource"}},{"name":"action","required":false,"in":"query","schema":{"$ref":"#/components/schemas/UpdateAction"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatesResponse"}}}},"403":{"description":""}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Get updates","tags":["updates"]}},"/data-exporter/batch":{"get":{"operationId":"listBatchDataExports","parameters":[{"name":"workspace_id","required":false,"in":"query","description":"Filter data exports by workspace ID","schema":{"example":"workspace_123","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BatchExport"}}}}},"401":{"description":"Unauthorized"}},"summary":"List Batch data exports","tags":["Data Exporter"]}},"/data-exporter/conversations":{"post":{"operationId":"exportConversations","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportConversationsPayload"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportDataResponse"}}}},"401":{"description":"Unauthorized"}},"summary":"Start data export for set of conversations","tags":["Data Exporter"]}},"/data-exporter/users":{"post":{"operationId":"exportUsers","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportUsersPayload"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportBatchDataResponse"}}}},"401":{"description":"Unauthorized"}},"summary":"Start data export for set of users","tags":["Data Exporter"]}},"/data-exporter/{id}":{"get":{"operationId":"getDataExport","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportDataResponse"}}}},"401":{"description":"Unauthorized"},"404":{"description":""}},"summary":"Get data export","tags":["Data Exporter"]}},"/data-exporter/batch/{id}":{"get":{"operationId":"getDataExportsByBatchId","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportBatchDataResponse"}}}},"401":{"description":"Unauthorized"},"404":{"description":""}},"summary":"Get batch data export","tags":["Data Exporter"]}},"/bot/test":{"post":{"operationId":"OpenAiChatBotTestController_testChatBot","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestChatBotRequest"}}}},"responses":{"200":{"description":"Successfully generated response from the chat bot","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseModel"}}}},"401":{"description":"Unauthorized - Authentication required"}},"security":[{"api_key":[]},{"oauth2":[]}],"summary":"Test the OpenAI Chat Bot with custom text input","tags":["Bot"]}}},"info":{"title":"Carbon Voice API","description":"# Introduction\n\nREST API for Carbon Voice.\n\n**[Developer Portal](https://www.developer.carbonvoice.app/)** — Create API keys, OAuth integrations, and explore how-to examples.\n\n## Terminology\n\n* **Workspace**: Area that groups people and conversations.\n* **Conversation**: A channel of communication (people + messages around a topic).\n* **Collaborators**: People who are part of a conversation.\n* **Discussion**: A post into a conversation.\n* **CarbonLink**: Link (website, QR code, phone) to start a conversation.\n\n## Base URL\n\n`https://api.carbonvoice.app`\n\n## Authentication\n\nAuthenticate using one of these methods:\n\n1. **OAuth2 Bearer token** — `Authorization: Bearer <access_token>` (obtain via OAuth2 flow)\n2. **PXToken** — `pxtoken` header, query param, body, or cookie (session token from login)\n3. **API Key** — `x-api-key` header\n\n<SecurityDefinitions />\n\n## Errors\n\n4xx responses indicate a client error. 5xx indicate a server error. Check [health](https://api.carbonvoice.app/v2/health) for system status.\n\nError format: `{ \"success\": false, requestId: \"uuid\", errmsg: \"error message\" }`\n\n## Rate Limiting\n\nRate limits vary per endpoint. On 429 responses, check `X-RateLimit-Limit`, `X-RateLimit-Remaining`, and `X-RateLimit-Reset` headers.\n\n## Resources\n\n* **[Developer Portal](https://www.developer.carbonvoice.app/)** — API keys, integrations, and how-to examples\n* **[User Terms of Service](https://www.getcarbon.app/usertos)** — Legal terms for API use\n* **[Support](https://www.getcarbon.app/support)** — Help and documentation\n* **Email** — support@carbonvoice.app\n","version":"1.0.0","contact":{}},"tags":[],"servers":[{"url":"https://api.carbonvoice.app"}],"components":{"securitySchemes":{"api_key":{"type":"apiKey","in":"header","name":"pxtoken"},"oauth2":{"type":"oauth2","flows":{"implicit":{"scopes":{"admin":"Admin","identity":"View information about a user's identity","profile:read":"View a user's profile","profile:write":"Manage user's profile information: emails, phones, videocall, and more","channels:read":"View basic information about users's channels","channels:write":"Manage user's channels and create new ones on a user's behalf","channels:join":"Join user to an existing channel"},"authorizationUrl":"https://api.carbonvoice.app/oauth/authorize"}}}},"schemas":{"MergeUsersDto":{"type":"object","properties":{"from_user_guid":{"type":"string"},"into_user_guid":{"type":"string"}},"required":["from_user_guid","into_user_guid"]},"SetWorkspaceOwnerDto":{"type":"object","properties":{"workspace_guid":{"type":"string"},"user_guid":{"type":"string"}},"required":["workspace_guid","user_guid"]},"SetChannelVisibilityDto":{"type":"object","properties":{"id":{"type":"string"},"visibility":{"type":"string"}},"required":["id","visibility"]},"UpdateChannelMemberAdminDto":{"type":"object","properties":{"role":{"type":"string","enum":["admin","owner","creator","member","guest"]},"status":{"type":"string","enum":["active","user_left","removed_from_channel","removed_from_workspace"]}}},"DailyMessageStatistics":{"type":"object","properties":{"id":{"type":"string"},"date":{"format":"date-time","type":"string"},"messages":{"type":"object","additionalProperties":{"type":"number"},"description":"Message counts by status"}},"required":["id","date","messages"]},"UserMeterType":{"type":"string","enum":["recording","translation","transcription","ai","tts"]},"CreditUsage":{"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/UserMeterType"}]},"amount":{"type":"number","format":"double"},"audio_ms":{"type":"number","format":"int64"}},"required":["type","amount","audio_ms"]},"PaymentDate":{"type":"object","properties":{"date":{"format":"date-time","type":"string","nullable":false},"billing_cycle":{"type":"string","nullable":false,"enum":["annual","monthly","none"]},"amount":{"type":"number","nullable":false,"format":"double"}},"required":["date","billing_cycle","amount"]},"PricingTierLevel":{"type":"string","enum":["starter","starter_gv","lite","lite_gv","standard","standard_gv","pro"]},"PaymentPlanSource":{"type":"string","enum":["apple","google","stripe","gift","workspace","default"]},"PaymentPlanSummary":{"type":"object","properties":{"workspace_id":{"type":"string","nullable":true},"managed_by_workspace_id":{"type":"string","nullable":true},"billing_managers":{"type":"array","items":{"type":"string"}},"activated_date":{"format":"date-time","type":"string","nullable":false},"expires_date":{"format":"date-time","type":"string","nullable":true},"pricing_tier_id":{"type":"string"},"auto_renew_pricing_tier_id":{"type":"string"},"is_trial":{"type":"boolean"},"auto_renew":{"type":"boolean"},"feature_ids":{"type":"array","items":{"type":"string"}},"allowed_audio_ms":{"type":"number","format":"int64"},"consumed_audio_ms":{"type":"number","format":"int64"},"max_message_length_ms":{"type":"number","format":"int64"},"total_credits":{"type":"number","format":"int64"},"credit_usage":{"type":"array","items":{"$ref":"#/components/schemas/CreditUsage"}},"payments":{"type":"array","items":{"$ref":"#/components/schemas/PaymentDate"}},"level":{"allOf":[{"$ref":"#/components/schemas/PricingTierLevel"}]},"source":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PaymentPlanSource"}]},"app_store_transaction_id":{"type":"string"}},"required":["billing_managers","activated_date","expires_date","pricing_tier_id","is_trial","auto_renew","feature_ids","consumed_audio_ms","total_credits","credit_usage","payments","level"]},"UserPaymentPlanSummaryResponse":{"type":"object","properties":{"payment_plan_summary":{"$ref":"#/components/schemas/PaymentPlanSummary"},"managed_plans":{"type":"array","items":{"$ref":"#/components/schemas/PaymentPlanSummary"}},"workspace_plans":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/PaymentPlanSummary"}}},"required":["payment_plan_summary","managed_plans","workspace_plans"]},"CreateAgentAccount":{"type":"object","properties":{"name":{"type":"string","description":"Display name for the agent account.","example":"Support Assistant"}},"required":["name"]},"Agent":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"username":{"type":"string"},"creator_id":{"type":"string","description":"Root human user id for this agent (API field). Persisted as `user.owner_id` on the agent user row."},"image_url":{"type":"string","nullable":true},"created_at":{"format":"date-time","type":"string"},"last_updated_at":{"format":"date-time","type":"string"}},"required":["id","name","username","creator_id","created_at","last_updated_at"]},"ListAgentAccountsPagination":{"type":"object","properties":{"skip":{"type":"number","minimum":0,"format":"int32"},"limit":{"type":"number","minimum":1,"maximum":100},"direction":{"type":"string","enum":["older","newer"],"nullable":true},"date":{"type":"string","format":"date-time","nullable":true}},"required":["skip","limit"]},"ListAgentAccountsResponse":{"type":"object","properties":{"pagination":{"$ref":"#/components/schemas/ListAgentAccountsPagination"},"total_results":{"type":"number","format":"int32"},"results":{"type":"array","items":{"$ref":"#/components/schemas/Agent"}}},"required":["pagination","total_results","results"]},"CreateAgentToken":{"type":"object","properties":{"expires_in_seconds":{"type":"number","default":3600,"maximum":86400,"minimum":1,"description":"Token lifetime in seconds."}}},"CreatedAgentToken":{"type":"object","properties":{"token":{"type":"string","description":"JWT string. Use as a bearer token on API requests: send `Authorization: Bearer <token>` to authenticate as the agent user."},"expires_in_seconds":{"type":"number","format":"int32"},"expires_at":{"format":"date-time","type":"string"}},"required":["token","expires_in_seconds","expires_at"]},"ResponseFormat":{"type":"string","enum":["text","json"]},"AIPromptOwnerType":{"type":"string","enum":["user","workspace","system"]},"AIPrompt":{"type":"object","properties":{"id":{"type":"string"},"created_at":{"format":"date-time","type":"string"},"last_updated_at":{"format":"date-time","type":"string"},"creator_id":{"type":"string"},"workspace_id":{"type":"string"},"prompt":{"type":"string"},"name":{"type":"string","maxLength":100},"description":{"type":"string","maxLength":500},"format_instructions":{"type":"string"},"response_format":{"allOf":[{"$ref":"#/components/schemas/ResponseFormat"}]},"owner_type":{"allOf":[{"$ref":"#/components/schemas/AIPromptOwnerType"}]},"category_number":{"type":"number","format":"int32"},"order_in_category":{"type":"number","format":"int32"}},"required":["id","created_at","last_updated_at","creator_id","prompt","name","owner_type"]},"CreateAIPrompt":{"type":"object","properties":{"workspace_id":{"type":"string"},"prompt":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"format_instructions":{"type":"string"},"response_format":{"allOf":[{"$ref":"#/components/schemas/ResponseFormat"}]},"owner_type":{"allOf":[{"$ref":"#/components/schemas/AIPromptOwnerType"}]}},"required":["prompt","name","response_format","owner_type"]},"UpdateAIPrompt":{"type":"object","properties":{"prompt":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"format_instructions":{"type":"string"},"response_format":{"allOf":[{"$ref":"#/components/schemas/ResponseFormat"}]},"workspace_id":{"type":"string"}}},"ResponseByLanguage":{"type":"object","properties":{"language":{"type":"string","description":"Language"},"json":{"type":"object","description":"Json format","additionalProperties":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"},{"type":"array","items":{"type":"string"}}],"items":{"type":"string"}}},"text":{"type":"string","description":"Text format"},"html":{"type":"string","description":"Html format"},"markdown":{"type":"string","description":"Markdown format"}},"required":["language"]},"AIResponse":{"type":"object","properties":{"id":{"type":"string"},"creator_id":{"type":"string"},"prompt_id":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"last_updated_at":{"type":"string","format":"date-time"},"responses":{"description":"Responses by language","type":"array","items":{"$ref":"#/components/schemas/ResponseByLanguage"}},"message_ids":{"type":"array","items":{"type":"string"}},"workspace_id":{"type":"string"},"channel_id":{"type":"string"}},"required":["id","creator_id","prompt_id","created_at","last_updated_at","responses","message_ids"]},"PromptResponse":{"type":"object","properties":{"id":{"type":"string"},"prompt_id":{"type":"string"},"creator_id":{"type":"string"},"responses":{"type":"array","items":{"$ref":"#/components/schemas/ResponseByLanguage"}},"message_ids":{"type":"array","items":{"type":"string"}},"workspace_id":{"type":"string"},"channel_id":{"type":"string"},"user_id":{"type":"string"},"last_updated_at":{"type":"string","format":"date-time"},"created_at":{"type":"string","format":"date-time"}},"required":["id","prompt_id","creator_id","responses","message_ids","user_id","last_updated_at","created_at"]},"MessageStatus":{"type":"string","enum":["offline","paused","processing","scheduled","active","deleted","account-deleted","initializing","inprogress","canceled","failed"],"description":"Current status of the Message"},"MessageType":{"type":"string","enum":["channel","prerecorded","voicememo","stored","welcome"],"description":"Type of the Message"},"AttachmentType":{"type":"string","enum":["link","file","location","ai-response-id","ai-prompt-id","action-item-id"]},"SimplifiedAttachment":{"type":"object","properties":{"id":{"type":"string"},"creator_id":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"type":{"allOf":[{"$ref":"#/components/schemas/AttachmentType"}]},"link":{"type":"string"},"active_begin":{"type":"string","format":"date-time"},"active_end":{"type":"string","format":"date-time"},"filename":{"type":"string"},"mime_type":{"type":"string"},"length_in_bytes":{"type":"number","format":"int32"},"location":{"type":"object"}},"required":["id","creator_id","created_at","type","link"]},"Message":{"type":"object","properties":{"id":{"type":"string","description":"ID"},"name":{"type":"string","description":"Name"},"link":{"type":"string","description":"Link to Message"},"creator_id":{"type":"string","description":"Creator ID"},"conversation_id":{"type":"string","description":"Conversation ID"},"workspace_id":{"type":"string","description":"Workspace ID"},"created_at":{"type":"string","format":"date-time"},"last_updated_at":{"type":"string","format":"date-time"},"deleted_at":{"type":"string","format":"date-time"},"duration_ms":{"type":"number","description":"The length of the message in milliseconds","format":"int32"},"audio_url":{"type":"string","description":"The URL for the message audio file"},"audio_stream_url":{"type":"string","description":"The URL for the message audio stream"},"transcript":{"type":"string","description":"Transcript of the message"},"ai_summary":{"type":"string","description":"AI Summary generated of the message"},"waveform_url":{"type":"string","description":"The URL for the message waveform image"},"reply_count":{"type":"number","description":"The number of replies to the message","format":"int32"},"parent_message_id":{"type":"string","description":"Parent Message unique ID (only available for replies)"},"language":{"type":"string","description":"Language for the message (Transcript, AI summary, Audio...)","default":"english"},"status":{"description":"Current status of the Message","allOf":[{"$ref":"#/components/schemas/MessageStatus"}]},"type":{"description":"Type of the Message","allOf":[{"$ref":"#/components/schemas/MessageType"}]},"attachments":{"description":"List of attachments for the message","type":"array","items":{"$ref":"#/components/schemas/SimplifiedAttachment"}},"share_link_id":{"type":"string","description":"Share Link ID to a message"},"folder_id":{"type":"string","description":"Folder ID where the message is stored"}},"required":["id","link","creator_id","created_at","last_updated_at","duration_ms","reply_count","status","type"]},"SimplifiedUser":{"type":"object","properties":{"id":{"type":"string","description":" ID"},"link":{"type":"string","description":"Link to User"},"created_at":{"type":"string","format":"date-time"},"first_name":{"type":"string","description":"First Name"},"last_name":{"type":"string","description":"Last Name"},"full_name":{"type":"string","description":"Full Name"},"image_url":{"type":"string","description":"Image Url"},"emails":{"description":"List of emails matched by the search query. Only present when the user was found by email. Deprecated: use identities instead.","deprecated":true,"type":"array","items":{"type":"string"}},"phones":{"description":"List of phones matched by the search query. Only present when the user was found by phone. Deprecated: use identities instead.","deprecated":true,"type":"array","items":{"type":"string"}},"languages":{"description":"List of languages (First one is the primary)","type":"array","items":{"type":"string"}}},"required":["id","link","created_at","first_name","full_name"]},"Stats":{"type":"object","properties":{"total_duration_milliseconds":{"type":"number","description":"Total duration in milliseconds","format":"int64"},"total_heard_milliseconds":{"type":"number","description":"Total heard in milliseconds","format":"int64"},"total_engaged_percentage":{"type":"number","description":"Total engaged percentage","format":"int64"},"total_messages_posted":{"type":"number","description":"Total messages posted","format":"int64"},"total_users":{"type":"number","format":"int64","description":"Total users"}},"required":["total_duration_milliseconds","total_heard_milliseconds","total_engaged_percentage","total_messages_posted","total_users"]},"UserStats":{"type":"object","properties":{"user_id":{"type":"string","description":"User unique ID"},"total_messages_posted":{"type":"number","description":"Total messages posted","format":"int64"},"total_sent_milliseconds":{"type":"number","description":"Total sent in milliseconds","format":"int64"},"total_heard_milliseconds":{"type":"number","description":"Total heard in milliseconds","format":"int64"},"total_engaged_percentage":{"type":"number","description":"Total engaged percentage","format":"int64"},"total_heard_messages":{"type":"number","format":"int64","description":"Total heard messages"},"total_unheard_messages":{"type":"number","format":"int64","description":"Total unheard messages"}},"required":["user_id","total_messages_posted","total_sent_milliseconds","total_heard_milliseconds","total_engaged_percentage","total_heard_messages","total_unheard_messages"]},"AsyncConversationStats":{"type":"object","properties":{"stats":{"description":"Conversation stats","allOf":[{"$ref":"#/components/schemas/Stats"}]},"user_stats":{"description":"User stats","type":"array","items":{"$ref":"#/components/schemas/UserStats"}}},"required":["stats","user_stats"]},"Conversation":{"type":"object","properties":{"id":{"type":"string","description":"ID"},"link":{"type":"string","description":"Link to Conversation"},"name":{"type":"string","description":"Name"},"description":{"type":"string","description":"Description"},"workspace_id":{"type":"string","description":"Workspace ID"},"workspace_name":{"type":"string","description":"Workspace Name"},"workspace_image_url":{"type":"string","description":"Workspace Image Url"},"owner_id":{"type":"string","description":"owner unique ID"},"type":{"type":"string","description":"Type","enum":["directMessage","customerConversation","namedConversation","asyncMeeting"]},"visibility":{"type":"string","description":"Visibility","enum":["private","workspace","public"]},"total_messages":{"type":"number","description":"Total Messages","format":"int32"},"total_duration_ms":{"type":"number","description":"Total duration in milliseconds","format":"int32"},"image_url":{"type":"string","description":"Image Url"},"is_private":{"type":"boolean","description":"Is Private Conversation"},"is_async":{"type":"boolean","description":"Is Async Conversation"},"async_stats":{"description":"Async Meeting Stats","allOf":[{"$ref":"#/components/schemas/AsyncConversationStats"}]},"created_at":{"type":"string","format":"date-time"},"last_updated_at":{"type":"string","format":"date-time"},"deleted_at":{"type":"string","format":"date-time"}},"required":["id","link","name","workspace_id","workspace_name","owner_id","type","visibility","total_messages","total_duration_ms","is_private","is_async","created_at","last_updated_at"]},"SimplifiedLabel":{"type":"object","properties":{"id":{"type":"string","description":"ID"},"name":{"type":"string","description":"Name"},"behavior":{"type":"string","description":"Behavior","enum":["removeOnListenStart","removeWhenHeard","persistent"]},"type":{"type":"string","description":"Type","enum":["personal","workspace","system","reaction"]},"creator_guid":{"type":"string","description":"Creator ID"},"space_guid":{"type":"string","description":"Workspace ID"},"image_url":{"type":"string","description":"Image URL"},"automatic_playlist":{"type":"boolean","description":"Automatic Playlist"},"sort_order":{"type":"number","description":"Sort Order","format":"int32"}},"required":["id","name","behavior","type","creator_guid"]},"GetMessageResponse":{"type":"object","properties":{"message":{"$ref":"#/components/schemas/Message"},"creator":{"$ref":"#/components/schemas/SimplifiedUser"},"conversation":{"$ref":"#/components/schemas/Conversation"},"labels":{"type":"array","items":{"$ref":"#/components/schemas/SimplifiedLabel"}}},"required":["message"]},"AIPromptWithMessagesResult":{"type":"object","properties":{"ai_response":{"$ref":"#/components/schemas/PromptResponse"},"messages":{"type":"array","items":{"$ref":"#/components/schemas/GetMessageResponse"}}},"required":["ai_response","messages"]},"GetTenRecentAIPromptResponse":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/AIPromptWithMessagesResult"}}}},"CreateShareLinkAIResponse":{"type":"object","properties":{"prompt_id":{"type":"string"},"share_link_ids":{"type":"array","items":{"type":"string"}},"language":{"type":"string","example":"english"}},"required":["prompt_id","share_link_ids"]},"AIShareLinkResponse":{"type":"object","properties":{"id":{"type":"string"},"creator_id":{"type":"string"},"prompt_id":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"last_updated_at":{"type":"string","format":"date-time"},"responses":{"description":"Responses by language","type":"array","items":{"$ref":"#/components/schemas/ResponseByLanguage"}},"share_link_ids":{"type":"array","items":{"type":"string"}}},"required":["id","creator_id","prompt_id","created_at","last_updated_at","responses","share_link_ids"]},"CreateAIResponse":{"type":"object","properties":{"prompt_id":{"type":"string"},"message_ids":{"type":"array","items":{"type":"string"}},"channel_id":{"type":"string"},"workspace_id":{"type":"string"},"language":{"type":"string","description":"The language of the response. Defaults to original message."},"ignore_existing_response":{"type":"boolean","description":"Whether to ignore existing response and generate a new one. Defaults to false."}},"required":["prompt_id","message_ids"]},"GetAIResponsesByIds":{"type":"object","properties":{"ids":{"description":"List of AI response IDs Max 500","type":"array","items":{"type":"string"}}},"required":["ids"]},"AnswerModel":{"type":"object","properties":{"text":{"type":"string","description":"The answer text","example":"Based on the conversation, you discussed the project timeline and agreed to complete the first phase by next Friday."},"message_ids":{"description":"List of message IDs that were used to generate the answer","example":["msg_123","msg_456","msg_789"],"type":"array","items":{"type":"string"}},"channel_ids":{"description":"List of channel IDs that were searched","example":["asdfasdfsdfsdf"],"type":"array","items":{"type":"string"}},"workspace_id":{"type":"string","description":"The workspace ID that was searched","example":"wksp_123456789"}},"required":["text","message_ids","channel_ids","workspace_id"]},"UpdateMessageTopic":{"type":"object","properties":{"message_id":{"type":"string"},"text":{"type":"string"}},"required":["message_id","text"]},"Direction":{"type":"string","enum":["older","newer"]},"MessageIndex":{"type":"object","properties":{"message_id":{"type":"string"},"parent_message_id":{"type":"string","nullable":true},"status":{"allOf":[{"$ref":"#/components/schemas/MessageStatus"}]},"created_at":{"type":"number","format":"int64"},"last_updated_at":{"type":"number","format":"int64"},"deleted_at":{"type":"number","nullable":true,"format":"int64"}},"required":["message_id","status","created_at","last_updated_at"]},"MessagesIndexResponse":{"type":"object","properties":{"skip":{"type":"number","default":0,"minimum":0,"format":"int32"},"limit":{"type":"number","nullable":true,"default":100,"maximum":1000,"minimum":1,"description":"Max number of results allowed per page is: **1000**"},"direction":{"nullable":true,"default":"newer","allOf":[{"$ref":"#/components/schemas/Direction"}]},"start_date":{"type":"number","example":1694313500106,"format":"int64"},"end_date":{"type":"number","example":1694313500106,"format":"int64"},"channel_id":{"type":"string"},"total_results":{"type":"number","format":"int32"},"results":{"type":"array","items":{"$ref":"#/components/schemas/MessageIndex"}}},"required":["channel_id","total_results","results"]},"WordsWithTimeCode":{"type":"object","properties":{"words":{"type":"string"},"startMs":{"type":"number","nullable":true,"format":"int32"},"endMs":{"type":"number","nullable":true,"format":"int32"}},"required":["words"]},"MessageTranscript":{"type":"object","properties":{"message_guid":{"type":"string"},"words":{"type":"array","items":{"$ref":"#/components/schemas/WordsWithTimeCode"}},"tts_voice":{"type":"string","nullable":true}},"required":["message_guid","words"]},"AttachmentStatus":{"type":"string","enum":["Initializing","Uploading","Uploaded","Failed"]},"RequestAttachment":{"type":"object","properties":{"type":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/AttachmentType"}]},"link":{"type":"string"},"client_id":{"type":"string"},"created_at":{"format":"date-time","type":"string","nullable":true},"filename":{"type":"string","nullable":true},"mime_type":{"type":"string","nullable":true},"length_in_bytes":{"type":"number","nullable":true},"latitude":{"type":"number","nullable":true},"longitude":{"type":"number","nullable":true},"status":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/AttachmentStatus"}]},"percent_complete":{"type":"number","nullable":true}},"required":["type","link"]},"AddAttachments":{"type":"object","properties":{"attachments":{"type":"array","items":{"$ref":"#/components/schemas/RequestAttachment"}}},"required":["attachments"]},"LatLon":{"type":"object","properties":{"latitude":{"type":"number","format":"double"},"longitude":{"type":"number","format":"double"}},"required":["latitude","longitude"]},"Attachment":{"type":"object","properties":{"_id":{"type":"string"},"client_id":{"type":"string","nullable":true},"creator_id":{"type":"string"},"created_at":{"format":"date-time","type":"string"},"type":{"allOf":[{"$ref":"#/components/schemas/AttachmentType"}]},"link":{"type":"string"},"active_begin":{"format":"date-time","type":"string","nullable":true},"active_end":{"format":"date-time","type":"string","nullable":true},"filename":{"type":"string","nullable":true},"mime_type":{"type":"string","nullable":true},"length_in_bytes":{"type":"number","nullable":true},"location":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/LatLon"}]},"status":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/AttachmentStatus"}]},"percent_complete":{"type":"number","nullable":true}},"required":["_id","creator_id","created_at","type","link"]},"AddNotes":{"type":"object","properties":{"text":{"type":"string"},"message_id":{"type":"string"}},"required":["text","message_id"]},"PersonalNote":{"type":"object","properties":{"message_id":{"type":"string"},"text":{"type":"string"},"last_updated":{"format":"date-time","type":"string"},"message_created_at":{"format":"date-time","type":"string"},"message_created_by":{"type":"string"},"message_workspace_ids":{"type":"array","items":{"type":"string"}},"message_channel_ids":{"type":"array","items":{"type":"string"}}},"required":["message_id","text","last_updated","message_created_at","message_created_by","message_workspace_ids","message_channel_ids"]},"Gender":{"type":"string","enum":["F","M"]},"Role":{"type":"string","enum":["admin","owner","creator","member","guest"]},"WorkspaceRole":{"type":"object","properties":{"workspace_id":{"type":"string"},"role":{"allOf":[{"$ref":"#/components/schemas/Role"}]},"joined_at":{"format":"date-time","type":"string","nullable":true},"sort_order":{"type":"number","nullable":true,"format":"int32"}},"required":["workspace_id","role"]},"UserType":{"type":"string","enum":["user","bot"]},"Contact":{"type":"object","properties":{"user_guid":{"type":"string"},"image_url":{"type":"string","nullable":true},"first_name":{"type":"string"},"last_name":{"type":"string"},"languages":{"type":"array","items":{"type":"string"}},"voice_gender":{"allOf":[{"$ref":"#/components/schemas/Gender"}]},"created_by":{"type":"string","nullable":true},"created_at":{"format":"date-time","type":"string"},"last_updated_at":{"format":"date-time","type":"string","nullable":true},"workspace_guids":{"type":"array","items":{"type":"string"}},"workspace_roles":{"type":"array","items":{"$ref":"#/components/schemas/WorkspaceRole"}},"is_allowed_to_receive_notification":{"type":"boolean"},"user_type":{"allOf":[{"$ref":"#/components/schemas/UserType"}]}},"required":["user_guid","image_url","first_name","last_name","languages","voice_gender","created_by","created_at","last_updated_at","workspace_guids","workspace_roles","is_allowed_to_receive_notification","user_type"]},"PersonalNotesResponse":{"type":"object","properties":{"notes":{"type":"array","items":{"$ref":"#/components/schemas/PersonalNote"}},"users":{"type":"array","items":{"$ref":"#/components/schemas/Contact"}},"success":{"type":"boolean"},"error_message":{"type":"string","nullable":true}},"required":["notes","users","success","error_message"]},"MessageInteraction":{"type":"object","properties":{"user_id":{"type":"string"},"heard_ms":{"type":"number","format":"int64"},"is_notified":{"type":"boolean"},"reaction_ids":{"type":"array","items":{"type":"string"}}},"required":["user_id","heard_ms","is_notified","reaction_ids"]},"PreserveMessagesPayload":{"type":"object","properties":{"channel_id":{"type":"string"},"is_preserved":{"type":"boolean","description":"If true, all messages will be marked as preserved, if false, all messages won't be marked as preserved"},"message_ids":{"description":"Array of message ids to preserve or un-preserve","type":"array","items":{"type":"string"}}},"required":["channel_id","is_preserved","message_ids"]},"MessagePreserved":{"type":"object","properties":{"is_preserved":{"type":"boolean","description":"Indicates if message is marked as preserved or not"},"message_id":{"type":"string"}},"required":["is_preserved","message_id"]},"PreserveMessagesResponse":{"type":"object","properties":{"channel_id":{"type":"string"},"messages":{"description":"Array of messages with their preserved info","type":"array","items":{"$ref":"#/components/schemas/MessagePreserved"}}},"required":["channel_id","messages"]},"SetTaggedUsersDto":{"type":"object","properties":{"user_ids":{"description":"Full list of user IDs to tag on the message. Replaces the current list atomically. Maximum 100 entries.","example":["userId1","userId2"],"maxItems":100,"type":"array","items":{"type":"string"}}},"required":["user_ids"]},"UserMessageStatisticModel":{"type":"object","properties":{"_id":{"type":"string"},"dmMessagesPerWeek":{"type":"array","items":{"type":"number"}},"nonDmMessagesPerWeek":{"type":"array","items":{"type":"number"}}},"required":["_id","dmMessagesPerWeek","nonDmMessagesPerWeek"]},"UtmData":{"type":"object","properties":{"utm_source":{"type":"string"},"utm_medium":{"type":"string"},"utm_campaign":{"type":"string"},"utm_term":{"type":"string"},"utm_content":{"type":"string"}}},"UserReaction":{"type":"object","properties":{"user_id":{"type":"string"},"reaction_id":{"type":"string"}},"required":["user_id","reaction_id"]},"ReactionSummary":{"type":"object","properties":{"reaction_counts":{"type":"object","additionalProperties":{"type":"number"}},"top_user_reactions":{"type":"array","items":{"$ref":"#/components/schemas/UserReaction"}}},"required":["reaction_counts","top_user_reactions"]},"AudioModelV2":{"type":"object","properties":{"_id":{"type":"string"},"url":{"type":"string"},"extension":{"type":"string","nullable":true},"streaming":{"type":"boolean"},"language":{"type":"string"},"duration_ms":{"type":"number"},"waveform_percentages":{"type":"array","items":{"type":"number"}},"is_original_audio":{"type":"boolean"}},"required":["_id","url","extension","streaming","language","duration_ms","waveform_percentages","is_original_audio"]},"TextModelType":{"type":"string","enum":["transcript","transcript_with_timecode","summary","topic","bullet_list"]},"TimedText":{"type":"object","properties":{"t":{"type":"string","description":"The text"},"s":{"type":"number","description":"The start time in ms","format":"int64"},"e":{"type":"number","description":"The end time in ms","format":"int64"}},"required":["t","s","e"]},"TextModel":{"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/TextModelType"}]},"audio_id":{"type":"string","nullable":true},"language_id":{"type":"string"},"value":{"type":"string"},"timecodes":{"type":"array","items":{"$ref":"#/components/schemas/TimedText"}}},"required":["type","audio_id","language_id","value","timecodes"]},"AudioDelivery":{"type":"string","enum":["recording","streaming"]},"UsersNotAllowedReceiveNotifications":{"type":"object","properties":{"user_id":{"type":"string"},"phone":{"type":"string"}},"required":["user_id","phone"]},"UsersNotAllowedReceiveNotificationsV2":{"type":"object","properties":{"user_id":{"type":"string"},"phone":{"type":"string","nullable":true},"email":{"type":"string","nullable":true}},"required":["user_id"]},"CaughtUpStatus":{"type":"string","enum":["all","some","none"],"description":"The number of users that listened to the audio or removed the notification"},"MessageV2":{"type":"object","properties":{"message_id":{"type":"string"},"creator_id":{"type":"string"},"created_at":{"format":"date-time","type":"string"},"deleted_at":{"format":"date-time","type":"string","nullable":true},"last_updated_at":{"format":"date-time","type":"string"},"workspace_ids":{"type":"array","items":{"type":"string"}},"channel_ids":{"type":"array","items":{"type":"string"}},"parent_message_id":{"type":"string","nullable":true},"heard_ms":{"type":"number","nullable":true,"description":"The number of ms of audio listened to by the user requesting the message","format":"int64"},"utm_data":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/UtmData"}]},"attachments":{"type":"array","items":{"$ref":"#/components/schemas/Attachment"}},"notes":{"type":"string"},"notify":{"type":"boolean","description":"Has the logged in user cleared the notification for this message"},"last_heard_update":{"format":"date-time","type":"string","nullable":false,"description":"Last time we listened/updated notify bit"},"reaction_summary":{"$ref":"#/components/schemas/ReactionSummary"},"name":{"type":"string","nullable":true},"is_text_message":{"type":"boolean"},"status":{"allOf":[{"$ref":"#/components/schemas/MessageStatus"}]},"label_ids":{"type":"array","items":{"type":"string"}},"audio_models":{"type":"array","items":{"$ref":"#/components/schemas/AudioModelV2"}},"text_models":{"type":"array","items":{"$ref":"#/components/schemas/TextModel"}},"source_message_id":{"type":"string","nullable":true},"cache_key":{"type":"string"},"audio_delivery":{"allOf":[{"$ref":"#/components/schemas/AudioDelivery"}]},"users_not_allowed_to_receive_notifications":{"type":"array","items":{"$ref":"#/components/schemas/UsersNotAllowedReceiveNotifications"}},"users_not_allowed_to_receive_notifications_v2":{"type":"array","items":{"$ref":"#/components/schemas/UsersNotAllowedReceiveNotificationsV2"}},"duration_ms":{"type":"number","description":"The length of the message in milliseconds","format":"int32"},"total_heard_ms":{"type":"number","description":"The number of ms of audio listened to by all users","format":"int64"},"notified_users":{"type":"number","description":"Then number of users who have a notification for this message and have not listened to the audio.","format":"int32"},"users_caught_up":{"description":"The number of users that listened to the audio or removed the notification","allOf":[{"$ref":"#/components/schemas/CaughtUpStatus"}]},"forward_id":{"type":"string","description":"The ID of a forwarded message (Deprecated, for new implementations we should start using share_link_id","nullable":true,"deprecated":true},"share_link_id":{"type":"string","description":"The ID of a Share Link to a message","nullable":true},"stream_key":{"type":"string","description":"The stream key used to add audio to the message","nullable":true},"socket_disconnects_while_streaming":{"type":"number","description":"The number of times the socket disconnected while the creator was sending audio","nullable":false,"default":0,"format":"int32"},"type":{"description":"Message type","nullable":true,"allOf":[{"$ref":"#/components/schemas/MessageType"}]},"channel_sequence":{"type":"number","description":"The sequencial id of the message within the channel","nullable":false,"format":"int32"},"last_heard_at":{"format":"date-time","type":"string","description":"The last time anyone listened or cleared notified on this message","nullable":false},"folder_id":{"type":"string","description":"Folder ID, only present when the message type is one of: voicememo,prerecorded","nullable":true},"tagged_user_ids":{"description":"IDs of users tagged in the message","type":"array","items":{"type":"string"}}},"required":["message_id","creator_id","created_at","last_updated_at","workspace_ids","channel_ids","attachments","notes","notify","last_heard_update","reaction_summary","is_text_message","status","label_ids","audio_models","text_models","source_message_id","cache_key","audio_delivery","duration_ms","total_heard_ms","notified_users","users_caught_up","socket_disconnects_while_streaming","type","channel_sequence","last_heard_at","tagged_user_ids"]},"MessageKind":{"type":"string","enum":["audio","text","attachment","action-item","ai-prompt","ai-response","channel-reminder"]},"StartMessageWithForward":{"type":"object","properties":{"forwarded_message_id":{"type":"string","description":"Message ID that will be forwarded"},"end_access_at":{"format":"date-time","type":"string","description":"Date when the access to forwarded message ends","nullable":true}},"required":["forwarded_message_id"]},"StartChannelMessage":{"type":"object","properties":{"transcript":{"type":"string","nullable":true,"description":"The transcript if the client generated one, if is_text_message is true then this text will be used to generate andio using text-to-speech"},"is_text_message":{"type":"boolean","description":"If true the server will generate audio based on the transcript provided"},"unique_client_id":{"type":"string","description":"A unique id the client can use to identify the message, server will prevent duplicates using it"},"release_date":{"format":"date-time","type":"string","nullable":true,"description":"The date the message should be released (Not yet implemented)"},"utm_data":{"nullable":true,"description":"The utm tracking data for the message","allOf":[{"$ref":"#/components/schemas/UtmData"}]},"is_streaming":{"type":"boolean","description":"If the message is being streamed than notifications are sent to listeners at the begining of the message"},"announce_user":{"type":"boolean","nullable":true,"description":"Only used if is_text_message is true, prepends <first name said> to transcript before text-to-speech"},"voice":{"type":"string","nullable":true,"description":"the voice to use when doing text to speech"},"kind":{"allOf":[{"$ref":"#/components/schemas/MessageKind"}]},"channel_id":{"type":"string"},"workspace_guid":{"type":"string","nullable":true},"reply_to_message_id":{"type":"string","nullable":true},"createForward":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/StartMessageWithForward"}]},"tagged_user_ids":{"description":"IDs of users to tag on this message at creation time","type":"array","items":{"type":"string"}}},"required":["is_text_message","unique_client_id","is_streaming","channel_id"]},"StartPrerecordedMessage":{"type":"object","properties":{"transcript":{"type":"string","nullable":true,"description":"The transcript if the client generated one, if is_text_message is true then this text will be used to generate andio using text-to-speech"},"is_text_message":{"type":"boolean","description":"If true the server will generate audio based on the transcript provided"},"unique_client_id":{"type":"string","description":"A unique id the client can use to identify the message, server will prevent duplicates using it"},"release_date":{"format":"date-time","type":"string","nullable":true,"description":"The date the message should be released (Not yet implemented)"},"utm_data":{"nullable":true,"description":"The utm tracking data for the message","allOf":[{"$ref":"#/components/schemas/UtmData"}]},"is_streaming":{"type":"boolean","description":"If the message is being streamed than notifications are sent to listeners at the begining of the message"},"announce_user":{"type":"boolean","nullable":true,"description":"Only used if is_text_message is true, prepends <first name said> to transcript before text-to-speech"},"voice":{"type":"string","nullable":true,"description":"the voice to use when doing text to speech"},"kind":{"allOf":[{"$ref":"#/components/schemas/MessageKind"}]},"name":{"type":"string"},"folder_id":{"type":"string","description":"Folder ID (not allowed when workspace_id specified is different from the folder_id)"},"workspace_id":{"type":"string","description":"Workspace ID (not allowed when folder_id specified is different from the folder_id)"}},"required":["is_text_message","unique_client_id","is_streaming","name"]},"StartLabeledMessage":{"type":"object","properties":{"transcript":{"type":"string","nullable":true,"description":"The transcript if the client generated one, if is_text_message is true then this text will be used to generate andio using text-to-speech"},"is_text_message":{"type":"boolean","description":"If true the server will generate audio based on the transcript provided"},"unique_client_id":{"type":"string","description":"A unique id the client can use to identify the message, server will prevent duplicates using it"},"release_date":{"format":"date-time","type":"string","nullable":true,"description":"The date the message should be released (Not yet implemented)"},"utm_data":{"nullable":true,"description":"The utm tracking data for the message","allOf":[{"$ref":"#/components/schemas/UtmData"}]},"is_streaming":{"type":"boolean","description":"If the message is being streamed than notifications are sent to listeners at the begining of the message"},"announce_user":{"type":"boolean","nullable":true,"description":"Only used if is_text_message is true, prepends <first name said> to transcript before text-to-speech"},"voice":{"type":"string","nullable":true,"description":"the voice to use when doing text to speech"},"kind":{"allOf":[{"$ref":"#/components/schemas/MessageKind"}]},"label_id":{"type":"string","description":"The id of the label to store this message under"}},"required":["is_text_message","unique_client_id","is_streaming","label_id"]},"StartWelcomeMessage":{"type":"object","properties":{"transcript":{"type":"string","nullable":true,"description":"The transcript if the client generated one, if is_text_message is true then this text will be used to generate andio using text-to-speech"},"is_text_message":{"type":"boolean","description":"If true the server will generate audio based on the transcript provided"},"unique_client_id":{"type":"string","description":"A unique id the client can use to identify the message, server will prevent duplicates using it"},"release_date":{"format":"date-time","type":"string","nullable":true,"description":"The date the message should be released (Not yet implemented)"},"utm_data":{"nullable":true,"description":"The utm tracking data for the message","allOf":[{"$ref":"#/components/schemas/UtmData"}]},"is_streaming":{"type":"boolean","description":"If the message is being streamed than notifications are sent to listeners at the begining of the message"},"announce_user":{"type":"boolean","nullable":true,"description":"Only used if is_text_message is true, prepends <first name said> to transcript before text-to-speech"},"voice":{"type":"string","nullable":true,"description":"the voice to use when doing text to speech"},"kind":{"allOf":[{"$ref":"#/components/schemas/MessageKind"}]},"workspace_id":{"type":"string"},"is_voicemail":{"type":"boolean"}},"required":["is_text_message","unique_client_id","is_streaming","workspace_id","is_voicemail"]},"TranslateMessages":{"type":"object","properties":{"message_ids":{"type":"array","items":{"type":"string"}},"language":{"type":"string"}},"required":["message_ids","language"]},"TranslationRequestParams":{"type":"object","properties":{"ids":{"nullable":false,"description":"List of message ids or message share ids.","type":"array","items":{"type":"string"}},"language":{"type":"string","nullable":false}},"required":["ids","language"]},"StreamKeyResponse":{"type":"object","properties":{"stream_key":{"type":"string"},"message_id":{"type":"string"},"message_status":{"type":"string"},"unique_client_id":{"type":"string"}},"required":["stream_key","message_id","message_status","unique_client_id"]},"GetMessagesByIdPayload":{"type":"object","properties":{"message_ids":{"description":"List of message ids to retrieve\nPS: Only possible request 500 messages each time","type":"array","items":{"type":"string"}}},"required":["message_ids"]},"MessagesByIdResponse":{"type":"object","properties":{"channel_id":{"type":"string"},"messages":{"description":"List of messages","type":"array","items":{"$ref":"#/components/schemas/MessageV2"}}},"required":["channel_id","messages"]},"UpdateMessageSummary":{"type":"object","properties":{"message_guid":{"type":"string"},"workspace_guid":{"type":"string"},"text":{"type":"string"}},"required":["message_guid","workspace_guid","text"]},"MessageQueryParameters":{"type":"object","properties":{"date":{"format":"date-time","type":"string"},"direction":{"allOf":[{"$ref":"#/components/schemas/Direction"}]},"limit":{"type":"number","format":"int32"},"channel_id":{"type":"string"},"use_last_updated":{"type":"boolean"}},"required":["date","direction","use_last_updated"]},"SetMessageName":{"type":"object","properties":{"message_id":{"type":"string"},"name":{"type":"string","nullable":true}},"required":["message_id"]},"StartVoicememoMessage":{"type":"object","properties":{"transcript":{"type":"string","nullable":true,"description":"The transcript if the client generated one, if is_text_message is true then this text will be used to generate andio using text-to-speech"},"is_text_message":{"type":"boolean","description":"If true the server will generate audio based on the transcript provided"},"unique_client_id":{"type":"string","description":"A unique id the client can use to identify the message, server will prevent duplicates using it"},"release_date":{"format":"date-time","type":"string","nullable":true,"description":"The date the message should be released (Not yet implemented)"},"utm_data":{"nullable":true,"description":"The utm tracking data for the message","allOf":[{"$ref":"#/components/schemas/UtmData"}]},"is_streaming":{"type":"boolean","description":"If the message is being streamed than notifications are sent to listeners at the begining of the message"},"announce_user":{"type":"boolean","nullable":true,"description":"Only used if is_text_message is true, prepends <first name said> to transcript before text-to-speech"},"voice":{"type":"string","nullable":true,"description":"the voice to use when doing text to speech"},"kind":{"allOf":[{"$ref":"#/components/schemas/MessageKind"}]},"folder_id":{"type":"string","description":"Folder ID (not allowed when workspace_id specified is different from the folder_id)"},"workspace_id":{"type":"string","description":"Workspace ID (not allowed when folder_id specified is different from the folder_id)"}},"required":["is_text_message","unique_client_id","is_streaming"]},"StartMessage":{"type":"object","properties":{"transcript":{"type":"string","nullable":true,"description":"The transcript if the client generated one, if is_text_message is true then this text will be used to generate andio using text-to-speech"},"is_text_message":{"type":"boolean","description":"If true the server will generate audio based on the transcript provided"},"unique_client_id":{"type":"string","description":"A unique id the client can use to identify the message, server will prevent duplicates using it"},"release_date":{"format":"date-time","type":"string","nullable":true,"description":"The date the message should be released (Not yet implemented)"},"utm_data":{"nullable":true,"description":"The utm tracking data for the message","allOf":[{"$ref":"#/components/schemas/UtmData"}]},"is_streaming":{"type":"boolean","description":"If the message is being streamed than notifications are sent to listeners at the begining of the message"},"announce_user":{"type":"boolean","nullable":true,"description":"Only used if is_text_message is true, prepends <first name said> to transcript before text-to-speech"},"voice":{"type":"string","nullable":true,"description":"the voice to use when doing text to speech"},"kind":{"allOf":[{"$ref":"#/components/schemas/MessageKind"}]}},"required":["is_text_message","unique_client_id","is_streaming"]},"SortDirection":{"type":"string","enum":["ASC","DESC"]},"GetListOfMessagesById":{"type":"object","properties":{"message_ids":{"description":"List of Message IDs, Max allowed is 500","type":"array","items":{"type":"string"}}},"required":["message_ids"]},"CreatePrerecordedMessage":{"type":"object","properties":{"message_id":{"type":"string"},"name":{"type":"string","nullable":true},"attachments":{"type":"array","items":{"$ref":"#/components/schemas/RequestAttachment"}}},"required":["message_id","attachments"]},"MessageAndInteractionData":{"type":"object","properties":{"message":{"$ref":"#/components/schemas/MessageV2"},"interactions":{"type":"array","items":{"$ref":"#/components/schemas/MessageInteraction"}}},"required":["message","interactions"]},"MessageTranscriptV2":{"type":"object","properties":{"message_id":{"type":"string"},"audio_id":{"type":"string"},"words":{"type":"array","items":{"$ref":"#/components/schemas/WordsWithTimeCode"}}},"required":["message_id","audio_id","words"]},"UserIdentity":{"type":"object","properties":{"user_guid":{"type":"string"},"provider_email":{"type":"string","nullable":true},"provider":{"type":"string","nullable":true},"provider_uid":{"type":"string","nullable":true},"image_url":{"type":"string","nullable":true},"first_name":{"type":"string","nullable":true},"last_name":{"type":"string","nullable":true},"is_verified":{"type":"string"},"provider_phone":{"type":"string","nullable":true}},"required":["user_guid","is_verified"]},"ProfileEntryGroup":{"type":"string","enum":["CALLME","EMAILME","OTHER","VIDEOME","MESSAGEME","SCHEDULEME","COLLABORATE","PAYME"]},"UserEntryDto":{"type":"object","properties":{"entry_guid":{"type":"string"},"group_cd":{"allOf":[{"$ref":"#/components/schemas/ProfileEntryGroup"}]},"type_cd":{"type":"string"},"label_txt":{"type":"string"},"value_txt":{"type":"string"},"also_supports_mask":{"type":"number","format":"int32"}},"required":["entry_guid","group_cd","type_cd","label_txt","value_txt","also_supports_mask"]},"NotifyByMethods":{"type":"object","properties":{"email":{"type":"boolean"},"sms":{"type":"boolean"},"push":{"type":"boolean"}}},"NotifyBy":{"type":"object","properties":{"DAILY_DIGEST":{"description":"Get Notification by","allOf":[{"$ref":"#/components/schemas/NotifyByMethods"}]},"CONV_ADDED_NAMED":{"description":"Get Notification by","allOf":[{"$ref":"#/components/schemas/NotifyByMethods"}]},"MSG_NEW":{"description":"Get Notification by","allOf":[{"$ref":"#/components/schemas/NotifyByMethods"}]},"EMOTICON_RSP":{"description":"Get Notification by","allOf":[{"$ref":"#/components/schemas/NotifyByMethods"}]},"MEET_NEW":{"description":"Get Notification by","allOf":[{"$ref":"#/components/schemas/NotifyByMethods"}]},"MEET_UPDATE_CREATOR":{"description":"Get Notification by","allOf":[{"$ref":"#/components/schemas/NotifyByMethods"}]},"MEET_UPDATE_MEMBER":{"description":"Get Notification by","allOf":[{"$ref":"#/components/schemas/NotifyByMethods"}]},"MEET_ENDED":{"description":"Get Notification by","allOf":[{"$ref":"#/components/schemas/NotifyByMethods"}]},"MEET_JOINED":{"description":"Get Notification by","allOf":[{"$ref":"#/components/schemas/NotifyByMethods"}]},"WS_INVITE":{"description":"Get Notification by","allOf":[{"$ref":"#/components/schemas/NotifyByMethods"}]},"WS_JOINED":{"description":"Get Notification by","allOf":[{"$ref":"#/components/schemas/NotifyByMethods"}]},"WS_ADDED":{"description":"Get Notification by","allOf":[{"$ref":"#/components/schemas/NotifyByMethods"}]},"ACTION_ITEM_ASSIGNED_TO_ME":{"description":"Get Notification by","allOf":[{"$ref":"#/components/schemas/NotifyByMethods"}]},"ACTION_ITEM_DONE":{"description":"Get Notification by","allOf":[{"$ref":"#/components/schemas/NotifyByMethods"}]},"CHANNEL_REMINDER":{"description":"Get Notification by","allOf":[{"$ref":"#/components/schemas/NotifyByMethods"}]}}},"ConversationSettings":{"type":"object","properties":{"channel_id":{"type":"string","description":"Channel ID"},"state":{"type":"string","enum":["normal","muted"],"description":"Notification State"},"sound_standard":{"type":"string","description":"Standard Message Sound","nullable":true},"sound_urgent":{"type":"string","description":"Urgent Message Sound","nullable":true},"sound_reply":{"type":"string","description":"Reply Message Sound","nullable":true}},"required":["channel_id","state"]},"NotificationSettings":{"type":"object","properties":{"notify_by":{"description":"List of actions to be notified","allOf":[{"$ref":"#/components/schemas/NotifyBy"}]},"primary_notification_email":{"type":"string","description":"Primary email notification (Will be used to send notifications)"},"primary_notification_phone":{"type":"string","description":"Primary sms notification (Will be used to send notifications)"},"product_notification_email":{"type":"string","description":"Primary Product email notification (Will be used to send product notifications)"},"conversation_settings":{"description":"Conversation Settings","type":"array","items":{"$ref":"#/components/schemas/ConversationSettings"}}},"required":["notify_by"]},"UserEnvironment":{"type":"object","properties":{"name":{"type":"string"},"apiUrl":{"type":"string"},"wsUrl":{"type":"string"}},"required":["name","apiUrl","wsUrl"]},"TTSMode":{"type":"string","enum":["cloned_voice","standard","premium"]},"TranslationMode":{"type":"string","enum":["not_specified","none","tts","dubbing"]},"LifecycleEventType":{"type":"string","enum":["Login","UsedDiscussionLink","IdentityAddded","CreatedPlaylist","CreatedWorkspace","CreatedPersonalCarbonLink","NotifiedMessageAccess","VoiceMemoCreated","ConversationMessageCreated","DowngradedToLowerPlan","AIResponseGenerated","JoinedConversation","JoinedWorkspace","PersonalizedTTS","DownloadedApp","CheckedUsers","SetPhoto","InvitedUser","WatchedGestureGuide","WatchedWelcomeVideo"]},"LifecycleEvent":{"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/LifecycleEventType"}]},"times":{"type":"number"}},"required":["type","times"]},"UserDto":{"type":"object","properties":{"user_guid":{"type":"string"},"uuid":{"type":"string"},"first_name":{"type":"string","nullable":true},"last_name":{"type":"string","nullable":true},"image_url":{"type":"string"},"created_by":{"type":"string","nullable":true},"role":{"type":"string","nullable":true},"created_ts":{"type":"number","format":"int64"},"last_updated_ts":{"type":"number","format":"int64"},"last_seen_ts":{"type":"number","format":"int64"},"timezone_offset_minutes":{"type":"number","format":"int64"},"is_verified":{"type":"string"},"is_allowed_through_gate":{"type":"boolean"},"phone_txt":{"type":"string","nullable":true},"email_txt":{"type":"string","nullable":true},"workspace_guids":{"type":"array","items":{"type":"string"}},"identities":{"type":"array","items":{"$ref":"#/components/schemas/UserIdentity"}},"settings":{"type":"object","additionalProperties":{"type":"string"}},"entries":{"type":"array","items":{"$ref":"#/components/schemas/UserEntryDto"}},"last_seen_on":{"format":"date-time","type":"string","nullable":true},"plan_type":{"type":"string"},"notification_settings":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/NotificationSettings"}]},"environments":{"type":"array","items":{"$ref":"#/components/schemas/UserEnvironment"}},"languages":{"type":"array","items":{"type":"string"}},"voice_gender":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/Gender"}]},"voice_id":{"type":"string","nullable":true},"has_fcm_token":{"type":"boolean"},"tts_mode":{"allOf":[{"$ref":"#/components/schemas/TTSMode"}]},"translation_mode":{"allOf":[{"$ref":"#/components/schemas/TranslationMode"}]},"preserve_senders_voice":{"type":"boolean","nullable":false},"lifecycle_events":{"type":"array","items":{"$ref":"#/components/schemas/LifecycleEvent"}},"user_type":{"allOf":[{"$ref":"#/components/schemas/UserType"}]}},"required":["user_guid","uuid","image_url","created_ts","last_updated_ts","last_seen_ts","timezone_offset_minutes","is_verified","is_allowed_through_gate","workspace_guids","identities","settings","entries","plan_type","environments","languages","has_fcm_token","tts_mode","translation_mode","preserve_senders_voice","lifecycle_events","user_type"]},"UnverifiedMessagesV2":{"type":"object","properties":{"success":{"type":"boolean"},"user":{"$ref":"#/components/schemas/UserDto"},"identities":{"type":"array","items":{"$ref":"#/components/schemas/UserIdentity"}},"potentialIdentities":{"type":"array","items":{"$ref":"#/components/schemas/UserIdentity"}},"potentialMessages":{"type":"array","items":{"$ref":"#/components/schemas/MessageV2"}}},"required":["success","user","identities","potentialIdentities","potentialMessages"]},"DeleteMessagesByIdPayload":{"type":"object","properties":{"message_ids":{"type":"array","items":{"type":"string"}}},"required":["message_ids"]},"Failed":{"type":"object","properties":{"message_id":{"type":"string"},"reason":{"type":"string"}},"required":["message_id","reason"]},"DeleteMessagesByIdResponse":{"type":"object","properties":{"success":{"type":"array","items":{"type":"string"}},"failed":{"type":"array","items":{"$ref":"#/components/schemas/Failed"}}}},"V5UtmDataPayload":{"type":"object","properties":{"utm_source":{"type":"string"},"utm_medium":{"type":"string"},"utm_campaign":{"type":"string"},"utm_term":{"type":"string"},"utm_content":{"type":"string"}}},"V5ForwardPayload":{"type":"object","properties":{"forwarded_message_id":{"type":"string","description":"ID of the message being forwarded"},"end_access_at":{"type":"string","description":"Optional moment when access to the forwarded message should expire","format":"date-time"}},"required":["forwarded_message_id"]},"V5TranscriptTimeCodePayload":{"type":"object","properties":{"words":{"type":"string"},"startMs":{"type":"number","format":"int32","minimum":0},"endMs":{"type":"number","format":"int32","minimum":0}},"required":["words","startMs","endMs"]},"V5RequestAttachmentPayload":{"type":"object","properties":{"type":{"description":"Attachment type","allOf":[{"$ref":"#/components/schemas/AttachmentType"}]},"link":{"type":"string","description":"URL or canonical link for the attachment"},"idempotency_key":{"type":"string","description":"Optional client-supplied UUID idempotency key for this attachment row. Maps to legacy attachment client_id.","format":"uuid"},"filename":{"type":"string"},"mime_type":{"type":"string"},"length_in_bytes":{"type":"number","format":"int64","minimum":0},"status":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/AttachmentStatus"}]},"created_at":{"format":"date-time","type":"string","nullable":true},"percent_complete":{"type":"number","format":"int32","minimum":0,"maximum":100,"nullable":true}},"required":["type","link"]},"CreateConversationAudioV5Payload":{"type":"object","properties":{"idempotency_key":{"type":"string","description":"Optional client-supplied UUID idempotency key. When the key is reused for the same user the server returns the existing message instead of failing.","format":"uuid"},"conversation_id":{"type":"string","description":"Conversation (legacy `channel_id`). Required in the JSON body for every `/v5/messages/*` route."},"utm_data":{"description":"Optional UTM tracking data. Only valid on `/v5/messages/*` routes.","allOf":[{"$ref":"#/components/schemas/V5UtmDataPayload"}]},"reply_to_message_id":{"type":"string","description":"ID of the message being replied to; backend resolves the thread root automatically"},"forward":{"$ref":"#/components/schemas/V5ForwardPayload"},"duration":{"type":"number","description":"Optional client-measured audio duration in milliseconds. Server derives one if omitted.","format":"int32","minimum":0},"transcript_timecodes":{"description":"Optional word-level transcript time codes. Server defaults to `[]` when omitted.","type":"array","items":{"$ref":"#/components/schemas/V5TranscriptTimeCodePayload"}},"attachments":{"type":"array","items":{"$ref":"#/components/schemas/V5RequestAttachmentPayload"}}},"required":["conversation_id"]},"CreateVoicememoAudioV5Payload":{"type":"object","properties":{"idempotency_key":{"type":"string","description":"Optional client-supplied UUID idempotency key. When the key is reused for the same user the server returns the existing message instead of failing.","format":"uuid"},"workspace_id":{"type":"string","description":"Optional workspace target. When omitted, server falls back to the legacy default (personal workspace)."},"folder_id":{"type":"string","description":"Optional folder target. When omitted, server keeps the legacy fallback behavior."},"duration":{"type":"number","description":"Optional client-measured audio duration in milliseconds. Server derives one if omitted.","format":"int32","minimum":0},"transcript_timecodes":{"description":"Optional word-level transcript time codes. Server defaults to `[]` when omitted.","type":"array","items":{"$ref":"#/components/schemas/V5TranscriptTimeCodePayload"}},"attachments":{"type":"array","items":{"$ref":"#/components/schemas/V5RequestAttachmentPayload"}}}},"GetMessagesByIdsV5Payload":{"type":"object","properties":{"conversation_id":{"type":"string","description":"Conversation (channel) ID. User must have access to this conversation.","example":"507f1f77bcf86cd799439011"},"message_ids":{"description":"List of message IDs to fetch. Only messages in the given conversation are returned.","example":["507f1f77bcf86cd799439012","507f1f77bcf86cd799439013"],"maxItems":500,"type":"array","items":{"type":"string"}},"language":{"type":"string","description":"Language for message content (e.g. transcript, audio). Original language used if not provided."},"presigned_url":{"type":"boolean","description":"Include presigned URLs for audio files (default: false)","default":false},"fresh":{"type":"boolean","description":"Bypass cache and fetch fresh data (default: false)","default":false}},"required":["conversation_id","message_ids"]},"AttachmentV5":{"type":"object","properties":{"presigned_url":{"type":"string","description":"Presigned URL for direct S3 access","nullable":true},"presigned_url_expiration_date":{"type":"string","description":"Expiration date for the presigned URL","format":"date-time","nullable":true},"id":{"type":"string","description":"Attachment ID"},"idempotency_key":{"type":"string","description":"Optional attachment-level idempotency key. Surfaced when the underlying attachment was created with a client-supplied `idempotency_key` (legacy `client_id`).","nullable":true},"creator_id":{"type":"string","description":"Creator ID"},"created_at":{"type":"string","description":"Creation timestamp","format":"date-time"},"type":{"description":"Attachment type","allOf":[{"$ref":"#/components/schemas/AttachmentType"}]},"url":{"type":"string","description":"URL/Link to the attachment"},"filename":{"type":"string","description":"Filename of the attachment","nullable":true},"mime_type":{"type":"string","description":"MIME type of the attachment","nullable":true},"length_in_bytes":{"type":"number","description":"Size of the attachment in bytes","format":"int64","nullable":true},"status":{"description":"Upload lifecycle status of the attachment. Surfaced when the underlying attachment row carries one.","nullable":true,"allOf":[{"$ref":"#/components/schemas/AttachmentStatus"}]},"percent_complete":{"type":"number","description":"Upload progress percentage (0-100) for the attachment. Surfaced when the underlying attachment row carries one.","format":"int32","minimum":0,"maximum":100,"nullable":true}},"required":["id","creator_id","created_at","type","url"]},"MessageAIResponse":{"type":"object","properties":{"id":{"type":"string","description":"AI Response ID"},"prompt_id":{"type":"string","description":"Prompt ID"}},"required":["id","prompt_id"]},"MessageTimeCode":{"type":"object","properties":{"t":{"type":"string","description":"Text/word for the time code"},"s":{"type":"number","description":"Start time in milliseconds","format":"int64"},"e":{"type":"number","description":"End time in milliseconds","format":"int64"}},"required":["t","s","e"]},"UtmDataV5":{"type":"object","properties":{"utm_source":{"type":"string","description":"UTM source parameter","nullable":true},"utm_medium":{"type":"string","description":"UTM medium parameter","nullable":true},"utm_campaign":{"type":"string","description":"UTM campaign parameter","nullable":true},"utm_content":{"type":"string","description":"UTM content parameter","nullable":true},"utm_term":{"type":"string","description":"UTM term parameter","nullable":true}}},"AudioInfo":{"type":"object","properties":{"presigned_url":{"type":"string","description":"Presigned URL for direct S3 access","nullable":true},"presigned_url_expiration_date":{"type":"string","description":"Expiration date for the presigned URL","format":"date-time","nullable":true},"url":{"type":"string","description":"URL to the audio file","nullable":true},"streaming_url":{"type":"string","description":"URL to the streaming audio file","nullable":true},"duration_ms":{"type":"number","description":"Duration of the audio in milliseconds","format":"int64","nullable":true},"waveform_percentages":{"description":"Waveform percentages for the message","type":"array","items":{"type":"number"}}}},"UserReactionV5":{"type":"object","properties":{"user_id":{"type":"string","description":"User ID"},"reaction_id":{"type":"string","description":"Reaction ID"}},"required":["user_id","reaction_id"]},"ReactionSummaryV5":{"type":"object","properties":{"reaction_counts":{"type":"object","description":"Reaction counts by reaction ID","additionalProperties":{"type":"number"}},"top_user_reactions":{"description":"Top user reactions","type":"array","items":{"$ref":"#/components/schemas/UserReactionV5"}}},"required":["reaction_counts","top_user_reactions"]},"UserNotAllowedReceiveNotification":{"type":"object","properties":{"user_id":{"type":"string","description":"User ID"},"phone":{"type":"string","description":"Phone number","nullable":true},"email":{"type":"string","description":"Email address","nullable":true}},"required":["user_id"]},"MessageSource":{"type":"string","enum":["email_ingestion","reminder_user_id"],"description":"Source value for the message"},"MessageV5":{"type":"object","properties":{"id":{"type":"string","description":"Message ID"},"type":{"description":"Type of the Message","allOf":[{"$ref":"#/components/schemas/MessageType"}]},"kind":{"description":"Kind of the Message","allOf":[{"$ref":"#/components/schemas/MessageKind"}]},"created_at":{"type":"string","format":"date-time","description":"Creation timestamp"},"updated_at":{"type":"string","format":"date-time","description":"Last update timestamp"},"deleted_at":{"type":"string","format":"date-time","description":"Deletion timestamp"},"conversation_id":{"type":"string","description":"Conversation ID"},"workspace_id":{"type":"string","description":"Workspace ID"},"creator_id":{"type":"string","description":"Creator ID"},"status":{"description":"Current status of the Message","allOf":[{"$ref":"#/components/schemas/MessageStatus"}]},"parent_message_id":{"type":"string","description":"ID of the thread root message this message is a reply to. When present, the message is a reply within a thread."},"idempotency_key":{"type":"string","description":"Optional canonical idempotency key surfaced when the underlying message data carries one. Not guaranteed to be present on every message."},"unique_client_id":{"type":"string","description":"**Deprecated.** Legacy alias of `idempotency_key`; kept temporarily for backward compatibility. May be removed after November 2026. When emitted, its value matches `idempotency_key`.","deprecated":true},"attachments":{"description":"List of attachments for the message","type":"array","items":{"$ref":"#/components/schemas/AttachmentV5"}},"language":{"type":"string","description":"Language for the message (Transcript, AI summary, Audio...)"},"available_languages":{"description":"List of available languages for the message","type":"array","items":{"type":"string"}},"is_original_language":{"type":"boolean","description":"Whether the message is in its original language"},"transcript":{"type":"string","description":"Transcript of the message"},"ai_summary":{"type":"string","description":"AI Summary generated of the message"},"ai_response_ids":{"description":"List of AI response IDs associated with the message","type":"array","items":{"$ref":"#/components/schemas/MessageAIResponse"}},"share_link_id":{"type":"string","description":"Share Link ID to a message"},"link":{"type":"string","description":"Link to Message"},"time_codes":{"description":"Time codes for the message","type":"array","items":{"$ref":"#/components/schemas/MessageTimeCode"}},"folder_id":{"type":"string","description":"Folder ID where the message is stored"},"utm_data":{"description":"UTM tracking data","allOf":[{"$ref":"#/components/schemas/UtmDataV5"}]},"conversation_sequence":{"type":"number","description":"Sequence number of the message in the conversation","format":"int32"},"source_message_id":{"type":"string","description":"Source message ID if this is a forwarded message"},"audio":{"description":"Audio information for the message","allOf":[{"$ref":"#/components/schemas/AudioInfo"}]},"users_caught_up":{"type":"object","description":"Users caught up status for the message"},"reaction_summary":{"description":"Reaction summary for the message","allOf":[{"$ref":"#/components/schemas/ReactionSummaryV5"}]},"users_not_allowed_to_receive_notifications":{"description":"Users not allowed to receive notifications for this message","type":"array","items":{"$ref":"#/components/schemas/UserNotAllowedReceiveNotification"}},"source":{"description":"Source value for the message","allOf":[{"$ref":"#/components/schemas/MessageSource"}]},"source_value":{"type":"string","description":"Source value for the message"},"tagged_user_ids":{"description":"IDs of users tagged in the message","type":"array","items":{"type":"string"}}},"required":["id","type","created_at","updated_at","workspace_id","creator_id","status","link","tagged_user_ids"]},"GetMessageResponseV5":{"type":"object","properties":{"message":{"$ref":"#/components/schemas/MessageV5"}},"required":["message"]},"SaveMessageToVoiceMemoPayload":{"type":"object","properties":{"workspace_id":{"type":"string","description":"Workspace ID - Required if folder_id is not provided"},"folder_id":{"type":"string","description":"Folder ID - Required if workspace_id is not provided"}}},"CreateConversationTextV5Payload":{"type":"object","properties":{"idempotency_key":{"type":"string","description":"Optional client-supplied UUID idempotency key. When the key is reused for the same user the server returns the existing message instead of failing.","format":"uuid"},"conversation_id":{"type":"string","description":"Conversation (legacy `channel_id`). Required in the JSON body for every `/v5/messages/*` route."},"utm_data":{"description":"Optional UTM tracking data. Only valid on `/v5/messages/*` routes.","allOf":[{"$ref":"#/components/schemas/V5UtmDataPayload"}]},"reply_to_message_id":{"type":"string","description":"ID of the message being replied to; backend resolves the thread root automatically"},"forward":{"$ref":"#/components/schemas/V5ForwardPayload"},"transcript":{"type":"string","description":"Non-empty user-authored text transcript.","maxLength":5000},"attachments":{"type":"array","items":{"$ref":"#/components/schemas/V5RequestAttachmentPayload"}}},"required":["conversation_id","transcript"]},"CreateConversationAttachmentV5Payload":{"type":"object","properties":{"idempotency_key":{"type":"string","description":"Optional client-supplied UUID idempotency key. When the key is reused for the same user the server returns the existing message instead of failing.","format":"uuid"},"conversation_id":{"type":"string","description":"Conversation (legacy `channel_id`). Required in the JSON body for every `/v5/messages/*` route."},"utm_data":{"description":"Optional UTM tracking data. Only valid on `/v5/messages/*` routes.","allOf":[{"$ref":"#/components/schemas/V5UtmDataPayload"}]},"reply_to_message_id":{"type":"string","description":"ID of the message being replied to; backend resolves the thread root automatically"},"forward":{"$ref":"#/components/schemas/V5ForwardPayload"},"attachments":{"description":"One or more attachment rows. Required for this route.","type":"array","items":{"$ref":"#/components/schemas/V5RequestAttachmentPayload"}}},"required":["conversation_id","attachments"]},"CreateConversationStreamV5Payload":{"type":"object","properties":{"idempotency_key":{"type":"string","description":"Optional client-supplied UUID idempotency key. When the key is reused for the same user the server returns the existing message instead of failing.","format":"uuid"},"conversation_id":{"type":"string","description":"Conversation (legacy `channel_id`). Required in the JSON body for every `/v5/messages/*` route."},"utm_data":{"description":"Optional UTM tracking data. Only valid on `/v5/messages/*` routes.","allOf":[{"$ref":"#/components/schemas/V5UtmDataPayload"}]},"reply_to_message_id":{"type":"string","description":"ID of the message being replied to; backend resolves the thread root automatically"},"forward":{"$ref":"#/components/schemas/V5ForwardPayload"},"attachments":{"type":"array","items":{"$ref":"#/components/schemas/V5RequestAttachmentPayload"}}},"required":["conversation_id"]},"CreateStreamMessageV5Response":{"type":"object","properties":{"message":{"description":"Started message in v5 shape.","allOf":[{"$ref":"#/components/schemas/MessageV5"}]},"stream_key":{"type":"string","description":"Signed key the client must use to authenticate the websocket audio upload session for this message."}},"required":["message","stream_key"]},"CreateVoicememoTextV5Payload":{"type":"object","properties":{"idempotency_key":{"type":"string","description":"Optional client-supplied UUID idempotency key. When the key is reused for the same user the server returns the existing message instead of failing.","format":"uuid"},"workspace_id":{"type":"string","description":"Optional workspace target. When omitted, server falls back to the legacy default (personal workspace)."},"folder_id":{"type":"string","description":"Optional folder target. When omitted, server keeps the legacy fallback behavior."},"transcript":{"type":"string","description":"Non-empty user-authored text transcript.","maxLength":5000},"attachments":{"type":"array","items":{"$ref":"#/components/schemas/V5RequestAttachmentPayload"}}},"required":["transcript"]},"CreateVoicememoAttachmentV5Payload":{"type":"object","properties":{"idempotency_key":{"type":"string","description":"Optional client-supplied UUID idempotency key. When the key is reused for the same user the server returns the existing message instead of failing.","format":"uuid"},"workspace_id":{"type":"string","description":"Optional workspace target. When omitted, server falls back to the legacy default (personal workspace)."},"folder_id":{"type":"string","description":"Optional folder target. When omitted, server keeps the legacy fallback behavior."},"attachments":{"description":"One or more attachment rows. Required for this route.","type":"array","items":{"$ref":"#/components/schemas/V5RequestAttachmentPayload"}}},"required":["attachments"]},"CreateVoicememoStreamV5Payload":{"type":"object","properties":{"idempotency_key":{"type":"string","description":"Optional client-supplied UUID idempotency key. When the key is reused for the same user the server returns the existing message instead of failing.","format":"uuid"},"workspace_id":{"type":"string","description":"Optional workspace target. When omitted, server falls back to the legacy default (personal workspace)."},"folder_id":{"type":"string","description":"Optional folder target. When omitted, server keeps the legacy fallback behavior."},"attachments":{"type":"array","items":{"$ref":"#/components/schemas/V5RequestAttachmentPayload"}}}},"UpdateLanguageParameters":{"type":"object","properties":{"languages":{"type":"array","items":{"type":"string"}}},"required":["languages"]},"NewIdentity":{"type":"object","properties":{"pxtoken1":{"type":"string"},"pxtoken2":{"type":"string"}},"required":["pxtoken1","pxtoken2"]},"SessionMerge":{"type":"object","properties":{"pxtoken1":{"type":"string"},"pxtoken2":{"type":"string"}},"required":["pxtoken1","pxtoken2"]},"UserMerge":{"type":"object","properties":{"user_guids":{"type":"array","items":{"type":"string"}}},"required":["user_guids"]},"UserProfileV3":{"type":"object","properties":{"user_id":{"type":"string"},"entries":{"type":"array","items":{"$ref":"#/components/schemas/UserEntryDto"}},"payment_plan_type":{"type":"string"},"carbon_links":{"type":"array","items":{"type":"string"}}},"required":["user_id","entries","payment_plan_type","carbon_links"]},"ChannelKind":{"type":"string","enum":["standard","derived"]},"UserMembershipStatus":{"type":"string","enum":["active","user_left","removed_from_channel","removed_from_workspace"]},"ChannelCollaborator":{"type":"object","properties":{"user_guid":{"type":"string"},"image_url":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"permission":{"allOf":[{"$ref":"#/components/schemas/Role"}]},"joined":{"format":"date-time","type":"string","nullable":true},"last_posted":{"format":"date-time","type":"string","nullable":true},"first_accessed_at":{"format":"date-time","type":"string","nullable":true},"last_viewed_at":{"format":"date-time","type":"string","nullable":true},"status":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/UserMembershipStatus"}]},"primary_language":{"type":"string"}},"required":["user_guid","image_url","first_name","last_name","permission","first_accessed_at","last_viewed_at"]},"ChannelType":{"type":"string","enum":["directMessage","customerConversation","namedConversation","asyncMeeting"]},"AvatarGridItemType":{"type":"string","enum":["row","column","image","text"]},"AvatarGridItem":{"type":"object","properties":{"children":{"type":"array","items":{"$ref":"#/components/schemas/AvatarGridItem"}},"type":{"allOf":[{"$ref":"#/components/schemas/AvatarGridItemType"}]},"image_url":{"type":"string","nullable":true},"text":{"type":"string","nullable":true}},"required":["children","type"]},"AvatarLayout":{"type":"object","properties":{"avatars":{"type":"array","items":{"$ref":"#/components/schemas/AvatarGridItem"}},"numRows":{"type":"number","format":"int32"},"numColumns":{"type":"number","format":"int32"}},"required":["avatars","numRows","numColumns"]},"ChannelSpanType":{"type":"string","enum":["Meeting","RecurringMeeting"]},"PersonalizedChannelSpan":{"type":"object","properties":{"id":{"type":"string"},"begin":{"format":"date-time","type":"string"},"end":{"format":"date-time","type":"string"},"deleted_at":{"format":"date-time","type":"string","nullable":true},"required_users":{"type":"array","items":{"type":"string"}},"type":{"allOf":[{"$ref":"#/components/schemas/ChannelSpanType"}]},"topic":{"type":"string"}},"required":["id","begin","end","deleted_at","required_users","type","topic"]},"ChannelVisibility":{"type":"string","enum":["private","workspace","public"]},"ConversationSummaryItemType":{"type":"string","enum":["takeaway","question","answer","comment","note","task","action-item"]},"ConversationSummaryItem":{"type":"object","properties":{"user_id":{"type":"string"},"text":{"type":"string"},"type":{"allOf":[{"$ref":"#/components/schemas/ConversationSummaryItemType"}]}},"required":["user_id","text","type"]},"ConversationSummary":{"type":"object","properties":{"channel_id":{"type":"string"},"span_id":{"type":"string","nullable":true},"items":{"type":"array","items":{"$ref":"#/components/schemas/ConversationSummaryItem"}}},"required":["channel_id","span_id","items"]},"AsyncMeetingStats":{"type":"object","properties":{"total_duration_milliseconds":{"type":"number","description":"Total duration in milliseconds","format":"int64"},"total_heard_milliseconds":{"type":"number","description":"Total heard in milliseconds","format":"int64"},"total_engaged_percentage":{"type":"number","description":"Total engaged percentage","format":"int64"},"total_messages_posted":{"type":"number","description":"Total messages posted","format":"int64"},"total_users":{"type":"number","format":"int64","description":"Total users"}},"required":["total_duration_milliseconds","total_heard_milliseconds","total_engaged_percentage","total_messages_posted","total_users"]},"AsyncMeetingStatsApiResponse":{"type":"object","properties":{"channel_stats":{"$ref":"#/components/schemas/AsyncMeetingStats"},"user_stats":{"type":"array","items":{"$ref":"#/components/schemas/UserStats"}}},"required":["channel_stats","user_stats"]},"DerviedConversationSourceType":{"type":"string","enum":["user_id","channel_id","workspace_id","message_id"]},"DerviedConversationSource":{"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/DerviedConversationSourceType"}]},"value":{"type":"string"}},"required":["type","value"]},"PersonalizedChannel":{"type":"object","properties":{"workspace_guid":{"type":"string"},"channel_guid":{"type":"string"},"channel_name":{"type":"string"},"channel_kind":{"allOf":[{"$ref":"#/components/schemas/ChannelKind"}]},"source_channel_ids":{"type":"array","items":{"type":"string"}},"channel_description":{"type":"string","nullable":true},"bg_rrggbb":{"type":"string","nullable":true},"txt_rrggbb":{"type":"string","nullable":true},"channel_settings":{"type":"string"},"image_url":{"type":"string","nullable":true},"is_private":{"type":"string"},"post_rule":{"type":"string","nullable":true},"dm_hash":{"type":"string","nullable":true},"last_updated_ts":{"type":"number"},"sort_order":{"format":"date-time","type":"string"},"created_ts":{"type":"number"},"deleted_at":{"type":"number","nullable":true,"format":"int64"},"owner_name":{"type":"string"},"sms_phone":{"type":"string","nullable":true},"json_collaborators":{"type":"array","items":{"$ref":"#/components/schemas/ChannelCollaborator"}},"joined_ts":{"type":"number","nullable":true,"format":"int64"},"is_favorite":{"type":"string","enum":["N","Y"]},"last_heard_ts":{"type":"number","nullable":true,"format":"int64"},"last_posted_ts":{"type":"number","nullable":true,"format":"int64"},"last_viewed_at":{"format":"date-time","type":"string","nullable":true},"workspace_name":{"type":"string"},"workspace_image_url":{"type":"string","nullable":true},"type":{"allOf":[{"$ref":"#/components/schemas/ChannelType"}]},"images":{"type":"array","items":{"type":"string"}},"moreCount":{"type":"number","format":"int32"},"unread_cnt":{"type":"number","format":"int32"},"avatars":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/AvatarLayout"}]},"createdNew":{"type":"boolean"},"settings":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/SettingValue"}},"attachments":{"type":"array","items":{"$ref":"#/components/schemas/Attachment"}},"channel_spans":{"type":"array","items":{"$ref":"#/components/schemas/PersonalizedChannelSpan"}},"visibility":{"allOf":[{"$ref":"#/components/schemas/ChannelVisibility"}]},"total_messages":{"type":"number","format":"int32"},"total_duration_milliseconds":{"type":"number","format":"int64"},"summaries":{"type":"array","items":{"$ref":"#/components/schemas/ConversationSummary"}},"is_async":{"type":"boolean"},"async_stats":{"$ref":"#/components/schemas/AsyncMeetingStatsApiResponse"},"retention_days":{"type":"number","nullable":true,"format":"int32"},"engagement_percentage":{"type":"number","format":"int32"},"max_sequence_number":{"type":"number","nullable":false,"format":"int64"},"default_role":{"allOf":[{"$ref":"#/components/schemas/Role"}]},"sources":{"type":"array","items":{"$ref":"#/components/schemas/DerviedConversationSource"}},"seen_seq":{"type":"number","nullable":true,"format":"int32"}},"required":["workspace_guid","channel_guid","channel_name","channel_kind","source_channel_ids","channel_settings","is_private","last_updated_ts","sort_order","created_ts","owner_name","json_collaborators","is_favorite","workspace_name","type","images","moreCount","unread_cnt","createdNew","settings","attachments","channel_spans","visibility","total_messages","total_duration_milliseconds","summaries","is_async","max_sequence_number","default_role","sources","seen_seq"]},"PhoneType":{"type":"string","enum":["voicemail"]},"WorkspacePhone":{"type":"object","properties":{"_id":{"type":"string","nullable":true},"destination_workspace_id":{"type":"string","nullable":true},"number":{"type":"string"},"parent_phone":{"type":"string","nullable":true},"type":{"allOf":[{"$ref":"#/components/schemas/PhoneType"}]},"label":{"type":"string"},"message_url":{"type":"string","nullable":true},"phone_sid":{"type":"string","nullable":true}},"required":["number","type","label"]},"InvitationMode":{"type":"string","enum":["anyone","admin-only","any-member"]},"Workspace":{"type":"object","properties":{"workspace_guid":{"type":"string"},"vanity_name":{"type":"string","nullable":true},"workspace_name":{"type":"string"},"workspace_description":{"type":"string","nullable":true},"image_url":{"type":"string","nullable":true},"owner_guid":{"type":"string"},"type_cd":{"type":"string","nullable":true},"created_by":{"type":"string"},"created_ts":{"type":"number"},"last_updated_ts":{"type":"number"},"creator_first_name":{"type":"string"},"creator_last_name":{"type":"string"},"role_cd":{"type":"string"},"plan_type":{"type":"string","nullable":true},"channels":{"type":"array","items":{"$ref":"#/components/schemas/PersonalizedChannel"}},"availableChannelCount":{"type":"number","format":"int32"},"collaborators":{"type":"array","items":{"$ref":"#/components/schemas/ChannelCollaborator"}},"settings":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/SettingValue"}},"phones":{"type":"array","items":{"$ref":"#/components/schemas/WorkspacePhone"}},"background_color":{"type":"string","nullable":true},"watermark_image_url":{"type":"string","nullable":true},"conversation_default":{"type":"boolean"},"invitation_mode":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/InvitationMode"}]},"sso_email_domain":{"type":"string","nullable":true},"scim_provider":{"type":"string","nullable":true},"scim_connection_name":{"type":"string","nullable":true},"is_retention_enabled":{"type":"boolean","nullable":true},"retention_days_async_meeting":{"type":"number","nullable":true,"format":"int32"},"retention_days":{"type":"number","nullable":true,"format":"int32"},"who_can_change_conversation_retention":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/Role"}},"who_can_mark_messages_as_preserved":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/Role"}}},"required":["workspace_guid","workspace_name","owner_guid","created_by","created_ts","last_updated_ts","creator_first_name","creator_last_name","role_cd","channels","availableChannelCount","collaborators","settings","phones","background_color","watermark_image_url","conversation_default","invitation_mode","sso_email_domain","scim_provider","scim_connection_name"]},"UserProfile":{"type":"object","properties":{"user_guid":{"type":"string"},"uuid":{"type":"string"},"first_name":{"type":"string","nullable":true},"last_name":{"type":"string","nullable":true},"image_url":{"type":"string"},"created_by":{"type":"string","nullable":true},"role":{"type":"string","nullable":true},"created_ts":{"type":"number","format":"int64"},"last_updated_ts":{"type":"number","format":"int64"},"last_seen_ts":{"type":"number","format":"int64"},"timezone_offset_minutes":{"type":"number","format":"int64"},"is_verified":{"type":"string"},"is_allowed_through_gate":{"type":"boolean"},"phone_txt":{"type":"string","nullable":true},"email_txt":{"type":"string","nullable":true},"workspace_guids":{"type":"array","items":{"type":"string"}},"identities":{"type":"array","items":{"$ref":"#/components/schemas/UserIdentity"}},"settings":{"type":"object","additionalProperties":{"type":"string"}},"entries":{"type":"array","items":{"$ref":"#/components/schemas/UserEntryDto"}},"last_seen_on":{"format":"date-time","type":"string","nullable":true},"plan_type":{"type":"string"},"notification_settings":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/NotificationSettings"}]},"environments":{"type":"array","items":{"$ref":"#/components/schemas/UserEnvironment"}},"languages":{"type":"array","items":{"type":"string"}},"voice_gender":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/Gender"}]},"voice_id":{"type":"string","nullable":true},"has_fcm_token":{"type":"boolean"},"tts_mode":{"allOf":[{"$ref":"#/components/schemas/TTSMode"}]},"translation_mode":{"allOf":[{"$ref":"#/components/schemas/TranslationMode"}]},"preserve_senders_voice":{"type":"boolean","nullable":false},"lifecycle_events":{"type":"array","items":{"$ref":"#/components/schemas/LifecycleEvent"}},"user_type":{"allOf":[{"$ref":"#/components/schemas/UserType"}]},"unverifiedIdentities":{"type":"array","items":{"$ref":"#/components/schemas/UserIdentity"}},"workspaces":{"type":"array","items":{"$ref":"#/components/schemas/Workspace"}},"personalLinks":{"type":"array","items":{"$ref":"#/components/schemas/Workspace"}},"channels":{"type":"array","items":{"$ref":"#/components/schemas/PersonalizedChannel"}}},"required":["user_guid","uuid","image_url","created_ts","last_updated_ts","last_seen_ts","timezone_offset_minutes","is_verified","is_allowed_through_gate","workspace_guids","identities","settings","entries","plan_type","environments","languages","has_fcm_token","tts_mode","translation_mode","preserve_senders_voice","lifecycle_events","user_type","unverifiedIdentities","workspaces","personalLinks","channels"]},"UpdateUser":{"type":"object","properties":{"first_name":{"type":"string","nullable":true},"last_name":{"type":"string","nullable":true},"image_url":{"type":"string","nullable":true},"plan_type":{"type":"string","nullable":true},"is_verified":{"type":"boolean","nullable":true},"last_seen_ts":{"type":"number","nullable":true,"format":"int64"},"timezone_offset_minutes":{"type":"number","nullable":true,"format":"int32"},"settings":{"type":"object","additionalProperties":{"type":"string"}},"notification_settings":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/NotificationSettings"}]}}},"User":{"type":"object","properties":{}},"GetLastSeenById":{"type":"object","properties":{"user_ids":{"description":"List of User IDs, Max allowed is 500","type":"array","items":{"type":"string"}}},"required":["user_ids"]},"UserLastSeen":{"type":"object","properties":{"id":{"type":"string","description":" ID"},"last_seen_at":{"type":"string","format":"date-time"},"timezone_offset_minutes":{"type":"number","format":"int32"}},"required":["id"]},"CreateUnverifiedUser":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"}},"required":["name","email"]},"CreateUserResponse":{"type":"object","properties":{"pxtoken":{"type":"string"},"user":{"$ref":"#/components/schemas/User"}},"required":["pxtoken","user"]},"UpdateUserSetting":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]},"UserIdentitiesResponse":{"type":"object","properties":{}},"AddProfile":{"type":"object","properties":{"group_cd":{"type":"string"},"type_cd":{"type":"string"},"label_txt":{"type":"string"},"value_txt":{"type":"string"},"also_supports_mask":{"type":"number","format":"int32"}},"required":["group_cd","type_cd","label_txt","value_txt","also_supports_mask"]},"UserEntryUpdateResponse":{"type":"object","properties":{"entry_guid":{"type":"string"},"group_cd":{"allOf":[{"$ref":"#/components/schemas/ProfileEntryGroup"}]},"type_cd":{"type":"string"},"label_txt":{"type":"string"},"value_txt":{"type":"string"},"also_supports_mask":{"type":"number","format":"int32"},"user_guid":{"type":"string"}},"required":["entry_guid","group_cd","type_cd","label_txt","value_txt","also_supports_mask","user_guid"]},"UpdateProfile":{"type":"object","properties":{"group_cd":{"type":"string"},"type_cd":{"type":"string"},"label_txt":{"type":"string"},"value_txt":{"type":"string"},"also_supports_mask":{"type":"number","format":"int32"},"entry_guid":{"type":"string"}},"required":["group_cd","type_cd","label_txt","value_txt","also_supports_mask"]},"UserSearchParameters":{"type":"object","properties":{"query":{"type":"string","nullable":true},"user_guids":{"nullable":true,"type":"array","items":{"type":"string"}},"last_updated":{"format":"date-time","type":"string","nullable":true}},"required":["query","user_guids","last_updated"]},"UserIndex":{"type":"object","properties":{"id":{"type":"string"},"last_updated_at":{"format":"date-time","type":"string"}},"required":["id","last_updated_at"]},"UpdateGlobalVoiceSettings":{"type":"object","properties":{"tts_mode":{"allOf":[{"$ref":"#/components/schemas/TTSMode"}]},"translation_mode":{"allOf":[{"$ref":"#/components/schemas/TranslationMode"}]},"preserve_senders_voice":{"type":"boolean"}},"required":["tts_mode","translation_mode"]},"CreateTestUser":{"type":"object","properties":{"first_name":{"type":"string"},"last_name":{"type":"string"},"email":{"type":"string","nullable":true},"phone":{"type":"string","nullable":true}},"required":["first_name","last_name","email","phone"]},"UserPreferenceCategory":{"type":"string","enum":["message_card","onboarding","playback","recording","label","conversation_feed","tooltips","home"]},"UserPreferenceName":{"type":"string","enum":["speed","auto_clear_notification","auto_clear_compressed_audio_messages","compress_text_messages","compress_to_ai_summary","show_ai_summary","ai_summary_display_mode","show_transcript","identity_complete","languages_complete","suggested_conversations_complete","streaming","waiting_room","default_id","message_compression_character_limit","message_compression_line_limit","education_page_complete","single_tap_to_record","show_mic_tooltip","show_create_conversation_tooltip","show_create_a_folder_tooltip","show_message_info_translate_button_tooltip","show_chats_tab_tooltip","tap_on_message_card_mode","show_educational_message_card_right_swipe","user_goal_complete","hide_checklist","show_message_card_swipe","show_bulleted_summary_tooltip","user_role_complete","attribution_complete","work_environment_complete","conversations_workspace_complete","team_workspace_complete","send_first_message_complete","pinned_cards","hidden_playlists","speed_dial_complete","agent_setup_complete","voice_memo_auto_copy"]},"BooleanUserPreferenceModel":{"type":"object","properties":{"category":{"allOf":[{"$ref":"#/components/schemas/UserPreferenceCategory"}]},"name":{"nullable":false,"allOf":[{"$ref":"#/components/schemas/UserPreferenceName"}]},"value":{"type":"boolean"}},"required":["category","name","value"]},"NumberUserPreferenceModel":{"type":"object","properties":{"category":{"allOf":[{"$ref":"#/components/schemas/UserPreferenceCategory"}]},"name":{"nullable":false,"allOf":[{"$ref":"#/components/schemas/UserPreferenceName"}]},"value":{"type":"number","format":"int32"}},"required":["category","name","value"]},"StringUserPreferenceModel":{"type":"object","properties":{"category":{"allOf":[{"$ref":"#/components/schemas/UserPreferenceCategory"}]},"name":{"nullable":false,"allOf":[{"$ref":"#/components/schemas/UserPreferenceName"}]},"value":{"type":"string"}},"required":["category","name","value"]},"UserPreferenceServiceModel":{"type":"object","properties":{"boolean_preferences":{"type":"array","items":{"$ref":"#/components/schemas/BooleanUserPreferenceModel"}},"number_preferences":{"type":"array","items":{"$ref":"#/components/schemas/NumberUserPreferenceModel"}},"string_preferences":{"type":"array","items":{"$ref":"#/components/schemas/StringUserPreferenceModel"}}},"required":["boolean_preferences","number_preferences"]},"GetUserIdsByReverseLookup":{"type":"object","properties":{"type":{"type":"string","enum":["email","phone","carbon_link","name"],"description":"Whether to lookup by email or phone (only one type is allowed)"},"emails":{"description":"List of emails","type":"array","items":{"type":"string"}},"phones":{"description":"List of phones","type":"array","items":{"type":"string"}},"names":{"description":"List of Carbon Link names","type":"array","items":{"type":"string"}}},"required":["type"]},"GetUserIdsByReverseLookupResponse":{"type":"object","properties":{"type":{"type":"string","enum":["email","phone","carbon_link","name"],"description":"Informed type to lookup for (email or phone)"},"total_lookup_count":{"type":"number","description":"Total items informed to do reverse-lookup","format":"int32"},"total_found_count":{"type":"number","description":"Total items found for the reverse-lookup","format":"int32"},"reverse_lookup":{"type":"array","description":"Map of email or phone to user_id","example":[{"john.doe@phononx.com":"5f9b3b4b9c6d2c0012c9e3d0"},{"jane@phononx.com":"5HAlOHVi7U3gu50Z"}],"items":{"type":"object"}}},"required":["type","total_lookup_count","total_found_count","reverse_lookup"]},"WhoHasAccessPayload":{"type":"object","properties":{"resource_type":{"type":"string","enum":["workspace","channel","message","sharelink"],"example":"workspace"},"resource_id":{"type":"string","description":"The resource id to verify who has access to it (workspace_id, channel_id, message_id, etc)","example":"5f9b3b4b9c6d2c0012c9e3d0"},"user_ids":{"description":"List of user_ids to verify if they have access to the resource","example":["PGjIOWjtEjQZW1Ey","cj0iFquUILzBTSKd"],"type":"array","items":{"type":"string"}},"emails":{"description":"List of emails to verify if they have access to the resource","example":["jane@phononx.com","john.doe@phononx.com"],"type":"array","items":{"type":"string"}},"phones":{"description":"List of phones to verify if they have access to the resource","example":["+5553999999999","+174128129"],"type":"array","items":{"type":"string"}}},"required":["resource_type","resource_id"]},"WithOrNoAccess":{"type":"object","properties":{"user_ids":{"type":"array","description":"List of informed user_ids","example":["cj0iFquUILzBTSKd"],"items":{"type":"string"}},"emails":{"type":"array","description":"Map of email to user_id","example":[{"john.doe@phononx.com":"5f9b3b4b9c6d2c0012c9e3d0"}],"items":{"type":"object"}},"phones":{"type":"array","description":"Map of phones to user_id","example":[{"+5553999999999":"SIIRnfNwKgIqwp77"}],"items":{"type":"object"}}},"required":["user_ids","emails","phones"]},"WhoHasAccessResponse":{"type":"object","properties":{"resource_type":{"type":"string","enum":["workspace","channel","message","sharelink"],"example":"workspace"},"resource_id":{"type":"string","description":"The resource id to verify who has access to it (workspace_id, channel_id, message_id, etc)","example":"5f9b3b4b9c6d2c0012c9e3d0"},"has_access":{"description":"List of users who have access to the resource","allOf":[{"$ref":"#/components/schemas/WithOrNoAccess"}]},"no_access":{"description":"List of users who doesn`t have access to the resource","allOf":[{"$ref":"#/components/schemas/WithOrNoAccess"}]}},"required":["resource_type","resource_id","has_access","no_access"]},"CreateContactInfo":{"type":"object","properties":{"hashed_values":{"type":"array","items":{"type":"string"}}},"required":["hashed_values"]},"ContactLookupInfo":{"type":"object","properties":{"hashed_value":{"type":"string"},"existing_user_id":{"type":"string","nullable":true},"registered_for_notifications":{"type":"boolean"}},"required":["hashed_value","existing_user_id","registered_for_notifications"]},"ContactInfoResponse":{"type":"object","properties":{"contacts":{"type":"array","items":{"$ref":"#/components/schemas/ContactLookupInfo"}}},"required":["contacts"]},"ExportedMessage":{"type":"object","properties":{"id":{"type":"string"},"creator_id":{"type":"string"},"creator_first_name":{"type":"string"},"creator_last_name":{"type":"string"},"created_at":{"format":"date-time","type":"string"},"transcription":{"type":"string"},"summary":{"type":"string"},"parent_id":{"type":"string"}},"required":["id","creator_id","creator_first_name","creator_last_name","created_at","transcription","summary","parent_id"]},"RecentChannelsFilter":{"type":"object","properties":{"limit":{"type":"number","nullable":true},"direction":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/Direction"}]},"date":{"format":"date-time","type":"string","nullable":true},"includeDeleted":{"type":"boolean","default":false,"nullable":true}}},"UniqueValueType":{"type":"string","enum":["userGuid","phoneNumber","emailAddress"]},"RoleAssignment":{"type":"object","properties":{"value_type":{"allOf":[{"$ref":"#/components/schemas/UniqueValueType"}]},"unique_value":{"type":"string"},"role":{"allOf":[{"$ref":"#/components/schemas/Role"}]},"required_for_active_span":{"type":"boolean","nullable":true}},"required":["value_type","unique_value","role"]},"CreateNamedConversation":{"type":"object","properties":{"workspace_guid":{"type":"string"},"users":{"type":"array","items":{"$ref":"#/components/schemas/RoleAssignment"}},"description":{"type":"string"},"background_color":{"type":"string"},"text_color":{"type":"string"},"image_url":{"type":"string"},"post_rule":{"type":"string"},"type":{"allOf":[{"$ref":"#/components/schemas/ChannelType"}]},"sms_phone":{"type":"string"},"name":{"type":"string"},"is_private":{"type":"boolean","deprecated":true,"description":"Stop using this and start using channel visibility to control who has access"},"visibility":{"type":"string","enum":["private","workspace","public"],"description":"Public can be viewed and joined by anyone, Private can only be view by members, Workspace means only members of the workspace can view and join"},"default_role":{"type":"string","enum":["admin","owner","creator","member","guest"],"description":"The role used to add people who join the channel"}},"required":["workspace_guid","users","type","name"]},"CreateDerivedConversation":{"type":"object","properties":{"workspace_guid":{"type":"string"},"description":{"type":"string"},"background_color":{"type":"string"},"text_color":{"type":"string"},"image_url":{"type":"string"},"source_channel_ids":{"type":"array","items":{"type":"string"}},"ai_response":{"$ref":"#/components/schemas/CreateAIResponse"}},"required":["workspace_guid","source_channel_ids"]},"CreateDerivedConversationV2":{"type":"object","properties":{"workspace_guid":{"type":"string"},"description":{"type":"string"},"background_color":{"type":"string"},"text_color":{"type":"string"},"image_url":{"type":"string"},"sources":{"type":"array","items":{"$ref":"#/components/schemas/DerviedConversationSource"}},"ai_response":{"$ref":"#/components/schemas/CreateAIResponse"}},"required":["workspace_guid","sources"]},"CreateAsyncMeetingRequest":{"type":"object","properties":{"workspace_guid":{"type":"string"},"users":{"type":"array","items":{"$ref":"#/components/schemas/RoleAssignment"}},"description":{"type":"string"},"background_color":{"type":"string"},"text_color":{"type":"string"},"image_url":{"type":"string"},"post_rule":{"type":"string"},"type":{"allOf":[{"$ref":"#/components/schemas/ChannelType"}]},"sms_phone":{"type":"string"},"name":{"type":"string"},"is_private":{"type":"boolean","deprecated":true,"description":"Stop using this and start using channel visibility to control who has access"},"visibility":{"type":"string","enum":["private","workspace","public"],"description":"Public can be viewed and joined by anyone, Private can only be view by members, Workspace means only members of the workspace can view and join"},"default_role":{"type":"string","enum":["admin","owner","creator","member","guest"],"description":"The role used to add people who join the channel"},"end":{"format":"date-time","type":"string","description":"The date and time when the meeting will end"},"message_id":{"type":"string","description":"The first message that will be posted into the channel"}},"required":["workspace_guid","users","type","name","end","message_id"]},"UpdateAsyncMeetingRequest":{"type":"object","properties":{"channel_guid":{"type":"string"},"channel_name":{"type":"string"},"channel_description":{"type":"string"},"visibility":{"allOf":[{"$ref":"#/components/schemas/ChannelVisibility"}]},"image_url":{"type":"string"},"post_rule":{"type":"string"},"is_favorite":{"type":"boolean"},"sms_phone":{"type":"string"},"span_id":{"type":"string"},"users":{"type":"array","items":{"$ref":"#/components/schemas/RoleAssignment"}},"span_end_date":{"format":"date-time","type":"string"},"span_begin_date":{"format":"date-time","type":"string"}},"required":["channel_guid"]},"CreateDirectMessage":{"type":"object","properties":{"workspace_guid":{"type":"string"},"users":{"type":"array","items":{"$ref":"#/components/schemas/RoleAssignment"}},"description":{"type":"string"},"background_color":{"type":"string"},"text_color":{"type":"string"},"image_url":{"type":"string"},"post_rule":{"type":"string"},"type":{"allOf":[{"$ref":"#/components/schemas/ChannelType"}]},"sms_phone":{"type":"string"}},"required":["workspace_guid","users","type"]},"AddCollaborators":{"type":"object","properties":{"workspace_guid":{"type":"string"},"channel_guid":{"type":"string"},"users":{"type":"array","items":{"$ref":"#/components/schemas/RoleAssignment"}}},"required":["workspace_guid","channel_guid","users"]},"GetWebContactParameters":{"type":"object","properties":{"workspace_guid":{"type":"string"},"channel_name":{"type":"string"},"post_workspace_guid":{"type":"string","nullable":true,"description":"Specify the workspace to post the message in"}},"required":["workspace_guid","channel_name"]},"WebContactResponse":{"type":"object","properties":{"workspace":{"$ref":"#/components/schemas/Workspace"},"post_workspace":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/Workspace"}]},"channel":{"$ref":"#/components/schemas/PersonalizedChannel"}},"required":["workspace","post_workspace","channel"]},"UpdateChannelParameters":{"type":"object","properties":{"channel_guid":{"type":"string"},"channel_name":{"type":"string"},"channel_description":{"type":"string"},"visibility":{"allOf":[{"$ref":"#/components/schemas/ChannelVisibility"}]},"image_url":{"type":"string"},"post_rule":{"type":"string"},"is_favorite":{"type":"boolean"},"sms_phone":{"type":"string"}},"required":["channel_guid"]},"UpdateChannelRetentionTime":{"type":"object","properties":{"retention_days":{"type":"number","nullable":true,"description":"To set the retention time you can set one of the following values: retention_days=null (workspace_default, will lookup for what is the time int the workspace), retention_days=-1 (never, doesn't clear messages), retention_days=Any positive number greater than 0 (specific duration)"}}},"ChannelDateUpdate":{"type":"object","properties":{"channel_id":{"type":"string","nullable":false},"date":{"format":"date-time","type":"string","nullable":false}},"required":["channel_id","date"]},"ConvertDmIntoNamedConversationDto":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]},"MoveConversationPayload":{"type":"object","properties":{"workspace_id":{"type":"string","description":"Target workspace ID to move the conversation to"}},"required":["workspace_id"]},"MessageUserCountsFilters":{"type":"object","properties":{"date":{"format":"date-time","type":"string","description":"Date filter applied (if any)","nullable":true},"user_ids":{"description":"User IDs filter applied (if any)","nullable":true,"type":"array","items":{"type":"string"}},"status":{"type":"array","description":"Message statuses filter applied (if any)","nullable":true,"items":{"$ref":"#/components/schemas/MessageStatus"}}}},"MessageUserCountResult":{"type":"object","properties":{"user_id":{"type":"string","description":"User ID"},"total_messages":{"type":"number","description":"Total number of messages created by this user"}},"required":["user_id","total_messages"]},"GetMessageUserCountsResponse":{"type":"object","properties":{"total_messages":{"type":"number","description":"Total number of messages matching the filters"},"filters":{"description":"Filters applied to the query","allOf":[{"$ref":"#/components/schemas/MessageUserCountsFilters"}]},"results":{"description":"List of users with their message counts","type":"array","items":{"$ref":"#/components/schemas/MessageUserCountResult"}}},"required":["total_messages","filters","results"]},"MessageIdsFilters":{"type":"object","properties":{"user_ids":{"description":"List of user IDs that were filtered","nullable":true,"type":"array","items":{"type":"string"}},"status":{"type":"array","description":"List of message statuses that were filtered","nullable":true,"items":{"$ref":"#/components/schemas/MessageStatus"}},"date":{"format":"date-time","type":"string","description":"Date filter that was applied","nullable":true},"direction":{"description":"Sort direction that was applied","nullable":true,"allOf":[{"$ref":"#/components/schemas/Direction"}]}}},"GetMessageIdsResponse":{"type":"object","properties":{"next_cursor":{"type":"string","description":"Cursor to fetch the next page","nullable":true},"has_more":{"type":"boolean","description":"Whether there are more items to fetch"},"total":{"type":"number","description":"Total number of messages (filtered by the query). Only included when include_total=true is provided in the query.","format":"int32","nullable":true},"filters":{"description":"Applied filters","allOf":[{"$ref":"#/components/schemas/MessageIdsFilters"}]},"results":{"description":"List of message IDs","type":"array","items":{"type":"string"}}},"required":["has_more","filters","results"]},"WhoAmISettings":{"type":"object","properties":{"sharefeedback_workspace":{"type":"string"},"gate_code":{"type":"string","nullable":true},"is_gated":{"type":"boolean"},"member_count":{"type":"number","format":"int32"},"admin_count":{"type":"number","format":"int32"},"owner_count":{"type":"number","format":"int32"}},"required":["sharefeedback_workspace","is_gated","member_count","admin_count","owner_count"]},"WhoAmIResponse":{"type":"object","properties":{"success":{"type":"boolean"},"settings":{"$ref":"#/components/schemas/WhoAmISettings"},"user":{"$ref":"#/components/schemas/UserDto"},"pxtoken":{"type":"string","nullable":true}},"required":["success","settings","user","pxtoken"]},"CreateAnonymousUserResponse":{"type":"object","properties":{"success":{"type":"boolean"},"pxtoken":{"type":"string"}},"required":["success","pxtoken"]},"TokenRequest":{"type":"object","properties":{"idToken":{"type":"string"},"refreshToken":{"type":"string","nullable":true},"forMerge":{"type":"boolean"},"reason":{"type":"string","nullable":true},"source":{"type":"string","nullable":true}},"required":["idToken","refreshToken","forMerge"]},"TokenResponse":{"type":"object","properties":{"pxtoken":{"type":"string","nullable":true},"success":{"type":"boolean"}},"required":["pxtoken","success"]},"AuthenticationRequirement":{"type":"object","properties":{"workspace_id":{"type":"string"},"workspace_name":{"type":"string"},"authentication_provider_id":{"type":"string"}},"required":["workspace_id","workspace_name","authentication_provider_id"]},"SignedUrlParameters":{"type":"object","properties":{"filename":{"type":"string"},"mimetype":{"type":"string"}},"required":["filename","mimetype"]},"CreateAttachmentUrls":{"type":"object","properties":{"files":{"type":"array","items":{"$ref":"#/components/schemas/SignedUrlParameters"}}},"required":["files"]},"AttachmentUrl":{"type":"object","properties":{"url":{"type":"string"},"filename":{"type":"string"},"mimetype":{"type":"string"}},"required":["url","filename","mimetype"]},"AttachmentIdList":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string"}}},"required":["ids"]},"BulkAttachmentResult":{"type":"object","properties":{"attachment_id":{"type":"string"},"signed_url":{"type":"string"}},"required":["attachment_id","signed_url"]},"SignedUrlParametersV5":{"type":"object","properties":{"filename":{"type":"string"},"mimetype":{"type":"string"},"idempotency_key":{"type":"string","description":"Optional client-supplied UUID idempotency key. If provided, used as filename prefix to enable retry/resume. If omitted, server generates a UUID.","format":"uuid"}},"required":["filename","mimetype"]},"CreateAttachmentUrlsV5":{"type":"object","properties":{"files":{"type":"array","items":{"$ref":"#/components/schemas/SignedUrlParametersV5"}}},"required":["files"]},"SignedUrlResponseV5":{"type":"object","properties":{"url":{"type":"string"},"filename":{"type":"string"},"mimetype":{"type":"string"},"idempotency_key":{"type":"string","description":"The idempotency key used for this upload. Matches client-provided key, or server-generated UUID if none was supplied."}},"required":["url","filename","mimetype"]},"PlanType":{"type":"string","enum":["standard","business-premium","team-premium","personal-premium","free"]},"CarbonLinkUpgradeParameters":{"type":"object","properties":{"workspace_guid":{"type":"string"},"plan_type":{"allOf":[{"$ref":"#/components/schemas/PlanType"}]}},"required":["workspace_guid","plan_type"]},"WorkspaceAuthInfo":{"type":"object","properties":{"provider_id":{"type":"string"},"name":{"type":"string"},"workspace_id":{"type":"string"}},"required":["provider_id","name","workspace_id"]},"RecentUser":{"type":"object","properties":{"user_id":{"type":"string","example":"SIIRnfNwKgIqwp77"},"last_updated_ts":{"type":"number","example":1694313500106,"format":"int64"},"status":{"type":"string","example":"active","enum":["active","user_left","removed_from_channel","removed_from_workspace"]},"status_changed_ts":{"type":"number","example":1694313500106,"format":"int64"}},"required":["user_id","last_updated_ts","status","status_changed_ts"]},"RecentWorkspaces":{"type":"object","properties":{"workspace_id":{"type":"string","example":"yh1XNNMzW77AQxGv"},"workspace_name":{"type":"string","example":"Phonon X"},"last_updated_ts":{"type":"number","example":1694313500106,"format":"int64"},"deleted_at_ts":{"type":"number","example":1694313500106,"format":"int64"},"users":{"example":[{"user_id":"SIIRnfNwKgIqwp77","last_updated_ts":1697650099338,"status":"active","status_changed_ts":1697650099338}],"type":"array","items":{"$ref":"#/components/schemas/RecentUser"}}},"required":["workspace_id","workspace_name","last_updated_ts","users"]},"RecentWorkspacesResponse":{"type":"object","properties":{"user_workspace_ids":{"description":"List of workspaces user is part of.","example":["yh1XNNMzW77AQxGv","phononx"],"type":"array","items":{"type":"string"}},"recent_workspace_changes":{"type":"array","items":{"$ref":"#/components/schemas/RecentWorkspaces"}}},"required":["user_workspace_ids","recent_workspace_changes"]},"RemoveWorkspaceUserDto":{"type":"object","properties":{"workspace_guid":{"type":"string"},"user_guid":{"type":"string"}},"required":["workspace_guid","user_guid"]},"InviteUserDto":{"type":"object","properties":{"workspace_guid":{"type":"string"},"user_guid":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"}},"required":["workspace_guid"]},"UserInfo":{"type":"object","properties":{"user_guid":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"}}},"AddUserPayload":{"type":"object","properties":{"workspace_guid":{"type":"string"},"users":{"description":"List of users to add to the workspace, up to 100 users","type":"array","items":{"$ref":"#/components/schemas/UserInfo"}}},"required":["workspace_guid","users"]},"AddedUser":{"type":"object","properties":{"user_guid":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"success":{"type":"boolean","description":"Whether the user was added successfully"},"message":{"type":"string","description":"Message about failure to add user"}},"required":["success"]},"AddUsersResponse":{"type":"object","properties":{"added_users":{"type":"array","items":{"$ref":"#/components/schemas/AddedUser"}},"failed_users":{"type":"array","items":{"$ref":"#/components/schemas/AddedUser"}}}},"VanityNameCheckResponse":{"type":"object","properties":{"name":{"type":"string"},"available":{"type":"boolean"},"reason":{"type":"string","nullable":true}},"required":["name","available","reason"]},"AcceptOrDeclineJoinRequestPayload":{"type":"object","properties":{"user_id":{"type":"string"},"role":{"default":"member","allOf":[{"$ref":"#/components/schemas/Role"}]},"accept":{"type":"boolean"}},"required":["user_id","accept"]},"UpdateUserRoleParameters":{"type":"object","properties":{"workspace_id":{"type":"string"},"user_id":{"type":"string"},"role":{"allOf":[{"$ref":"#/components/schemas/Role"}]}},"required":["workspace_id","user_id","role"]},"WorkspaceType":{"type":"string","enum":["standard","webcontact","personallink"]},"WorkspaceUser":{"type":"object","properties":{"user_id":{"type":"string"},"role":{"allOf":[{"$ref":"#/components/schemas/Role"}]},"status_changed_at":{"format":"date-time","type":"string"},"status":{"allOf":[{"$ref":"#/components/schemas/UserMembershipStatus"}]}},"required":["user_id","role","status_changed_at","status"]},"DomainReferralMode":{"type":"string","enum":["do-not-inform","automatic","request","share-instructions"]},"WorkspaceV2":{"type":"object","properties":{"_id":{"type":"string"},"vanity_name":{"type":"string","nullable":true},"name":{"type":"string"},"description":{"type":"string","nullable":true},"image_url":{"type":"string","nullable":true},"type":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/WorkspaceType"}]},"created_at":{"format":"date-time","type":"string"},"last_updated_at":{"format":"date-time","type":"string"},"plan_type":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PlanType"}]},"users":{"type":"array","items":{"$ref":"#/components/schemas/WorkspaceUser"}},"settings":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/SettingValue"}},"phones":{"type":"array","items":{"$ref":"#/components/schemas/WorkspacePhone"}},"background_color":{"type":"string","nullable":true},"watermark_image_url":{"type":"string","nullable":true},"conversation_default":{"type":"boolean"},"invitation_mode":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/InvitationMode"}]},"sso_email_domain":{"type":"string","nullable":true},"scim_provider":{"type":"string","nullable":true},"scim_connection_name":{"type":"string","nullable":true},"is_retention_enabled":{"type":"boolean","nullable":true},"retention_days":{"type":"number","nullable":true,"format":"int32"},"who_can_change_conversation_retention":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/Role"}},"who_can_mark_messages_as_preserved":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/Role"}},"retention_days_async_meeting":{"type":"number","nullable":true,"format":"int32"},"domain_referral_mode":{"nullable":false,"allOf":[{"$ref":"#/components/schemas/DomainReferralMode"}]},"domain_referral_message":{"type":"string","nullable":true},"domain_referral_title":{"type":"string","nullable":true},"domains":{"nullable":false,"type":"array","items":{"type":"string"}}},"required":["_id","name","created_at","last_updated_at","users","settings","phones","background_color","watermark_image_url","conversation_default","invitation_mode","sso_email_domain","scim_provider","scim_connection_name","domain_referral_mode","domains"]},"CreateWorkspace":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string","nullable":true},"type":{"allOf":[{"$ref":"#/components/schemas/WorkspaceType"}]},"vanity_name":{"type":"string","nullable":true}},"required":["name","description","type","vanity_name"]},"UpsertWorkspaceDto":{"type":"object","properties":{"workspace_guid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"vanity_name":{"type":"string","nullable":true},"invitation_mode":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/InvitationMode"}]},"who_can_change_conversation_retention":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/Role"}},"who_can_mark_messages_as_preserved":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/Role"}},"domain_referral_mode":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/DomainReferralMode"}]},"domain_referral_message":{"type":"string","nullable":true},"domain_referral_title":{"type":"string","nullable":true}},"required":["workspace_guid"]},"JoinableWorkspace":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"domains":{"type":"array","items":{"type":"string"}},"watermark_url":{"type":"string"},"background_color":{"type":"string"},"image_url":{"type":"string"},"users":{"type":"number"},"channels":{"type":"number"},"domain_referral_mode":{"allOf":[{"$ref":"#/components/schemas/DomainReferralMode"}]},"domain_referral_message":{"type":"string"}},"required":["id","name","domains","users","channels","domain_referral_mode"]},"CreatableWorkspace":{"type":"object","properties":{"domain":{"type":"string"},"numberOfUsers":{"type":"number"},"existingWorkspaces":{"type":"array","items":{"type":"string"}}},"required":["domain","numberOfUsers","existingWorkspaces"]},"SuggestedWorkspacesResponse":{"type":"object","properties":{"joinableWorkspaces":{"type":"array","items":{"$ref":"#/components/schemas/JoinableWorkspace"}},"creatableWorkspaces":{"type":"array","items":{"$ref":"#/components/schemas/CreatableWorkspace"}}},"required":["joinableWorkspaces","creatableWorkspaces"]},"WorkspacePhoneV5":{"type":"object","properties":{"id":{"type":"string","description":"Phone ID"},"number":{"type":"string","description":"Phone number"},"type":{"description":"Phone type","allOf":[{"$ref":"#/components/schemas/PhoneType"}]},"label":{"type":"string","description":"Phone label"},"destination_workspace_id":{"type":"string","description":"Destination workspace ID","nullable":true},"parent_phone":{"type":"string","description":"Parent phone number","nullable":true},"message_url":{"type":"string","description":"Message URL","nullable":true},"phone_sid":{"type":"string","description":"Phone SID","nullable":true}},"required":["id","number","type","label"]},"WorkspaceV5":{"type":"object","properties":{"id":{"type":"string","description":"Workspace ID"},"name":{"type":"string","description":"Workspace name"},"vanity_name":{"type":"string","description":"Workspace vanity name","nullable":true},"description":{"type":"string","description":"Workspace description","nullable":true},"image_url":{"type":"string","description":"Workspace image URL","nullable":true},"type":{"description":"Workspace type","nullable":true,"allOf":[{"$ref":"#/components/schemas/WorkspaceType"}]},"created_at":{"format":"date-time","type":"string","description":"Workspace creation date"},"last_updated_at":{"format":"date-time","type":"string","description":"Last update date"},"owner_id":{"type":"string","description":"Workspace owner ID","nullable":true},"creator_id":{"type":"string","description":"Workspace creator ID","nullable":true},"plan_type":{"description":"Plan type","nullable":true,"allOf":[{"$ref":"#/components/schemas/PlanType"}]},"phones":{"description":"Workspace phone numbers (only included in single workspace response)","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/WorkspacePhoneV5"}},"background_color":{"type":"string","description":"Background color","nullable":true},"watermark_image_url":{"type":"string","description":"Watermark image URL","nullable":true},"conversation_default":{"type":"boolean","description":"Whether this workspace is the default for conversations","nullable":true},"invitation_mode":{"description":"Invitation mode","nullable":true,"allOf":[{"$ref":"#/components/schemas/InvitationMode"}]},"sso_email_domain":{"type":"string","description":"SSO email domain","nullable":true},"scim_provider":{"type":"string","description":"SCIM provider","nullable":true},"scim_connection_name":{"type":"string","description":"SCIM connection name","nullable":true},"is_retention_enabled":{"type":"boolean","description":"Whether retention is enabled","nullable":true},"retention_days":{"type":"number","description":"Retention days","nullable":true},"who_can_change_conversation_retention":{"type":"array","description":"Roles that can change conversation retention","nullable":true,"items":{"$ref":"#/components/schemas/Role"}},"who_can_mark_messages_as_preserved":{"type":"array","description":"Roles that can mark messages as preserved","nullable":true,"items":{"$ref":"#/components/schemas/Role"}},"retention_days_async_meeting":{"type":"number","description":"Retention days for async meetings","nullable":true},"domain_referral_mode":{"description":"Domain referral mode","allOf":[{"$ref":"#/components/schemas/DomainReferralMode"}]},"domain_referral_message":{"type":"string","description":"Domain referral message","nullable":true},"domain_referral_title":{"type":"string","description":"Domain referral title","nullable":true},"domains":{"description":"Associated domains","nullable":true,"type":"array","items":{"type":"string"}}},"required":["id","name","created_at","last_updated_at"]},"WorkspacesFiltersV5":{"type":"object","properties":{"direction":{"description":"Sort direction","allOf":[{"$ref":"#/components/schemas/Direction"}]},"limit":{"type":"number","description":"Number of items per page","format":"int32"},"date":{"type":"string","description":"Anchor timestamp to start from","nullable":true},"starting_after":{"type":"string","description":"Cursor to fetch the next page","nullable":true},"ending_before":{"type":"string","description":"Cursor to fetch the previous page","nullable":true},"roles":{"type":"array","description":"List of roles filter","nullable":true,"items":{"$ref":"#/components/schemas/Role"}},"types":{"type":"array","description":"List of workspace types filter","nullable":true,"items":{"$ref":"#/components/schemas/WorkspaceType"}}},"required":["direction","limit"]},"GetWorkspacesResponseV5":{"type":"object","properties":{"results":{"description":"List of workspaces","type":"array","items":{"$ref":"#/components/schemas/WorkspaceV5"}},"next_cursor":{"type":"string","description":"Cursor to fetch the next page","nullable":true},"has_more":{"type":"boolean","description":"Whether there are more items to fetch"},"total":{"type":"number","description":"Total number of workspaces (filtered by the query). Only included when include_total=true is provided in the query.","format":"int32","nullable":true},"filters":{"description":"Applied filters","allOf":[{"$ref":"#/components/schemas/WorkspacesFiltersV5"}]}},"required":["results","has_more","filters"]},"SettingLevel":{"type":"string","enum":["organization","workspace","channel","message"]},"Setting":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"applied_to":{"allOf":[{"$ref":"#/components/schemas/SettingLevel"}]},"description":{"type":"string","nullable":true}},"required":["id","name","applied_to","description"]},"LeveledSettings":{"type":"object","properties":{"addMembers":{"$ref":"#/components/schemas/Setting"},"removeMembers":{"$ref":"#/components/schemas/Setting"},"addOwners":{"$ref":"#/components/schemas/Setting"},"editName":{"$ref":"#/components/schemas/Setting"},"viewAdmins":{"$ref":"#/components/schemas/Setting"},"viewMembers":{"$ref":"#/components/schemas/Setting"},"viewOwners":{"$ref":"#/components/schemas/Setting"},"viewGuests":{"$ref":"#/components/schemas/Setting"},"editDescription":{"$ref":"#/components/schemas/Setting"},"viewDescription":{"$ref":"#/components/schemas/Setting"},"editImage":{"$ref":"#/components/schemas/Setting"},"canLeave":{"$ref":"#/components/schemas/Setting"},"canDelete":{"$ref":"#/components/schemas/Setting"},"canDeleteSentMessages":{"$ref":"#/components/schemas/Setting"},"canForwardMessages":{"$ref":"#/components/schemas/Setting"},"recordPreRecordedMessages":{"$ref":"#/components/schemas/Setting"}},"required":["addMembers","removeMembers","addOwners","editName","viewAdmins","viewMembers","viewOwners","viewGuests","editDescription","viewDescription","editImage","canLeave","canDelete","canDeleteSentMessages","canForwardMessages","recordPreRecordedMessages"]},"WorkspaceSettings":{"type":"object","properties":{"addMembers":{"$ref":"#/components/schemas/Setting"},"removeMembers":{"$ref":"#/components/schemas/Setting"},"addOwners":{"$ref":"#/components/schemas/Setting"},"editName":{"$ref":"#/components/schemas/Setting"},"viewAdmins":{"$ref":"#/components/schemas/Setting"},"viewMembers":{"$ref":"#/components/schemas/Setting"},"viewOwners":{"$ref":"#/components/schemas/Setting"},"viewGuests":{"$ref":"#/components/schemas/Setting"},"editDescription":{"$ref":"#/components/schemas/Setting"},"viewDescription":{"$ref":"#/components/schemas/Setting"},"editImage":{"$ref":"#/components/schemas/Setting"},"canLeave":{"$ref":"#/components/schemas/Setting"},"canDelete":{"$ref":"#/components/schemas/Setting"},"canDeleteSentMessages":{"$ref":"#/components/schemas/Setting"},"canForwardMessages":{"$ref":"#/components/schemas/Setting"},"recordPreRecordedMessages":{"$ref":"#/components/schemas/Setting"},"addChannels":{"$ref":"#/components/schemas/Setting"},"canSetWhoChangeConversationRetentionSettings":{"$ref":"#/components/schemas/Setting"},"canSetWhoMarkMessageToBePreserved":{"$ref":"#/components/schemas/Setting"},"canManageDomains":{"$ref":"#/components/schemas/Setting"}},"required":["addMembers","removeMembers","addOwners","editName","viewAdmins","viewMembers","viewOwners","viewGuests","editDescription","viewDescription","editImage","canLeave","canDelete","canDeleteSentMessages","canForwardMessages","recordPreRecordedMessages","addChannels","canSetWhoChangeConversationRetentionSettings","canSetWhoMarkMessageToBePreserved","canManageDomains"]},"ChannelSettings":{"type":"object","properties":{"addMembers":{"$ref":"#/components/schemas/Setting"},"removeMembers":{"$ref":"#/components/schemas/Setting"},"addOwners":{"$ref":"#/components/schemas/Setting"},"editName":{"$ref":"#/components/schemas/Setting"},"viewAdmins":{"$ref":"#/components/schemas/Setting"},"viewMembers":{"$ref":"#/components/schemas/Setting"},"viewOwners":{"$ref":"#/components/schemas/Setting"},"viewGuests":{"$ref":"#/components/schemas/Setting"},"editDescription":{"$ref":"#/components/schemas/Setting"},"viewDescription":{"$ref":"#/components/schemas/Setting"},"editImage":{"$ref":"#/components/schemas/Setting"},"canLeave":{"$ref":"#/components/schemas/Setting"},"canDelete":{"$ref":"#/components/schemas/Setting"},"canDeleteSentMessages":{"$ref":"#/components/schemas/Setting"},"canForwardMessages":{"$ref":"#/components/schemas/Setting"},"recordPreRecordedMessages":{"$ref":"#/components/schemas/Setting"},"addMessages":{"$ref":"#/components/schemas/Setting"},"viewIsPrivate":{"$ref":"#/components/schemas/Setting"},"viewVisibility":{"$ref":"#/components/schemas/Setting"},"editVisibility":{"$ref":"#/components/schemas/Setting"},"changeMemberRole":{"$ref":"#/components/schemas/Setting"},"editSpans":{"$ref":"#/components/schemas/Setting"},"canChangeConversationRetention":{"$ref":"#/components/schemas/Setting"},"canPreserveMessages":{"$ref":"#/components/schemas/Setting"},"canSendMessages":{"$ref":"#/components/schemas/Setting"}},"required":["addMembers","removeMembers","addOwners","editName","viewAdmins","viewMembers","viewOwners","viewGuests","editDescription","viewDescription","editImage","canLeave","canDelete","canDeleteSentMessages","canForwardMessages","recordPreRecordedMessages","addMessages","viewIsPrivate","viewVisibility","editVisibility","changeMemberRole","editSpans","canChangeConversationRetention","canPreserveMessages","canSendMessages"]},"MessageSettings":{"type":"object","properties":{}},"Settings":{"type":"object","properties":{"OrganizationSettings":{"$ref":"#/components/schemas/LeveledSettings"},"WorkspaceSettings":{"$ref":"#/components/schemas/WorkspaceSettings"},"ChannelSettings":{"$ref":"#/components/schemas/ChannelSettings"},"MessageSettings":{"$ref":"#/components/schemas/MessageSettings"}},"required":["OrganizationSettings","WorkspaceSettings","ChannelSettings","MessageSettings"]},"ChannelSettingsSummary":{"type":"object","properties":{"role":{"allOf":[{"$ref":"#/components/schemas/Role"}]},"workspace_role":{"allOf":[{"$ref":"#/components/schemas/Role"}]},"type":{"allOf":[{"$ref":"#/components/schemas/ChannelType"}]},"settings":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/SettingValue"}}},"required":["role","workspace_role","type","settings"]},"PublicChannelResponse":{"type":"object","properties":{"channel":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PersonalizedChannel"}]},"name":{"type":"string","nullable":true},"workspace_name":{"type":"string"},"visibility":{"allOf":[{"$ref":"#/components/schemas/ChannelVisibility"}]},"users":{"type":"array","items":{"$ref":"#/components/schemas/ChannelCollaborator"}},"attachments":{"type":"array","items":{"$ref":"#/components/schemas/Attachment"}},"workspace_image_url":{"type":"string"},"workspace_role":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/Role"}]},"channel_type":{"allOf":[{"$ref":"#/components/schemas/ChannelType"}]},"spans":{"type":"array","items":{"$ref":"#/components/schemas/PersonalizedChannelSpan"}},"description":{"type":"string","nullable":true},"created_at":{"format":"date-time","type":"string"},"channel_image_url":{"type":"string","nullable":true}},"required":["channel","workspace_name","visibility","users","attachments","workspace_image_url","workspace_role","channel_type","spans","description","created_at","channel_image_url"]},"WorkspaceSearchParameters":{"type":"object","properties":{"workspace_ids":{"type":"array","items":{"type":"string"}}},"required":["workspace_ids"]},"PublicWorkspace":{"type":"object","properties":{"_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"owner_id":{"type":"string"},"image_urL":{"type":"string","nullable":true}},"required":["_id","name","description","owner_id","image_urL"]},"PublicWorkspaceResponse":{"type":"object","properties":{"workspaces":{"type":"array","items":{"$ref":"#/components/schemas/PublicWorkspace"}}},"required":["workspaces"]},"PublicContactInfo":{"type":"object","properties":{"first_name":{"type":"string"},"last_name":{"type":"string"},"image_url":{"type":"string","nullable":true}},"required":["first_name","last_name"]},"ChannelUsersNotAllowedReceiveNotifications":{"type":"object","properties":{"creator_id":{"type":"string"},"creator_name":{"type":"string"},"channel_id":{"type":"string"},"channel_name":{"type":"string"},"workspace_id":{"type":"string"},"users":{"type":"array","items":{"$ref":"#/components/schemas/UsersNotAllowedReceiveNotifications"}},"users_v2":{"type":"array","items":{"$ref":"#/components/schemas/UsersNotAllowedReceiveNotificationsV2"}}},"required":["creator_id","creator_name","channel_id","channel_name","workspace_id"]},"AddFavoriteDto":{"type":"object","properties":{"type":{"type":"string","enum":["channel"]},"entity_id":{"type":"string","example":"5e9f8f8f8f8f8f8f8f8f8f8"}},"required":["type","entity_id"]},"SortFavoritesDto":{"type":"object","properties":{"ids":{"description":"List of favorite IDs in the desired order","example":["5e9f8f8f8f8f8f8f8f8f8f8","5e9f8f8f8f8f8f8f8f8f8f9"],"type":"array","items":{"type":"string"}}},"required":["ids"]},"RedeemGateCodeParameters":{"type":"object","properties":{"token_guid":{"type":"string"},"source":{"type":"string"},"reason":{"type":"string"}},"required":["token_guid","source","reason"]},"MessageHeardStatus":{"type":"object","properties":{"message_id":{"type":"string"},"caught_up":{"allOf":[{"$ref":"#/components/schemas/CaughtUpStatus"}]},"channel_sequence":{"type":"number","format":"int64"},"last_heard_at":{"format":"date-time","type":"string"},"notified":{"type":"boolean"},"heard_ms":{"type":"number","format":"int64"}},"required":["message_id","caught_up","channel_sequence","last_heard_at","notified","heard_ms"]},"PushInfo":{"type":"object","properties":{"title":{"type":"string"},"subtitle":{"type":"string"},"body":{"type":"string"},"data":{"type":"object"},"badgeCounter":{"type":"number"},"category":{"type":"string"}},"required":["title","subtitle","body","data","badgeCounter"]},"Notification":{"type":"object","properties":{"_id":{"type":"string"},"user_id":{"type":"string"},"type":{"type":"string","enum":["message","tag","newUser"]},"workspace_id":{"type":"string","nullable":true},"channel_id":{"type":"string","nullable":true},"parent_message_id":{"type":"string","nullable":true},"message_id":{"type":"string","nullable":true},"message":{"type":"string"},"created_on":{"format":"date-time","type":"string"},"created_at":{"format":"date-time","type":"string"},"from_user_id":{"type":"string","nullable":true},"pushInfo":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PushInfo"}]}},"required":["_id","user_id","type","workspace_id","channel_id","message_id","message","created_on","created_at"]},"StartupResponse":{"type":"object","properties":{"notifications":{"type":"array","items":{"$ref":"#/components/schemas/Notification"}},"workspaces":{"type":"array","items":{"$ref":"#/components/schemas/Workspace"}},"channels":{"type":"array","items":{"$ref":"#/components/schemas/PersonalizedChannel"}},"contacts":{"type":"array","items":{"$ref":"#/components/schemas/Contact"}}},"required":["notifications","workspaces","channels","contacts"]},"HomeResponse":{"type":"object","properties":{"success":{"type":"boolean"},"workspaces":{"type":"array","items":{"$ref":"#/components/schemas/Workspace"}},"usedAccessToken":{"type":"boolean"}},"required":["success","workspaces","usedAccessToken"]},"LabelBehavior":{"type":"string","enum":["removeOnListenStart","removeWhenHeard","persistent"]},"LabelType":{"type":"string","enum":["personal","workspace","system","reaction"]},"CreateLabel":{"type":"object","properties":{"name":{"type":"string"},"behavior":{"allOf":[{"$ref":"#/components/schemas/LabelBehavior"}]},"type":{"allOf":[{"$ref":"#/components/schemas/LabelType"}]},"space_guid":{"type":"string"},"automatic_playlist":{"type":"boolean"},"sort_order":{"type":"number","nullable":true,"format":"int32"}},"required":["name","behavior","type"]},"Label":{"type":"object","properties":{"_id":{"type":"string"},"name":{"type":"string"},"behavior":{"allOf":[{"$ref":"#/components/schemas/LabelBehavior"}]},"type":{"allOf":[{"$ref":"#/components/schemas/LabelType"}]},"creator_guid":{"type":"string"},"space_guid":{"type":"string","nullable":true},"image_url":{"type":"string","nullable":true},"automatic_playlist":{"type":"boolean"},"sort_order":{"type":"number"}},"required":["_id","name","behavior","type","creator_guid"]},"Success":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates whether the operation was successful","example":true}}},"LinkDto":{"type":"object","properties":{"title":{"type":"string"},"workspace_guid":{"type":"string"},"vanity_name":{"type":"string","nullable":true},"workspace_name":{"type":"string"},"workspace_image_url":{"type":"string"},"welcome_audio_url":{"type":"string","nullable":true},"welcome_waveform_url":{"type":"string","nullable":true},"type":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/WorkspaceType"}]},"from":{"type":"string"}},"required":["title","workspace_guid","workspace_name","workspace_image_url","from"]},"LinkResponseDto":{"type":"object","properties":{"success":{"type":"boolean"},"link":{"$ref":"#/components/schemas/LinkDto"}},"required":["success","link"]},"ClientLogDto":{"type":"object","properties":{"msg":{"type":"string"},"url":{"type":"string","nullable":true},"line":{"type":"number","nullable":true}},"required":["msg"]},"SendMagicLinkResponse":{"type":"object","properties":{"method":{"type":"string"},"obfuscated_value":{"type":"string"},"magic_key":{"type":"string"}},"required":["method","obfuscated_value","magic_key"]},"SendMagicLinkDto":{"type":"object","properties":{"method":{"type":"string","description":"'email' or 'mobile' indicating whether value will be an email address or a phone number"},"value":{"type":"string","description":"Either an email address or a mobile phone number to create magic link for"},"name":{"type":"string","nullable":true,"description":"Name user entered (requested when identity does not already exist)"},"formerge":{"type":"boolean"}},"required":["method","value","formerge"]},"MagicKey":{"type":"object","properties":{"value":{"type":"string"}},"required":["value"]},"MagicToken":{"type":"object","properties":{"code":{"type":"string"},"magicToken":{"type":"string"},"attempts_left":{"type":"number","format":"int32"}},"required":["code","magicToken","attempts_left"]},"MagicTokenResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MagicToken"},"pxtoken":{"type":"string"}},"required":["data","pxtoken"]},"NotifiedMessageStatistic":{"type":"object","properties":{"first_channel_sequence":{"type":"number","format":"int64"},"first_message_id":{"type":"string"},"first_message_created_at":{"format":"date-time","type":"string"},"last_message_id":{"type":"string"},"last_channel_sequence":{"type":"number","format":"int64"},"last_message_created_at":{"format":"date-time","type":"string"},"total_notified":{"type":"number","description":"The number of messages that are marked notified","format":"int32"},"total":{"type":"number","description":"The total number of messages in the channel","format":"int32"},"max_channel_sequence":{"type":"number","description":"The sequence number of the most recent message","format":"int32"},"channel_id":{"type":"string"}},"required":["first_channel_sequence","first_message_id","first_message_created_at","last_message_id","last_channel_sequence","last_message_created_at","total_notified","total","max_channel_sequence","channel_id"]},"UserEngagementSummary":{"type":"object","properties":{"user_id":{"type":"string"},"messages_by_other_users_count":{"type":"number","nullable":false,"format":"int32"},"messages_by_other_users_duration_ms":{"type":"number","nullable":false,"format":"int32"},"messages_by_other_users_heard_ms":{"type":"number","nullable":false,"format":"int32"},"voice_messages_sent_count":{"type":"number","nullable":false,"format":"int32"},"voice_messages_sent_duration_ms":{"type":"number","nullable":false,"format":"int32"},"text_messages_sent_count":{"type":"number","nullable":false,"format":"int32"},"attachment_only_messages_sent_count":{"type":"number","nullable":false,"format":"int32"},"messages_by_other_users_caught_up_count":{"type":"number","nullable":false,"format":"int32"}},"required":["user_id","messages_by_other_users_count","messages_by_other_users_duration_ms","messages_by_other_users_heard_ms","voice_messages_sent_count","voice_messages_sent_duration_ms","text_messages_sent_count","attachment_only_messages_sent_count","messages_by_other_users_caught_up_count"]},"LabelStatistic":{"type":"object","properties":{"label_id":{"type":"string"},"notified_messages":{"type":"number"},"total_messages":{"type":"number"},"oldest_notified_message_id":{"type":"string","nullable":true}},"required":["label_id","notified_messages","total_messages","oldest_notified_message_id"]},"Statistics":{"type":"object","properties":{"notified_messages":{"type":"array","items":{"$ref":"#/components/schemas/NotifiedMessageStatistic"}},"label_statistics":{"type":"array","items":{"$ref":"#/components/schemas/LabelStatistic"}}},"required":["notified_messages","label_statistics"]},"NotificationModel":{"type":"object","properties":{}},"Oauth2TokenRequest":{"type":"object","properties":{"redirect_uri":{"type":"string","description":"The URL to which Auth will redirect the browser after authorization has been granted by the user."},"code":{"type":"string","description":"The authorization code when grant_type is set to \"authorization_code\""},"grant_type":{"type":"string","description":"The type of grant you are requesting, \"client_credentials\",\"refresh_token\",\"authorization_code\""},"refreshToken":{"type":"string"},"code_verifier":{"type":"string","description":"The code verifier when grant_type is set to \"authorization_code\" and code_challenge_method"}},"required":["redirect_uri","code","grant_type"]},"OAuth2Response":{"type":"object","properties":{"access_token":{"type":"string","description":"The generated access token"},"token_type":{"type":"string","description":"The type of token, in our case should always be \"bearer\""},"refresh_token":{"type":"string","description":"The generated refresh token"},"expires_in":{"type":"number","description":"Number of seconds until the access token expires"},"refresh_token_exp":{"type":"number","description":"The list of the permissions (tpApps) that the application requests."},"scope":{"type":"string","description":"Scopes you are allowed to use if any requested"},"user_id":{"type":"string","description":"The authenticated user id"}},"required":["access_token","token_type","refresh_token","expires_in","refresh_token_exp","scope"]},"Oauth2LogoutRequest":{"type":"object","properties":{"post_logout_redirect_uri":{"type":"string","description":"Where to send the browser after the auth UI finishes logout. Must match an allowed logout or callback URL for the client.","example":"https://developer.carbonvoice.app/auth-callback"}}},"Oauth2LogoutResponse":{"type":"object","properties":{"auth_logout_url":{"type":"string","description":"Auth UI logout URL that clears the provider session before returning to the requesting app.","example":"https://auth.carbonvoice.app/rlogout?post_logout_redirect_uri=https%3A%2F%2Fdeveloper.carbonvoice.app%2Fauth-callback"},"post_logout_redirect_uri":{"type":"string","description":"Validated URL that the auth UI will redirect back to after logout.","example":"https://developer.carbonvoice.app/auth-callback"}},"required":["auth_logout_url","post_logout_redirect_uri"]},"OAuth2Scope":{"type":"string","enum":["admin","identity","profile:read","profile:write","channels:read","channels:write","channels:join","channels:history","mcp:read","mcp:write","cv:read","cv:write","https://www.googleapis.com/auth/calendar.readonly","https://www.googleapis.com/auth/calendar","https://www.googleapis.com/auth/gmail.readonly","https://www.googleapis.com/auth/gmail.modify","https://www.googleapis.com/auth/gmail.send","slack:read","slack:write","microsoft:graph:read","microsoft:graph:write","github:read","github:write","notion:read","notion:write"],"description":"The scopes of the client (space-separated)"},"WebhookUrlMode":{"type":"string","enum":["one_per_client","one_per_subscription"],"description":"Defines whether the app uses one webhook URL for the whole client or one webhook URL per subscription. Omit on create/update unless you need a non-default mode; when absent on the stored client, the effective mode is one_per_client."},"Oauth2Client":{"type":"object","properties":{"name":{"type":"string","description":"The name of the client"},"description":{"type":"string","description":"The description of the client"},"client_id":{"type":"string","description":"The client ID"},"client_secret":{"type":"string","description":"The client secret"},"grant_types":{"type":"number","enum":[{"AuthorizationCode":"authorization_code","RefreshToken":"refresh_token"}],"description":"The grants of the client"},"redirect_uris":{"description":"The redirect URIs of the client","type":"array","items":{"type":"string"}},"scope":{"description":"The scopes of the client (space-separated)","example":"cv:read cv:write mcp:read mcp:write","allOf":[{"$ref":"#/components/schemas/OAuth2Scope"}]},"client_uri":{"type":"string","description":"The client URI"},"created_at":{"format":"date-time","type":"string","description":"The created at date"},"updated_at":{"format":"date-time","type":"string","description":"The updated at date"},"access_token_lifetime_seconds":{"type":"number","description":"Access token lifetime in seconds"},"refresh_token_lifetime_seconds":{"type":"number","description":"Refresh token lifetime in seconds"},"webhook_url":{"type":"string","description":"The webhook URL of the client"},"webhooks_url_mode":{"description":"Defines whether the app uses one webhook URL for the whole client or one webhook URL per subscription. Omit on create/update unless you need a non-default mode; when absent on the stored client, the effective mode is one_per_client.","default":"one_per_client","allOf":[{"$ref":"#/components/schemas/WebhookUrlMode"}]},"webhook_authentication_header":{"type":"object","description":"The webhook authentication header of the client. Will be used as the authentication header when sending webhooks to the webhook URL","additionalProperties":{"type":"string"}},"is_default_subscription_client":{"type":"boolean","description":"When true, this client is the default portal app for webhook subscriptions (one webhook URL per subscription)."}},"required":["name","client_id","grant_types","redirect_uris","scope","created_at","updated_at","access_token_lifetime_seconds","refresh_token_lifetime_seconds"]},"Oauth2TokenEndpointAuthMethod":{"type":"string","enum":["none","client_secret_basic","client_secret_post"],"description":"Token endpoint authentication method"},"GrantType":{"type":"string","enum":["authorization_code","refresh_token"],"description":"Allowed grant types"},"Oauth2ResponseType":{"type":"string","enum":["code","token"],"description":"Allowed response types"},"Oauth2RegisterRequest":{"type":"object","properties":{"redirect_uris":{"description":"Allowed redirect URIs for the OAuth2 client","example":["https://my-app.com/oauth/callback"],"type":"array","items":{"type":"string"}},"token_endpoint_auth_method":{"description":"Token endpoint authentication method","example":"none","allOf":[{"$ref":"#/components/schemas/Oauth2TokenEndpointAuthMethod"}]},"grant_types":{"type":"array","description":"Allowed grant types","example":["authorization_code","refresh_token"],"items":{"$ref":"#/components/schemas/GrantType"}},"response_types":{"type":"array","description":"Allowed response types","example":["code","token"],"items":{"$ref":"#/components/schemas/Oauth2ResponseType"}},"client_name":{"type":"string","description":"Client name","example":"MCP Inspector"},"client_uri":{"type":"string","description":"Client URI","example":"https://github.com/modelcontextprotocol/inspector"},"scope":{"type":"string","description":"OAuth2 scopes","example":"mcp:read mcp:write"},"webhook_url":{"type":"string","description":"Webhook URL. (URL that will be used to send webhooks)","example":"https://my-app.com/webhooks"},"webhooks_url_mode":{"description":"Webhook URL mode. Defaults to one_per_client when omitted. Use one_per_subscription when each subscription should define its own webhook URL.","example":"one_per_client","default":"one_per_client","allOf":[{"$ref":"#/components/schemas/WebhookUrlMode"}]},"webhook_authentication_header":{"type":"object","description":"Webhook authentication header. (Authentication header that will be used to send webhooks)","example":{"x-api-key":"1234567890"}},"access_token_lifetime_seconds":{"type":"number","description":"Access token lifetime in seconds. (Default is 1 hour)","example":3600,"default":3600},"refresh_token_lifetime_seconds":{"type":"number","description":"Refresh token lifetime in seconds. (Default is 1 year)","example":31536000,"default":31536000}},"required":["redirect_uris","token_endpoint_auth_method","grant_types","response_types","client_name"]},"Client":{"type":"object","properties":{}},"Oauth2UpdateClientRequest":{"type":"object","properties":{"redirect_uris":{"description":"Allowed redirect URIs for the OAuth2 client","example":["https://my-app.com/oauth/callback"],"type":"array","items":{"type":"string"}},"token_endpoint_auth_method":{"description":"Token endpoint authentication method","example":"none","allOf":[{"$ref":"#/components/schemas/Oauth2TokenEndpointAuthMethod"}]},"grant_types":{"type":"array","description":"Allowed grant types","example":["authorization_code","refresh_token"],"items":{"$ref":"#/components/schemas/GrantType"}},"response_types":{"type":"array","description":"Allowed response types","example":["code","token"],"items":{"$ref":"#/components/schemas/Oauth2ResponseType"}},"client_name":{"type":"string","description":"Client name","example":"MCP Inspector"},"client_uri":{"type":"string","description":"Client URI","example":"https://github.com/modelcontextprotocol/inspector"},"scope":{"type":"string","description":"OAuth2 scopes","example":"mcp:read mcp:write"},"webhook_url":{"type":"string","description":"Webhook URL. (URL that will be used to send webhooks)","example":"https://my-app.com/webhooks"},"webhooks_url_mode":{"description":"Webhook URL mode. Defaults to one_per_client when omitted. Use one_per_subscription when each subscription should define its own webhook URL.","example":"one_per_client","default":"one_per_client","allOf":[{"$ref":"#/components/schemas/WebhookUrlMode"}]},"webhook_authentication_header":{"type":"object","description":"Webhook authentication header. (Authentication header that will be used to send webhooks)","example":{"x-api-key":"1234567890"}},"access_token_lifetime_seconds":{"type":"number","description":"Access token lifetime in seconds. (Default is 1 hour)","example":3600,"default":3600},"refresh_token_lifetime_seconds":{"type":"number","description":"Refresh token lifetime in seconds. (Default is 1 year)","example":31536000,"default":31536000}}},"OpenGraphMessage":{"type":"object","properties":{"url":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"author":{"type":"string"},"locale":{"type":"string"},"type":{"allOf":[{"$ref":"#/components/schemas/MessageType"}]},"sitename":{"type":"string"},"audio_url":{"type":"string"},"audio_type":{"type":"string"},"image_url":{"type":"string"},"image_type":{"type":"string"},"image_width":{"type":"number"},"image_height":{"type":"number"},"is_playable":{"type":"boolean"},"message_card_content":{"type":"string","nullable":true},"is_reply":{"type":"boolean"},"creator_full_name":{"type":"string"},"workspace_name":{"type":"string"},"channel_name":{"type":"string"},"channel_image_url":{"type":"string"},"channel_total_users":{"type":"number"},"workspace_image_url":{"type":"string"},"audio_waveform_image_url":{"type":"string"},"audio_duration_ms":{"type":"number"},"created_at":{"format":"date-time","type":"string","nullable":true},"is_ai_summary":{"type":"boolean"},"is_transcription_truncated":{"type":"boolean"},"short_transcription":{"type":"string"},"duration_with_dates":{"type":"string"},"parent_reply_image_url":{"type":"string"},"total_replies":{"type":"number"},"total_attachments":{"type":"number"},"video_url":{"type":"string"}},"required":["url","title","is_playable","created_at"]},"MessageResponse":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"$ref":"#/components/schemas/OpenGraphMessage"}},"required":["success","data"]},"OpenGraphInfoRequestDto":{"type":"object","properties":{"url":{"type":"string"}},"required":["url"]},"OpenGraphInfoResponseDto":{"type":"object","properties":{"keywords":{"type":"string"},"og:site_name":{"type":"string"},"og:url":{"type":"string"},"og:title":{"type":"string"},"og:image":{"type":"string"},"og:image:width":{"type":"string"},"og:image:height":{"type":"string"},"og:description":{"type":"string"},"al:ios:app_store_id":{"type":"string"},"al:ios:app_name":{"type":"string"},"al:ios:url":{"type":"string"},"al:android:url":{"type":"string"},"al:web:url":{"type":"string"},"og:type":{"type":"string"},"og:video:url":{"type":"string"},"og:video:secure_url":{"type":"string"},"og:video:type":{"type":"string"},"og:video:width":{"type":"string"},"og:video:height":{"type":"string"},"al:android:app_name":{"type":"string"},"al:android:package":{"type":"string"},"og:video:tag":{"type":"string"},"fb:app_id":{"type":"string"},"twitter:card":{"type":"string"},"twitter:site":{"type":"string"},"twitter:url":{"type":"string"},"twitter:title":{"type":"string"},"twitter:description":{"type":"string"},"twitter:image":{"type":"string"},"twitter:app:name:iphone":{"type":"string"},"twitter:app:id:iphone":{"type":"string"},"twitter:app:name:ipad":{"type":"string"},"twitter:app:id:ipad":{"type":"string"},"twitter:app:url:iphone":{"type":"string"},"twitter:app:url:ipad":{"type":"string"},"twitter:app:name:googleplay":{"type":"string"},"twitter:app:id:googleplay":{"type":"string"},"twitter:app:url:googleplay":{"type":"string"},"twitter:player":{"type":"string"},"twitter:player:width":{"type":"string"},"twitter:player:height":{"type":"string"},"referrer":{"type":"string"},"favicon":{"type":"string"}}},"OpenGraphWorkspace":{"type":"object","properties":{"url":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"author":{"type":"string"},"locale":{"type":"string"},"type":{"type":"string"},"sitename":{"type":"string"},"audio_url":{"type":"string"},"audio_type":{"type":"string"},"image_url":{"type":"string"},"image_type":{"type":"string"},"image_width":{"type":"number"},"image_height":{"type":"number"}},"required":["url","title"]},"WorkspaceResponse":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"$ref":"#/components/schemas/OpenGraphWorkspace"}},"required":["success","data"]},"OpenGraphWorkspaceInvite":{"type":"object","properties":{"url":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"author":{"type":"string"},"locale":{"type":"string"},"type":{"type":"string"},"sitename":{"type":"string"},"audio_url":{"type":"string"},"audio_type":{"type":"string"},"image_url":{"type":"string"},"image_type":{"type":"string"},"image_width":{"type":"number"},"image_height":{"type":"number"},"inviter_first_name":{"type":"string"},"inviter_last_name":{"type":"string"},"inviter_image_url":{"type":"string"},"workspace_name":{"type":"string"},"workspace_image_url":{"type":"string"},"workspace_description":{"type":"string"}},"required":["url","title"]},"WorkspaceInviteResponse":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"$ref":"#/components/schemas/OpenGraphWorkspaceInvite"}},"required":["success","data"]},"CarbonLink":{"type":"object","properties":{"url":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"author":{"type":"string"},"locale":{"type":"string"},"type":{"type":"string","enum":["standard","webcontact","personallink"]},"sitename":{"type":"string"},"audio_url":{"type":"string"},"audio_type":{"type":"string"},"image_url":{"type":"string"},"image_type":{"type":"string"},"image_width":{"type":"number"},"image_height":{"type":"number"},"first_name":{"type":"string"},"last_name":{"type":"string"},"vanity_name":{"type":"string"}},"required":["url","title","first_name","vanity_name"]},"CarbonLinkResponse":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"$ref":"#/components/schemas/CarbonLink"}},"required":["success","data"]},"OpenGraphChannel":{"type":"object","properties":{"url":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"author":{"type":"string"},"locale":{"type":"string"},"type":{"type":"string"},"sitename":{"type":"string"},"audio_url":{"type":"string"},"audio_type":{"type":"string"},"image_url":{"type":"string"},"image_type":{"type":"string"},"image_width":{"type":"number"},"image_height":{"type":"number"},"is_private":{"type":"boolean"},"is_async":{"type":"boolean"},"creator_first_name":{"type":"string"},"creator_image_url":{"type":"string"},"workspace_name":{"type":"string"},"workspace_image_url":{"type":"string"},"channel_name":{"type":"string"},"channel_description":{"type":"string"},"answer_by":{"type":"string"}},"required":["url","title","is_private","is_async"]},"PaymentPlanSummaryResponse":{"type":"object","properties":{"payment_plan_summary":{"$ref":"#/components/schemas/PaymentPlanSummary"},"managed_plans":{"type":"array","items":{"$ref":"#/components/schemas/PaymentPlanSummary"}}},"required":["payment_plan_summary","managed_plans"]},"PricingTier":{"type":"object","properties":{}},"PurchaseNotification":{"type":"object","properties":{"signedPayload":{"type":"string"}},"required":["signedPayload"]},"HeardStatus":{"type":"string","enum":["heard","unheard","any"]},"SearchParameters":{"type":"object","properties":{"label_guids":{"nullable":true,"type":"array","items":{"type":"string"}},"user_guids":{"nullable":true,"type":"array","items":{"type":"string"}},"tagged_user_guids":{"nullable":true,"type":"array","items":{"type":"string"}},"channel_guids":{"nullable":true,"type":"array","items":{"type":"string"}},"begin_date":{"format":"date-time","type":"string","nullable":true},"end_date":{"format":"date-time","type":"string","nullable":true},"heardStatus":{"allOf":[{"$ref":"#/components/schemas/HeardStatus"}]},"limit":{"type":"number","nullable":true,"format":"int32"}},"required":["label_guids","user_guids","tagged_user_guids","channel_guids","begin_date","end_date","heardStatus","limit"]},"Playlist":{"type":"object","properties":{"_id":{"type":"string"},"name":{"type":"string"},"user_guid":{"type":"string"},"search_parameters":{"description":"Search criteria to use to get the messages in a playlist","allOf":[{"$ref":"#/components/schemas/SearchParameters"}]},"image_url":{"type":"string","nullable":true}},"required":["_id","name","user_guid","search_parameters","image_url"]},"CreatePlaylist":{"type":"object","properties":{"search_parameters":{"$ref":"#/components/schemas/SearchParameters"},"name":{"type":"string"},"automatic_label_id":{"type":"boolean","nullable":true}},"required":["search_parameters","name"]},"UpdateToken":{"type":"object","properties":{"token":{"type":"string"},"is_web":{"type":"boolean"}},"required":["token","is_web"]},"Reaction":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"image_url":{"type":"string"},"code":{"type":"string"},"reaction_tts":{"type":"string"}},"required":["id","name","image_url","code","reaction_tts"]},"SearchResultsV2":{"type":"object","properties":{"messages":{"type":"array","items":{"$ref":"#/components/schemas/MessageV2"}},"success":{"type":"boolean"},"unheard_counts_by_channel":{"type":"object","additionalProperties":{"type":"number"}}},"required":["messages","success","unheard_counts_by_channel"]},"HasNotes":{"type":"string","enum":["yes","no","both"]},"NotifiedStatus":{"type":"string","enum":["notified","not_notified","both"]},"MessageId":{"type":"object","properties":{"id":{"type":"string"},"last_updated_at":{"format":"date-time","type":"string"}},"required":["id","last_updated_at"]},"MessageIdSearchResults":{"type":"object","properties":{"ids":{"type":"array","items":{"$ref":"#/components/schemas/MessageId"}},"has_more":{"type":"boolean"},"next_cursor":{"type":"string","nullable":true}},"required":["ids","has_more"]},"SlackAutoLoginRequestDto":{"type":"object","properties":{"cv_user_id":{"type":"string","description":"Carbon Voice user ID of the recipient","example":"usr_abc123"},"slack_user_id":{"type":"string","description":"Slack user ID of the recipient","example":"U01234567"},"email":{"type":"string","description":"Recipient email for login confirmation screen","example":"user@example.com"},"cv_conversation_id":{"type":"string","description":"CV channel/conversation GUID to redirect to","example":"ch_xyz789"},"first_name":{"type":"string","description":"Recipient first name (used when creating Slack identity)","example":"Jane"},"last_name":{"type":"string","description":"Recipient last name (used when creating Slack identity)","example":"Doe"},"image_url":{"type":"string","description":"Recipient profile image URL (used when creating Slack identity)","example":"https://avatars.slack-edge.com/xxx"}},"required":["cv_user_id","slack_user_id","email","cv_conversation_id"]},"SlackAutoLoginResponseDto":{"type":"object","properties":{"url":{"type":"string","description":"One-time auto-login URL with embedded session token (short TTL)","example":"https://carbonvoice.app/c/ch_xyz789?a=token&u=usr_abc&m=cp"}},"required":["url"]},"CreatePatRequest":{"type":"object","properties":{"name":{"type":"string","description":"Human-readable name for this Personal Access Token"},"scopes":{"type":"array","description":"Scopes granted to this PAT. Defaults to cv:read and cv:write if omitted.","example":["cv:read","cv:write"],"items":{"type":"string","enum":["cv:read","cv:write"]}},"expires_in_seconds":{"type":"number","description":"Optional time-to-live in seconds. Defaults to 1 year if omitted. Maximum 2 years.","example":2592000,"minimum":1,"maximum":63072000}}},"CreatedPatResponse":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"scopes":{"type":"array","items":{"type":"string","enum":["cv:read","cv:write"]}},"created_at":{"format":"date-time","type":"string"},"expires_at":{"format":"date-time","type":"string"},"revoked_at":{"format":"date-time","type":"string"},"last_used_at":{"format":"date-time","type":"string"},"display_token":{"type":"string","description":"Masked preview of the PAT. The full secret is only returned once at creation time.","example":"cv_pat_91x23...x1201"},"pat":{"type":"string","description":"Full PAT secret. This value is only returned once on creation and will never be shown again."}},"required":["id","scopes","created_at","display_token","pat"]},"PatDetail":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"scopes":{"type":"array","items":{"type":"string","enum":["cv:read","cv:write"]}},"created_at":{"format":"date-time","type":"string"},"expires_at":{"format":"date-time","type":"string"},"revoked_at":{"format":"date-time","type":"string"},"last_used_at":{"format":"date-time","type":"string"},"display_token":{"type":"string","description":"Masked preview of the PAT. The full secret is only returned once at creation time.","example":"cv_pat_91x23...x1201"}},"required":["id","scopes","created_at","display_token"]},"ListPatResponse":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/PatDetail"}}},"required":["results"]},"RevokePatResponse":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"scopes":{"type":"array","items":{"type":"string","enum":["cv:read","cv:write"]}},"created_at":{"format":"date-time","type":"string"},"expires_at":{"format":"date-time","type":"string"},"revoked_at":{"format":"date-time","type":"string"},"last_used_at":{"format":"date-time","type":"string"},"display_token":{"type":"string","description":"Masked preview of the PAT. The full secret is only returned once at creation time.","example":"cv_pat_91x23...x1201"}},"required":["id","scopes","created_at","display_token"]},"StatisticCategory":{"type":"string","enum":["ai-prompt","label"]},"StatisticType":{"type":"string","enum":["message","notified-message","ai-response"]},"Statistic":{"type":"object","properties":{"category":{"allOf":[{"$ref":"#/components/schemas/StatisticCategory"}]},"category_id":{"type":"string"},"type":{"allOf":[{"$ref":"#/components/schemas/StatisticType"}]},"value":{"type":"number","format":"int32"}},"required":["category","category_id","type","value"]},"Token":{"type":"object","properties":{"token_guid":{"type":"string"},"token_type":{"type":"string"},"token_data":{"type":"object"},"created_ts":{"type":"number","format":"int64"},"expires_ts":{"type":"number","format":"int64"},"usecount":{"type":"number","nullable":true,"format":"int32"},"user_guid":{"type":"string"}},"required":["token_guid","token_type","token_data","created_ts","expires_ts","user_guid"]},"CleanedUser":{"type":"object","properties":{"user_guid":{"type":"string"},"email_txt":{"type":"string"},"phone_txt":{"type":"string"},"image_url":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"magicKey":{"type":"string"}},"required":["user_guid","email_txt","phone_txt","image_url","first_name","last_name","magicKey"]},"CombinedAccessTokenResponse":{"type":"object","properties":{"user1":{"$ref":"#/components/schemas/CleanedUser"},"user2":{"$ref":"#/components/schemas/CleanedUser"}},"required":["user1","user2"]},"CheckTokenAccessData":{"type":"object","properties":{"workspace_guid":{"type":"string"},"channel_guid":{"type":"string"},"message_guid":{"type":"string"},"parent_message_guid":{"type":"string","nullable":true},"user_guid":{"type":"string"},"login":{"type":"boolean","nullable":true},"title":{"type":"string","nullable":true},"image_url":{"type":"string","nullable":true}},"required":["workspace_guid","channel_guid","message_guid","user_guid"]},"TokenAccessCheckResponse":{"type":"object","properties":{"success":{"type":"boolean"},"has_access":{"type":"boolean"},"token_data":{"$ref":"#/components/schemas/CheckTokenAccessData"},"user_guid":{"type":"string","nullable":true},"email_txt":{"type":"string","nullable":true},"phone_txt":{"type":"string","nullable":true}},"required":["success","has_access","token_data"]},"AccessTokenExchangeResponse":{"type":"object","properties":{"accesstoken":{"type":"string"},"for_user_display":{"type":"string"},"pxtoken":{"type":"string","nullable":true}},"required":["accesstoken","for_user_display"]},"InviteDetailResponse":{"type":"object","properties":{"inviter":{"$ref":"#/components/schemas/UserDto"},"workspace":{"$ref":"#/components/schemas/Workspace"},"collaboratorCount":{"type":"number","format":"int32"},"exampleCollaborators":{"type":"array","items":{"$ref":"#/components/schemas/UserDto"}}},"required":["inviter","workspace","collaboratorCount","exampleCollaborators"]},"CreateWorkspaceInviteRequest":{"type":"object","properties":{"workspace_guid":{"type":"string"},"use_count":{"type":"number","format":"int32"},"expires_in_seconds":{"type":"number","format":"int64"}},"required":["workspace_guid","use_count","expires_in_seconds"]},"ReceiveSMS":{"type":"object","properties":{}},"VoiceMailPhoneNumber":{"type":"object","properties":{"friendlyName":{"type":"string"},"phoneNumber":{"type":"string"},"isoCountry":{"type":"string"}},"required":["friendlyName","phoneNumber","isoCountry"]},"VoicemailPhone":{"type":"object","properties":{"phone_number":{"type":"string"},"workspace_guid":{"type":"string"},"phone_workspace_guid":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"message_url":{"type":"string","nullable":true}},"required":["phone_number","workspace_guid"]},"CreatePhoneResponse":{"type":"object","properties":{"workspace_guid":{"type":"string"},"phone_number":{"type":"string"},"phone_sid":{"type":"string"}},"required":["workspace_guid","phone_number","phone_sid"]},"Trigger":{"type":"string","enum":["message.posted.to.channel","schedule"]},"ActionMetadata":{"type":"object","properties":{"conversation_id":{"type":"string","description":"The conversation/channel ID where the reminder message should be sent","example":"channel_123"},"send_as_bot":{"type":"boolean","description":"Whether the message should be sent as a bot. If true, bot_user_id should be provided","example":true},"message":{"type":"string","description":"The message text to send. Either message or from_message_id must be provided","example":"Daily standup reminder!"},"links":{"description":"Array of links to be attached to the message","example":["https://pxassets.s3.us-east-2.amazonaws.com/images/v2/logo.png","https://pxassets.s3.us-east-2.amazonaws.com/images/v2/Personal+CarbonLink.svg","https://www.youtube.com/watch?v=36Tn5cektlg"],"type":"array","items":{"type":"string"}}}},"SubscriptionAction":{"type":"object","properties":{"action_id":{"type":"string","description":"What is the action to perform","example":"run_ai_prompt","enum":["run_ai_prompt","send_channel_message_reminder"]},"entity_type":{"type":"string","description":"What is the entity_type to perform the action on (required when entity_id is provided)","example":"ai_prompt","enum":["ai_prompt","channel_reminder"]},"entity_id":{"type":"string","description":"What is the entity_id to perform the action on (required when entity_type is provided)"},"metadata":{"description":"Additional metadata for the action. Structure varies by entity_type","allOf":[{"$ref":"#/components/schemas/ActionMetadata"}]}},"required":["action_id"]},"SubscriptionFilter":{"type":"object","properties":{"key":{"type":"string","description":"What is the key to filter the data before sending to the webhook","example":"name"},"value":{"description":"Must match `operator`: use a string or number for \"eq\" and \"ne\"; use a non-empty array only for \"in\".","example":"John","oneOf":[{"type":"string"},{"type":"number"},{"type":"array","items":{"type":"string"}}]},"operator":{"type":"string","description":"What is the operator to filter the data","enum":["eq","ne","in"],"example":"eq","default":"eq"}},"required":["key","value","operator"]},"CreateTriggerAction":{"type":"object","properties":{"trigger":{"allOf":[{"$ref":"#/components/schemas/Trigger"}]},"actions":{"type":"array","items":{"$ref":"#/components/schemas/SubscriptionAction"}},"run_on_short_message":{"type":"boolean","description":"Defines if Trigger Action should run on short message","default":false},"filters":{"example":[{"key":"workspace_id","value":"123","operator":"eq"}],"type":"array","items":{"$ref":"#/components/schemas/SubscriptionFilter"}},"rrule":{"type":"string","description":"RRULE string for time-based triggers. Required when trigger is TIME. Example: \"FREQ=WEEKLY;BYDAY=MO,WE,FR;BYHOUR=9;BYMINUTE=0\"","example":"FREQ=WEEKLY;BYDAY=MO,WE,FR;BYHOUR=9;BYMINUTE=0"}},"required":["trigger","actions"]},"TriggerAction":{"type":"object","properties":{"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The date and time at which the resource was created."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"The date and time at which the resource was last updated."},"id":{"type":"string","title":"id","description":"The primary key of the resource."},"client_id":{"type":"string"},"user_id":{"type":"string"},"trigger":{"type":"string","enum":["message.posted.to.channel","schedule"]},"actions":{"type":"array","items":{"$ref":"#/components/schemas/SubscriptionAction"}},"filters":{"type":"array","items":{"$ref":"#/components/schemas/SubscriptionFilter"}},"run_on_short_message":{"type":"boolean","description":"Defines if Trigger Action should run on short message","default":false},"rrule":{"type":"string","description":"RRULE string for SCHEDULE triggers"}},"required":["created_at","updated_at","id","client_id","user_id","trigger"]},"ListTriggerActionPagination":{"type":"object","properties":{"skip":{"type":"number","default":0,"minimum":0,"format":"int32"},"limit":{"type":"number","nullable":true,"default":50,"maximum":100,"minimum":1,"description":"Max number of results allowed per page is: **100**"},"direction":{"type":"string","nullable":true,"enum":["older","newer"],"default":"newer"},"date":{"type":"string"},"conversation_id":{"type":"string","description":"Conversation ID to filter trigger actions by. If provided, returns all trigger-action records that have at least one action matching this conversation_id. The entire trigger-action record is returned intact, including all actions (even those that do not match the conversation_id)."}}},"ListTriggerActionResponse":{"type":"object","properties":{"pagination":{"$ref":"#/components/schemas/ListTriggerActionPagination"},"total_results":{"type":"number","format":"int32"},"results":{"type":"array","items":{"$ref":"#/components/schemas/TriggerAction"}}},"required":["pagination","total_results","results"]},"UpdateTriggerAction":{"type":"object","properties":{"trigger":{"allOf":[{"$ref":"#/components/schemas/Trigger"}]},"actions":{"type":"array","items":{"$ref":"#/components/schemas/SubscriptionAction"}},"run_on_short_message":{"type":"boolean","description":"Defines if Trigger Action should run on short message","default":false},"filters":{"example":[{"key":"workspace_id","value":"123","operator":"eq"}],"type":"array","items":{"$ref":"#/components/schemas/SubscriptionFilter"}},"rrule":{"type":"string","description":"RRULE string for time-based triggers. Required when trigger is TIME. Example: \"FREQ=WEEKLY;BYDAY=MO,WE,FR;BYHOUR=9;BYMINUTE=0\"","example":"FREQ=WEEKLY;BYDAY=MO,WE,FR;BYHOUR=9;BYMINUTE=0"}},"required":["trigger","actions"]},"ActionItemContainerType":{"type":"string","enum":["channel","folder","home"]},"CreateActionItemPayload":{"type":"object","properties":{"title":{"type":"string"},"notes_text":{"type":"string"},"assigned_to":{"type":"string"},"due_date":{"type":"string"},"container_id":{"type":"string"},"container_type":{"allOf":[{"$ref":"#/components/schemas/ActionItemContainerType"}]},"source_message_id":{"type":"string"},"workspace_id":{"type":"string"}},"required":["title"]},"ActionItemStatus":{"type":"string","enum":["suggested","todo","done"]},"ActionItem":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"status":{"allOf":[{"$ref":"#/components/schemas/ActionItemStatus"}]},"notes_text":{"type":"string"},"creator_id":{"type":"string"},"source_message_id":{"type":"string"},"last_updated_by":{"type":"string"},"assigned_to":{"type":"string"},"container_id":{"type":"string"},"container_type":{"allOf":[{"$ref":"#/components/schemas/ActionItemContainerType"}]},"workspace_id":{"type":"string"},"due_date":{"type":"string","format":"date-time","nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"deleted_at":{"type":"string","format":"date-time","nullable":true}},"required":["id","title","status","creator_id","last_updated_by","workspace_id","created_at","updated_at"]},"ListActionItemsFilters":{"type":"object","properties":{"direction":{"type":"string","enum":["older","newer"],"default":"newer"},"limit":{"type":"number","minimum":1,"maximum":100,"default":50,"description":"Number of items to return (min: 1, max: 100)"},"date":{"type":"string","description":"Anchor timestamp to start from. Uses updated_at. Ignored when starting_after/ending_before is provided."},"starting_after":{"type":"string","description":"Cursor to fetch the next page (use value from next_cursor)."},"ending_before":{"type":"string","description":"Cursor to fetch the previous page (use value from previous_cursor)."},"assigned_to":{"type":"string","description":"Filter by assigned_to (user_id). Use 'null' to filter by unassigned items."},"status":{"allOf":[{"$ref":"#/components/schemas/ActionItemStatus"}]}}},"ListActionItemsResponse":{"type":"object","properties":{"next_cursor":{"type":"string","nullable":true,"description":"Cursor to fetch the next page (use as `after`)."},"has_more":{"type":"boolean","description":"Whether there are more elements available after this set in the current sort direction"},"results_count":{"type":"number","format":"int32","description":"Results count (paginated results)"},"total":{"type":"number","format":"int32","description":"Total number of records by applied filters (ignores cursor/date anchors)"},"filters":{"description":"Filters","allOf":[{"$ref":"#/components/schemas/ListActionItemsFilters"}]},"results":{"description":"List of Results","type":"array","items":{"$ref":"#/components/schemas/ActionItem"}}},"required":["results"]},"IdResponse":{"type":"object","properties":{"id":{"type":"string"},"updated_at":{"type":"string"}},"required":["id","updated_at"]},"ListActionItemsIdsResponse":{"type":"object","properties":{"next_cursor":{"type":"string","nullable":true,"description":"Cursor to fetch the next page (use as `after`)."},"has_more":{"type":"boolean","description":"Whether there are more elements available after this set in the current sort direction"},"results_count":{"type":"number","format":"int32","description":"Results count (paginated results)"},"total":{"type":"number","format":"int32","description":"Total number of records by applied filters (ignores cursor/date anchors)"},"filters":{"description":"Filters","allOf":[{"$ref":"#/components/schemas/ListActionItemsFilters"}]},"results":{"description":"List of Results","type":"array","items":{"$ref":"#/components/schemas/IdResponse"}}},"required":["results"]},"GetActionItemsByIdsPayload":{"type":"object","properties":{"ids":{"description":"List of action item IDs","type":"array","items":{"type":"string"}}},"required":["ids"]},"UpdateActionItemPayload":{"type":"object","properties":{"title":{"type":"string"},"notes_text":{"type":"string"},"assigned_to":{"type":"string"},"due_date":{"type":"string"}}},"UpdateActionItemStatusPayload":{"type":"object","properties":{"status":{"allOf":[{"$ref":"#/components/schemas/ActionItemStatus"}]}},"required":["status"]},"CreateSuggestionsFromMessagesPayload":{"type":"object","properties":{"message_ids":{"description":"List of message IDs","type":"array","items":{"type":"string"}}},"required":["message_ids"]},"App":{"type":"object","properties":{"id":{"type":"string","title":"id","description":"The primary key of the resource."},"name":{"type":"string"},"description":{"type":"string"},"client_id":{"type":"string"},"client_secret":{"type":"string"},"access_token_lifetime_seconds":{"type":"number","description":"Access token lifetime in seconds"},"refresh_token_lifetime_seconds":{"type":"number","description":"Refresh token lifetime in seconds"},"allowed_callback_urls":{"type":"string","description":"Allowed callback URLs (comma separated list)"},"webhooks_url":{"type":"string","description":"Webhook URL to send the data (comma separated list)"},"webhooks_authentication_header":{"type":"object","additionalProperties":{"type":"string"},"example":{"x-api-key":"kNp7vXmL9RqWcYtH2sBnE4aD8fGjK3hU5xZwQ6yVcM1iPuA9nTbS7vFrL4mCxJoN"},"description":"Authentication header configuration for webhooks. Key-value pairs where both key and value are strings."},"allowed_logout_urls":{"type":"string","description":"Allowed logout URLs (comma separated list)"},"created_at":{"format":"date-time","type":"string","description":"Created at"},"updated_at":{"format":"date-time","type":"string","description":"Updated at"},"deleted_at":{"format":"date-time","type":"string","description":"Deleted at"},"webhooks_url_mode":{"type":"string","enum":["one_per_client","one_per_subscription"],"description":"Webhook URL mode"},"owner_id":{"type":"string"},"user_is_subscribed_with_valid_tokens":{"type":"boolean","description":"Indicates whether the user is subscribed to the app and has valid authentication tokens (access or refresh)."},"image_url":{"type":"string","description":"Image URL"},"is_default_subscription_client":{"type":"boolean","description":"When true, this app is the default portal client for webhook subscriptions (one webhook URL per subscription)."}},"required":["id","name","client_id","created_at","updated_at","webhooks_url_mode","user_is_subscribed_with_valid_tokens"]},"SubscribeUserPayload":{"type":"object","properties":{"subscriptions":{"type":"array","description":"All events are subscribed by default: message.initializing, message.started, message.paused, message.resumed, message.offline, message.processing, message.finished, message.deleted, message.discussion-notes.added, message.label.added, message.posted.to.channel, message.voicememo.created, channel.created, channel.deleted, channel.user.joined, channel.users.added, channel.user.left, channel.user.removed, channel.async-check.mid, channel.async-check.ending, channel.async.ended, channel.async.extended, channel.async.shortened, channel.ai-summary.generated, workspace.user.joined, workspace.user.added, workspace.user.left, workspace.user.removed, workspace.findable-channel.created, ai.prompt.response.generated, action-item.created, action-item.updated, action-item.deleted, action-item.status.changed. Also supports 'schedule' trigger for time-based triggers.","items":{"type":"string","enum":["message.initializing","message.started","message.paused","message.resumed","message.offline","message.processing","message.finished","message.deleted","message.discussion-notes.added","message.label.added","message.posted.to.channel","message.voicememo.created","channel.created","channel.deleted","channel.user.joined","channel.users.added","channel.user.left","channel.user.removed","channel.async-check.mid","channel.async-check.ending","channel.async.ended","channel.async.extended","channel.async.shortened","channel.ai-summary.generated","workspace.user.joined","workspace.user.added","workspace.user.left","workspace.user.removed","workspace.findable-channel.created","ai.prompt.response.generated","action-item.created","action-item.updated","action-item.deleted","action-item.status.changed"]}},"webhookURL":{"type":"string","description":"Webhook URL to send the data"},"subscription_filters":{"type":"array","items":{"$ref":"#/components/schemas/SubscriptionFilter"}},"subscription_actions":{"description":"Actions are used only for internal apps. (Not allowed to external apps)","type":"array","items":{"$ref":"#/components/schemas/SubscriptionAction"}},"webhook_headers":{"type":"object","additionalProperties":{"oneOf":[{"type":"string"},{"type":"number"}]},"example":{"x-api-key":"secret","x-version":2},"description":"Custom HTTP headers Carbon Voice will forward on every webhook delivery for this subscription. Pass null to clear previously set headers; omit the field to leave existing headers unchanged.","nullable":true}}},"SubscribedUser":{"type":"object","properties":{"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The date and time at which the resource was created."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"The date and time at which the resource was last updated."},"id":{"type":"string","title":"id","description":"The primary key of the resource."},"client_id":{"type":"string"},"user_id":{"type":"string"},"subscriptions":{"type":"array","example":["message.initializing","message.started","message.paused","message.resumed","message.offline","message.processing","message.finished","message.deleted","message.discussion-notes.added","message.label.added","message.posted.to.channel","message.voicememo.created","channel.created","channel.deleted","channel.user.joined","channel.users.added","channel.user.left","channel.user.removed","channel.async-check.mid","channel.async-check.ending","channel.async.ended","channel.async.extended","channel.async.shortened","channel.ai-summary.generated","workspace.user.joined","workspace.user.added","workspace.user.left","workspace.user.removed","workspace.findable-channel.created","ai.prompt.response.generated","action-item.created","action-item.updated","action-item.deleted","action-item.status.changed"],"description":"Array of subscription events or triggers (including \"schedule\" for time-based triggers)","items":{"type":"string","enum":["message.initializing","message.started","message.paused","message.resumed","message.offline","message.processing","message.finished","message.deleted","message.discussion-notes.added","message.label.added","message.posted.to.channel","message.voicememo.created","channel.created","channel.deleted","channel.user.joined","channel.users.added","channel.user.left","channel.user.removed","channel.async-check.mid","channel.async-check.ending","channel.async.ended","channel.async.extended","channel.async.shortened","channel.ai-summary.generated","workspace.user.joined","workspace.user.added","workspace.user.left","workspace.user.removed","workspace.findable-channel.created","ai.prompt.response.generated","action-item.created","action-item.updated","action-item.deleted","action-item.status.changed"]}},"webhookURL":{"type":"string","description":"Webhook URL to send the data"},"subscription_filters":{"type":"array","items":{"$ref":"#/components/schemas/SubscriptionFilter"}},"subscription_actions":{"type":"array","items":{"$ref":"#/components/schemas/SubscriptionAction"}},"webhook_headers":{"type":"object","additionalProperties":{"oneOf":[{"type":"string"},{"type":"number"}]},"description":"Custom HTTP headers forwarded on webhook deliveries for this subscription."}},"required":["created_at","updated_at","id","client_id","user_id","subscriptions"]},"ListSubscriptionsPagination":{"type":"object","properties":{"skip":{"type":"number","default":0,"minimum":0,"format":"int32"},"limit":{"type":"number","nullable":true,"default":100,"maximum":100,"minimum":1,"description":"Max number of results allowed per page is: **100**"},"direction":{"type":"string","nullable":true,"enum":["older","newer"],"default":"newer"},"date":{"type":"string","description":"ISO 8601 date string for cursor pagination"}}},"Subscription":{"type":"object","properties":{"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The date and time at which the resource was created."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"The date and time at which the resource was last updated."},"id":{"type":"string","title":"id","description":"The primary key of the resource."},"client_id":{"type":"string"},"user_id":{"type":"string"},"subscriptions":{"type":"array","example":["message.initializing","message.started","message.paused","message.resumed","message.offline","message.processing","message.finished","message.deleted","message.discussion-notes.added","message.label.added","message.posted.to.channel","message.voicememo.created","channel.created","channel.deleted","channel.user.joined","channel.users.added","channel.user.left","channel.user.removed","channel.async-check.mid","channel.async-check.ending","channel.async.ended","channel.async.extended","channel.async.shortened","channel.ai-summary.generated","workspace.user.joined","workspace.user.added","workspace.user.left","workspace.user.removed","workspace.findable-channel.created","ai.prompt.response.generated","action-item.created","action-item.updated","action-item.deleted","action-item.status.changed"],"description":"Array of subscription events or triggers (including \"schedule\" for time-based triggers)","items":{"type":"string","enum":["message.initializing","message.started","message.paused","message.resumed","message.offline","message.processing","message.finished","message.deleted","message.discussion-notes.added","message.label.added","message.posted.to.channel","message.voicememo.created","channel.created","channel.deleted","channel.user.joined","channel.users.added","channel.user.left","channel.user.removed","channel.async-check.mid","channel.async-check.ending","channel.async.ended","channel.async.extended","channel.async.shortened","channel.ai-summary.generated","workspace.user.joined","workspace.user.added","workspace.user.left","workspace.user.removed","workspace.findable-channel.created","ai.prompt.response.generated","action-item.created","action-item.updated","action-item.deleted","action-item.status.changed"]}},"webhookURL":{"type":"string","description":"Webhook URL to send the data"},"subscription_filters":{"type":"array","items":{"$ref":"#/components/schemas/SubscriptionFilter"}},"subscription_actions":{"type":"array","items":{"$ref":"#/components/schemas/SubscriptionAction"}},"webhook_headers":{"type":"object","additionalProperties":{"oneOf":[{"type":"string"},{"type":"number"}]},"description":"Custom HTTP headers forwarded on webhook deliveries for this subscription."}},"required":["created_at","updated_at","id","client_id","user_id","subscriptions"]},"ListSubscriptionsResponse":{"type":"object","properties":{"pagination":{"$ref":"#/components/schemas/ListSubscriptionsPagination"},"total_results":{"type":"number","format":"int32"},"results":{"type":"array","items":{"$ref":"#/components/schemas/Subscription"}}},"required":["pagination","total_results","results"]},"UpdateSubscriptionPayload":{"type":"object","properties":{"subscriptions":{"type":"array","description":"All events are subscribed by default: message.initializing, message.started, message.paused, message.resumed, message.offline, message.processing, message.finished, message.deleted, message.discussion-notes.added, message.label.added, message.posted.to.channel, message.voicememo.created, channel.created, channel.deleted, channel.user.joined, channel.users.added, channel.user.left, channel.user.removed, channel.async-check.mid, channel.async-check.ending, channel.async.ended, channel.async.extended, channel.async.shortened, channel.ai-summary.generated, workspace.user.joined, workspace.user.added, workspace.user.left, workspace.user.removed, workspace.findable-channel.created, ai.prompt.response.generated, action-item.created, action-item.updated, action-item.deleted, action-item.status.changed. Also supports 'schedule' trigger for time-based triggers.","items":{"type":"string","enum":["message.initializing","message.started","message.paused","message.resumed","message.offline","message.processing","message.finished","message.deleted","message.discussion-notes.added","message.label.added","message.posted.to.channel","message.voicememo.created","channel.created","channel.deleted","channel.user.joined","channel.users.added","channel.user.left","channel.user.removed","channel.async-check.mid","channel.async-check.ending","channel.async.ended","channel.async.extended","channel.async.shortened","channel.ai-summary.generated","workspace.user.joined","workspace.user.added","workspace.user.left","workspace.user.removed","workspace.findable-channel.created","ai.prompt.response.generated","action-item.created","action-item.updated","action-item.deleted","action-item.status.changed"]}},"webhookURL":{"type":"string","description":"Webhook URL to send the data"},"subscription_filters":{"type":"array","items":{"$ref":"#/components/schemas/SubscriptionFilter"}},"subscription_actions":{"description":"Actions are used only for internal apps. (Not allowed to external apps)","type":"array","items":{"$ref":"#/components/schemas/SubscriptionAction"}},"webhook_headers":{"type":"object","additionalProperties":{"oneOf":[{"type":"string"},{"type":"number"}]},"example":{"x-api-key":"secret","x-version":2},"description":"Custom HTTP headers Carbon Voice will forward on every webhook delivery for this subscription. Pass null to clear previously set headers; omit the field to leave existing headers unchanged.","nullable":true},"scheduler_job_metadata":{"type":"string","description":"JSON stringified scheduler metadata used for schedule-based subscriptions"}}},"Name":{"type":"object","properties":{"givenName":{"type":"string","description":"First Name","example":"Jane"},"familyName":{"type":"string","description":"Last Name","example":"Doe"},"formatted":{"type":"string","description":"Full Name","example":"Jane Doe"}}},"Meta":{"type":"object","properties":{"resourceType":{"type":"string","example":"User"},"created":{"format":"date-time","type":"string"},"lastModified":{"format":"date-time","type":"string"},"location":{"type":"string","description":"Location of the resource at PhononX","example":"https://api.carbonvoice.app/scim/v2/:workspaceId/Users/cj0iFquUILzBTSKd"}},"required":["resourceType","created","lastModified","location"]},"Email":{"type":"object","properties":{"primary":{"type":"boolean","description":"Is Primary email","example":true},"value":{"type":"string","description":"Email","example":"jane-doe@test.com"}},"required":["primary","value"]},"UserSCIM":{"type":"object","properties":{"schemas":{"description":"Schema Definition for the Resource","example":["urn:ietf:params:scim:schemas:core:2.0:User"],"type":"array","items":{"type":"string"}},"id":{"type":"string","description":"Unique Identifier for the user at PhononX","example":"cj0iFquUILzBTSKd"},"externalId":{"type":"string","description":"External Unique Identifier for the user at Client Side","example":"00ub5me9eooGKzSp05d7"},"active":{"type":"boolean","description":"Information about if user is active or not"},"userName":{"type":"string","description":"Identifier for the user at Okta","example":"jane-doe@test.com"},"name":{"$ref":"#/components/schemas/Name"},"meta":{"description":"Metadata information","allOf":[{"$ref":"#/components/schemas/Meta"}]},"emails":{"description":"List of emails","type":"array","items":{"$ref":"#/components/schemas/Email"}}},"required":["schemas","id","active","userName","meta","emails"]},"UserSCIMListResponse":{"type":"object","properties":{"schemas":{"description":"Schema Definition for the List Resource","example":["urn:ietf:params:scim:api:messages:2.0:ListResponse"],"type":"array","items":{"type":"string"}},"totalResults":{"type":"number","description":"Total number of results based on given filter","example":1,"format":"int32"},"startIndex":{"type":"number","description":"Index to paginate the results","example":1,"format":"int32"},"itemsPerPage":{"type":"number","description":"Total number of results per page","example":1,"format":"int32"},"Resources":{"description":"List of Users","type":"array","items":{"$ref":"#/components/schemas/UserSCIM"}}},"required":["schemas","totalResults","startIndex","itemsPerPage","Resources"]},"Photo":{"type":"object","properties":{"value":{"type":"string","description":"Url for User Photo","example":"https://photos.example.com/profilephoto/72930000000Ccne/F"},"type":{"type":"string","description":"Type of photo (photo, thumbnail)","example":"photo"}},"required":["value","type"]},"CreateUserSCIMPayload":{"type":"object","properties":{"schemas":{"description":"Schema Definition for the Resource","example":["urn:ietf:params:scim:schemas:core:2.0:User"],"type":"array","items":{"type":"string"}},"userName":{"type":"string","description":"Identifier for the user at Okta","example":"jane-doe@test.com"},"name":{"$ref":"#/components/schemas/Name"},"emails":{"description":"List of emails","type":"array","items":{"$ref":"#/components/schemas/Email"}},"externalId":{"type":"string","description":"External Unique Identifier for the user at Client Side","example":"00ub5me9eooGKzSp05d7"},"active":{"type":"boolean","description":"Information about if user is active or not"},"photos":{"description":"List of photos","type":"array","items":{"$ref":"#/components/schemas/Photo"}}},"required":["schemas","userName","name","emails","active","photos"]},"ErrorResponse":{"type":"object","properties":{"schemas":{"description":"Schema Definition for the List Resource","example":["urn:ietf:params:scim:api:messages:2.0:Error"],"type":"array","items":{"type":"string"}},"detail":{"type":"string","description":"Detail about the error"},"status":{"type":"number","description":"Status code of the error","format":"int32"}},"required":["schemas","detail","status"]},"VoiceType":{"type":"string","enum":["polly","elevenlabs","google","openai"]},"Quality":{"type":"string","enum":["high","medium","low"]},"Voice":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"allOf":[{"$ref":"#/components/schemas/VoiceType"}]},"gender":{"allOf":[{"$ref":"#/components/schemas/Gender"}]},"quality":{"allOf":[{"$ref":"#/components/schemas/Quality"}]},"language_code":{"type":"string"}},"required":["id","name","type","gender","quality","language_code"]},"Language":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"code":{"type":"string"},"isoCode6393":{"type":"string"},"supported":{"type":"boolean"},"voices":{"type":"array","items":{"$ref":"#/components/schemas/Voice"}}},"required":["id","name","code","isoCode6393","supported","voices"]},"InboxNotificationCategory":{"type":"string","enum":["workspace","mentions","carbonVoice","security","general"]},"InboxNotificationType":{"type":"string","enum":["workspace.user.added","workspace.user.invited","workspace.user.joined","workspace.user.removed","workspace.user.left","workspace.findable-channel.created","workspace.user.join.requested","workspace.user.join.declined","workspace.updated","channel.user.joined","channel.deleted","channel.users.added","channel.user.removed","channel.user.left","channel.updated","channel.user.join.requested","cv.user.joined","general.new.update","general.new.article","general.user.tagged","general.message.forwarded"]},"InboxNotificationFilter":{"type":"object","properties":{"skip":{"type":"number","default":0,"minimum":0,"format":"int32"},"limit":{"type":"number","nullable":true,"default":50,"maximum":100,"minimum":1,"description":"Max number of results allowed per page is: **100**"},"direction":{"nullable":true,"default":"newer","allOf":[{"$ref":"#/components/schemas/Direction"}]},"category":{"allOf":[{"$ref":"#/components/schemas/InboxNotificationCategory"}]},"type":{"allOf":[{"$ref":"#/components/schemas/InboxNotificationType"}]},"date":{"type":"number","example":1694313500106}}},"InviteUsersInfo":{"type":"object","properties":{"invite_type":{"type":"string","enum":["email","phone","system","all"]},"invited_email":{"type":"string","nullable":true},"invited_phone":{"type":"string","nullable":true},"invited_user_id":{"type":"string","nullable":true},"total_invited":{"type":"number","format":"int32"},"invited_token":{"type":"string"}}},"DataChangedInfo":{"type":"object","properties":{"data_changed_type":{"type":"string","enum":["name","color","pattern","domain"]},"entity_type":{"type":"string","enum":["user","workspace","channel"]},"entity_id":{"type":"string","nullable":true},"from_value":{"type":"string","nullable":true},"to_value":{"type":"string","nullable":true}},"required":["data_changed_type","entity_type"]},"InboxNotification":{"type":"object","properties":{"_id":{"type":"string"},"user_id":{"type":"string"},"type":{"type":"string","enum":["workspace.user.added","workspace.user.invited","workspace.user.joined","workspace.user.removed","workspace.user.left","workspace.findable-channel.created","workspace.user.join.requested","workspace.user.join.declined","workspace.updated","channel.user.joined","channel.deleted","channel.users.added","channel.user.removed","channel.user.left","channel.updated","channel.user.join.requested","cv.user.joined","general.new.update","general.new.article","general.user.tagged","general.message.forwarded"]},"workspace_id":{"type":"string","nullable":true},"channel_id":{"type":"string","nullable":true},"from_user_id":{"type":"string","nullable":true},"removed_user_id":{"type":"string","nullable":true},"added_user_id":{"type":"string","nullable":true},"declined_user_id":{"type":"string","nullable":true},"message_id":{"type":"string","nullable":true},"parent_message_id":{"type":"string","nullable":true},"message":{"type":"string"},"created_at":{"format":"date-time","type":"string"},"last_updated_at":{"format":"date-time","type":"string"},"category":{"type":"string","enum":["workspace","mentions","carbonVoice","security","general"]},"is_read":{"type":"boolean","nullable":true},"action_url":{"type":"string","nullable":true},"invite_users_info":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/InviteUsersInfo"}]},"data_changed_info":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/DataChangedInfo"}]}},"required":["_id","user_id","type","message","created_at","last_updated_at","category"]},"InboxNotificationResponse":{"type":"object","properties":{"filters":{"$ref":"#/components/schemas/InboxNotificationFilter"},"total_results":{"type":"number","format":"int32"},"total_unread":{"type":"number","format":"int32"},"results":{"type":"array","items":{"$ref":"#/components/schemas/InboxNotification"}}},"required":["filters","total_results","total_unread","results"]},"InboxNotificationMarkAsReadDto":{"type":"object","properties":{"is_read":{"type":"boolean"}},"required":["is_read"]},"InboxNotificationMarkAllAsReadUnreadResponse":{"type":"object","properties":{"updated":{"type":"number","description":"Number of notifications marked as read/unread"}},"required":["updated"]},"CreateInboxNotification":{"type":"object","properties":{"audience_type":{"type":"string","enum":["all_users","workspace","user"],"description":"Define the audience type for the inbox-notification (all_users, workspace, user)"},"audience_roles":{"type":"string","enum":["admin","owner","creator","member","guest"],"description":"Specify with roles users must have in order to create inbox-notifications for them, only needed if audience_type is workspace"},"user_ids":{"type":"string","description":"List of user_ids to create inbox-notifications for"},"workspace_id":{"type":"string","description":"Specific Workspace to create inbox-notifications for"},"action_url":{"type":"string","description":"The endpoint for inbox notification action"},"message":{"type":"string","description":"Message that will be visible to the users"},"category":{"type":"string","enum":["workspace","mentions","carbonVoice","security","general"],"description":"Category to group the inbox-notifications, defaults to General"},"type":{"type":"string","enum":["general.new.update","general.new.article"],"description":"Type of Notification"},"send_push_notification":{"type":"boolean","description":"Send push notification to users","default":false},"push_title":{"type":"string","description":"Push title"},"push_subtitle":{"type":"string","description":"Push subtitle","default":null}},"required":["audience_type","action_url","message","type"]},"GetForwardsByForwardedMessageFilter":{"type":"object","properties":{"skip":{"type":"number","default":0,"minimum":0,"format":"int32"},"limit":{"type":"number","nullable":true,"default":50,"maximum":100,"minimum":1,"description":"Max number of results allowed per page is: **100**"},"direction":{"type":"string","nullable":true,"enum":["older","newer"],"default":"newer"}}},"Forward":{"type":"object","properties":{"_id":{"type":"string","description":"Unique Identifier of forwarded/shared message"},"forwarded_by":{"type":"string","description":"Identifier of the User who forwarded"},"visibility":{"type":"string","description":"Which is the visibility of forwarded message (channel or public link)","enum":["channel","public"]},"channel_id":{"type":"string","description":"Channel ID where forwarded/shared message was sent to","nullable":true},"message_id":{"type":"string","description":"Message ID that has the forward_id attached to","nullable":true},"created_at":{"type":"number","example":1694313500106,"format":"int64"},"last_updated_at":{"type":"number","example":1694313500106,"format":"int64"},"end_access_at":{"type":"number","description":"Date when the access to forwarded message ends","nullable":true,"format":"int64"},"revoked_at":{"type":"number","example":1694313500106,"nullable":true,"format":"int64"},"revoked_by":{"type":"string","nullable":true}},"required":["_id","forwarded_by","visibility","created_at","last_updated_at"]},"GetForwardsByForwardedMessage":{"type":"object","properties":{"filters":{"$ref":"#/components/schemas/GetForwardsByForwardedMessageFilter"},"total_results":{"type":"number"},"results":{"type":"array","items":{"$ref":"#/components/schemas/Forward"}}},"required":["filters","total_results","results"]},"OriginalMessageInfo":{"type":"object","properties":{"message_id":{"type":"string","description":"Original message ID"},"channel_id":{"type":"string","description":"Original message Channel ID"},"workspace_id":{"type":"string","description":"Original message Workspace ID"}},"required":["message_id","workspace_id"]},"ForwardedMessage":{"type":"object","properties":{"attachments":{"type":"array","items":{"$ref":"#/components/schemas/Attachment"}},"name":{"type":"string","nullable":true},"is_text_message":{"type":"boolean"},"audio_models":{"type":"array","items":{"$ref":"#/components/schemas/AudioModelV2"}},"text_models":{"type":"array","items":{"$ref":"#/components/schemas/TextModel"}},"duration_ms":{"type":"number","description":"The length of the message in milliseconds","format":"int32"},"creator_id":{"type":"string"},"original_message_info":{"description":"Original message info, only available if user has access to original message","allOf":[{"$ref":"#/components/schemas/OriginalMessageInfo"}]},"created_at":{"type":"number","example":1694313500106,"format":"int64"},"last_updated_at":{"type":"number","example":1694313500106,"format":"int64"}},"required":["attachments","is_text_message","audio_models","text_models","duration_ms","creator_id","created_at","last_updated_at"]},"MessageForward":{"type":"object","properties":{"_id":{"type":"string","description":"Unique Identifier of forwarded/shared message"},"forwarded_by":{"type":"string","description":"Identifier of the User who forwarded"},"visibility":{"type":"string","description":"Which is the visibility of forwarded message (channel or public link)","enum":["channel","public"]},"channel_id":{"type":"string","description":"Channel ID where forwarded/shared message was sent to","nullable":true},"message_id":{"type":"string","description":"Message ID that has the forward_id attached to","nullable":true},"created_at":{"type":"number","example":1694313500106,"format":"int64"},"last_updated_at":{"type":"number","example":1694313500106,"format":"int64"},"end_access_at":{"type":"number","description":"Date when the access to forwarded message ends","nullable":true,"format":"int64"},"revoked_at":{"type":"number","example":1694313500106,"nullable":true,"format":"int64"},"revoked_by":{"type":"string","nullable":true},"forwarded_message":{"$ref":"#/components/schemas/ForwardedMessage"}},"required":["_id","forwarded_by","visibility","created_at","last_updated_at","forwarded_message"]},"CreateForwardMessage":{"type":"object","properties":{"forwarded_message_id":{"type":"string","description":"Message ID that will be forwarded"},"message_id":{"type":"string","description":"Message ID that will have the forward on it. Only required if visibility is channel.","nullable":true},"visibility":{"type":"string","description":"Which is the visibility of forwarded message (channel or public link)","enum":["channel","public"]},"end_access_at":{"format":"date-time","type":"string","description":"Date when the access to forwarded message ends","nullable":true}},"required":["forwarded_message_id","visibility"]},"RevokeAccessToForward":{"type":"object","properties":{"forward_id":{"type":"string","description":"ID of Forward that will be revoked access.","nullable":true},"forwarded_message_id":{"type":"string","description":"Message ID that was forwarded. (Will revoke access to all forwards that have this forwarded_message_id)","nullable":true}}},"GetMessageShareLinksBySharedMessageFilter":{"type":"object","properties":{"skip":{"type":"number","default":0,"minimum":0,"format":"int32"},"limit":{"type":"number","nullable":true,"default":50,"maximum":100,"minimum":1,"description":"Max number of results allowed per page is: **100**"},"direction":{"type":"string","nullable":true,"enum":["older","newer"],"default":"newer"}}},"SpecifiedAccess":{"type":"object","properties":{"type":{"type":"string","description":"What is the Specified access type for the MessageShareLink","enum":["channel","workspace","workspace_group","user"]},"ids":{"description":"List of IDs that have access to the MessageShareLink","type":"array","items":{"type":"string"}}},"required":["type","ids"]},"MessageShareLink":{"type":"object","properties":{"_id":{"type":"string","description":"Unique Identifier of share link"},"created_by":{"type":"string","description":"Identifier of the User who created the share/forward"},"channel_id":{"type":"string","description":"Channel ID where forwarded message was sent to","nullable":true},"message_id":{"type":"string","description":"Message ID that has the share_link_id attached to","nullable":true},"created_at":{"type":"number","example":1694313500106,"format":"int64"},"last_updated_at":{"type":"number","example":1694313500106,"format":"int64"},"end_access_at":{"type":"number","description":"Date when the access to shared message ends","nullable":true,"format":"int64"},"revoked_at":{"type":"number","example":1694313500106,"nullable":true,"format":"int64"},"revoked_by":{"type":"string","nullable":true},"share_type":{"type":"string","description":"What is the ShareType of the MessageShareLink","enum":["forward","link"]},"access_type":{"type":"string","description":"What is the access type for the MessageShareLink","enum":["public","specified","forward"]},"specified_access":{"description":"List of Specified Access for the MessageShareLink","type":"array","items":{"$ref":"#/components/schemas/SpecifiedAccess"}}},"required":["_id","created_by","created_at","last_updated_at","share_type","access_type"]},"GetMessageShareLinksBySharedMessageResponse":{"type":"object","properties":{"filters":{"$ref":"#/components/schemas/GetMessageShareLinksBySharedMessageFilter"},"total_results":{"type":"number","format":"int32"},"results":{"type":"array","items":{"$ref":"#/components/schemas/MessageShareLink"}}},"required":["filters","total_results","results"]},"SharedMessage":{"type":"object","properties":{"attachments":{"type":"array","items":{"$ref":"#/components/schemas/Attachment"}},"name":{"type":"string","nullable":true},"is_text_message":{"type":"boolean"},"audio_models":{"type":"array","items":{"$ref":"#/components/schemas/AudioModelV2"}},"text_models":{"type":"array","items":{"$ref":"#/components/schemas/TextModel"}},"duration_ms":{"type":"number","description":"The length of the message in milliseconds","format":"int32"},"creator_id":{"type":"string"},"original_message_info":{"description":"Original message info, only available if user has access to original message","allOf":[{"$ref":"#/components/schemas/OriginalMessageInfo"}]},"created_at":{"type":"number","example":1694313500106,"format":"int64"},"last_updated_at":{"type":"number","example":1694313500106,"format":"int64"}},"required":["attachments","is_text_message","audio_models","text_models","duration_ms","creator_id","created_at","last_updated_at"]},"MessageShareLinkWithSharedMessage":{"type":"object","properties":{"_id":{"type":"string","description":"Unique Identifier of share link"},"created_by":{"type":"string","description":"Identifier of the User who created the share/forward"},"channel_id":{"type":"string","description":"Channel ID where forwarded message was sent to","nullable":true},"message_id":{"type":"string","description":"Message ID that has the share_link_id attached to","nullable":true},"created_at":{"type":"number","example":1694313500106,"format":"int64"},"last_updated_at":{"type":"number","example":1694313500106,"format":"int64"},"end_access_at":{"type":"number","description":"Date when the access to shared message ends","nullable":true,"format":"int64"},"revoked_at":{"type":"number","example":1694313500106,"nullable":true,"format":"int64"},"revoked_by":{"type":"string","nullable":true},"share_type":{"type":"string","description":"What is the ShareType of the MessageShareLink","enum":["forward","link"]},"access_type":{"type":"string","description":"What is the access type for the MessageShareLink","enum":["public","specified","forward"]},"specified_access":{"description":"List of Specified Access for the MessageShareLink","type":"array","items":{"$ref":"#/components/schemas/SpecifiedAccess"}},"shared_message":{"$ref":"#/components/schemas/SharedMessage"}},"required":["_id","created_by","created_at","last_updated_at","share_type","access_type","shared_message"]},"MessageShareLinkWithMessage":{"type":"object","properties":{"_id":{"type":"string","description":"Unique Identifier of share link"},"created_by":{"type":"string","description":"Identifier of the User who created the share/forward"},"channel_id":{"type":"string","description":"Channel ID where forwarded message was sent to","nullable":true},"message_id":{"type":"string","description":"Message ID that has the share_link_id attached to","nullable":true},"created_at":{"type":"number","example":1694313500106,"format":"int64"},"last_updated_at":{"type":"number","example":1694313500106,"format":"int64"},"end_access_at":{"type":"number","description":"Date when the access to shared message ends","nullable":true,"format":"int64"},"revoked_at":{"type":"number","example":1694313500106,"nullable":true,"format":"int64"},"revoked_by":{"type":"string","nullable":true},"share_type":{"type":"string","description":"What is the ShareType of the MessageShareLink","enum":["forward","link"]},"access_type":{"type":"string","description":"What is the access type for the MessageShareLink","enum":["public","specified","forward"]},"specified_access":{"description":"List of Specified Access for the MessageShareLink","type":"array","items":{"$ref":"#/components/schemas/SpecifiedAccess"}},"shared_message":{"$ref":"#/components/schemas/MessageV2"},"has_channel_access":{"type":"boolean"}},"required":["_id","created_by","created_at","last_updated_at","share_type","access_type","shared_message","has_channel_access"]},"CreateMessageShareLink":{"type":"object","properties":{"shared_message_id":{"type":"string","description":"Message ID that will be shared/forwarded"},"share_type":{"type":"string","description":"What is the ShareType of the MessageShareLink","enum":["forward","link"]},"message_id":{"type":"string","description":"Message ID that will have the forward on it. Only required if share_type is forward.","nullable":true},"access_type":{"type":"string","description":"What is the access type for the MessageShareLink","enum":["public","specified","forward"]},"specified_access":{"description":"List of Specified Access for the MessageShareLink","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/SpecifiedAccess"}},"end_access_at":{"format":"date-time","type":"string","description":"Date when the access to MessageShareLink ends","nullable":true}},"required":["shared_message_id","share_type","access_type"]},"RevokeAccessToShareLink":{"type":"object","properties":{"share_link_id":{"type":"string","description":"ID of Message Share Link that will be revoked access.","nullable":true},"shared_message_id":{"type":"string","description":"Message ID that was Shared. (Will revoke access to all share links that have this shared_message_id)","nullable":true}}},"UpdateAccessPayload":{"type":"object","properties":{"access_type":{"type":"string","description":"What is the access type for the MessageShareLink","enum":["specified","public"]},"specified_access":{"description":"List of Specified Access for the MessageShareLink","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/SpecifiedAccess"}},"end_access_at":{"format":"date-time","type":"string","description":"Date when the access to MessageShareLink ends","nullable":true}},"required":["access_type"]},"GetListOfSharelinksByMessageIds":{"type":"object","properties":{"message_ids":{"description":"List of Message IDs, Max allowed is 500","type":"array","items":{"type":"string"}},"start_date":{"format":"date-time","type":"string","description":"Start Date range","example":"2024-01-01T04:25:00.000Z"},"end_date":{"format":"date-time","type":"string","description":"End Date range","example":"2024-01-10T04:25:00.000Z"}},"required":["message_ids"]},"SharelinksByMessageIdResponse":{"type":"object","properties":{"message_id":{"type":"string","description":"Message ID"},"is_public_shared":{"type":"boolean","description":"Is the message shared publicly"},"sharelinks":{"description":"List of MessageShareLinks","type":"array","items":{"$ref":"#/components/schemas/MessageShareLink"}}},"required":["message_id"]},"SortFolderBy":{"type":"string","enum":["created_at","last_updated_at","name"]},"SubFolder":{"type":"object","properties":{"id":{"type":"string","description":"Unique Identifier"},"name":{"type":"string","description":"Name"},"creator_id":{"type":"string","description":"Creator"},"parent_folder_id":{"type":"string","description":"Parent Folder ID"},"subfolder_ids":{"description":"List of Subfolder IDs","type":"array","items":{"type":"string"}},"message_ids":{"description":"List of Message IDs","type":"array","items":{"type":"string"}},"path":{"description":"Ordered List of all folders in the path from root to this folder","example":["Parent Folder ID","Parent Parent Folder ID","Root Folder ID"],"type":"array","items":{"type":"string"}},"total_nested_folders_count":{"type":"number","description":"Total count for all Nested Folders","default":0,"format":"int32"},"total_nested_messages_count":{"type":"number","description":"Total count for all Nested Messages","default":0,"format":"int32"},"type":{"type":"string","description":"Folder type","enum":["voicememo","prerecorded"]},"workspace_id":{"type":"string","description":"Workspace ID where folder belongs to"},"created_at":{"type":"string","format":"date-time"},"last_updated_at":{"type":"string","format":"date-time"},"deleted_at":{"type":"string","format":"date-time"}},"required":["id","name","creator_id","total_nested_folders_count","total_nested_messages_count","type","workspace_id","created_at","last_updated_at"]},"Folder":{"type":"object","properties":{"id":{"type":"string","description":"Unique Identifier"},"name":{"type":"string","description":"Name"},"creator_id":{"type":"string","description":"Creator"},"parent_folder_id":{"type":"string","description":"Parent Folder ID"},"subfolder_ids":{"description":"List of Subfolder IDs","type":"array","items":{"type":"string"}},"message_ids":{"description":"List of Message IDs","type":"array","items":{"type":"string"}},"path":{"description":"Ordered List of all folders in the path from root to this folder","example":["Parent Folder ID","Parent Parent Folder ID","Root Folder ID"],"type":"array","items":{"type":"string"}},"total_nested_folders_count":{"type":"number","description":"Total count for all Nested Folders","default":0,"format":"int32"},"total_nested_messages_count":{"type":"number","description":"Total count for all Nested Messages","default":0,"format":"int32"},"type":{"type":"string","description":"Folder type","enum":["voicememo","prerecorded"]},"workspace_id":{"type":"string","description":"Workspace ID where folder belongs to"},"created_at":{"type":"string","format":"date-time"},"last_updated_at":{"type":"string","format":"date-time"},"deleted_at":{"type":"string","format":"date-time"},"subfolders":{"description":"Subfolders (only one deep level)","type":"array","items":{"$ref":"#/components/schemas/SubFolder"}}},"required":["id","name","creator_id","total_nested_folders_count","total_nested_messages_count","type","workspace_id","created_at","last_updated_at"]},"ListFoldersResponse":{"type":"object","properties":{"type":{"type":"string","enum":["voicememo","prerecorded"],"description":"Folder Type"},"include_all_tree":{"type":"boolean","default":false,"description":"Return all folders tree"},"workspace_id":{"type":"string","description":"Workspace ID"},"sort_direction":{"type":"string","enum":["ASC","DESC"],"default":"ASC","description":"Sort order direction"},"sort_by":{"default":"name","description":"Field to sort by","allOf":[{"$ref":"#/components/schemas/SortFolderBy"}]},"results":{"description":"List of Folders","type":"array","items":{"$ref":"#/components/schemas/Folder"}}},"required":["type"]},"ListCountFoldersGroupedByWorkspace":{"type":"object","properties":{"workspace_id":{"type":"string"},"total_folders":{"type":"number","format":"int32"},"total_messages":{"type":"number","format":"int32"},"message_ids_without_folder":{"description":"List of Messages without Folder","type":"array","items":{"type":"string"}},"root_folders":{"description":"List of Root Folders","type":"array","items":{"$ref":"#/components/schemas/Folder"}},"last_updated_at":{"type":"string","format":"date-time"}},"required":["workspace_id","total_folders","total_messages","last_updated_at"]},"CreateFolderPayload":{"type":"object","properties":{"name":{"type":"string","description":"Name of the Folder"},"type":{"type":"string","enum":["voicememo","prerecorded"],"description":"Folder type"},"workspace_id":{"type":"string","description":"Workspace ID"},"parent_folder_id":{"type":"string","description":"Parent Folder ID"}},"required":["name","type","workspace_id"]},"FolderWithMessages":{"type":"object","properties":{"folder":{"description":"Folder","allOf":[{"$ref":"#/components/schemas/Folder"}]},"messages":{"description":"List of Messages","type":"array","items":{"$ref":"#/components/schemas/MessageV2"}}},"required":["folder"]},"AddMessageToFolderPayload":{"type":"object","properties":{"message_id":{"type":"string","description":"Only allowed to add messages of type: voicememo,prerecorded"},"workspace_id":{"type":"string","description":"Workspace ID"},"folder_id":{"type":"string","description":"Folder ID"}},"required":["message_id"]},"UpdateFolderNamePayload":{"type":"object","properties":{"name":{"type":"string","description":"New Folder Name"}},"required":["name"]},"MoveFolderPayload":{"type":"object","properties":{"workspace_id":{"type":"string","description":"Workspace ID"},"folder_id":{"type":"string","description":"Folder ID"}}},"DataEvent":{"type":"object","properties":{}},"UpdateResource":{"type":"string","enum":["workspace","channel","folder","message","user","channel_membership","workspace_membership","label","ai_prompt"]},"UpdateAction":{"type":"string","enum":["created","updated","deleted","added","removed"]},"Update":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the membership update event"},"date":{"format":"date-time","type":"string","description":"Timestamp when the event was created"},"workspace_id":{"type":"string","nullable":true,"description":"ID of the workspace associated with the event"},"channel_id":{"type":"string","nullable":true,"description":"ID of the channel associated with the event"},"resource":{"allOf":[{"$ref":"#/components/schemas/UpdateResource"}]},"action":{"allOf":[{"$ref":"#/components/schemas/UpdateAction"}]},"object_id":{"type":"string","description":"The object affected by the event"},"caused_by_user_id":{"type":"string","nullable":true,"description":"The user who caused the event, when applicable"}},"required":["id","date","resource","action","object_id"]},"ChannelUpdate":{"type":"object","properties":{"channel_id":{"type":"string","description":"ID of the channel associated with the event"},"seen_seq":{"type":"number"},"date":{"format":"date-time","type":"string"},"channel_sort_order":{"format":"date-time","type":"string"},"notified":{"type":"number"}},"required":["channel_id","seen_seq","date","channel_sort_order","notified"]},"UpdatesResponse":{"type":"object","properties":{"updates":{"description":"List of changes to all kinds of resources, like channel name or workspace name","type":"array","items":{"$ref":"#/components/schemas/Update"}},"channel_updates":{"description":"Fast changing, user specific updates like seen seq","type":"array","items":{"$ref":"#/components/schemas/ChannelUpdate"}},"number_of_updates":{"type":"number"},"oldest_event_id":{"type":"string","nullable":true},"newest_event_id":{"type":"string","nullable":true}},"required":["updates","channel_updates","number_of_updates"]},"BatchTotalRecords":{"type":"object","properties":{"total_users":{"type":"number","description":"Total number of users included in the batch export","example":0,"format":"int32"},"total_channels":{"type":"number","description":"Total number of channels included in the batch export","example":1,"format":"int32"},"total_messages":{"type":"number","description":"Total number of messages included in the batch export","example":3,"format":"int32"}},"required":["total_users","total_channels","total_messages"]},"BatchExport":{"type":"object","properties":{"batch_id":{"type":"string","description":"Batch identifier of the export job","example":"RLYuYKTGtKsM1dEf"},"creator_id":{"type":"string","description":"Identifier of the user that requested the export","example":"SIIRnfNwKgIqwp77"},"workspace_id":{"type":"string","description":"Workspace associated with the batch export","example":"6OXcPH0Nfwy66W6o"},"created_at":{"type":"string","description":"Creation timestamp of the batch export","format":"date-time","example":"2025-11-07T14:29:40.970Z"},"start_date":{"type":"string","description":"Start date filter applied to the export (if any)","format":"date-time","example":"2025-11-01T00:00:00.000Z"},"end_date":{"type":"string","description":"End date filter applied to the export (if any)","format":"date-time","example":"2025-11-07T23:59:59.000Z"},"expires_at":{"type":"string","description":"Expiration date for the batch export download (if any)","format":"date-time","example":"2025-11-08T14:29:45.556Z"},"status":{"type":"string","description":"Export status for the batch","example":"completed","enum":["created","in_progress","compressing_and_uploading","completed","partially_failed","failed"]},"has_errors":{"type":"boolean","description":"Indicates whether any export in the batch encountered errors","example":false},"total_records":{"description":"Aggregated record totals for all data exporters in the batch","allOf":[{"$ref":"#/components/schemas/BatchTotalRecords"}]}},"required":["batch_id","creator_id","workspace_id","created_at","status","has_errors","total_records"]},"ExportConversationsPayload":{"type":"object","properties":{"workspace_id":{"type":"string","description":"Workspace ID"},"conversation_ids":{"description":"Array of conversation IDs (must be all from the same workspace otherwise will be rejected)","type":"array","items":{"type":"string","maximum":500,"minimum":1}},"start_date":{"format":"date-time","type":"string","description":"Start Date range","example":"2024-01-01T04:25:00.000Z"},"end_date":{"format":"date-time","type":"string","description":"End Date range","example":"2024-01-10T04:25:00.000Z"}},"required":["workspace_id","conversation_ids"]},"CompletionPercentage":{"type":"object","properties":{"users":{"type":"number","description":"Completion percentage for users","example":100,"format":"int32"},"conversations":{"type":"number","description":"Completion percentage for conversations","example":15,"format":"int32"},"messages":{"type":"number","description":"Completion percentage for messages","example":90,"format":"int32"}},"required":["users","conversations","messages"]},"CompletionStatus":{"type":"object","properties":{"users":{"type":"boolean","description":"Completion status for users","example":true},"conversations":{"type":"boolean","description":"Completion status for conversations","example":true},"messages":{"type":"boolean","description":"Completion status for messages","example":true}},"required":["users","conversations","messages"]},"TotalRecordsToExport":{"type":"object","properties":{"users":{"type":"number","description":"Total records to export for users","example":100,"format":"int32"},"conversations":{"type":"number","description":"Total records to export for conversations","example":15,"format":"int32"},"messages":{"type":"number","description":"Total records to export for messages","example":90,"format":"int32"}},"required":["users","conversations","messages"]},"ExportDataResponse":{"type":"object","properties":{"id":{"type":"string","description":"Id of the export","example":"66666666"},"status":{"type":"string","description":"Status of the export","example":"success"},"creator_id":{"type":"string","description":"Creator ID","example":"1111123"},"user_ids":{"description":"User IDs","example":["1111123","1111124"],"type":"array","items":{"type":"string"}},"conversation_ids":{"description":"Conversation IDs","example":["1111123","1111124"],"type":"array","items":{"type":"string"}},"workspace_id":{"type":"string","description":"Workspace ID","example":"11xx1231"},"download_url":{"type":"string","description":"Signed URL of the export data","example":"https://s3.us-east-1.amazonaws.com/example.com/export/66666666"},"created_at":{"type":"string","format":"date-time","description":"Created at","example":"2024-01-01T00:00:00.000Z"},"last_updated_at":{"type":"string","format":"date-time","description":"Last updated at","example":"2024-01-01T00:00:00.000Z"},"expires_at":{"type":"string","format":"date-time","description":"Expired at","example":"2024-01-01T00:00:00.000Z"},"start_date":{"type":"string","format":"date-time","description":"Filter for start date","example":"2024-01-01T00:00:00.000Z"},"end_date":{"type":"string","format":"date-time","description":"Filter for end date","example":"2024-01-01T00:00:00.000Z"},"completion_percentage":{"description":"Completion percentage of the export","allOf":[{"$ref":"#/components/schemas/CompletionPercentage"}]},"completion_status":{"description":"Completion status of the export","allOf":[{"$ref":"#/components/schemas/CompletionStatus"}]},"total_records_to_export":{"description":"Total records to export","allOf":[{"$ref":"#/components/schemas/TotalRecordsToExport"}]},"export_errors":{"description":"List of errors that occurred during processing","example":["Error 1","Error 2"],"type":"array","items":{"type":"string"}},"batch_id":{"type":"string","description":"Batch ID (Used when exporting multiple users that have multiple channels)","example":"1111123"}},"required":["id","status","creator_id","workspace_id","download_url","created_at","last_updated_at","completion_percentage","completion_status","total_records_to_export"]},"ExportUsersPayload":{"type":"object","properties":{"workspace_id":{"type":"string","description":"Workspace ID"},"user_ids":{"description":"Array of user IDs","type":"array","items":{"type":"string","maximum":100,"minimum":1}},"start_date":{"format":"date-time","type":"string","description":"Start Date range","example":"2024-01-01T04:25:00.000Z"},"end_date":{"format":"date-time","type":"string","description":"End Date range","example":"2024-01-10T04:25:00.000Z"}},"required":["workspace_id","user_ids"]},"ExportBatchDataResponse":{"type":"object","properties":{"total_batches":{"type":"number","description":"Total Batches","format":"int32"},"total_users":{"type":"number","description":"Total Users","format":"int32"},"total_channels":{"type":"number","description":"Total Channels","format":"int32"},"total_messages":{"type":"number","description":"Total Messages","format":"int32"},"batch_exports":{"description":"List of data exporters","type":"array","items":{"$ref":"#/components/schemas/ExportDataResponse","format":"int32"}},"batch_id":{"type":"string","description":"Batch ID (Used when exporting multiple users that have multiple channels)","example":"1111123"}},"required":["total_batches","total_users","total_channels","total_messages","batch_exports"]},"TestChatBotRequest":{"type":"object","properties":{"text":{"type":"string","description":"The text to test with the chat bot","example":"Hey Carbon, what is the weather today?"},"sources":{"description":"Sources to use for testing","example":[{"type":"channel_id","value":"channel_123"},{"type":"message_id","value":"message_123"},{"type":"user_id","value":"user_123"}],"type":"array","items":{"$ref":"#/components/schemas/DerviedConversationSource"}},"workspace_id":{"type":"string","description":"Workspace ID to use for testing","example":"workspace_123"},"chat_history_channel_id":{"type":"string","description":"Chat history channel ID to use for testing","example":"channel_123"},"language":{"type":"string","description":"Language for the response","example":"english","default":"english"}},"required":["text","sources","workspace_id"]},"ResponseModel":{"type":"object","properties":{"text":{"type":"string","description":"The answer text","example":"Based on the conversation, you discussed the project timeline and agreed to complete the first phase by next Friday."},"message_ids":{"description":"List of message IDs that were used to generate the answer","example":["msg_123","msg_456","msg_789"],"type":"array","items":{"type":"string"}},"channel_ids":{"description":"List of channel IDs that were searched","example":["asdfasdfsdfsdf"],"type":"array","items":{"type":"string"}},"workspace_id":{"type":"string","description":"The workspace ID that was searched","example":"wksp_123456789"}},"required":["text","message_ids","channel_ids","workspace_id"]},"SettingReason":{"type":"string","enum":["system_limitation","quota_exceeded","pricing_plan","user_permission"]},"SettingValue":{"type":"object","properties":{"value":{"type":"boolean"},"reason":{"allOf":[{"$ref":"#/components/schemas/SettingReason"}]}},"required":["value","reason"]},"CompleteMessage":{"type":"object","properties":{"message_id":{"type":"string"},"duration":{"type":"number","format":"int32"},"transcript_timecodes":{"type":"array","items":{"$ref":"#/components/schemas/WordsWithTimeCode"}},"attachments":{"type":"array","items":{"$ref":"#/components/schemas/RequestAttachment"}}},"required":["message_id","duration","transcript_timecodes","attachments"]},"CreateBusinessCarbonlink":{"type":"object","properties":{"name":{"type":"string"},"emails":{"type":"array","items":{"type":"string"}},"plan_type":{"allOf":[{"$ref":"#/components/schemas/PlanType"}]},"vanity_name":{"type":"string","nullable":true}},"required":["name","emails","plan_type"]}}}}