Manage phone numbers and telephony for agent calls.
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";
const client = new ElevenLabsClient({ apiKey: "your-api-key" });
// Access this API via: client.conversationalAi.phoneNumbers/**
* List phone numbers
*/
client.conversationalAi.phoneNumbers.list(
requestOptions?: RequestOptions
): HttpResponsePromise<PhoneNumbersListResponseItem[]>;
/**
* Import phone number from provider configuration (Twilio or SIP trunk)
*/
client.conversationalAi.phoneNumbers.create(
request: PhoneNumbersCreateRequestBody,
requestOptions?: RequestOptions
): HttpResponsePromise<CreatePhoneNumberResponseModel>;
/**
* Get phone number details
*/
client.conversationalAi.phoneNumbers.get(
phone_number_id: string,
requestOptions?: RequestOptions
): HttpResponsePromise<PhoneNumbersGetResponse>;
/**
* Delete phone number by ID
* @param phone_number_id - The phone number ID to delete
* @param requestOptions - Optional request configuration
* @returns Promise resolving to unknown
* @throws UnprocessableEntityError if request fails
*/
client.conversationalAi.phoneNumbers.delete(
phone_number_id: string,
requestOptions?: RequestOptions
): HttpResponsePromise<unknown>;
/**
* Update assigned agent of a phone number
* @param phone_number_id - The phone number ID to update
* @param request - Update request with optional agent_id
* @param requestOptions - Optional request configuration
* @returns Promise resolving to updated phone number response
* @throws UnprocessableEntityError if request fails
*/
client.conversationalAi.phoneNumbers.update(
phone_number_id: string,
request?: UpdatePhoneNumberRequest,
requestOptions?: RequestOptions
): HttpResponsePromise<PhoneNumbersUpdateResponse>;
interface UpdatePhoneNumberRequest {
/** Optional agent ID to assign to this phone number */
agent_id?: string;
}Submit and manage batch phone calls.
/**
* Submit batch call request
*/
client.conversationalAi.batchCalls.create(
request: BodySubmitABatchCallRequestV1ConvaiBatchCallingSubmitPost,
requestOptions?: RequestOptions
): HttpResponsePromise<SubmitBatchCallResponseModel>;
/**
* List batch calls
*/
client.conversationalAi.batchCalls.list(
request?: BatchCallsListRequest,
requestOptions?: RequestOptions
): HttpResponsePromise<WorkspaceBatchCallsResponse>;
/**
* Get batch call details
*/
client.conversationalAi.batchCalls.get(
batch_id: string,
requestOptions?: RequestOptions
): HttpResponsePromise<BatchCallDetailedResponse>;
/**
* Cancel a running batch call
* @param batch_id - The batch call ID to cancel
* @param requestOptions - Optional request configuration
* @returns Updated batch call response
* @throws UnprocessableEntityError if request fails
*/
client.conversationalAi.batchCalls.cancel(
batch_id: string,
requestOptions?: RequestOptions
): HttpResponsePromise<BatchCallResponse>;
/**
* Retry failed and no-response recipients in a batch call
* @param batch_id - The batch call ID to retry
* @param requestOptions - Optional request configuration
* @returns Updated batch call response
* @throws UnprocessableEntityError if request fails
*/
client.conversationalAi.batchCalls.retry(
batch_id: string,
requestOptions?: RequestOptions
): HttpResponsePromise<BatchCallResponse>;
interface BatchCallResponse {
/** Batch call ID */
batch_id: string;
/** Status of the batch call */
status: string;
/** Call statistics */
stats?: {
total: number;
completed: number;
failed: number;
pending: number;
};
}import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";
const client = new ElevenLabsClient({ apiKey: "your-api-key" });
// List available phone numbers
const numbers = await client.conversationalAi.phoneNumbers.list();
console.log("Available phone numbers:", numbers);