carbon-voice-api.ts•25.4 kB
/**
* Generated by orval v7.9.0 🍺
* Do not edit manually.
* Carbon Voice Simplified API
* # Introduction
The simplified version of the Carbon Voice API is designed to enhance usability for third-party clients looking to
seamlessly integrate with our application. By streamlining authentication methods, providing clear error handling guidelines,
and implementing straightforward rate limiting policies, we ensure that developers can quickly and efficiently connect to our services.
This user-friendly approach minimizes complexity, making it easier for external applications to leverage the powerful communication
features of Carbon Voice without extensive technical overhead.
This API is designed for people who feel comfortable integrating with RESTful APIs.
## Full API Version
We also have a full version of the API. You can find it [here](/docs).
## Terminology
* **Workspace**: An area that groups together people and Conversations.
* **Conversation**: A channel of communication. A grouping of people and messages related to a given topic.
* **Collaborators**: A group of people who are part of a Conversation.
* **Discussion**: Any post into a conversation
* **CarbonLink**: A link (on a website, QR code, or phone call) to start a conversation.
## BaseURL
This API is served over HTTPS.
All URLs referenced in the documentation have the following base: https://api.carbonvoice.app/api/simplified.
## Authentication
There are three ways to authenticate with this API:
* with an OAuth2 Access Token in the Authorization request header field
(which uses the Bearer authentication scheme to transmit the Access Token)
* with your Client ID and Client Secret credentials
* with a PXToken
Each endpoint supports only one option.
<SecurityDefinitions />
## Errors
When an error occurs, you will receive an error object. Most of these error objects
contain an error code and an error description so that your applications can more
efficiently identify the problem.
If you get an 4xx HTTP response code, then you can assume that there is a bad request
from your end. In this case, check the [Error Responses section](#section/Introduction/Error-Responses) for more context.
5xx errors suggest a problem on our end, so in this case, check [Carbon Voice's Status](https://status.carbonvoice.app)
to see how our systems are doing.
In any other case you can use our support options.
## Error Responses
`{ "success": false, requestId: "uuid", errmsg: "error message"`
## Rate-Limiting
This API is subject to rate limiting. The limits differ per endpoint.
If you exceed the provided rate limit for a given endpoint, you will receive the 429
Too Many Requests response with the following message: Too many requests. Check the
X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
For details on rate limiting, refer to Rate Limit Policy.
## Support
If you have problems or need help with your case, you can always reach out to our Support.
* OpenAPI spec version: 1.0.0
*/
import type {
AIPrompt,
AIPromptControllerGetPromptsParams,
AIPromptWithMessagesResponse,
AIResponse,
AIResponseControllerGetAllResponsesParams,
AIShareLinkResponse,
AddAttachmentsResponse,
AddLinkAttachmentPayload,
AddMessageToFolderPayload,
AllConversationsResponse,
App,
Conversation,
CreateAIPrompt,
CreateAIResponse,
CreateConversationMessage,
CreateFolderPayload,
CreateShareLinkAIResponse,
CreateVoicememoMessage,
Folder,
FolderWithMessages,
GetAllRootFoldersParams,
GetCountsGroupedByWorkspaceParams,
GetFolderByIdParams,
GetMessageByIdParams,
GetMessageResponse,
GetTenRecentAIPromptResponse,
GetTenRecentMessagesResponse,
GetTenRecentMessagesResponseParams,
Language,
ListCountFoldersGroupedByWorkspace,
ListFoldersResponse,
ListMessagesParams,
ListMessagesResponse,
MessageV2,
MoveFolderPayload,
SearchUserParams,
SearchUsersBody,
SendDirectMessage,
SimplifiedAIPrompt,
SubscribeUserPayload,
SubscribedUser,
UpdateFolderNamePayload,
User,
WorkspaceBasicInfo,
} from './models';
import { mutator } from '../utils/axios-instance';
type SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];
export const getCarbonVoiceSimplifiedAPI = () => {
const aIPromptControllerGetPrompts = (
params?: AIPromptControllerGetPromptsParams,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<AIPrompt[]>(
{ url: `/prompts`, method: 'GET', params },
options,
);
};
const aIPromptControllerCreatePrompt = (
createAIPrompt: CreateAIPrompt,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<AIPrompt>(
{
url: `/prompts`,
method: 'POST',
headers: { 'Content-Type': 'application/json' },
data: createAIPrompt,
},
options,
);
};
const aIPromptControllerDeletePrompt = (
id: string,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<boolean>(
{ url: `/prompts/${id}`, method: 'DELETE' },
options,
);
};
const aIResponseControllerGetAllResponses = (
params?: AIResponseControllerGetAllResponsesParams,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<AIResponse[]>(
{ url: `/responses`, method: 'GET', params },
options,
);
};
const aIResponseControllerCreateResponse = (
createAIResponse: CreateAIResponse,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<AIResponse>(
{
url: `/responses`,
method: 'POST',
headers: { 'Content-Type': 'application/json' },
data: createAIResponse,
},
options,
);
};
const aIResponseControllerGetLatestTenAIResponseByPrompt = (
promptId: string,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<GetTenRecentAIPromptResponse>(
{ url: `/responses/prompt/${promptId}/latest-ten`, method: 'GET' },
options,
);
};
/**
* @summary Generate AI Prompt Response by share-link-ids
*/
const createShareLinkAIResponse = (
createShareLinkAIResponse: CreateShareLinkAIResponse,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<AIShareLinkResponse>(
{
url: `/responses/share-link`,
method: 'POST',
headers: { 'Content-Type': 'application/json' },
data: createShareLinkAIResponse,
},
options,
);
};
const aIResponseControllerDeletePrompt = (
id: string,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<boolean>(
{ url: `/responses/${id}`, method: 'DELETE' },
options,
);
};
/**
* 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.
* @summary Get List of My Apps
*/
const getMyApps = (options?: SecondParameter<typeof mutator>) => {
return mutator<App[]>({ url: `/apps`, method: 'GET' }, options);
};
/**
* @summary Subscribe user into app
*/
const subscribeUserIntoApp = (
clientId: string,
subscribeUserPayload: SubscribeUserPayload,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<SubscribedUser>(
{
url: `/apps/${clientId}/subscribe`,
method: 'POST',
headers: { 'Content-Type': 'application/json' },
data: subscribeUserPayload,
},
options,
);
};
/**
* @summary Unsubscribe user from app
*/
const unsubscribeUserFromApp = (
clientId: string,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<void>(
{ url: `/apps/${clientId}/unsubscribe`, method: 'DELETE' },
options,
);
};
const languageControllerGetAll = (
options?: SecondParameter<typeof mutator>,
) => {
return mutator<Language[]>(
{ url: `/languages/all`, method: 'GET' },
options,
);
};
/**
* @summary Get last ten recent Messages including (Conversation, Creator, Labels)
*/
const getTenRecentMessagesResponse = (
params?: GetTenRecentMessagesResponseParams,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<GetTenRecentMessagesResponse>(
{ url: `/simplified/messages/latest-ten`, method: 'GET', params },
options,
);
};
/**
* @summary Get Message By ID
*/
const getMessageById = (
id: string,
params?: GetMessageByIdParams,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<GetMessageResponse>(
{ url: `/simplified/messages/${id}`, method: 'GET', params },
options,
);
};
/**
* By default return most recent messages. The **maximum** allowed range between dates is **183 days (6 months)**.
* @summary List Messages
*/
const listMessages = (
params?: ListMessagesParams,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<ListMessagesResponse>(
{ url: `/simplified/messages`, method: 'GET', params },
options,
);
};
/**
* Max number of links is **100** per API call. If you want to add more, should make another api call.
* @summary Add Link Attachments to a message
*/
const addLinkAttachmentsToMessage = (
id: string,
addLinkAttachmentPayload: AddLinkAttachmentPayload,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<AddAttachmentsResponse>(
{
url: `/simplified/messages/${id}/attachments/bulk/link`,
method: 'POST',
headers: { 'Content-Type': 'application/json' },
data: addLinkAttachmentPayload,
},
options,
);
};
/**
* In order to create a Message, you must provide **transcript** or **link** attachments.
* @summary Send a Message to a Conversation
*/
const createConversationMessage = (
id: string,
createConversationMessage: CreateConversationMessage,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<GetMessageResponse>(
{
url: `/simplified/messages/conversation/${id}`,
method: 'POST',
headers: { 'Content-Type': 'application/json' },
data: createConversationMessage,
},
options,
);
};
/**
* In order to create a Message, you must provide **transcript** or **link** attachments.
* @summary Send a Direct Message to a User or a Group of Users
*/
const sendDirectMessage = (
sendDirectMessage: SendDirectMessage,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<GetMessageResponse>(
{
url: `/simplified/messages/direct`,
method: 'POST',
headers: { 'Content-Type': 'application/json' },
data: sendDirectMessage,
},
options,
);
};
/**
* In order to create a voicememo message, you must provide **transcript** or **link** attachments.
* @summary Create a Voicememo Message
*/
const createVoiceMemoMessage = (
createVoicememoMessage: CreateVoicememoMessage,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<GetMessageResponse>(
{
url: `/simplified/messages/voicememo`,
method: 'POST',
headers: { 'Content-Type': 'application/json' },
data: createVoicememoMessage,
},
options,
);
};
/**
* It's required to inform one of (**email**, **phone**, **name**). When the search is by name, only user that are part of your contacts will be returned
* @summary Search user by email, phone or name
*/
const searchUser = (
params?: SearchUserParams,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<User>(
{ url: `/simplified/users/search`, method: 'GET', params },
options,
);
};
/**
* @summary Search users by their emails, phones or IDs
*/
const searchUsers = (
searchUsersBody: SearchUsersBody,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<User[]>(
{
url: `/simplified/users/search`,
method: 'POST',
headers: { 'Content-Type': 'application/json' },
data: searchUsersBody,
},
options,
);
};
/**
* @summary Get User By ID
*/
const getUserById = (
id: string,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<User>(
{ url: `/simplified/users/${id}`, method: 'GET' },
options,
);
};
/**
* @summary Get all user conversations (Only _id and name available
*/
const getAllConversations = (options?: SecondParameter<typeof mutator>) => {
return mutator<AllConversationsResponse>(
{ url: `/simplified/conversations/all`, method: 'GET' },
options,
);
};
/**
* @summary Get a conversation by id
*/
const getConversationById = (
id: string,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<Conversation>(
{ url: `/simplified/conversations/${id}`, method: 'GET' },
options,
);
};
/**
* @summary Get Conversation Users
*/
const getConversationUsers = (
id: string,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<User[]>(
{ url: `/simplified/conversations/${id}/users`, method: 'GET' },
options,
);
};
/**
* @summary Get all Workspaces that user has access to with basic info
*/
const getAllWorkspacesWithBasicInfo = (
options?: SecondParameter<typeof mutator>,
) => {
return mutator<WorkspaceBasicInfo[]>(
{ url: `/simplified/workspaces/basic-info`, method: 'GET' },
options,
);
};
/**
* @summary List of System AI Prompts
*/
const getSystemAIPrompts = (options?: SecondParameter<typeof mutator>) => {
return mutator<SimplifiedAIPrompt[]>(
{ url: `/simplified/public/system-prompts`, method: 'GET' },
options,
);
};
/**
* @summary Get Sample AI Responses for a System AI Prompt
*/
const getAiSystemPromptResponse = (
promptId: string,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<AIPromptWithMessagesResponse>(
{
url: `/simplified/public/responses/prompt/${promptId}/sample`,
method: 'GET',
},
options,
);
};
/**
* @summary Get all root Folders
*/
const getAllRootFolders = (
params: GetAllRootFoldersParams,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<ListFoldersResponse>(
{ url: `/simplified/folders`, method: 'GET', params },
options,
);
};
/**
* @summary Create a new Folder
*/
const createFolder = (
createFolderPayload: CreateFolderPayload,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<Folder>(
{
url: `/simplified/folders`,
method: 'POST',
headers: { 'Content-Type': 'application/json' },
data: createFolderPayload,
},
options,
);
};
/**
* @summary Get count of all folders, messages and message_ids not in folders grouped by workspace
*/
const getCountsGroupedByWorkspace = (
params: GetCountsGroupedByWorkspaceParams,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<ListCountFoldersGroupedByWorkspace[]>(
{ url: `/simplified/folders/count-by-workspace`, method: 'GET', params },
options,
);
};
/**
* @summary Get Folder with Messages
*/
const getFolderMessages = (
id: string,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<FolderWithMessages>(
{ url: `/simplified/folders/${id}/messages`, method: 'GET' },
options,
);
};
/**
* @summary Get Folder by ID
*/
const getFolderById = (
id: string,
params?: GetFolderByIdParams,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<Folder>(
{ url: `/simplified/folders/${id}`, method: 'GET', params },
options,
);
};
/**
* @summary Update Folder Name
*/
const updateFolderName = (
id: string,
updateFolderNamePayload: UpdateFolderNamePayload,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<Folder>(
{
url: `/simplified/folders/${id}`,
method: 'PATCH',
headers: { 'Content-Type': 'application/json' },
data: updateFolderNamePayload,
},
options,
);
};
/**
* @summary Delete Folder and all subfolders and messages in nested folders
*/
const deleteFolder = (
id: string,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<void>(
{ url: `/simplified/folders/${id}`, method: 'DELETE' },
options,
);
};
/**
* Only allowed to move messages of type: voicememo,prerecorded.
* @summary Move a message into specific Folder or into a Workspace
*/
const addMessageToFolderOrWorkspace = (
addMessageToFolderPayload: AddMessageToFolderPayload,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<MessageV2>(
{
url: `/simplified/folders/message`,
method: 'PATCH',
headers: { 'Content-Type': 'application/json' },
data: addMessageToFolderPayload,
},
options,
);
};
/**
* @summary Move a Folder into another Folder or into a Workspace
*/
const moveFolder = (
id: string,
moveFolderPayload: MoveFolderPayload,
options?: SecondParameter<typeof mutator>,
) => {
return mutator<Folder>(
{
url: `/simplified/folders/${id}/move`,
method: 'PATCH',
headers: { 'Content-Type': 'application/json' },
data: moveFolderPayload,
},
options,
);
};
return {
aIPromptControllerGetPrompts,
aIPromptControllerCreatePrompt,
aIPromptControllerDeletePrompt,
aIResponseControllerGetAllResponses,
aIResponseControllerCreateResponse,
aIResponseControllerGetLatestTenAIResponseByPrompt,
createShareLinkAIResponse,
aIResponseControllerDeletePrompt,
getMyApps,
subscribeUserIntoApp,
unsubscribeUserFromApp,
languageControllerGetAll,
getTenRecentMessagesResponse,
getMessageById,
listMessages,
addLinkAttachmentsToMessage,
createConversationMessage,
sendDirectMessage,
createVoiceMemoMessage,
searchUser,
searchUsers,
getUserById,
getAllConversations,
getConversationById,
getConversationUsers,
getAllWorkspacesWithBasicInfo,
getSystemAIPrompts,
getAiSystemPromptResponse,
getAllRootFolders,
createFolder,
getCountsGroupedByWorkspace,
getFolderMessages,
getFolderById,
updateFolderName,
deleteFolder,
addMessageToFolderOrWorkspace,
moveFolder,
};
};
export type AIPromptControllerGetPromptsResult = NonNullable<
Awaited<
ReturnType<
ReturnType<
typeof getCarbonVoiceSimplifiedAPI
>['aIPromptControllerGetPrompts']
>
>
>;
export type AIPromptControllerCreatePromptResult = NonNullable<
Awaited<
ReturnType<
ReturnType<
typeof getCarbonVoiceSimplifiedAPI
>['aIPromptControllerCreatePrompt']
>
>
>;
export type AIPromptControllerDeletePromptResult = NonNullable<
Awaited<
ReturnType<
ReturnType<
typeof getCarbonVoiceSimplifiedAPI
>['aIPromptControllerDeletePrompt']
>
>
>;
export type AIResponseControllerGetAllResponsesResult = NonNullable<
Awaited<
ReturnType<
ReturnType<
typeof getCarbonVoiceSimplifiedAPI
>['aIResponseControllerGetAllResponses']
>
>
>;
export type AIResponseControllerCreateResponseResult = NonNullable<
Awaited<
ReturnType<
ReturnType<
typeof getCarbonVoiceSimplifiedAPI
>['aIResponseControllerCreateResponse']
>
>
>;
export type AIResponseControllerGetLatestTenAIResponseByPromptResult =
NonNullable<
Awaited<
ReturnType<
ReturnType<
typeof getCarbonVoiceSimplifiedAPI
>['aIResponseControllerGetLatestTenAIResponseByPrompt']
>
>
>;
export type CreateShareLinkAIResponseResult = NonNullable<
Awaited<
ReturnType<
ReturnType<
typeof getCarbonVoiceSimplifiedAPI
>['createShareLinkAIResponse']
>
>
>;
export type AIResponseControllerDeletePromptResult = NonNullable<
Awaited<
ReturnType<
ReturnType<
typeof getCarbonVoiceSimplifiedAPI
>['aIResponseControllerDeletePrompt']
>
>
>;
export type GetMyAppsResult = NonNullable<
Awaited<
ReturnType<ReturnType<typeof getCarbonVoiceSimplifiedAPI>['getMyApps']>
>
>;
export type SubscribeUserIntoAppResult = NonNullable<
Awaited<
ReturnType<
ReturnType<typeof getCarbonVoiceSimplifiedAPI>['subscribeUserIntoApp']
>
>
>;
export type UnsubscribeUserFromAppResult = NonNullable<
Awaited<
ReturnType<
ReturnType<typeof getCarbonVoiceSimplifiedAPI>['unsubscribeUserFromApp']
>
>
>;
export type LanguageControllerGetAllResult = NonNullable<
Awaited<
ReturnType<
ReturnType<typeof getCarbonVoiceSimplifiedAPI>['languageControllerGetAll']
>
>
>;
export type GetTenRecentMessagesResponseResult = NonNullable<
Awaited<
ReturnType<
ReturnType<
typeof getCarbonVoiceSimplifiedAPI
>['getTenRecentMessagesResponse']
>
>
>;
export type GetMessageByIdResult = NonNullable<
Awaited<
ReturnType<ReturnType<typeof getCarbonVoiceSimplifiedAPI>['getMessageById']>
>
>;
export type ListMessagesResult = NonNullable<
Awaited<
ReturnType<ReturnType<typeof getCarbonVoiceSimplifiedAPI>['listMessages']>
>
>;
export type AddLinkAttachmentsToMessageResult = NonNullable<
Awaited<
ReturnType<
ReturnType<
typeof getCarbonVoiceSimplifiedAPI
>['addLinkAttachmentsToMessage']
>
>
>;
export type CreateConversationMessageResult = NonNullable<
Awaited<
ReturnType<
ReturnType<
typeof getCarbonVoiceSimplifiedAPI
>['createConversationMessage']
>
>
>;
export type SendDirectMessageResult = NonNullable<
Awaited<
ReturnType<
ReturnType<typeof getCarbonVoiceSimplifiedAPI>['sendDirectMessage']
>
>
>;
export type CreateVoiceMemoMessageResult = NonNullable<
Awaited<
ReturnType<
ReturnType<typeof getCarbonVoiceSimplifiedAPI>['createVoiceMemoMessage']
>
>
>;
export type SearchUserResult = NonNullable<
Awaited<
ReturnType<ReturnType<typeof getCarbonVoiceSimplifiedAPI>['searchUser']>
>
>;
export type SearchUsersResult = NonNullable<
Awaited<
ReturnType<ReturnType<typeof getCarbonVoiceSimplifiedAPI>['searchUsers']>
>
>;
export type GetUserByIdResult = NonNullable<
Awaited<
ReturnType<ReturnType<typeof getCarbonVoiceSimplifiedAPI>['getUserById']>
>
>;
export type GetAllConversationsResult = NonNullable<
Awaited<
ReturnType<
ReturnType<typeof getCarbonVoiceSimplifiedAPI>['getAllConversations']
>
>
>;
export type GetConversationByIdResult = NonNullable<
Awaited<
ReturnType<
ReturnType<typeof getCarbonVoiceSimplifiedAPI>['getConversationById']
>
>
>;
export type GetConversationUsersResult = NonNullable<
Awaited<
ReturnType<
ReturnType<typeof getCarbonVoiceSimplifiedAPI>['getConversationUsers']
>
>
>;
export type GetAllWorkspacesWithBasicInfoResult = NonNullable<
Awaited<
ReturnType<
ReturnType<
typeof getCarbonVoiceSimplifiedAPI
>['getAllWorkspacesWithBasicInfo']
>
>
>;
export type GetSystemAIPromptsResult = NonNullable<
Awaited<
ReturnType<
ReturnType<typeof getCarbonVoiceSimplifiedAPI>['getSystemAIPrompts']
>
>
>;
export type GetAiSystemPromptResponseResult = NonNullable<
Awaited<
ReturnType<
ReturnType<
typeof getCarbonVoiceSimplifiedAPI
>['getAiSystemPromptResponse']
>
>
>;
export type GetAllRootFoldersResult = NonNullable<
Awaited<
ReturnType<
ReturnType<typeof getCarbonVoiceSimplifiedAPI>['getAllRootFolders']
>
>
>;
export type CreateFolderResult = NonNullable<
Awaited<
ReturnType<ReturnType<typeof getCarbonVoiceSimplifiedAPI>['createFolder']>
>
>;
export type GetCountsGroupedByWorkspaceResult = NonNullable<
Awaited<
ReturnType<
ReturnType<
typeof getCarbonVoiceSimplifiedAPI
>['getCountsGroupedByWorkspace']
>
>
>;
export type GetFolderMessagesResult = NonNullable<
Awaited<
ReturnType<
ReturnType<typeof getCarbonVoiceSimplifiedAPI>['getFolderMessages']
>
>
>;
export type GetFolderByIdResult = NonNullable<
Awaited<
ReturnType<ReturnType<typeof getCarbonVoiceSimplifiedAPI>['getFolderById']>
>
>;
export type UpdateFolderNameResult = NonNullable<
Awaited<
ReturnType<
ReturnType<typeof getCarbonVoiceSimplifiedAPI>['updateFolderName']
>
>
>;
export type DeleteFolderResult = NonNullable<
Awaited<
ReturnType<ReturnType<typeof getCarbonVoiceSimplifiedAPI>['deleteFolder']>
>
>;
export type AddMessageToFolderOrWorkspaceResult = NonNullable<
Awaited<
ReturnType<
ReturnType<
typeof getCarbonVoiceSimplifiedAPI
>['addMessageToFolderOrWorkspace']
>
>
>;
export type MoveFolderResult = NonNullable<
Awaited<
ReturnType<ReturnType<typeof getCarbonVoiceSimplifiedAPI>['moveFolder']>
>
>;