/* tslint:disable */ /* eslint-disable */ /** * Bandwidth * Bandwidth\'s Communication APIs * * The version of the OpenAPI document: 1.0.0 * Contact: letstalk@bandwidth.com * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import type { Configuration } from '../configuration'; import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios'; import globalAxios from 'axios'; // Some imports not used depending on template conditions // @ts-ignore import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; // @ts-ignore import { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base'; // @ts-ignore import type { CallState } from '../models'; // @ts-ignore import type { CreateCall } from '../models'; // @ts-ignore import type { CreateCallResponse } from '../models'; // @ts-ignore import type { UpdateCall } from '../models'; // @ts-ignore import type { VoiceApiError } from '../models'; /** * CallsApi - axios parameter creator */ export const CallsApiAxiosParamCreator = function (configuration?: Configuration) { return { /** * Creates an outbound phone call. All calls are initially queued. Your outbound calls will initiated at a specific dequeueing rate, enabling your application to \"fire and forget\" when creating calls. Queued calls may not be modified until they are dequeued and placed, but may be removed from your queue on demand. Please note: Calls submitted to your queue will be placed approximately in order, but exact ordering is not guaranteed. * @summary Create Call * @param {string} accountId Your Bandwidth Account ID. * @param {CreateCall} createCall JSON object containing information to create an outbound call * @param {*} [options] Override http request option. * @throws {RequiredError} */ createCall: async (accountId: string, createCall: CreateCall, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'accountId' is not null or undefined assertParamExists('createCall', 'accountId', accountId) // verify required parameter 'createCall' is not null or undefined assertParamExists('createCall', 'createCall', createCall) const localVarPath = `/accounts/{accountId}/calls` .replace(`{${"accountId"}}`, encodeURIComponent(String(accountId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication Basic required // http basic authentication required setBasicAuthToObject(localVarRequestOptions, configuration) // authentication OAuth2 required // oauth required await setOAuthToObject(localVarHeaderParameter, "OAuth2", [], configuration) localVarHeaderParameter['Content-Type'] = 'application/json'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; localVarRequestOptions.data = serializeDataIfNeeded(createCall, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * Retrieve the current state of a specific call. This information is near-realtime, so it may take a few minutes for your call to be accessible using this endpoint. **Note**: Call information is kept for 7 days after the calls are hung up. If you attempt to retrieve information for a call that is older than 7 days, you will get an HTTP 404 response. * @summary Get Call State Information * @param {string} accountId Your Bandwidth Account ID. * @param {string} callId Programmable Voice API Call ID. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getCallState: async (accountId: string, callId: string, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'accountId' is not null or undefined assertParamExists('getCallState', 'accountId', accountId) // verify required parameter 'callId' is not null or undefined assertParamExists('getCallState', 'callId', callId) const localVarPath = `/accounts/{accountId}/calls/{callId}` .replace(`{${"accountId"}}`, encodeURIComponent(String(accountId))) .replace(`{${"callId"}}`, encodeURIComponent(String(callId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication Basic required // http basic authentication required setBasicAuthToObject(localVarRequestOptions, configuration) // authentication OAuth2 required // oauth required await setOAuthToObject(localVarHeaderParameter, "OAuth2", [], configuration) setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * Returns a max of 10000 calls, sorted by `createdTime` from oldest to newest. **NOTE:** If the number of calls in the account is bigger than `pageSize`, a `Link` header (with format `<{url}>; rel=\"next\"`) will be returned in the response. The url can be used to retrieve the next page of call records. Also, call information is kept for 7 days after the calls are hung up. If you attempt to retrieve information for a call that is older than 7 days, you will get an empty array [] in response. * @summary Get Calls * @param {string} accountId Your Bandwidth Account ID. * @param {string} [to] Filter results by the `to` field. * @param {string} [from] Filter results by the `from` field. * @param {string} [minStartTime] Filter results to calls which have a `startTime` after or including `minStartTime` (in ISO8601 format). * @param {string} [maxStartTime] Filter results to calls which have a `startTime` before or including `maxStartTime` (in ISO8601 format). * @param {string} [disconnectCause] Filter results to calls with specified call Disconnect Cause. * @param {number} [pageSize] Specifies the max number of calls that will be returned. * @param {string} [pageToken] Not intended for explicit use. To use pagination, follow the links in the `Link` header of the response, as indicated in the endpoint description. * @param {*} [options] Override http request option. * @throws {RequiredError} */ listCalls: async (accountId: string, to?: string, from?: string, minStartTime?: string, maxStartTime?: string, disconnectCause?: string, pageSize?: number, pageToken?: string, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'accountId' is not null or undefined assertParamExists('listCalls', 'accountId', accountId) const localVarPath = `/accounts/{accountId}/calls` .replace(`{${"accountId"}}`, encodeURIComponent(String(accountId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication Basic required // http basic authentication required setBasicAuthToObject(localVarRequestOptions, configuration) // authentication OAuth2 required // oauth required await setOAuthToObject(localVarHeaderParameter, "OAuth2", [], configuration) if (to !== undefined) { localVarQueryParameter['to'] = to; } if (from !== undefined) { localVarQueryParameter['from'] = from; } if (minStartTime !== undefined) { localVarQueryParameter['minStartTime'] = minStartTime; } if (maxStartTime !== undefined) { localVarQueryParameter['maxStartTime'] = maxStartTime; } if (disconnectCause !== undefined) { localVarQueryParameter['disconnectCause'] = disconnectCause; } if (pageSize !== undefined) { localVarQueryParameter['pageSize'] = pageSize; } if (pageToken !== undefined) { localVarQueryParameter['pageToken'] = pageToken; } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * Interrupts and redirects a call to a different URL that should return a BXML document. * @summary Update Call * @param {string} accountId Your Bandwidth Account ID. * @param {string} callId Programmable Voice API Call ID. * @param {UpdateCall} updateCall JSON object containing information to redirect an existing call to a new BXML document * @param {*} [options] Override http request option. * @throws {RequiredError} */ updateCall: async (accountId: string, callId: string, updateCall: UpdateCall, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'accountId' is not null or undefined assertParamExists('updateCall', 'accountId', accountId) // verify required parameter 'callId' is not null or undefined assertParamExists('updateCall', 'callId', callId) // verify required parameter 'updateCall' is not null or undefined assertParamExists('updateCall', 'updateCall', updateCall) const localVarPath = `/accounts/{accountId}/calls/{callId}` .replace(`{${"accountId"}}`, encodeURIComponent(String(accountId))) .replace(`{${"callId"}}`, encodeURIComponent(String(callId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication Basic required // http basic authentication required setBasicAuthToObject(localVarRequestOptions, configuration) // authentication OAuth2 required // oauth required await setOAuthToObject(localVarHeaderParameter, "OAuth2", [], configuration) localVarHeaderParameter['Content-Type'] = 'application/json'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; localVarRequestOptions.data = serializeDataIfNeeded(updateCall, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * Interrupts and replaces an active call\'s BXML document. * @summary Update Call BXML * @param {string} accountId Your Bandwidth Account ID. * @param {string} callId Programmable Voice API Call ID. * @param {string} body * @param {*} [options] Override http request option. * @throws {RequiredError} */ updateCallBxml: async (accountId: string, callId: string, body: string, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'accountId' is not null or undefined assertParamExists('updateCallBxml', 'accountId', accountId) // verify required parameter 'callId' is not null or undefined assertParamExists('updateCallBxml', 'callId', callId) // verify required parameter 'body' is not null or undefined assertParamExists('updateCallBxml', 'body', body) const localVarPath = `/accounts/{accountId}/calls/{callId}/bxml` .replace(`{${"accountId"}}`, encodeURIComponent(String(accountId))) .replace(`{${"callId"}}`, encodeURIComponent(String(callId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication Basic required // http basic authentication required setBasicAuthToObject(localVarRequestOptions, configuration) // authentication OAuth2 required // oauth required await setOAuthToObject(localVarHeaderParameter, "OAuth2", [], configuration) localVarHeaderParameter['Content-Type'] = 'application/xml'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, } }; /** * CallsApi - functional programming interface */ export const CallsApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = CallsApiAxiosParamCreator(configuration) return { /** * Creates an outbound phone call. All calls are initially queued. Your outbound calls will initiated at a specific dequeueing rate, enabling your application to \"fire and forget\" when creating calls. Queued calls may not be modified until they are dequeued and placed, but may be removed from your queue on demand. Please note: Calls submitted to your queue will be placed approximately in order, but exact ordering is not guaranteed. * @summary Create Call * @param {string} accountId Your Bandwidth Account ID. * @param {CreateCall} createCall JSON object containing information to create an outbound call * @param {*} [options] Override http request option. * @throws {RequiredError} */ async createCall(accountId: string, createCall: CreateCall, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.createCall(accountId, createCall, options); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['CallsApi.createCall']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Retrieve the current state of a specific call. This information is near-realtime, so it may take a few minutes for your call to be accessible using this endpoint. **Note**: Call information is kept for 7 days after the calls are hung up. If you attempt to retrieve information for a call that is older than 7 days, you will get an HTTP 404 response. * @summary Get Call State Information * @param {string} accountId Your Bandwidth Account ID. * @param {string} callId Programmable Voice API Call ID. * @param {*} [options] Override http request option. * @throws {RequiredError} */ async getCallState(accountId: string, callId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getCallState(accountId, callId, options); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['CallsApi.getCallState']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Returns a max of 10000 calls, sorted by `createdTime` from oldest to newest. **NOTE:** If the number of calls in the account is bigger than `pageSize`, a `Link` header (with format `<{url}>; rel=\"next\"`) will be returned in the response. The url can be used to retrieve the next page of call records. Also, call information is kept for 7 days after the calls are hung up. If you attempt to retrieve information for a call that is older than 7 days, you will get an empty array [] in response. * @summary Get Calls * @param {string} accountId Your Bandwidth Account ID. * @param {string} [to] Filter results by the `to` field. * @param {string} [from] Filter results by the `from` field. * @param {string} [minStartTime] Filter results to calls which have a `startTime` after or including `minStartTime` (in ISO8601 format). * @param {string} [maxStartTime] Filter results to calls which have a `startTime` before or including `maxStartTime` (in ISO8601 format). * @param {string} [disconnectCause] Filter results to calls with specified call Disconnect Cause. * @param {number} [pageSize] Specifies the max number of calls that will be returned. * @param {string} [pageToken] Not intended for explicit use. To use pagination, follow the links in the `Link` header of the response, as indicated in the endpoint description. * @param {*} [options] Override http request option. * @throws {RequiredError} */ async listCalls(accountId: string, to?: string, from?: string, minStartTime?: string, maxStartTime?: string, disconnectCause?: string, pageSize?: number, pageToken?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { const localVarAxiosArgs = await localVarAxiosParamCreator.listCalls(accountId, to, from, minStartTime, maxStartTime, disconnectCause, pageSize, pageToken, options); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['CallsApi.listCalls']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Interrupts and redirects a call to a different URL that should return a BXML document. * @summary Update Call * @param {string} accountId Your Bandwidth Account ID. * @param {string} callId Programmable Voice API Call ID. * @param {UpdateCall} updateCall JSON object containing information to redirect an existing call to a new BXML document * @param {*} [options] Override http request option. * @throws {RequiredError} */ async updateCall(accountId: string, callId: string, updateCall: UpdateCall, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.updateCall(accountId, callId, updateCall, options); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['CallsApi.updateCall']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Interrupts and replaces an active call\'s BXML document. * @summary Update Call BXML * @param {string} accountId Your Bandwidth Account ID. * @param {string} callId Programmable Voice API Call ID. * @param {string} body * @param {*} [options] Override http request option. * @throws {RequiredError} */ async updateCallBxml(accountId: string, callId: string, body: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.updateCallBxml(accountId, callId, body, options); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['CallsApi.updateCallBxml']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, } }; /** * CallsApi - factory interface */ export const CallsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { const localVarFp = CallsApiFp(configuration) return { /** * Creates an outbound phone call. All calls are initially queued. Your outbound calls will initiated at a specific dequeueing rate, enabling your application to \"fire and forget\" when creating calls. Queued calls may not be modified until they are dequeued and placed, but may be removed from your queue on demand. Please note: Calls submitted to your queue will be placed approximately in order, but exact ordering is not guaranteed. * @summary Create Call * @param {string} accountId Your Bandwidth Account ID. * @param {CreateCall} createCall JSON object containing information to create an outbound call * @param {*} [options] Override http request option. * @throws {RequiredError} */ createCall(accountId: string, createCall: CreateCall, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.createCall(accountId, createCall, options).then((request) => request(axios, basePath)); }, /** * Retrieve the current state of a specific call. This information is near-realtime, so it may take a few minutes for your call to be accessible using this endpoint. **Note**: Call information is kept for 7 days after the calls are hung up. If you attempt to retrieve information for a call that is older than 7 days, you will get an HTTP 404 response. * @summary Get Call State Information * @param {string} accountId Your Bandwidth Account ID. * @param {string} callId Programmable Voice API Call ID. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getCallState(accountId: string, callId: string, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getCallState(accountId, callId, options).then((request) => request(axios, basePath)); }, /** * Returns a max of 10000 calls, sorted by `createdTime` from oldest to newest. **NOTE:** If the number of calls in the account is bigger than `pageSize`, a `Link` header (with format `<{url}>; rel=\"next\"`) will be returned in the response. The url can be used to retrieve the next page of call records. Also, call information is kept for 7 days after the calls are hung up. If you attempt to retrieve information for a call that is older than 7 days, you will get an empty array [] in response. * @summary Get Calls * @param {string} accountId Your Bandwidth Account ID. * @param {string} [to] Filter results by the `to` field. * @param {string} [from] Filter results by the `from` field. * @param {string} [minStartTime] Filter results to calls which have a `startTime` after or including `minStartTime` (in ISO8601 format). * @param {string} [maxStartTime] Filter results to calls which have a `startTime` before or including `maxStartTime` (in ISO8601 format). * @param {string} [disconnectCause] Filter results to calls with specified call Disconnect Cause. * @param {number} [pageSize] Specifies the max number of calls that will be returned. * @param {string} [pageToken] Not intended for explicit use. To use pagination, follow the links in the `Link` header of the response, as indicated in the endpoint description. * @param {*} [options] Override http request option. * @throws {RequiredError} */ listCalls(accountId: string, to?: string, from?: string, minStartTime?: string, maxStartTime?: string, disconnectCause?: string, pageSize?: number, pageToken?: string, options?: RawAxiosRequestConfig): AxiosPromise> { return localVarFp.listCalls(accountId, to, from, minStartTime, maxStartTime, disconnectCause, pageSize, pageToken, options).then((request) => request(axios, basePath)); }, /** * Interrupts and redirects a call to a different URL that should return a BXML document. * @summary Update Call * @param {string} accountId Your Bandwidth Account ID. * @param {string} callId Programmable Voice API Call ID. * @param {UpdateCall} updateCall JSON object containing information to redirect an existing call to a new BXML document * @param {*} [options] Override http request option. * @throws {RequiredError} */ updateCall(accountId: string, callId: string, updateCall: UpdateCall, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.updateCall(accountId, callId, updateCall, options).then((request) => request(axios, basePath)); }, /** * Interrupts and replaces an active call\'s BXML document. * @summary Update Call BXML * @param {string} accountId Your Bandwidth Account ID. * @param {string} callId Programmable Voice API Call ID. * @param {string} body * @param {*} [options] Override http request option. * @throws {RequiredError} */ updateCallBxml(accountId: string, callId: string, body: string, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.updateCallBxml(accountId, callId, body, options).then((request) => request(axios, basePath)); }, }; }; /** * CallsApi - object-oriented interface */ export class CallsApi extends BaseAPI { /** * Creates an outbound phone call. All calls are initially queued. Your outbound calls will initiated at a specific dequeueing rate, enabling your application to \"fire and forget\" when creating calls. Queued calls may not be modified until they are dequeued and placed, but may be removed from your queue on demand. Please note: Calls submitted to your queue will be placed approximately in order, but exact ordering is not guaranteed. * @summary Create Call * @param {string} accountId Your Bandwidth Account ID. * @param {CreateCall} createCall JSON object containing information to create an outbound call * @param {*} [options] Override http request option. * @throws {RequiredError} */ public createCall(accountId: string, createCall: CreateCall, options?: RawAxiosRequestConfig) { return CallsApiFp(this.configuration).createCall(accountId, createCall, options).then((request) => request(this.axios, this.basePath)); } /** * Retrieve the current state of a specific call. This information is near-realtime, so it may take a few minutes for your call to be accessible using this endpoint. **Note**: Call information is kept for 7 days after the calls are hung up. If you attempt to retrieve information for a call that is older than 7 days, you will get an HTTP 404 response. * @summary Get Call State Information * @param {string} accountId Your Bandwidth Account ID. * @param {string} callId Programmable Voice API Call ID. * @param {*} [options] Override http request option. * @throws {RequiredError} */ public getCallState(accountId: string, callId: string, options?: RawAxiosRequestConfig) { return CallsApiFp(this.configuration).getCallState(accountId, callId, options).then((request) => request(this.axios, this.basePath)); } /** * Returns a max of 10000 calls, sorted by `createdTime` from oldest to newest. **NOTE:** If the number of calls in the account is bigger than `pageSize`, a `Link` header (with format `<{url}>; rel=\"next\"`) will be returned in the response. The url can be used to retrieve the next page of call records. Also, call information is kept for 7 days after the calls are hung up. If you attempt to retrieve information for a call that is older than 7 days, you will get an empty array [] in response. * @summary Get Calls * @param {string} accountId Your Bandwidth Account ID. * @param {string} [to] Filter results by the `to` field. * @param {string} [from] Filter results by the `from` field. * @param {string} [minStartTime] Filter results to calls which have a `startTime` after or including `minStartTime` (in ISO8601 format). * @param {string} [maxStartTime] Filter results to calls which have a `startTime` before or including `maxStartTime` (in ISO8601 format). * @param {string} [disconnectCause] Filter results to calls with specified call Disconnect Cause. * @param {number} [pageSize] Specifies the max number of calls that will be returned. * @param {string} [pageToken] Not intended for explicit use. To use pagination, follow the links in the `Link` header of the response, as indicated in the endpoint description. * @param {*} [options] Override http request option. * @throws {RequiredError} */ public listCalls(accountId: string, to?: string, from?: string, minStartTime?: string, maxStartTime?: string, disconnectCause?: string, pageSize?: number, pageToken?: string, options?: RawAxiosRequestConfig) { return CallsApiFp(this.configuration).listCalls(accountId, to, from, minStartTime, maxStartTime, disconnectCause, pageSize, pageToken, options).then((request) => request(this.axios, this.basePath)); } /** * Interrupts and redirects a call to a different URL that should return a BXML document. * @summary Update Call * @param {string} accountId Your Bandwidth Account ID. * @param {string} callId Programmable Voice API Call ID. * @param {UpdateCall} updateCall JSON object containing information to redirect an existing call to a new BXML document * @param {*} [options] Override http request option. * @throws {RequiredError} */ public updateCall(accountId: string, callId: string, updateCall: UpdateCall, options?: RawAxiosRequestConfig) { return CallsApiFp(this.configuration).updateCall(accountId, callId, updateCall, options).then((request) => request(this.axios, this.basePath)); } /** * Interrupts and replaces an active call\'s BXML document. * @summary Update Call BXML * @param {string} accountId Your Bandwidth Account ID. * @param {string} callId Programmable Voice API Call ID. * @param {string} body * @param {*} [options] Override http request option. * @throws {RequiredError} */ public updateCallBxml(accountId: string, callId: string, body: string, options?: RawAxiosRequestConfig) { return CallsApiFp(this.configuration).updateCallBxml(accountId, callId, body, options).then((request) => request(this.axios, this.basePath)); } }