/** * This file was auto-generated by Fern from our API Definition. */ import * as environments from "../../../../environments"; import * as core from "../../../../core"; import * as ElevenLabs from "../../../index"; import * as stream from "stream"; import { Agents } from "../resources/agents/client/Client"; import { SipTrunk } from "../resources/sipTrunk/client/Client"; import { KnowledgeBase } from "../resources/knowledgeBase/client/Client"; export declare namespace ConversationalAi { interface Options { environment?: core.Supplier; /** Specify a custom URL to connect the client to. */ baseUrl?: core.Supplier; /** Override the xi-api-key header */ apiKey?: core.Supplier; } interface RequestOptions { /** The maximum time to wait for a response in seconds. */ timeoutInSeconds?: number; /** The number of times to retry the request. Defaults to 2. */ maxRetries?: number; /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the xi-api-key header */ apiKey?: string | undefined; /** Additional headers to include in the request. */ headers?: Record; } } export declare class ConversationalAi { protected readonly _options: ConversationalAi.Options; protected _agents: Agents | undefined; protected _sipTrunk: SipTrunk | undefined; protected _knowledgeBase: KnowledgeBase | undefined; constructor(_options?: ConversationalAi.Options); get agents(): Agents; get sipTrunk(): SipTrunk; get knowledgeBase(): KnowledgeBase; /** * Get a signed url to start a conversation with an agent with an agent that requires authorization * * @param {ElevenLabs.ConversationalAiGetSignedUrlRequest} request * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.getSignedUrl({ * agent_id: "21m00Tcm4TlvDq8ikWAM" * }) */ getSignedUrl(request: ElevenLabs.ConversationalAiGetSignedUrlRequest, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Handle an outbound call via Twilio * * @param {ElevenLabs.BodyHandleAnOutboundCallViaTwilioV1ConvaiTwilioOutboundCallPost} request * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.twilioOutboundCall({ * agent_id: "agent_id", * agent_phone_number_id: "agent_phone_number_id", * to_number: "to_number" * }) */ twilioOutboundCall(request: ElevenLabs.BodyHandleAnOutboundCallViaTwilioV1ConvaiTwilioOutboundCallPost, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Create an agent from a config object * * @param {ElevenLabs.BodyCreateAgentV1ConvaiAgentsCreatePost} request * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.createAgent({ * conversation_config: {} * }) */ createAgent(request: ElevenLabs.BodyCreateAgentV1ConvaiAgentsCreatePost, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Retrieve config for an agent * * @param {string} agentId - The id of an agent. This is returned on agent creation. * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.getAgent("21m00Tcm4TlvDq8ikWAM") */ getAgent(agentId: string, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Delete an agent * * @param {string} agentId - The id of an agent. This is returned on agent creation. * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.deleteAgent("21m00Tcm4TlvDq8ikWAM") */ deleteAgent(agentId: string, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Patches an Agent settings * * @param {string} agentId - The id of an agent. This is returned on agent creation. * @param {ElevenLabs.UpdateAgentRequest} request * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.updateAgent("21m00Tcm4TlvDq8ikWAM") */ updateAgent(agentId: string, request?: ElevenLabs.UpdateAgentRequest, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Retrieve the widget configuration for an agent * * @param {string} agentId - The id of an agent. This is returned on agent creation. * @param {ElevenLabs.ConversationalAiGetAgentWidgetRequest} request * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.getAgentWidget("21m00Tcm4TlvDq8ikWAM") */ getAgentWidget(agentId: string, request?: ElevenLabs.ConversationalAiGetAgentWidgetRequest, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Get the current link used to share the agent with others * * @param {string} agentId - The id of an agent. This is returned on agent creation. * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.getAgentLink("21m00Tcm4TlvDq8ikWAM") */ getAgentLink(agentId: string, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Sets the avatar for an agent displayed in the widget * * @param {string} agentId * @param {ElevenLabs.BodyPostAgentAvatarV1ConvaiAgentsAgentIdAvatarPost} request * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.postAgentAvatar("21m00Tcm4TlvDq8ikWAM", { * avatar_file: fs.createReadStream("/path/to/your/file") * }) */ postAgentAvatar(agentId: string, request: ElevenLabs.BodyPostAgentAvatarV1ConvaiAgentsAgentIdAvatarPost, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Returns a list of your agents and their metadata. * * @param {ElevenLabs.ConversationalAiGetAgentsRequest} request * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.getAgents() */ getAgents(request?: ElevenLabs.ConversationalAiGetAgentsRequest, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Get all conversations of agents that user owns. With option to restrict to a specific agent. * * @param {ElevenLabs.ConversationalAiGetConversationsRequest} request * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.getConversations() */ getConversations(request?: ElevenLabs.ConversationalAiGetConversationsRequest, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Get the details of a particular conversation * * @param {string} conversationId - The id of the conversation you're taking the action on. * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.getConversation("123") */ getConversation(conversationId: string, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Delete a particular conversation * * @param {string} conversationId - The id of the conversation you're taking the action on. * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.deleteConversation("21m00Tcm4TlvDq8ikWAM") */ deleteConversation(conversationId: string, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Get the audio recording of a particular conversation * @throws {@link ElevenLabs.UnprocessableEntityError} */ getConversationAudio(conversationId: string, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Send the feedback for the given conversation * * @param {string} conversationId - The id of the conversation you're taking the action on. * @param {ElevenLabs.BodySendConversationFeedbackV1ConvaiConversationsConversationIdFeedbackPost} request * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.postConversationFeedback("21m00Tcm4TlvDq8ikWAM", { * feedback: "like" * }) */ postConversationFeedback(conversationId: string, request: ElevenLabs.BodySendConversationFeedbackV1ConvaiConversationsConversationIdFeedbackPost, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Import Phone Number from provider configuration (Twilio or SIP trunk) * * @param {ElevenLabs.ConversationalAiCreatePhoneNumberRequestBody} request * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.createPhoneNumber({ * provider: "twilio", * phone_number: "phone_number", * label: "label", * sid: "sid", * token: "token" * }) */ createPhoneNumber(request: ElevenLabs.ConversationalAiCreatePhoneNumberRequestBody, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Retrieve Phone Number details by ID * * @param {string} phoneNumberId - The id of an agent. This is returned on agent creation. * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.getPhoneNumber("TeaqRRdTcIfIu2i7BYfT") */ getPhoneNumber(phoneNumberId: string, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Delete Phone Number by ID * * @param {string} phoneNumberId - The id of an agent. This is returned on agent creation. * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.deletePhoneNumber("TeaqRRdTcIfIu2i7BYfT") */ deletePhoneNumber(phoneNumberId: string, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Update Phone Number details by ID * * @param {string} phoneNumberId - The id of an agent. This is returned on agent creation. * @param {ElevenLabs.UpdatePhoneNumberRequest} request * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.updatePhoneNumber("TeaqRRdTcIfIu2i7BYfT") */ updatePhoneNumber(phoneNumberId: string, request?: ElevenLabs.UpdatePhoneNumberRequest, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Retrieve all Phone Numbers * * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.getPhoneNumbers() */ getPhoneNumbers(requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Get a list of available knowledge base documents * * @param {ElevenLabs.ConversationalAiGetKnowledgeBaseListRequest} request * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.getKnowledgeBaseList() */ getKnowledgeBaseList(request?: ElevenLabs.ConversationalAiGetKnowledgeBaseListRequest, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Upload a file or webpage URL to create a knowledge base document.
After creating the document, update the agent's knowledge base by calling [Update agent](/docs/conversational-ai/api-reference/agents/update-agent). * * @param {ElevenLabs.BodyAddToKnowledgeBaseV1ConvaiKnowledgeBasePost} request * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.addToKnowledgeBase({}) */ addToKnowledgeBase(request: ElevenLabs.BodyAddToKnowledgeBaseV1ConvaiKnowledgeBasePost, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Create a knowledge base document generated by scraping the given webpage. * * @param {ElevenLabs.BodyCreateUrlDocumentV1ConvaiKnowledgeBaseUrlPost} request * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.createKnowledgeBaseUrlDocument({ * url: "url" * }) */ createKnowledgeBaseUrlDocument(request: ElevenLabs.BodyCreateUrlDocumentV1ConvaiKnowledgeBaseUrlPost, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Create a knowledge base document generated form the uploaded file. * * @param {ElevenLabs.BodyCreateFileDocumentV1ConvaiKnowledgeBaseFilePost} request * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.createKnowledgeBaseFileDocument({ * file: fs.createReadStream("/path/to/your/file") * }) */ createKnowledgeBaseFileDocument(request: ElevenLabs.BodyCreateFileDocumentV1ConvaiKnowledgeBaseFilePost, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Create a knowledge base document containing the provided text. * * @param {ElevenLabs.BodyCreateTextDocumentV1ConvaiKnowledgeBaseTextPost} request * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.createKnowledgeBaseTextDocument({ * text: "text" * }) */ createKnowledgeBaseTextDocument(request: ElevenLabs.BodyCreateTextDocumentV1ConvaiKnowledgeBaseTextPost, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Get details about a specific documentation making up the agent's knowledge base * * @param {string} documentationId - The id of a document from the knowledge base. This is returned on document addition. * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.getKnowledgeBaseDocumentById("21m00Tcm4TlvDq8ikWAM") */ getKnowledgeBaseDocumentById(documentationId: string, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Delete a document from the knowledge base * * @param {string} documentationId - The id of a document from the knowledge base. This is returned on document addition. * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.deleteKnowledgeBaseDocument("21m00Tcm4TlvDq8ikWAM") */ deleteKnowledgeBaseDocument(documentationId: string, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Update the name of a document * * @param {string} documentationId - The id of a document from the knowledge base. This is returned on document addition. * @param {ElevenLabs.BodyUpdateDocumentV1ConvaiKnowledgeBaseDocumentationIdPatch} request * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.updateKnowledgeBaseDocument("21m00Tcm4TlvDq8ikWAM", { * name: "name" * }) */ updateKnowledgeBaseDocument(documentationId: string, request: ElevenLabs.BodyUpdateDocumentV1ConvaiKnowledgeBaseDocumentationIdPatch, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Get a list of agents depending on this knowledge base document * * @param {string} documentationId - The id of a document from the knowledge base. This is returned on document addition. * @param {ElevenLabs.ConversationalAiGetDependentAgentsRequest} request * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.getDependentAgents("21m00Tcm4TlvDq8ikWAM") */ getDependentAgents(documentationId: string, request?: ElevenLabs.ConversationalAiGetDependentAgentsRequest, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Get the entire content of a document from the knowledge base * * @param {string} documentationId - The id of a document from the knowledge base. This is returned on document addition. * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.getKnowledgeBaseDocumentContent("21m00Tcm4TlvDq8ikWAM") */ getKnowledgeBaseDocumentContent(documentationId: string, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Get details about a specific documentation part used by RAG. * * @param {string} documentationId - The id of a document from the knowledge base. This is returned on document addition. * @param {string} chunkId - The id of a document RAG chunk from the knowledge base. * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.getKnowledgeBaseDocumentPartById("21m00Tcm4TlvDq8ikWAM", "chunk_id") */ getKnowledgeBaseDocumentPartById(documentationId: string, chunkId: string, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Retrieve Convai settings for the workspace * * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.getSettings() */ getSettings(requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Update Convai settings for the workspace * * @param {ElevenLabs.PatchConvAiSettingsRequest} request * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.updateSettings() */ updateSettings(request?: ElevenLabs.PatchConvAiSettingsRequest, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Retrieve Convai dashboard settings for the workspace * * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.getDashboardSettings() */ getDashboardSettings(requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Update Convai dashboard settings for the workspace * * @param {ElevenLabs.PatchConvAiDashboardSettingsRequest} request * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.updateDashboardSettings() */ updateDashboardSettings(request?: ElevenLabs.PatchConvAiDashboardSettingsRequest, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Get all workspace secrets for the user * * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.getSecrets() */ getSecrets(requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Create a new secret for the workspace * * @param {ElevenLabs.PostWorkspaceSecretRequest} request * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.createSecret({ * name: "name", * value: "value" * }) */ createSecret(request: ElevenLabs.PostWorkspaceSecretRequest, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Delete a workspace secret if it's not in use * * @param {string} secretId * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.deleteSecret("secret_id") */ deleteSecret(secretId: string, requestOptions?: ConversationalAi.RequestOptions): Promise; /** * Get detailed information about a batch call including all recipients. * * @param {string} batchId * @param {ConversationalAi.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * await client.conversationalAi.getBatchCall("batch_id") */ getBatchCall(batchId: string, requestOptions?: ConversationalAi.RequestOptions): Promise; }