From f8318a638ffad1be80ef18d57b40b15d0989fb01 Mon Sep 17 00:00:00 2001
From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com>
Date: Wed, 19 Aug 2026 00:24:04 +0000
Subject: [PATCH 1/4] [fern-generated] Update SDK
Generated by Fern
CLI Version: unknown
Generators:
- fernapi/fern-typescript-sdk: 3.63.0
---
.fern/metadata.json | 6 +-
.fern/replay.lock | 10 +
.fernignore | 3 +
.gitattributes | 1 +
package.json | 79 +-
pnpm-lock.yaml | 163 +-
reference.md | 4903 +-
src/BaseClient.ts | 4 +-
src/Client.ts | 42 +
src/api/errors/ConflictError.ts | 21 +
src/api/errors/InternalServerError.ts | 21 +
src/api/errors/PaymentRequiredError.ts | 22 +
src/api/errors/ServiceUnavailableError.ts | 21 +
src/api/errors/UnauthorizedError.ts | 21 +
src/api/errors/index.ts | 5 +
src/api/resources/analytics/client/Client.ts | 2 +
src/api/resources/assistants/client/Client.ts | 29 +-
.../requests/DeleteAssistantsRequest.ts | 1 +
.../client/requests/GetAssistantsRequest.ts | 1 +
.../client/requests/UpdateAssistantDto.ts | 4 +
.../UpdateAssistantDtoCredentialsItem.ts | 74 +-
.../types/UpdateAssistantDtoModel.ts | 29 +-
.../UpdateAssistantDtoServerMessagesItem.ts | 1 +
.../types/UpdateAssistantDtoTranscriber.ts | 12 +-
.../types/UpdateAssistantDtoVoice.ts | 12 +-
src/api/resources/board/client/Client.ts | 404 +
src/api/resources/board/client/index.ts | 1 +
.../requests/BoardControllerFindAllRequest.ts | 34 +
.../requests/BoardControllerFindOneRequest.ts | 12 +
.../requests/BoardControllerRemoveRequest.ts | 12 +
.../board/client/requests/CreateBoardDto.ts | 27 +
.../board/client/requests/UpdateBoardDto.ts | 26 +
.../resources/board/client/requests/index.ts | 5 +
src/api/resources/board/exports.ts | 4 +
src/api/resources/board/index.ts | 2 +
.../BoardControllerFindAllRequestSortBy.ts | 9 +
.../BoardControllerFindAllRequestSortOrder.ts | 8 +
.../board/types/CreateBoardDtoItemsItem.ts | 5 +
.../board/types/UpdateBoardDtoItemsItem.ts | 5 +
src/api/resources/board/types/index.ts | 4 +
src/api/resources/calls/client/Client.ts | 542 +-
...rollerAssistantRecordingDownloadRequest.ts | 12 +
...tifactControllerCallLogsDownloadRequest.ts | 12 +
...trollerCustomerRecordingDownloadRequest.ts | 12 +
...tControllerMonoRecordingDownloadRequest.ts | 12 +
...llArtifactControllerPcapDownloadRequest.ts | 12 +
...ontrollerStereoRecordingDownloadRequest.ts | 12 +
...ControllerVideoRecordingDownloadRequest.ts | 12 +
.../calls/client/requests/CreateCallDto.ts | 9 +-
.../calls/client/requests/GetCallsRequest.ts | 1 +
.../calls/client/requests/UpdateCallDto.ts | 1 +
.../resources/calls/client/requests/index.ts | 7 +
.../calls/types/CreateCallDtoTransport.ts | 40 +
src/api/resources/calls/types/index.ts | 1 +
src/api/resources/campaigns/client/Client.ts | 425 +-
.../CampaignControllerFindAllRequest.ts | 4 +
.../CampaignControllerFindAllV2Request.ts | 44 +
.../CampaignControllerFindOneRequest.ts | 1 +
.../CampaignControllerFindOneV2Request.ts | 18 +
...nControllerGetCampaignV2ContactsRequest.ts | 38 +
.../CampaignControllerRemoveRequest.ts | 1 +
.../CampaignControllerRemoveV2Request.ts | 12 +
.../CampaignControllerUpdateRequest.ts | 16 +
.../CampaignControllerUpdateV2Request.ts | 16 +
.../client/requests/CreateCampaignDto.ts | 28 -
.../campaigns/client/requests/index.ts | 8 +-
.../CampaignControllerFindAllRequestSortBy.ts | 9 +
.../CampaignControllerFindAllRequestStatus.ts | 2 +
...ampaignControllerFindAllV2RequestSortBy.ts | 9 +
...aignControllerFindAllV2RequestSortOrder.ts | 8 +
...ampaignControllerFindAllV2RequestStatus.ts | 11 +
...ollerGetCampaignV2ContactsRequestSortBy.ts | 8 +
...rGetCampaignV2ContactsRequestStatusItem.ts | 12 +
src/api/resources/campaigns/types/index.ts | 7 +-
src/api/resources/chats/client/Client.ts | 4 +
.../chats/client/requests/ListChatsRequest.ts | 4 +
.../chats/types/ListChatsRequestSortBy.ts | 8 +
src/api/resources/chats/types/index.ts | 1 +
src/api/resources/eval/client/Client.ts | 22 +
.../EvalControllerGetPaginatedRequest.ts | 3 +
.../requests/EvalControllerGetRequest.ts | 1 +
.../requests/EvalControllerGetRunRequest.ts | 1 +
.../EvalControllerGetRunsPaginatedRequest.ts | 3 +
.../requests/EvalControllerRemoveRequest.ts | 1 +
.../EvalControllerRemoveRunRequest.ts | 1 +
.../eval/client/requests/UpdateEvalDto.ts | 1 +
.../eval/types/CreateEvalRunDtoTarget.ts | 5 +
...EvalControllerGetPaginatedRequestSortBy.ts | 9 +
...ControllerGetRunsPaginatedRequestSortBy.ts | 9 +
src/api/resources/eval/types/index.ts | 2 +
src/api/resources/files/client/Client.ts | 41 +-
.../files/client/requests/CreateFileDto.ts | 7 +-
.../client/requests/DeleteFilesRequest.ts | 1 +
.../files/client/requests/GetFilesRequest.ts | 1 +
.../files/client/requests/ListFilesRequest.ts | 11 +
.../files/client/requests/UpdateFileDto.ts | 1 +
.../resources/files/client/requests/index.ts | 1 +
src/api/resources/files/index.ts | 1 +
.../files/types/CreateFilesRequestPurpose.ts | 9 +
src/api/resources/files/types/index.ts | 1 +
src/api/resources/index.ts | 21 +
src/api/resources/insight/client/Client.ts | 16 +
.../InsightControllerFindAllRequest.ts | 3 +
.../InsightControllerFindOneRequest.ts | 1 +
.../InsightControllerRemoveRequest.ts | 1 +
.../InsightControllerUpdateRequest.ts | 1 +
.../insight/client/requests/InsightRunDto.ts | 7 +
.../InsightControllerFindAllRequestSortBy.ts | 9 +
src/api/resources/insight/types/index.ts | 1 +
.../knowledgeBasesV2/client/Client.ts | 572 +
.../knowledgeBasesV2/client/index.ts | 1 +
.../requests/AttachKnowledgeBaseV2FileDto.ts | 14 +
.../requests/CreateKnowledgeBaseV2Dto.ts | 12 +
...wledgeBaseV2ControllerFileDetachRequest.ts | 14 +
...owledgeBaseV2ControllerFileRetryRequest.ts | 14 +
...nowledgeBaseV2ControllerFilesGetRequest.ts | 12 +
...KnowledgeBaseV2ControllerFindAllRequest.ts | 9 +
...KnowledgeBaseV2ControllerFindOneRequest.ts | 12 +
.../KnowledgeBaseV2ControllerRemoveRequest.ts | 12 +
.../requests/UpdateKnowledgeBaseV2Dto.ts | 14 +
.../knowledgeBasesV2/client/requests/index.ts | 9 +
src/api/resources/knowledgeBasesV2/exports.ts | 4 +
src/api/resources/knowledgeBasesV2/index.ts | 1 +
.../observabilityScorecard/client/Client.ts | 21 +-
.../ScorecardControllerGetPaginatedRequest.ts | 3 +
.../requests/ScorecardControllerGetRequest.ts | 1 +
.../ScorecardControllerRemoveRequest.ts | 1 +
.../client/requests/UpdateScorecardDto.ts | 1 +
...cardControllerGetPaginatedRequestSortBy.ts | 9 +
.../observabilityScorecard/types/index.ts | 1 +
.../resources/phoneNumbers/client/Client.ts | 14 +
.../requests/DeletePhoneNumbersRequest.ts | 1 +
.../client/requests/GetPhoneNumbersRequest.ts | 1 +
...NumberControllerFindAllPaginatedRequest.ts | 2 +
.../requests/UpdatePhoneNumbersRequest.ts | 1 +
...ControllerFindAllPaginatedRequestSortBy.ts | 9 +
src/api/resources/phoneNumbers/types/index.ts | 1 +
.../providerResources/client/Client.ts | 12 +
...ControllerDeleteProviderResourceRequest.ts | 1 +
...rceControllerGetProviderResourceRequest.ts | 1 +
...lerGetProviderResourcesPaginatedRequest.ts | 4 +
...ControllerUpdateProviderResourceRequest.ts | 1 +
...ProviderResourcesPaginatedRequestSortBy.ts | 9 +
.../providerResources/types/index.ts | 1 +
src/api/resources/sessions/client/Client.ts | 6 +
.../client/requests/DeleteSessionsRequest.ts | 1 +
.../client/requests/GetSessionsRequest.ts | 1 +
.../client/requests/ListSessionsRequest.ts | 10 +
.../client/requests/UpdateSessionDto.ts | 1 +
.../types/ListSessionsRequestSortBy.ts | 8 +
src/api/resources/sessions/types/index.ts | 1 +
.../simulationPersonalities/client/Client.ts | 370 +
.../simulationPersonalities/client/index.ts | 1 +
.../PersonalityControllerFindAllRequest.ts | 34 +
.../PersonalityControllerFindOneRequest.ts | 12 +
.../PersonalityControllerRemoveRequest.ts | 12 +
.../client/requests}/UpdatePersonalityDto.ts | 16 +-
.../client/requests/index.ts | 4 +
.../simulationPersonalities/exports.ts | 4 +
.../simulationPersonalities/index.ts | 2 +
...rsonalityControllerFindAllRequestSortBy.ts | 9 +
...nalityControllerFindAllRequestSortOrder.ts | 8 +
.../simulationPersonalities/types/index.ts | 2 +
.../resources/simulationRuns/client/Client.ts | 621 +
.../resources/simulationRuns/client/index.ts | 1 +
.../requests}/CreateSimulationRunDto.ts | 17 +-
...mulationRunControllerCancelGroupRequest.ts | 12 +
...imulationRunControllerCancelItemRequest.ts | 15 +
.../SimulationRunControllerFindAllRequest.ts | 42 +
.../SimulationRunControllerFindItemRequest.ts | 15 +
...SimulationRunControllerFindItemsRequest.ts | 44 +
.../SimulationRunControllerFindOneRequest.ts | 12 +
...RunControllerGenerateSuggestionsRequest.ts | 19 +
.../simulationRuns/client/requests/index.ts | 8 +
src/api/resources/simulationRuns/exports.ts | 4 +
src/api/resources/simulationRuns/index.ts | 2 +
.../CreateSimulationRunDtoSimulationsItem.ts | 9 +-
.../types/CreateSimulationRunDtoTarget.ts | 7 +-
...RunControllerFindAllRequestFilterStatus.ts | 9 +
...lationRunControllerFindAllRequestSortBy.ts | 9 +
...ionRunControllerFindAllRequestSortOrder.ts | 8 +
...lationRunControllerFindAllRequestStatus.ts | 9 +
...onRunControllerFindAllRequestTargetType.ts | 8 +
.../SimulationRunControllerFindAllResponse.ts | 5 +
...tionRunControllerFindItemsRequestSortBy.ts | 9 +
...nRunControllerFindItemsRequestSortOrder.ts | 8 +
...tionRunControllerFindItemsRequestStatus.ts | 12 +
.../resources/simulationRuns/types/index.ts | 11 +
.../simulationScenarios/client/Client.ts | 378 +
.../simulationScenarios/client/index.ts | 1 +
.../ScenarioControllerFindAllRequest.ts | 38 +
.../ScenarioControllerFindOneRequest.ts | 12 +
.../ScenarioControllerRemoveRequest.ts | 12 +
.../client/requests}/UpdateScenarioDto.ts | 24 +-
.../client/requests/index.ts | 4 +
.../resources/simulationScenarios/exports.ts | 4 +
.../resources/simulationScenarios/index.ts | 2 +
.../ScenarioControllerFindAllRequestSortBy.ts | 9 +
...enarioControllerFindAllRequestSortOrder.ts | 8 +
.../types/UpdateScenarioDtoHooksItem.ts | 2 +-
.../simulationScenarios/types/index.ts | 3 +
.../simulationSuites/client/Client.ts | 362 +
.../simulationSuites/client/index.ts | 1 +
.../requests/CreateSimulationSuiteDto.ts | 27 +
...SimulationSuiteControllerFindAllRequest.ts | 36 +
...SimulationSuiteControllerFindOneRequest.ts | 12 +
.../SimulationSuiteControllerRemoveRequest.ts | 12 +
.../requests}/UpdateSimulationSuiteDto.ts | 20 +-
.../simulationSuites/client/requests/index.ts | 5 +
src/api/resources/simulationSuites/exports.ts | 4 +
src/api/resources/simulationSuites/index.ts | 2 +
...tionSuiteControllerFindAllRequestSortBy.ts | 9 +
...nSuiteControllerFindAllRequestSortOrder.ts | 8 +
.../resources/simulationSuites/types/index.ts | 2 +
.../resources/simulations/client/Client.ts | 480 +
src/api/resources/simulations/client/index.ts | 1 +
.../client/requests}/CreateSimulationDto.ts | 17 +-
.../client/requests}/GenerateScenariosDto.ts | 8 +-
.../SimulationControllerFindAllRequest.ts | 38 +
.../SimulationControllerFindOneRequest.ts | 12 +
.../SimulationControllerRemoveRequest.ts | 12 +
.../client/requests}/UpdateSimulationDto.ts | 16 +-
.../simulations/client/requests/index.ts | 6 +
src/api/resources/simulations/exports.ts | 4 +
src/api/resources/simulations/index.ts | 2 +
...imulationControllerFindAllRequestSortBy.ts | 9 +
...lationControllerFindAllRequestSortOrder.ts | 8 +
src/api/resources/simulations/types/index.ts | 2 +
src/api/resources/squads/client/Client.ts | 12 +
.../client/requests/DeleteSquadsRequest.ts | 1 +
.../client/requests/GetSquadsRequest.ts | 1 +
.../client/requests/ListSquadsRequest.ts | 2 +
.../squads/client/requests/UpdateSquadDto.ts | 1 +
.../structuredOutputs/client/Client.ts | 23 +-
...tructuredOutputControllerFindAllRequest.ts | 2 +
...tructuredOutputControllerFindOneRequest.ts | 1 +
...StructuredOutputControllerRemoveRequest.ts | 1 +
.../requests/UpdateStructuredOutputDto.ts | 4 +
...redOutputControllerFindAllRequestSortBy.ts | 9 +
.../StructuredOutputControllerRunResponse.ts | 7 +
...ructuredOutputControllerRunResponseZero.ts | 12 +
...UpdateStructuredOutputDtoConditionsItem.ts | 22 +
.../structuredOutputs/types/index.ts | 4 +
src/api/resources/tools/client/Client.ts | 29 +-
.../client/requests/DeleteToolsRequest.ts | 1 +
.../tools/client/requests/GetToolsRequest.ts | 1 +
.../client/requests/UpdateToolsRequest.ts | 1 +
.../tools/types/CreateToolsRequest.ts | 24 +
.../tools/types/CreateToolsResponse.ts | 31 +
.../tools/types/DeleteToolsResponse.ts | 31 +
.../resources/tools/types/GetToolsResponse.ts | 31 +
.../tools/types/ListToolsResponseItem.ts | 31 +
.../tools/types/UpdateToolsRequestBody.ts | 30 +
.../tools/types/UpdateToolsResponse.ts | 31 +
src/api/types/AiEdgeCondition.ts | 4 +
src/api/types/AiEdgeConditionType.ts | 1 +
src/api/types/Analysis.ts | 3 +
src/api/types/AnalysisCost.ts | 11 +
src/api/types/AnalysisCostBreakdown.ts | 3 +
src/api/types/AnalysisPlan.ts | 3 +
src/api/types/AnalyticsOperation.ts | 3 +
src/api/types/AnalyticsQuery.ts | 3 +
src/api/types/AnalyticsQueryResult.ts | 3 +
.../types/AnthropicBedrockCredentialRegion.ts | 1 +
src/api/types/AnthropicBedrockModel.ts | 12 +-
src/api/types/AnthropicBedrockModelModel.ts | 1 +
.../types/AnthropicBedrockModelToolsItem.ts | 25 +
src/api/types/AnthropicModel.ts | 12 +-
src/api/types/AnthropicModelModel.ts | 1 +
src/api/types/AnthropicModelToolsItem.ts | 25 +
src/api/types/AnthropicThinkingConfig.ts | 4 +
src/api/types/AnthropicThinkingConfigType.ts | 1 +
src/api/types/AnyscaleModel.ts | 12 +-
src/api/types/AnyscaleModelToolsItem.ts | 25 +
src/api/types/ApiRequestTool.ts | 19 +-
src/api/types/ApiRequestToolMethod.ts | 1 +
src/api/types/Artifact.ts | 58 +-
src/api/types/ArtifactPlan.ts | 9 +
src/api/types/AssemblyAiTranscriber.ts | 20 +-
.../AssemblyAiTranscriberLanguageCodesItem.ts | 24 +
src/api/types/AssemblyAiTranscriberMode.ts | 13 +
.../types/AssemblyAiTranscriberSpeechModel.ts | 4 +-
src/api/types/Assistant.ts | 13 +
src/api/types/AssistantActivation.ts | 10 +
src/api/types/AssistantCredentialsItem.ts | 74 +-
.../types/AssistantCustomEndpointingRule.ts | 3 +
src/api/types/AssistantDraft.ts | 163 +
.../types/AssistantDraftBackgroundSound.ts | 9 +
.../AssistantDraftBackgroundSoundZero.ts | 8 +
.../types/AssistantDraftClientMessagesItem.ts | 25 +
.../AssistantDraftConflictResponseDto.ts | 7 +
.../types/AssistantDraftCredentialsItem.ts | 352 +
.../types/AssistantDraftFirstMessageMode.ts | 19 +
src/api/types/AssistantDraftHooksItem.ts | 10 +
src/api/types/AssistantDraftModel.ts | 117 +
.../types/AssistantDraftPaginatedMetadata.ts | 7 +
.../types/AssistantDraftPaginatedResponse.ts | 8 +
.../types/AssistantDraftServerMessagesItem.ts | 34 +
src/api/types/AssistantDraftTranscriber.ts | 80 +
src/api/types/AssistantDraftVoice.ts | 110 +
.../types/AssistantDraftVoicemailDetection.ts | 14 +
.../AssistantDraftVoicemailDetectionZero.ts | 7 +
src/api/types/AssistantMessage.ts | 3 +
.../AssistantMessageEvaluationContinuePlan.ts | 3 +
src/api/types/AssistantMessageJudgePlanAi.ts | 3 +
.../types/AssistantMessageJudgePlanExact.ts | 3 +
.../types/AssistantMessageJudgePlanRegex.ts | 3 +
src/api/types/AssistantModel.ts | 29 +-
src/api/types/AssistantOverrides.ts | 7 +
.../AssistantOverridesCredentialsItem.ts | 74 +-
src/api/types/AssistantOverridesModel.ts | 29 +-
.../AssistantOverridesServerMessagesItem.ts | 1 +
.../AssistantOverridesToolsAppendItem.ts | 25 +
.../types/AssistantOverridesTranscriber.ts | 12 +-
src/api/types/AssistantOverridesVoice.ts | 12 +-
.../AssistantPinnedConflictResponseDto.ts | 9 +
...AssistantPinnedConflictResponseDtoError.ts | 7 +
src/api/types/AssistantServerMessagesItem.ts | 1 +
src/api/types/AssistantTranscriber.ts | 12 +-
src/api/types/AssistantVersion.ts | 178 +
.../types/AssistantVersionBackgroundSound.ts | 9 +
.../AssistantVersionBackgroundSoundZero.ts | 8 +
.../AssistantVersionClientMessagesItem.ts | 25 +
.../types/AssistantVersionCredentialsItem.ts | 352 +
.../types/AssistantVersionFirstMessageMode.ts | 19 +
src/api/types/AssistantVersionHooksItem.ts | 10 +
src/api/types/AssistantVersionModel.ts | 117 +
.../AssistantVersionPaginatedMetadata.ts | 7 +
.../AssistantVersionPaginatedResponse.ts | 5 +-
.../AssistantVersionServerMessagesItem.ts | 34 +
src/api/types/AssistantVersionTranscriber.ts | 80 +
src/api/types/AssistantVersionVoice.ts | 110 +
.../AssistantVersionVoicemailDetection.ts | 14 +
.../AssistantVersionVoicemailDetectionZero.ts | 7 +
src/api/types/AssistantVoice.ts | 12 +-
src/api/types/AudioFormat.ts | 24 +
src/api/types/AudioFormatContainer.ts | 11 +
src/api/types/AwsStsAuthenticationPlan.ts | 3 +
.../AwsiamCredentialsAuthenticationPlan.ts | 3 +
src/api/types/AzureBlobStorageBucketPlan.ts | 3 +
src/api/types/AzureCredentialRegion.ts | 2 +
.../types/AzureOpenAiCredentialModelsItem.ts | 6 +
src/api/types/AzureOpenAiCredentialRegion.ts | 2 +
src/api/types/AzureSpeechTranscriber.ts | 3 +
src/api/types/AzureVoice.ts | 3 +
.../types/BackgroundSpeechDenoisingPlan.ts | 3 +
src/api/types/BackoffPlan.ts | 10 +-
src/api/types/BarInsight.ts | 6 +
src/api/types/BarInsightMetadata.ts | 8 +
src/api/types/BashTool.ts | 10 +-
src/api/types/BashToolWithToolCall.ts | 6 +-
src/api/types/BearerAuthenticationPlan.ts | 3 +
src/api/types/Board.ts | 31 +
src/api/types/BoardInsightItem.ts | 11 +
src/api/types/BoardInsightItemType.ts | 6 +
src/api/types/BoardItemPosition.ts | 6 +
src/api/types/BoardItemSize.ts | 6 +
src/api/types/BoardItemsItem.ts | 5 +
src/api/types/BoardLayout.ts | 9 +
src/api/types/BoardMetricWidgetItem.ts | 11 +
src/api/types/BoardMetricWidgetItemType.ts | 8 +
src/api/types/BoardPaginatedResponse.ts | 8 +
...oleanComparatorScorecardMetricCondition.ts | 20 +
...ratorScorecardMetricConditionComparator.ts | 8 +
...nComparatorScorecardMetricConditionType.ts | 8 +
src/api/types/BotMessage.ts | 14 +
src/api/types/BothCustomEndpointingRule.ts | 4 +
src/api/types/BucketPlan.ts | 3 +
src/api/types/ByoPhoneNumber.ts | 3 +
src/api/types/ByoSipTrunkCredential.ts | 2 -
src/api/types/Call.ts | 15 +-
src/api/types/CallArtifactUploadItem.ts | 10 +
src/api/types/CallArtifactUploadItemType.ts | 13 +
src/api/types/CallBatchError.ts | 5 +
src/api/types/CallBatchResponse.ts | 3 +
src/api/types/CallEndedReason.ts | 30 +
.../CallHookAssistantSpeechInterrupted.ts | 3 +
...allHookAssistantSpeechInterruptedDoItem.ts | 5 +
src/api/types/CallHookCallEnding.ts | 3 +
src/api/types/CallHookCallEndingDoItem.ts | 2 +
.../CallHookCustomerSpeechInterrupted.ts | 3 +
...CallHookCustomerSpeechInterruptedDoItem.ts | 5 +
.../types/CallHookCustomerSpeechTimeout.ts | 5 +-
.../CallHookCustomerSpeechTimeoutDoItem.ts | 5 +
src/api/types/CallHookFilter.ts | 3 +
src/api/types/CallHookModelResponseTimeout.ts | 3 +
.../CallHookModelResponseTimeoutDoItem.ts | 5 +
...iberEndpointedSpeechLowConfidenceDoItem.ts | 5 +
src/api/types/CallTransport.ts | 40 +
src/api/types/Campaign.ts | 17 +-
src/api/types/CampaignCallMetrics.ts | 15 +
src/api/types/CampaignContact.ts | 16 +
src/api/types/CampaignContactCounters.ts | 10 +
.../types/CampaignContactPaginatedResponse.ts | 8 +
src/api/types/CampaignContactWithOutcome.ts | 13 +
.../types/CampaignContactWithOutcomeStatus.ts | 12 +
src/api/types/CampaignPaginatedResponse.ts | 5 +
src/api/types/CampaignPredialPlan.ts | 6 +
src/api/types/CampaignServerMessagesItem.ts | 16 +
src/api/types/CampaignStatus.ts | 2 +
src/api/types/CampaignSummary.ts | 51 +
src/api/types/CampaignSummaryEndedReason.ts | 9 +
.../types/CampaignSummaryPaginatedResponse.ts | 8 +
.../CampaignSummaryServerMessagesItem.ts | 17 +
src/api/types/CampaignSummaryStatus.ts | 11 +
src/api/types/CartesiaCredential.ts | 2 +
src/api/types/CartesiaExperimentalControls.ts | 5 +
.../CartesiaExperimentalControlsEmotion.ts | 1 +
src/api/types/CartesiaGenerationConfig.ts | 3 +
.../CartesiaGenerationConfigExperimental.ts | 3 +
src/api/types/CartesiaSpeedControl.ts | 3 +
src/api/types/CartesiaTranscriber.ts | 5 +
src/api/types/CartesiaTranscriberLanguage.ts | 1 +
src/api/types/CartesiaTranscriberModel.ts | 2 +
src/api/types/CartesiaVoice.ts | 3 +
src/api/types/CartesiaVoiceModel.ts | 2 +
src/api/types/CerebrasModel.ts | 12 +-
src/api/types/CerebrasModelToolsItem.ts | 25 +
.../ChatEvalAssistantMessageEvaluation.ts | 3 +
src/api/types/ChatEvalAssistantMessageMock.ts | 3 +
.../ChatEvalAssistantMessageMockToolCall.ts | 3 +
src/api/types/ChatEvalSystemMessageMock.ts | 3 +
.../ChatEvalToolResponseMessageEvaluation.ts | 3 +
.../types/ChatEvalToolResponseMessageMock.ts | 3 +
src/api/types/ChatEvalUserMessageMock.ts | 3 +
src/api/types/ChunkPlan.ts | 3 +
src/api/types/ClientMessageAssistantSpeech.ts | 7 +
.../types/ClientMessageAssistantStarted.ts | 7 +
.../types/ClientMessageCallDeleteFailed.ts | 7 +
src/api/types/ClientMessageCallDeleted.ts | 7 +
src/api/types/ClientMessageChatCreated.ts | 7 +
src/api/types/ClientMessageChatDeleted.ts | 7 +
.../types/ClientMessageConversationUpdate.ts | 7 +
src/api/types/ClientMessageHang.ts | 7 +
.../ClientMessageLanguageChangeDetected.ts | 7 +
src/api/types/ClientMessageMetadata.ts | 7 +
src/api/types/ClientMessageModelOutput.ts | 7 +
src/api/types/ClientMessageSessionCreated.ts | 7 +
src/api/types/ClientMessageSessionDeleted.ts | 7 +
src/api/types/ClientMessageSessionUpdated.ts | 7 +
src/api/types/ClientMessageSpeechUpdate.ts | 7 +
src/api/types/ClientMessageToolCalls.ts | 7 +
src/api/types/ClientMessageToolCallsResult.ts | 7 +
src/api/types/ClientMessageTranscript.ts | 17 +
src/api/types/ClientMessageTransferUpdate.ts | 7 +
src/api/types/ClientMessageUserInterrupted.ts | 7 +
src/api/types/ClientMessageVoiceInput.ts | 7 +
.../types/ClientMessageWorkflowNodeStarted.ts | 7 +
src/api/types/CloudflareR2BucketPlan.ts | 3 +
src/api/types/CodeTool.ts | 10 +-
src/api/types/CodeToolEnvironmentVariable.ts | 3 +
src/api/types/Compliance.ts | 3 +
src/api/types/ComplianceOverride.ts | 3 +
src/api/types/CompliancePlan.ts | 4 +
.../CompliancePlanRecordingConsentPlan.ts | 3 +
src/api/types/ComputerTool.ts | 10 +-
src/api/types/ComputerToolWithToolCall.ts | 6 +-
src/api/types/Condition.ts | 3 +
src/api/types/ContextEngineeringPlanAll.ts | 3 +
.../ContextEngineeringPlanLastNMessages.ts | 3 +
src/api/types/ContextEngineeringPlanNone.ts | 3 +
...ngineeringPlanPreviousAssistantMessages.ts | 3 +
...EngineeringPlanUserAndAssistantMessages.ts | 3 +
src/api/types/ConversationNode.ts | 5 +
src/api/types/ConversationNodeToolsItem.ts | 25 +
src/api/types/ConversationNodeTranscriber.ts | 12 +-
src/api/types/ConversationNodeVoice.ts | 12 +-
src/api/types/CostBreakdown.ts | 3 +
.../CreateAnthropicBedrockCredentialDto.ts | 3 +
...eateAnthropicBedrockCredentialDtoRegion.ts | 1 +
src/api/types/CreateAnthropicCredentialDto.ts | 3 +
src/api/types/CreateAnyscaleCredentialDto.ts | 3 +
src/api/types/CreateApiRequestToolDto.ts | 18 +-
.../types/CreateApiRequestToolDtoMethod.ts | 1 +
.../types/CreateAssemblyAiCredentialDto.ts | 3 +
src/api/types/CreateAssistantDraftDto.ts | 159 +
.../CreateAssistantDraftDtoBackgroundSound.ts | 9 +
...ateAssistantDraftDtoBackgroundSoundZero.ts | 8 +
...eateAssistantDraftDtoClientMessagesItem.ts | 25 +
.../CreateAssistantDraftDtoCredentialsItem.ts | 352 +
...CreateAssistantDraftDtoFirstMessageMode.ts | 19 +
.../types/CreateAssistantDraftDtoHooksItem.ts | 10 +
src/api/types/CreateAssistantDraftDtoModel.ts | 117 +
...eateAssistantDraftDtoServerMessagesItem.ts | 34 +
.../CreateAssistantDraftDtoTranscriber.ts | 80 +
src/api/types/CreateAssistantDraftDtoVoice.ts | 110 +
...eateAssistantDraftDtoVoicemailDetection.ts | 14 +
...AssistantDraftDtoVoicemailDetectionZero.ts | 7 +
src/api/types/CreateAssistantDto.ts | 6 +
.../CreateAssistantDtoCredentialsItem.ts | 74 +-
src/api/types/CreateAssistantDtoModel.ts | 29 +-
.../CreateAssistantDtoServerMessagesItem.ts | 1 +
.../types/CreateAssistantDtoTranscriber.ts | 12 +-
src/api/types/CreateAssistantDtoVoice.ts | 12 +-
src/api/types/CreateAzureCredentialDto.ts | 3 +
.../types/CreateAzureCredentialDtoRegion.ts | 2 +
.../types/CreateAzureOpenAiCredentialDto.ts | 6 +
...reateAzureOpenAiCredentialDtoModelsItem.ts | 6 +
.../CreateAzureOpenAiCredentialDtoRegion.ts | 3 +
.../types/CreateBarInsightFromCallTableDto.ts | 4 +
src/api/types/CreateBashToolDto.ts | 9 +-
src/api/types/CreateByoPhoneNumberDto.ts | 3 +
.../types/CreateByoSipTrunkCredentialDto.ts | 5 +-
src/api/types/CreateCampaignDto.ts | 39 +
.../CreateCampaignDtoServerMessagesItem.ts | 17 +
src/api/types/CreateCartesiaCredentialDto.ts | 5 +
src/api/types/CreateCerebrasCredentialDto.ts | 3 +
.../types/CreateCloudflareCredentialDto.ts | 3 +
src/api/types/CreateCodeToolDto.ts | 9 +-
src/api/types/CreateComputerToolDto.ts | 9 +-
src/api/types/CreateCustomCredentialDto.ts | 3 +
src/api/types/CreateCustomKnowledgeBaseDto.ts | 3 +
src/api/types/CreateCustomLlmCredentialDto.ts | 3 +
src/api/types/CreateCustomerDto.ts | 9 +
src/api/types/CreateDeepInfraCredentialDto.ts | 3 +
src/api/types/CreateDeepSeekCredentialDto.ts | 3 +
src/api/types/CreateDeepgramCredentialDto.ts | 3 +
src/api/types/CreateDtmfToolDto.ts | 9 +-
.../types/CreateElevenLabsCredentialDto.ts | 7 +
.../CreateElevenLabsCredentialDtoApiUrl.ts | 9 +
src/api/types/CreateEmailCredentialDto.ts | 3 +
src/api/types/CreateEndCallToolDto.ts | 9 +-
src/api/types/CreateEvalDto.ts | 3 +
src/api/types/CreateFunctionToolDto.ts | 9 +-
src/api/types/CreateGcpCredentialDto.ts | 4 +
src/api/types/CreateGhlToolDto.ts | 6 +-
src/api/types/CreateGladiaCredentialDto.ts | 3 +
...eGoHighLevelCalendarAvailabilityToolDto.ts | 9 +-
...teGoHighLevelCalendarEventCreateToolDto.ts | 9 +-
.../CreateGoHighLevelContactCreateToolDto.ts | 9 +-
.../CreateGoHighLevelContactGetToolDto.ts | 9 +-
.../types/CreateGoHighLevelCredentialDto.ts | 3 +
.../CreateGoHighLevelMcpCredentialDto.ts | 3 +
...eGoogleCalendarCheckAvailabilityToolDto.ts | 9 +-
.../CreateGoogleCalendarCreateEventToolDto.ts | 9 +-
...alendarOAuth2AuthorizationCredentialDto.ts | 3 +
...GoogleCalendarOAuth2ClientCredentialDto.ts | 3 +
src/api/types/CreateGoogleCredentialDto.ts | 3 +
...eSheetsOAuth2AuthorizationCredentialDto.ts | 3 +
.../CreateGoogleSheetsRowAppendToolDto.ts | 9 +-
src/api/types/CreateGroqCredentialDto.ts | 3 +
src/api/types/CreateHandoffToolDto.ts | 9 +-
.../CreateHandoffToolDtoDestinationsItem.ts | 5 +
src/api/types/CreateHumeCredentialDto.ts | 3 +
.../types/CreateInflectionAiCredentialDto.ts | 3 +
src/api/types/CreateInworldCredentialDto.ts | 3 +
src/api/types/CreateLangfuseCredentialDto.ts | 3 +
.../CreateLineInsightFromCallTableDto.ts | 4 +
src/api/types/CreateLmntCredentialDto.ts | 3 +
src/api/types/CreateMakeCredentialDto.ts | 3 +
src/api/types/CreateMakeToolDto.ts | 6 +-
src/api/types/CreateMcpToolDto.ts | 10 +-
src/api/types/CreateMicrosoftCredentialDto.ts | 10 +
src/api/types/CreateMinimaxCredentialDto.ts | 3 +
src/api/types/CreateMistralCredentialDto.ts | 3 +
src/api/types/CreateNeuphonicCredentialDto.ts | 3 +
src/api/types/CreateOpenAiCredentialDto.ts | 3 +
.../types/CreateOpenRouterCredentialDto.ts | 3 +
src/api/types/CreateOutboundCallDto.ts | 9 +-
.../types/CreateOutboundCallDtoTransport.ts | 40 +
src/api/types/CreateOutputToolDto.ts | 6 +-
.../types/CreatePerplexityAiCredentialDto.ts | 3 +
src/api/types/CreatePersonalityDto.ts | 7 +-
.../types/CreatePieInsightFromCallTableDto.ts | 4 +
src/api/types/CreatePlayHtCredentialDto.ts | 4 +
src/api/types/CreateQueryToolDto.ts | 9 +-
src/api/types/CreateRimeAiCredentialDto.ts | 3 +
src/api/types/CreateRunpodCredentialDto.ts | 3 +
.../types/CreateS3CompatibleCredentialDto.ts | 11 +
src/api/types/CreateS3CredentialDto.ts | 3 +
src/api/types/CreateScenarioDto.ts | 11 +-
src/api/types/CreateScorecardDto.ts | 3 +
src/api/types/CreateSesameVoiceDto.ts | 11 +-
src/api/types/CreateSimulationRunResponse.ts | 40 +
...ateSimulationRunResponseSimulationsItem.ts | 24 +
.../CreateSimulationRunResponseStatus.ts | 10 +
.../CreateSimulationRunResponseTarget.ts | 27 +
src/api/types/CreateSimulationSuiteDto.ts | 16 -
src/api/types/CreateSipRequestToolDto.ts | 9 +-
...teSlackOAuth2AuthorizationCredentialDto.ts | 3 +
.../types/CreateSlackSendMessageToolDto.ts | 9 +-
.../types/CreateSlackWebhookCredentialDto.ts | 3 +
.../types/CreateSmallestAiCredentialDto.ts | 3 +
src/api/types/CreateSmsToolDto.ts | 9 +-
src/api/types/CreateSonioxCredentialDto.ts | 5 +
.../types/CreateSpeechmaticsCredentialDto.ts | 3 +
src/api/types/CreateSquadDto.ts | 3 +
src/api/types/CreateStructuredOutputDto.ts | 5 +
...CreateStructuredOutputDtoConditionsItem.ts | 22 +
src/api/types/CreateSupabaseCredentialDto.ts | 4 +
src/api/types/CreateTavusCredentialDto.ts | 3 +
src/api/types/CreateTelnyxPhoneNumberDto.ts | 3 +
src/api/types/CreateTextEditorToolDto.ts | 9 +-
.../CreateTextInsightFromCallTableDto.ts | 4 +
.../types/CreateTogetherAiCredentialDto.ts | 3 +
src/api/types/CreateToolDraftDto.ts | 163 +
.../types/CreateToolDraftDtoMessagesItem.ts | 27 +
src/api/types/CreateToolDraftDtoMethod.ts | 11 +
src/api/types/CreateToolDraftDtoType.ts | 35 +
src/api/types/CreateToolDraftDtoVerb.ts | 9 +
src/api/types/CreateToolTemplateDtoDetails.ts | 25 +
src/api/types/CreateTransferCallToolDto.ts | 9 +-
src/api/types/CreateTrieveCredentialDto.ts | 9 +-
src/api/types/CreateTrieveKnowledgeBaseDto.ts | 23 +-
.../CreateTrieveKnowledgeBaseDtoProvider.ts | 12 -
src/api/types/CreateTwilioCredentialDto.ts | 4 +
src/api/types/CreateTwilioPhoneNumberDto.ts | 3 +
src/api/types/CreateVapiPhoneNumberDto.ts | 3 +
src/api/types/CreateVoicemailToolDto.ts | 9 +-
src/api/types/CreateVonageCredentialDto.ts | 4 +
src/api/types/CreateVonagePhoneNumberDto.ts | 3 +
src/api/types/CreateWebCallDto.ts | 5 +
src/api/types/CreateWellSaidCredentialDto.ts | 3 +
src/api/types/CreateWorkflowDto.ts | 7 +
.../types/CreateWorkflowDtoCredentialsItem.ts | 74 +-
src/api/types/CreateWorkflowDtoNodesItem.ts | 2 +
src/api/types/CreateWorkflowDtoTranscriber.ts | 12 +-
src/api/types/CreateWorkflowDtoVoice.ts | 12 +-
src/api/types/CreateXAiCredentialDto.ts | 3 +
...tomEndpointingModelSmartEndpointingPlan.ts | 3 +
src/api/types/CustomLlmModel.ts | 12 +-
src/api/types/CustomLlmModelToolsItem.ts | 25 +
src/api/types/CustomMessage.ts | 3 +
src/api/types/CustomTranscriber.ts | 3 +
src/api/types/CustomVoice.ts | 3 +
.../types/CustomerCustomEndpointingRule.ts | 3 +
src/api/types/CustomerSpeechTimeoutOptions.ts | 15 +-
...merSpeechTimeoutOptionsTriggerResetMode.ts | 9 +
src/api/types/DeepInfraModel.ts | 12 +-
src/api/types/DeepInfraModelToolsItem.ts | 25 +
src/api/types/DeepSeekModel.ts | 12 +-
src/api/types/DeepSeekModelToolsItem.ts | 25 +
src/api/types/DeepgramTranscriber.ts | 26 +-
.../types/DeepgramTranscriberRedactionItem.ts | 10 +
src/api/types/DeepgramVoice.ts | 3 +
src/api/types/DeepgramVoiceId.ts | 7 +
src/api/types/DeveloperMessage.ts | 3 +
src/api/types/DialPlanEntry.ts | 3 +
src/api/types/DtmfTool.ts | 10 +-
src/api/types/Edge.ts | 6 +
src/api/types/ElevenLabsCredential.ts | 4 +
src/api/types/ElevenLabsCredentialApiUrl.ts | 8 +
...levenLabsPronunciationDictionaryLocator.ts | 11 +-
src/api/types/ElevenLabsTranscriber.ts | 3 +
src/api/types/ElevenLabsVoice.ts | 3 +
src/api/types/EndCallTool.ts | 10 +-
src/api/types/EndedReasonCondition.ts | 20 +
src/api/types/EndedReasonConditionOperator.ts | 14 +
src/api/types/Eval.ts | 7 +
src/api/types/EvalAnthropicModel.ts | 3 +
src/api/types/EvalAnthropicModelModel.ts | 1 +
src/api/types/EvalCustomModel.ts | 3 +
src/api/types/EvalGoogleModel.ts | 3 +
src/api/types/EvalGoogleModelModel.ts | 2 +
src/api/types/EvalGroqModelModel.ts | 1 -
src/api/types/EvalOpenAiModel.ts | 3 +
src/api/types/EvalOpenAiModelModel.ts | 37 +
src/api/types/EvalPaginatedResponse.ts | 5 +
src/api/types/EvalRun.ts | 8 +
src/api/types/EvalRunPaginatedResponse.ts | 5 +
src/api/types/EvalRunResult.ts | 3 +
src/api/types/EvalRunTarget.ts | 5 +
src/api/types/EvalRunTargetAssistant.ts | 3 +
src/api/types/EvalRunTargetSquad.ts | 3 +
src/api/types/EvaluationPlanItem.ts | 31 +-
src/api/types/EvaluationPlanItemComparator.ts | 8 +-
src/api/types/EvaluationPlanItemValue.ts | 3 +-
src/api/types/EventsTableBooleanCondition.ts | 3 +
src/api/types/EventsTableNumberCondition.ts | 3 +
src/api/types/EventsTableStringCondition.ts | 3 +
src/api/types/ExactReplacement.ts | 3 +
src/api/types/ExportChatDto.ts | 4 +
src/api/types/ExportChatDtoSortBy.ts | 9 +
src/api/types/ExportSessionDto.ts | 4 +
src/api/types/ExportSessionDtoSortBy.ts | 9 +
.../types/FallbackAssemblyAiTranscriber.ts | 20 +-
...kAssemblyAiTranscriberLanguageCodesItem.ts | 24 +
.../FallbackAssemblyAiTranscriberMode.ts | 14 +
...allbackAssemblyAiTranscriberSpeechModel.ts | 4 +-
.../types/FallbackAzureSpeechTranscriber.ts | 3 +
src/api/types/FallbackAzureVoice.ts | 3 +
src/api/types/FallbackCartesiaTranscriber.ts | 5 +
.../FallbackCartesiaTranscriberLanguage.ts | 1 +
.../types/FallbackCartesiaTranscriberModel.ts | 2 +
src/api/types/FallbackCartesiaVoice.ts | 3 +
src/api/types/FallbackCartesiaVoiceModel.ts | 2 +
src/api/types/FallbackCustomTranscriber.ts | 3 +
src/api/types/FallbackCustomVoice.ts | 3 +
src/api/types/FallbackDeepgramTranscriber.ts | 26 +-
...allbackDeepgramTranscriberRedactionItem.ts | 10 +
src/api/types/FallbackDeepgramVoice.ts | 3 +
src/api/types/FallbackDeepgramVoiceId.ts | 7 +
.../types/FallbackElevenLabsTranscriber.ts | 3 +
src/api/types/FallbackElevenLabsVoice.ts | 3 +
src/api/types/FallbackGladiaTranscriber.ts | 5 +-
...FallbackGladiaTranscriberLanguagesItem.ts} | 6 +-
src/api/types/FallbackGoogleTranscriber.ts | 3 +
.../types/FallbackGoogleTranscriberModel.ts | 2 +
src/api/types/FallbackHumeVoice.ts | 3 +
src/api/types/FallbackInworldVoice.ts | 3 +
src/api/types/FallbackLmntVoice.ts | 3 +
src/api/types/FallbackMicrosoftVoice.ts | 20 +
src/api/types/FallbackMicrosoftVoiceRole.ts | 14 +
src/api/types/FallbackMicrosoftVoiceStyle.ts | 36 +
.../types/FallbackMicrosoftVoiceVoiceId.ts | 53 +
src/api/types/FallbackNeuphonicVoice.ts | 3 +
src/api/types/FallbackOpenAiTranscriber.ts | 3 +
src/api/types/FallbackOpenAiVoice.ts | 3 +
src/api/types/FallbackPlan.ts | 3 +
src/api/types/FallbackPlanVoicesItem.ts | 12 +-
src/api/types/FallbackPlayHtVoice.ts | 3 +
src/api/types/FallbackRimeAiVoice.ts | 3 +
src/api/types/FallbackSesameVoice.ts | 3 +
src/api/types/FallbackSmallestAiVoice.ts | 3 +
src/api/types/FallbackSonioxTranscriber.ts | 11 +-
.../FallbackSonioxTranscriberLanguage.ts | 2 +-
.../FallbackSonioxTranscriberLanguagesItem.ts | 191 +
.../types/FallbackSonioxTranscriberModel.ts | 1 +
.../types/FallbackSpeechmaticsTranscriber.ts | 5 +
...FallbackSpeechmaticsTranscriberLanguage.ts | 1 +
.../types/FallbackTalkscriberTranscriber.ts | 3 +
src/api/types/FallbackTavusVoice.ts | 3 +
src/api/types/FallbackTranscriberPlan.ts | 6 +-
...FallbackTranscriberPlanTranscribersItem.ts | 7 +-
src/api/types/FallbackVapiVoice.ts | 11 +-
src/api/types/FallbackVapiVoiceLanguage.ts | 63 +
src/api/types/FallbackVapiVoiceVersion.ts | 9 +
src/api/types/FallbackVapiVoiceVoiceId.ts | 36 -
src/api/types/FallbackWellSaidVoice.ts | 3 +
src/api/types/FallbackXaiTranscriber.ts | 10 +
.../types/FallbackXaiTranscriberLanguage.ts | 32 +
src/api/types/FallbackXaiTranscriberModel.ts | 8 +
src/api/types/FallbackXaiVoice.ts | 16 +
src/api/types/FallbackXaiVoiceLanguage.ts | 27 +
src/api/types/FallbackXaiVoiceVoiceId.ts | 11 +
src/api/types/FileObject.ts | 1 +
src/api/types/FileStatus.ts | 1 +
src/api/types/File_.ts | 16 +
.../types/FilterDateTypeColumnOnCallTable.ts | 3 +
.../FilterNumberArrayTypeColumnOnCallTable.ts | 3 +
.../FilterNumberTypeColumnOnCallTable.ts | 3 +
.../FilterStringArrayTypeColumnOnCallTable.ts | 3 +
.../FilterStringTypeColumnOnCallTable.ts | 3 +
...FilterStructuredOutputColumnOnCallTable.ts | 3 +
src/api/types/FormatPlan.ts | 3 +
src/api/types/FourierDenoisingPlan.ts | 3 +
src/api/types/FunctionCallHookAction.ts | 6 +-
src/api/types/FunctionTool.ts | 10 +-
src/api/types/FunctionToolWithToolCall.ts | 6 +-
src/api/types/GcpKey.ts | 3 +
...GeminiMultimodalLivePrebuiltVoiceConfig.ts | 4 +
...timodalLivePrebuiltVoiceConfigVoiceName.ts | 1 +
.../types/GeminiMultimodalLiveSpeechConfig.ts | 4 +
.../types/GeminiMultimodalLiveVoiceConfig.ts | 4 +
src/api/types/GetChatPaginatedDto.ts | 4 +
src/api/types/GetChatPaginatedDtoSortBy.ts | 9 +
src/api/types/GetEvalPaginatedDto.ts | 2 +
src/api/types/GetEvalPaginatedDtoSortBy.ts | 9 +
src/api/types/GetEvalRunPaginatedDto.ts | 2 +
src/api/types/GetEvalRunPaginatedDtoSortBy.ts | 10 +
src/api/types/GetSessionPaginatedDto.ts | 4 +
src/api/types/GetSessionPaginatedDtoSortBy.ts | 10 +
src/api/types/GetToolDraftsDto.ts | 9 +
src/api/types/GhlTool.ts | 7 +-
src/api/types/GhlToolMetadata.ts | 5 +
src/api/types/GhlToolWithToolCall.ts | 6 +-
.../types/GladiaCustomVocabularyConfigDto.ts | 3 +
src/api/types/GladiaTranscriber.ts | 5 +-
...s.ts => GladiaTranscriberLanguagesItem.ts} | 7 +-
src/api/types/GladiaVocabularyItemDto.ts | 3 +
src/api/types/GlobalNodePlan.ts | 3 +
.../GoHighLevelCalendarAvailabilityTool.ts | 10 +-
...velCalendarAvailabilityToolWithToolCall.ts | 6 +-
.../GoHighLevelCalendarEventCreateTool.ts | 10 +-
...evelCalendarEventCreateToolWithToolCall.ts | 6 +-
src/api/types/GoHighLevelContactCreateTool.ts | 10 +-
...oHighLevelContactCreateToolWithToolCall.ts | 6 +-
src/api/types/GoHighLevelContactGetTool.ts | 10 +-
.../GoHighLevelContactGetToolWithToolCall.ts | 6 +-
.../GoogleCalendarCheckAvailabilityTool.ts | 10 +-
.../types/GoogleCalendarCreateEventTool.ts | 10 +-
...ogleCalendarCreateEventToolWithToolCall.ts | 6 +-
src/api/types/GoogleModel.ts | 12 +-
src/api/types/GoogleModelModel.ts | 2 +
src/api/types/GoogleModelToolsItem.ts | 25 +
src/api/types/GoogleRealtimeConfig.ts | 3 +
src/api/types/GoogleSheetsRowAppendTool.ts | 10 +-
.../GoogleSheetsRowAppendToolWithToolCall.ts | 6 +-
src/api/types/GoogleTranscriber.ts | 3 +
src/api/types/GoogleTranscriberModel.ts | 2 +
src/api/types/GoogleVoicemailDetectionPlan.ts | 3 +
src/api/types/GroqModel.ts | 12 +-
src/api/types/GroqModelModel.ts | 1 -
src/api/types/GroqModelToolsItem.ts | 25 +
src/api/types/GroupCondition.ts | 3 +
src/api/types/HandoffDestinationAssistant.ts | 4 +
...tinationAssistantContextEngineeringPlan.ts | 7 +-
.../types/HandoffDestinationAssistantType.ts | 1 +
src/api/types/HandoffDestinationDynamic.ts | 3 +
src/api/types/HandoffDestinationSquad.ts | 3 +
...fDestinationSquadContextEngineeringPlan.ts | 7 +-
src/api/types/HandoffTool.ts | 10 +-
src/api/types/HandoffToolDestinationsItem.ts | 5 +
src/api/types/HmacAuthenticationPlan.ts | 3 +
src/api/types/HumeVoice.ts | 3 +
src/api/types/ImportTwilioPhoneNumberDto.ts | 3 +
src/api/types/InflectionAiModel.ts | 12 +-
src/api/types/InflectionAiModelToolsItem.ts | 25 +
src/api/types/Insight.ts | 5 +
src/api/types/InsightFormula.ts | 3 +
src/api/types/InsightPaginatedResponse.ts | 5 +
src/api/types/InsightRunFormatPlan.ts | 3 +
src/api/types/InsightRunResponse.ts | 8 +
src/api/types/InsightTimeRange.ts | 3 +
src/api/types/InsightTimeRangeWithStep.ts | 3 +
src/api/types/InviteUserDtoRole.ts | 9 +-
src/api/types/InviteUserDtoRoleZero.ts | 8 +
src/api/types/InworldVoice.ts | 3 +
...sonQueryOnCallTableWithNumberTypeColumn.ts | 3 +
...sonQueryOnCallTableWithStringTypeColumn.ts | 3 +
...ryOnCallTableWithStructuredOutputColumn.ts | 3 +
src/api/types/JsonQueryOnEventsTable.ts | 3 +
src/api/types/JsonQueryOnEventsTableOn.ts | 4 +
src/api/types/JsonSchema.ts | 3 +
src/api/types/KeypadInputPlan.ts | 3 +
src/api/types/KnowledgeBase.ts | 3 +
src/api/types/KnowledgeBaseCost.ts | 3 +
src/api/types/KnowledgeBaseModel.ts | 2 +
src/api/types/KnowledgeBaseTool.ts | 101 +
src/api/types/KnowledgeBaseToolFunction.ts | 28 +
.../types/KnowledgeBaseToolMessagesItem.ts | 27 +
src/api/types/KnowledgeBaseV2.ts | 10 +
src/api/types/KnowledgeBaseV2File.ts | 15 +
src/api/types/KnowledgeBaseV2FileStatus.ts | 8 +
src/api/types/KnowledgeBaseV2WithFiles.ts | 15 +
src/api/types/LangfuseObservabilityPlan.ts | 4 +
.../LangfuseObservabilityPlanProvider.ts | 1 +
src/api/types/LegacyAssistantVersion.ts | 9 +
...LegacyAssistantVersionPaginatedResponse.ts | 9 +
src/api/types/LineInsight.ts | 6 +
src/api/types/LineInsightMetadata.ts | 8 +
src/api/types/LiquidCondition.ts | 3 +
src/api/types/LivekitSmartEndpointingPlan.ts | 3 +
src/api/types/LmntVoice.ts | 3 +
src/api/types/MakeTool.ts | 7 +-
src/api/types/MakeToolWithToolCall.ts | 6 +-
src/api/types/McpTool.ts | 11 +-
src/api/types/McpToolMessages.ts | 5 +-
src/api/types/McpToolMetadata.ts | 3 +
src/api/types/MessageAddHookAction.ts | 3 +
src/api/types/MessageTarget.ts | 3 +
...veCredential.ts => MicrosoftCredential.ts} | 6 +-
src/api/types/MicrosoftCredentialProvider.ts | 7 +
src/api/types/MicrosoftVoice.ts | 22 +
src/api/types/MicrosoftVoiceRole.ts | 14 +
src/api/types/MicrosoftVoiceStyle.ts | 35 +
src/api/types/MicrosoftVoiceVoiceId.ts | 52 +
src/api/types/MinCallDurationCondition.ts | 12 +
src/api/types/MinMessagesCondition.ts | 12 +
src/api/types/MinimaxLlmModel.ts | 12 +-
src/api/types/MinimaxLlmModelToolsItem.ts | 25 +
src/api/types/MinimaxVoice.ts | 3 +
src/api/types/ModelCost.ts | 9 +
src/api/types/Monitor.ts | 4 +
src/api/types/MonitorPlan.ts | 11 +-
src/api/types/MonitorResult.ts | 5 +
src/api/types/Mono.ts | 3 +
src/api/types/NeuphonicVoice.ts | 3 +
src/api/types/NodeArtifact.ts | 3 +
...umberComparatorScorecardMetricCondition.ts | 24 +
...ratorScorecardMetricConditionComparator.ts | 17 +
...rComparatorScorecardMetricConditionType.ts | 8 +
src/api/types/OAuth2AuthenticationPlan.ts | 4 +
src/api/types/OAuth2AuthenticationPlanType.ts | 1 +
src/api/types/Oauth2AuthenticationSession.ts | 3 +
src/api/types/OpenAiFunction.ts | 15 +-
src/api/types/OpenAiFunctionParameters.ts | 3 +
src/api/types/OpenAiMessage.ts | 5 +
src/api/types/OpenAiMessageRole.ts | 1 +
src/api/types/OpenAiModel.ts | 21 +-
.../types/OpenAiModelFallbackModelsItem.ts | 38 +
src/api/types/OpenAiModelModel.ts | 38 +
.../types/OpenAiModelPromptCacheRetention.ts | 2 +-
src/api/types/OpenAiModelReasoningEffort.ts | 17 +
src/api/types/OpenAiModelToolsItem.ts | 25 +
src/api/types/OpenAiTranscriber.ts | 3 +
src/api/types/OpenAiVoice.ts | 3 +
src/api/types/OpenAiVoicemailDetectionPlan.ts | 3 +
src/api/types/OpenRouterModel.ts | 12 +-
src/api/types/OpenRouterModelToolsItem.ts | 25 +
src/api/types/Org.ts | 7 +
src/api/types/OutputTool.ts | 7 +-
src/api/types/PaginationMeta.ts | 20 +
src/api/types/PaginationMetaSortOrder.ts | 7 +
src/api/types/PendingInvitationDto.ts | 6 +
.../types/PendingInvitationsResponseDto.ts | 7 +
src/api/types/PerformanceMetrics.ts | 3 +
src/api/types/PerplexityAiModel.ts | 12 +-
src/api/types/PerplexityAiModelToolsItem.ts | 25 +
.../types/PhoneNumberCallEndingHookFilter.ts | 3 +
.../types/PhoneNumberCallRingingHookFilter.ts | 3 +
src/api/types/PhoneNumberHookCallEnding.ts | 3 +
src/api/types/PhoneNumberHookCallRinging.ts | 3 +
src/api/types/PhoneNumberPaginatedResponse.ts | 3 +
src/api/types/PieInsight.ts | 6 +
src/api/types/PlayHtVoice.ts | 3 +
.../types/PromptInjectionSecurityFilter.ts | 3 +
src/api/types/ProviderResource.ts | 3 +
.../ProviderResourcePaginatedResponse.ts | 5 +
src/api/types/PublicKeyEncryptionPlan.ts | 3 +
src/api/types/QueryTool.ts | 10 +-
src/api/types/RceSecurityFilter.ts | 3 +
src/api/types/Recording.ts | 3 +
src/api/types/RecordingConsent.ts | 7 +-
.../types/RecordingConsentPlanStayOnLine.ts | 17 +
...ngConsentPlanStayOnLineFirstMessageMode.ts | 21 +
.../RecordingConsentPlanStayOnLineVoice.ts | 12 +-
src/api/types/RecordingConsentPlanVerbal.ts | 17 +
...ordingConsentPlanVerbalFirstMessageMode.ts | 21 +
.../types/RecordingConsentPlanVerbalVoice.ts | 12 +-
src/api/types/RecordingConsentType.ts | 8 +
src/api/types/RegexCondition.ts | 3 +
src/api/types/RegexOption.ts | 3 +
src/api/types/RegexReplacement.ts | 3 +
src/api/types/RegexSecurityFilter.ts | 3 +
src/api/types/RevokeInvitationResponseDto.ts | 5 +
src/api/types/RimeAiVoice.ts | 3 +
src/api/types/S3CompatibleBucketPlan.ts | 16 +
.../types/S3CompatibleStorageCredential.ts | 21 +
.../S3CompatibleStorageCredentialProvider.ts | 8 +
src/api/types/SayHookAction.ts | 7 +-
src/api/types/SayHookActionExact.ts | 6 +
src/api/types/SayPhoneNumberHookAction.ts | 3 +
src/api/types/SbcConfiguration.ts | 5 +-
src/api/types/ScenarioToolMock.ts | 6 +-
src/api/types/SchedulePlan.ts | 3 +
src/api/types/Scorecard.ts | 3 +
src/api/types/ScorecardMetric.ts | 17 +-
.../types/ScorecardMetricConditionsItem.ts | 7 +
src/api/types/ScorecardPaginatedResponse.ts | 5 +
src/api/types/SecurityFilterBase.ts | 3 +
src/api/types/SecurityFilterPlan.ts | 3 +
src/api/types/Server.ts | 3 +
.../types/ServerMessageAssistantRequest.ts | 7 +
src/api/types/ServerMessageAssistantSpeech.ts | 7 +
.../types/ServerMessageCallArtifactUpload.ts | 44 +
...verMessageCallArtifactUploadPhoneNumber.ts | 35 +
.../ServerMessageCallArtifactUploadType.ts | 11 +
.../types/ServerMessageCallDeleteFailed.ts | 7 +
src/api/types/ServerMessageCallDeleted.ts | 7 +
.../ServerMessageCallEndpointingRequest.ts | 7 +
src/api/types/ServerMessageCampaignPredial.ts | 37 +
...ServerMessageCampaignPredialPhoneNumber.ts | 35 +
.../types/ServerMessageCampaignPredialType.ts | 8 +
src/api/types/ServerMessageChatCreated.ts | 7 +
src/api/types/ServerMessageChatDeleted.ts | 7 +
.../types/ServerMessageConversationUpdate.ts | 7 +
src/api/types/ServerMessageEndOfCallReport.ts | 7 +
...ServerMessageEndOfCallReportEndedReason.ts | 30 +
.../ServerMessageHandoffDestinationRequest.ts | 7 +
src/api/types/ServerMessageHang.ts | 7 +
.../ServerMessageKnowledgeBaseRequest.ts | 7 +
.../ServerMessageLanguageChangeDetected.ts | 7 +
src/api/types/ServerMessageMessage.ts | 4 +-
src/api/types/ServerMessageModelOutput.ts | 7 +
.../types/ServerMessagePhoneCallControl.ts | 7 +
.../ServerMessageResponseCampaignPredial.ts | 6 +
.../ServerMessageResponseMessageResponse.ts | 3 +-
src/api/types/ServerMessageSessionCreated.ts | 7 +
src/api/types/ServerMessageSessionDeleted.ts | 7 +
src/api/types/ServerMessageSessionUpdated.ts | 7 +
src/api/types/ServerMessageSpeechUpdate.ts | 7 +
src/api/types/ServerMessageStatusUpdate.ts | 7 +
.../ServerMessageStatusUpdateEndedReason.ts | 30 +
src/api/types/ServerMessageToolCalls.ts | 7 +
src/api/types/ServerMessageTranscript.ts | 17 +
...ServerMessageTransferDestinationRequest.ts | 7 +
src/api/types/ServerMessageTransferUpdate.ts | 7 +
src/api/types/ServerMessageUserInterrupted.ts | 7 +
src/api/types/ServerMessageVoiceInput.ts | 7 +
src/api/types/ServerMessageVoiceRequest.ts | 7 +
src/api/types/SesameVoice.ts | 3 +
src/api/types/SimulationRun.ts | 14 +-
src/api/types/SimulationRunItem.ts | 16 +-
src/api/types/SimulationRunItemCounts.ts | 16 +-
src/api/types/SimulationRunItemStatus.ts | 2 +-
src/api/types/SimulationRunListItem.ts | 35 +
.../SimulationRunListItemSimulationsItem.ts | 24 +
src/api/types/SimulationRunListItemStatus.ts | 10 +
src/api/types/SimulationRunListItemTarget.ts | 25 +
src/api/types/SimulationRunListSource.ts | 11 +
src/api/types/SimulationRunListSourceType.ts | 10 +
src/api/types/SimulationRunListSummary.ts | 9 +
.../SimulationRunPaymentRequiredResponse.ts | 9 +
...ulationRunPaymentRequiredResponseReason.ts | 12 +
src/api/types/SimulationRunSimulationsItem.ts | 7 +
src/api/types/SimulationRunStatus.ts | 2 +-
src/api/types/SimulationRunSuiteEntry.ts | 2 +
src/api/types/SimulationRunTarget.ts | 7 +-
.../types/SimulationRunsPaginatedResponse.ts | 8 +
src/api/types/SimulationSuite.ts | 4 +
.../types/SimulationSuiteTargetAssignment.ts | 10 +
...mulationSuiteTargetAssignmentTargetType.ts | 9 +
src/api/types/SipAuthentication.ts | 5 +-
src/api/types/SipRequestTool.ts | 10 +-
src/api/types/SipTrunkGateway.ts | 5 +-
.../SipTrunkOutboundAuthenticationPlan.ts | 4 +
.../types/SipTrunkOutboundSipRegisterPlan.ts | 6 +
src/api/types/SkippedStructuredOutput.ts | 13 +
.../SkippedStructuredOutputUnmetCondition.ts | 26 +
src/api/types/SlackSendMessageTool.ts | 10 +-
src/api/types/SmallestAiVoice.ts | 3 +
src/api/types/SmartDenoisingPlan.ts | 3 +
src/api/types/SmsTool.ts | 10 +-
src/api/types/SonioxContextGeneralItem.ts | 8 +
src/api/types/SonioxCredential.ts | 2 +
src/api/types/SonioxTranscriber.ts | 11 +-
src/api/types/SonioxTranscriberLanguage.ts | 2 +-
.../types/SonioxTranscriberLanguagesItem.ts | 191 +
src/api/types/SonioxTranscriberModel.ts | 1 +
.../types/SpeechmaticsCustomVocabularyItem.ts | 3 +
src/api/types/SpeechmaticsTranscriber.ts | 5 +
.../types/SpeechmaticsTranscriberLanguage.ts | 1 +
src/api/types/SpkiPemPublicKeyConfig.ts | 3 +
src/api/types/SqlInjectionSecurityFilter.ts | 3 +
src/api/types/Squad.ts | 3 +
src/api/types/SquadMemberDto.ts | 10 +
src/api/types/SsrfSecurityFilter.ts | 3 +
src/api/types/StartSpeakingPlan.ts | 3 +
src/api/types/StopSpeakingPlan.ts | 3 +
src/api/types/StructuredDataMultiPlan.ts | 3 +
src/api/types/StructuredDataPlan.ts | 3 +
src/api/types/StructuredOutput.ts | 5 +
.../types/StructuredOutputConditionsItem.ts | 22 +
.../types/StructuredOutputCostBreakdown.ts | 16 +
.../types/StructuredOutputEvaluationResult.ts | 6 +
.../StructuredOutputPaginatedResponse.ts | 5 +
.../types/StructuredOutputRerunResponse.ts | 7 +
.../StructuredOutputRunPreviewResponse.ts | 12 +
src/api/types/StructuredOutputRunResult.ts | 11 +
.../types/StructuredOutputRunResultResult.ts | 6 +
src/api/types/Subscription.ts | 4 +-
src/api/types/SubscriptionLimits.ts | 3 +
src/api/types/SuccessEvaluationPlan.ts | 3 +
src/api/types/SummaryPlan.ts | 3 +
src/api/types/SupabaseBucketPlan.ts | 3 +
.../types/SyncVoiceLibraryDtoProvidersItem.ts | 2 +
src/api/types/SystemMessage.ts | 3 +
src/api/types/TalkscriberTranscriber.ts | 3 +
src/api/types/TavusConversationProperties.ts | 3 +
src/api/types/TavusVoice.ts | 3 +
src/api/types/TelnyxPhoneNumber.ts | 3 +
src/api/types/TelnyxTransport.ts | 14 +
.../types/TelnyxTransportConversationType.ts | 8 +
src/api/types/TemplateDetails.ts | 25 +
src/api/types/TextContent.ts | 6 +
src/api/types/TextContentLanguage.ts | 1 +
src/api/types/TextContentType.ts | 1 +
src/api/types/TextEditorTool.ts | 10 +-
src/api/types/TextEditorToolWithToolCall.ts | 6 +-
src/api/types/TextInsight.ts | 6 +
src/api/types/TimeRange.ts | 3 +
src/api/types/TogetherAiModel.ts | 12 +-
src/api/types/TogetherAiModelToolsItem.ts | 25 +
src/api/types/ToolCall.ts | 3 +
src/api/types/ToolCallFunction.ts | 3 +
src/api/types/ToolCallHookAction.ts | 3 +
src/api/types/ToolCallHookActionTool.ts | 28 +
src/api/types/ToolCallMessage.ts | 3 +
src/api/types/ToolCallResultMessage.ts | 36 +-
src/api/types/ToolCallResultMessageWarning.ts | 17 +
.../types/ToolCallResultMessageWarningType.ts | 13 +
src/api/types/ToolDraft.ts | 179 +
src/api/types/ToolDraftConflictResponseDto.ts | 7 +
src/api/types/ToolDraftMessagesItem.ts | 27 +
src/api/types/ToolDraftMethod.ts | 11 +
src/api/types/ToolDraftPaginatedMetadata.ts | 7 +
src/api/types/ToolDraftPaginatedResponse.ts | 8 +
src/api/types/ToolDraftType.ts | 35 +
src/api/types/ToolDraftVerb.ts | 9 +
src/api/types/ToolMessage.ts | 3 +
src/api/types/ToolMessageComplete.ts | 3 +
src/api/types/ToolMessageDelayed.ts | 5 +-
src/api/types/ToolMessageFailed.ts | 21 +
src/api/types/ToolMessageFailedRole.ts | 22 +
src/api/types/ToolMessageStart.ts | 3 +
src/api/types/ToolNode.ts | 4 +
src/api/types/ToolNodeTool.ts | 28 +
src/api/types/ToolParameter.ts | 3 +
.../types/ToolPinnedConflictResponseDto.ts | 9 +
.../ToolPinnedConflictResponseDtoError.ts | 7 +
src/api/types/ToolRef.ts | 8 +
src/api/types/ToolRejectionPlan.ts | 3 +
src/api/types/ToolVersion.ts | 65 +
src/api/types/ToolVersionPaginatedMetadata.ts | 7 +
src/api/types/ToolVersionPaginatedResponse.ts | 8 +
src/api/types/TranscriberCost.ts | 3 +
src/api/types/TranscriptPlan.ts | 3 +
src/api/types/TranscriptionEndpointingPlan.ts | 3 +
src/api/types/TransferArtifact.ts | 19 +
src/api/types/TransferArtifactDestination.ts | 20 +
src/api/types/TransferArtifactMessagesItem.ts | 10 +
src/api/types/TransferArtifactMode.ts | 16 +
src/api/types/TransferArtifactStatus.ts | 13 +
src/api/types/TransferAssistantTranscriber.ts | 12 +-
src/api/types/TransferAssistantVoice.ts | 12 +-
src/api/types/TransferCallTool.ts | 10 +-
.../types/TransferCancelToolUserEditable.ts | 6 +-
src/api/types/TransferDestinationAssistant.ts | 4 +
.../types/TransferDestinationAssistantType.ts | 1 +
src/api/types/TransferDestinationNumber.ts | 3 +
src/api/types/TransferDestinationSip.ts | 3 +
src/api/types/TransferFallbackPlan.ts | 3 +
.../types/TransferPhoneNumberHookAction.ts | 3 +
src/api/types/TransferPlan.ts | 9 +-
.../TransferSuccessfulToolUserEditable.ts | 6 +-
src/api/types/TransportConfigurationTwilio.ts | 4 +
.../TransportConfigurationTwilioProvider.ts | 1 +
src/api/types/TransportCost.ts | 4 +
src/api/types/TransportCostProvider.ts | 1 +
src/api/types/TrieveCredentialProvider.ts | 6 -
src/api/types/TrieveKnowledgeBase.ts | 27 +-
src/api/types/TrieveKnowledgeBaseChunkPlan.ts | 14 -
src/api/types/TrieveKnowledgeBaseCreate.ts | 10 -
.../types/TrieveKnowledgeBaseCreateType.ts | 8 -
src/api/types/TrieveKnowledgeBaseImport.ts | 9 +-
.../types/TrieveKnowledgeBaseImportType.ts | 8 -
src/api/types/TrieveKnowledgeBaseProvider.ts | 12 -
.../types/TrieveKnowledgeBaseSearchPlan.ts | 14 -
...TrieveKnowledgeBaseSearchPlanSearchType.ts | 11 -
src/api/types/TurnLatency.ts | 3 +
src/api/types/TwilioPhoneNumber.ts | 3 +
src/api/types/TwilioTransport.ts | 19 +
.../types/TwilioTransportConversationType.ts | 8 +
src/api/types/TwilioVoicemailDetectionPlan.ts | 3 +
.../UpdateAnthropicBedrockCredentialDto.ts | 1 +
...teAnthropicBedrockCredentialDtoProvider.ts | 7 +
...dateAnthropicBedrockCredentialDtoRegion.ts | 1 +
src/api/types/UpdateAnthropicCredentialDto.ts | 3 +
.../UpdateAnthropicCredentialDtoProvider.ts | 7 +
src/api/types/UpdateAnyscaleCredentialDto.ts | 3 +
.../UpdateAnyscaleCredentialDtoProvider.ts | 7 +
src/api/types/UpdateApiRequestToolDto.ts | 18 +-
.../types/UpdateApiRequestToolDtoMethod.ts | 1 +
.../types/UpdateAssemblyAiCredentialDto.ts | 3 +
.../UpdateAssemblyAiCredentialDtoProvider.ts | 7 +
src/api/types/UpdateAssistantDraftDto.ts | 151 +
.../UpdateAssistantDraftDtoBackgroundSound.ts | 9 +
...ateAssistantDraftDtoBackgroundSoundZero.ts | 8 +
...dateAssistantDraftDtoClientMessagesItem.ts | 25 +
.../UpdateAssistantDraftDtoCredentialsItem.ts | 352 +
...UpdateAssistantDraftDtoFirstMessageMode.ts | 19 +
.../types/UpdateAssistantDraftDtoHooksItem.ts | 10 +
src/api/types/UpdateAssistantDraftDtoModel.ts | 117 +
...dateAssistantDraftDtoServerMessagesItem.ts | 34 +
.../UpdateAssistantDraftDtoTranscriber.ts | 80 +
src/api/types/UpdateAssistantDraftDtoVoice.ts | 110 +
...dateAssistantDraftDtoVoicemailDetection.ts | 14 +
...AssistantDraftDtoVoicemailDetectionZero.ts | 7 +
.../UpdateAssistantVersionMetadataDto.ts | 8 +
src/api/types/UpdateAzureCredentialDto.ts | 1 +
.../types/UpdateAzureCredentialDtoProvider.ts | 7 +
.../types/UpdateAzureCredentialDtoRegion.ts | 2 +
.../types/UpdateAzureOpenAiCredentialDto.ts | 1 +
...pdateAzureOpenAiCredentialDtoModelsItem.ts | 6 +
.../UpdateAzureOpenAiCredentialDtoProvider.ts | 7 +
.../UpdateAzureOpenAiCredentialDtoRegion.ts | 2 +
.../types/UpdateBarInsightFromCallTableDto.ts | 4 +
src/api/types/UpdateBashToolDto.ts | 9 +-
src/api/types/UpdateByoPhoneNumberDto.ts | 3 +
.../types/UpdateByoSipTrunkCredentialDto.ts | 4 +-
.../UpdateByoSipTrunkCredentialDtoProvider.ts | 8 +
.../requests => types}/UpdateCampaignDto.ts | 29 +-
.../types/UpdateCampaignDtoStatus.ts | 6 +-
src/api/types/UpdateCartesiaCredentialDto.ts | 5 +
.../UpdateCartesiaCredentialDtoProvider.ts | 7 +
src/api/types/UpdateCerebrasCredentialDto.ts | 3 +
.../UpdateCerebrasCredentialDtoProvider.ts | 7 +
.../types/UpdateCloudflareCredentialDto.ts | 2 +
.../UpdateCloudflareCredentialDtoProvider.ts | 8 +
src/api/types/UpdateCodeToolDto.ts | 8 +-
src/api/types/UpdateCodeToolDtoType.ts | 7 +
src/api/types/UpdateComputerToolDto.ts | 9 +-
src/api/types/UpdateCustomCredentialDto.ts | 1 +
.../UpdateCustomCredentialDtoProvider.ts | 7 +
src/api/types/UpdateCustomKnowledgeBaseDto.ts | 2 +
.../UpdateCustomKnowledgeBaseDtoProvider.ts | 8 +
src/api/types/UpdateCustomLlmCredentialDto.ts | 1 +
.../UpdateCustomLlmCredentialDtoProvider.ts | 7 +
src/api/types/UpdateDeepInfraCredentialDto.ts | 3 +
.../UpdateDeepInfraCredentialDtoProvider.ts | 7 +
src/api/types/UpdateDeepSeekCredentialDto.ts | 3 +
.../UpdateDeepSeekCredentialDtoProvider.ts | 7 +
src/api/types/UpdateDeepgramCredentialDto.ts | 3 +
.../UpdateDeepgramCredentialDtoProvider.ts | 7 +
src/api/types/UpdateDtmfToolDto.ts | 9 +-
.../types/UpdateElevenLabsCredentialDto.ts | 6 +-
.../UpdateElevenLabsCredentialDtoApiUrl.ts | 9 +
src/api/types/UpdateEmailCredentialDto.ts | 3 +
.../types/UpdateEmailCredentialDtoProvider.ts | 7 +
src/api/types/UpdateEndCallToolDto.ts | 9 +-
src/api/types/UpdateFunctionToolDto.ts | 9 +-
src/api/types/UpdateGcpCredentialDto.ts | 1 +
.../types/UpdateGcpCredentialDtoProvider.ts | 7 +
src/api/types/UpdateGhlToolDto.ts | 8 +-
src/api/types/UpdateGhlToolDtoType.ts | 7 +
src/api/types/UpdateGladiaCredentialDto.ts | 3 +
.../UpdateGladiaCredentialDtoProvider.ts | 7 +
...eGoHighLevelCalendarAvailabilityToolDto.ts | 9 +-
...teGoHighLevelCalendarEventCreateToolDto.ts | 9 +-
.../UpdateGoHighLevelContactCreateToolDto.ts | 9 +-
.../UpdateGoHighLevelContactGetToolDto.ts | 9 +-
.../types/UpdateGoHighLevelCredentialDto.ts | 3 +
.../UpdateGoHighLevelCredentialDtoProvider.ts | 7 +
.../UpdateGoHighLevelMcpCredentialDto.ts | 1 +
...dateGoHighLevelMcpCredentialDtoProvider.ts | 7 +
...eGoogleCalendarCheckAvailabilityToolDto.ts | 9 +-
.../UpdateGoogleCalendarCreateEventToolDto.ts | 9 +-
...alendarOAuth2AuthorizationCredentialDto.ts | 3 +
...Auth2AuthorizationCredentialDtoProvider.ts | 7 +
...GoogleCalendarOAuth2ClientCredentialDto.ts | 3 +
...lendarOAuth2ClientCredentialDtoProvider.ts | 7 +
src/api/types/UpdateGoogleCredentialDto.ts | 4 +
.../UpdateGoogleCredentialDtoProvider.ts | 8 +
...eSheetsOAuth2AuthorizationCredentialDto.ts | 3 +
...Auth2AuthorizationCredentialDtoProvider.ts | 7 +
.../UpdateGoogleSheetsRowAppendToolDto.ts | 9 +-
src/api/types/UpdateGroqCredentialDto.ts | 3 +
.../types/UpdateGroqCredentialDtoProvider.ts | 7 +
src/api/types/UpdateHandoffToolDto.ts | 9 +-
.../UpdateHandoffToolDtoDestinationsItem.ts | 5 +
src/api/types/UpdateHumeCredentialDto.ts | 3 +
.../types/UpdateHumeCredentialDtoProvider.ts | 7 +
.../types/UpdateInflectionAiCredentialDto.ts | 4 +
...UpdateInflectionAiCredentialDtoProvider.ts | 8 +
src/api/types/UpdateInworldCredentialDto.ts | 3 +
.../UpdateInworldCredentialDtoProvider.ts | 7 +
src/api/types/UpdateKnowledgeBaseToolDto.ts | 92 +
.../UpdateKnowledgeBaseToolDtoMessagesItem.ts | 27 +
src/api/types/UpdateLangfuseCredentialDto.ts | 3 +
.../UpdateLangfuseCredentialDtoProvider.ts | 7 +
.../UpdateLineInsightFromCallTableDto.ts | 4 +
src/api/types/UpdateLmntCredentialDto.ts | 3 +
.../types/UpdateLmntCredentialDtoProvider.ts | 7 +
src/api/types/UpdateMakeCredentialDto.ts | 3 +
.../types/UpdateMakeCredentialDtoProvider.ts | 7 +
src/api/types/UpdateMakeToolDto.ts | 8 +-
src/api/types/UpdateMakeToolDtoType.ts | 7 +
src/api/types/UpdateMcpToolDto.ts | 10 +-
src/api/types/UpdateMicrosoftCredentialDto.ts | 13 +
.../UpdateMicrosoftCredentialDtoProvider.ts | 7 +
src/api/types/UpdateMistralCredentialDto.ts | 3 +
.../UpdateMistralCredentialDtoProvider.ts | 7 +
src/api/types/UpdateNeuphonicCredentialDto.ts | 3 +
.../UpdateNeuphonicCredentialDtoProvider.ts | 7 +
src/api/types/UpdateOpenAiCredentialDto.ts | 3 +
.../UpdateOpenAiCredentialDtoProvider.ts | 7 +
.../types/UpdateOpenRouterCredentialDto.ts | 3 +
.../UpdateOpenRouterCredentialDtoProvider.ts | 7 +
src/api/types/UpdateOutputToolDto.ts | 8 +-
src/api/types/UpdateOutputToolDtoType.ts | 7 +
.../types/UpdatePerplexityAiCredentialDto.ts | 3 +
...UpdatePerplexityAiCredentialDtoProvider.ts | 7 +
.../types/UpdatePieInsightFromCallTableDto.ts | 4 +
src/api/types/UpdatePlayHtCredentialDto.ts | 3 +
.../UpdatePlayHtCredentialDtoProvider.ts | 7 +
src/api/types/UpdateQueryToolDto.ts | 9 +-
src/api/types/UpdateRimeAiCredentialDto.ts | 3 +
.../UpdateRimeAiCredentialDtoProvider.ts | 7 +
src/api/types/UpdateRunpodCredentialDto.ts | 3 +
.../UpdateRunpodCredentialDtoProvider.ts | 7 +
.../types/UpdateS3CompatibleBucketPlanDto.ts | 16 +
.../types/UpdateS3CompatibleCredentialDto.ts | 13 +
...UpdateS3CompatibleCredentialDtoProvider.ts | 8 +
src/api/types/UpdateS3CredentialDto.ts | 4 +
.../types/UpdateS3CredentialDtoProvider.ts | 8 +
src/api/types/UpdateSipRequestToolDto.ts | 9 +-
...teSlackOAuth2AuthorizationCredentialDto.ts | 3 +
...Auth2AuthorizationCredentialDtoProvider.ts | 7 +
.../types/UpdateSlackSendMessageToolDto.ts | 9 +-
.../types/UpdateSlackWebhookCredentialDto.ts | 3 +
...UpdateSlackWebhookCredentialDtoProvider.ts | 7 +
src/api/types/UpdateSmsToolDto.ts | 9 +-
src/api/types/UpdateSonioxCredentialDto.ts | 5 +
.../UpdateSonioxCredentialDtoProvider.ts | 7 +
src/api/types/UpdateTelnyxPhoneNumberDto.ts | 3 +
src/api/types/UpdateTextEditorToolDto.ts | 9 +-
.../UpdateTextInsightFromCallTableDto.ts | 4 +
.../types/UpdateTogetherAiCredentialDto.ts | 3 +
.../UpdateTogetherAiCredentialDtoProvider.ts | 7 +
src/api/types/UpdateToolDraftDto.ts | 156 +
.../types/UpdateToolDraftDtoMessagesItem.ts | 27 +
src/api/types/UpdateToolDraftDtoMethod.ts | 11 +
src/api/types/UpdateToolDraftDtoType.ts | 35 +
src/api/types/UpdateToolDraftDtoVerb.ts | 9 +
src/api/types/UpdateToolTemplateDtoDetails.ts | 25 +
src/api/types/UpdateToolVersionMetadataDto.ts | 8 +
src/api/types/UpdateTransferCallToolDto.ts | 9 +-
src/api/types/UpdateTrieveCredentialDto.ts | 8 -
src/api/types/UpdateTrieveKnowledgeBaseDto.ts | 17 +-
src/api/types/UpdateTwilioCredentialDto.ts | 3 +
.../UpdateTwilioCredentialDtoProvider.ts | 7 +
src/api/types/UpdateTwilioPhoneNumberDto.ts | 3 +
src/api/types/UpdateUserRoleDtoRole.ts | 9 +-
src/api/types/UpdateUserRoleDtoRoleZero.ts | 8 +
src/api/types/UpdateVapiPhoneNumberDto.ts | 3 +
.../types/UpdateVoiceLibraryMetadataDto.ts | 8 +
src/api/types/UpdateVoicemailToolDto.ts | 9 +-
src/api/types/UpdateVonageCredentialDto.ts | 3 +
.../UpdateVonageCredentialDtoProvider.ts | 7 +
src/api/types/UpdateVonagePhoneNumberDto.ts | 3 +
src/api/types/UpdateWebhookCredentialDto.ts | 1 +
.../UpdateWebhookCredentialDtoProvider.ts | 7 +
src/api/types/UpdateWellSaidCredentialDto.ts | 3 +
.../UpdateWellSaidCredentialDtoProvider.ts | 7 +
.../types/UpdateWorkflowDtoCredentialsItem.ts | 74 +-
src/api/types/UpdateWorkflowDtoNodesItem.ts | 2 +
src/api/types/UpdateWorkflowDtoTranscriber.ts | 12 +-
src/api/types/UpdateWorkflowDtoVoice.ts | 12 +-
src/api/types/UpdateXAiCredentialDto.ts | 4 +
.../types/UpdateXAiCredentialDtoProvider.ts | 8 +
src/api/types/UserMessage.ts | 3 +
src/api/types/VapiCost.ts | 3 +
src/api/types/VapiModel.ts | 30 +-
src/api/types/VapiModelProvider.ts | 6 -
src/api/types/VapiModelToolsItem.ts | 25 +
src/api/types/VapiModelVersion.ts | 12 +
src/api/types/VapiPhoneNumber.ts | 3 +
.../VapiPronunciationDictionaryLocator.ts | 9 +-
...iPronunciationDictionaryLocatorProvider.ts | 9 +
src/api/types/VapiSipTransport.ts | 18 +
.../types/VapiSipTransportConversationType.ts | 8 +
src/api/types/VapiSmartEndpointingPlan.ts | 3 +
src/api/types/VapiTranscriber.ts | 39 +
src/api/types/VapiTranscriberLanguage.ts | 196 +
src/api/types/VapiTranscriberLanguagesItem.ts | 191 +
src/api/types/VapiTranscriberTurnTaking.ts | 12 +
src/api/types/VapiTranscriberVersion.ts | 14 +
src/api/types/VapiVoice.ts | 13 +-
src/api/types/VapiVoiceCloneDto.ts | 13 +
src/api/types/VapiVoiceLanguage.ts | 63 +
src/api/types/VapiVoiceVersion.ts | 9 +
src/api/types/VapiVoiceVoiceId.ts | 36 -
src/api/types/VapiVoicemailDetectionPlan.ts | 3 +
src/api/types/VapiWebCallTransport.ts | 20 +
.../VapiWebCallTransportConversationType.ts | 8 +
src/api/types/VapiWebsocketTransport.ts | 10 +
.../VapiWebsocketTransportConversationType.ts | 8 +
src/api/types/VariableExtractionAlias.ts | 3 +
src/api/types/VariableExtractionPlan.ts | 3 +
src/api/types/VariableValueGroupBy.ts | 3 +
.../types/VersionPinConflictResponseDto.ts | 11 +
.../VersionPinConflictResponseDtoError.ts | 7 +
src/api/types/VersionPinReference.ts | 10 +
.../types/VersionPinReferenceSourceType.ts | 10 +
src/api/types/VoiceCost.ts | 3 +
src/api/types/VoiceLibrary.ts | 11 +
src/api/types/VoiceLibraryVoiceResponse.ts | 4 +-
src/api/types/VoiceLibraryVoiceResponseAge.ts | 3 +
.../types/VoicemailDetectionBackoffPlan.ts | 3 +
src/api/types/VoicemailDetectionCost.ts | 3 +
src/api/types/VoicemailTool.ts | 10 +-
src/api/types/VonagePhoneNumber.ts | 3 +
src/api/types/VonageTransport.ts | 12 +
.../types/VonageTransportConversationType.ts | 8 +
src/api/types/WellSaidVoice.ts | 3 +
.../types/WorkflowAnthropicBedrockModel.ts | 16 +
.../WorkflowAnthropicBedrockModelModel.ts | 1 +
src/api/types/WorkflowAnthropicModel.ts | 16 +
src/api/types/WorkflowAnthropicModelModel.ts | 1 +
src/api/types/WorkflowCredentialsItem.ts | 74 +-
src/api/types/WorkflowCustomModel.ts | 16 +
src/api/types/WorkflowGoogleModel.ts | 16 +
src/api/types/WorkflowGoogleModelModel.ts | 2 +
src/api/types/WorkflowNodesItem.ts | 2 +
src/api/types/WorkflowOpenAiModel.ts | 16 +
src/api/types/WorkflowOpenAiModelModel.ts | 37 +
src/api/types/WorkflowOverrides.ts | 3 +
src/api/types/WorkflowTranscriber.ts | 12 +-
.../WorkflowUserEditableCredentialsItem.ts | 74 +-
.../types/WorkflowUserEditableNodesItem.ts | 2 +
.../types/WorkflowUserEditableTranscriber.ts | 12 +-
src/api/types/WorkflowUserEditableVoice.ts | 12 +-
src/api/types/WorkflowVoice.ts | 12 +-
src/api/types/XaiModel.ts | 12 +-
src/api/types/XaiModelModel.ts | 3 +
src/api/types/XaiModelToolsItem.ts | 25 +
src/api/types/XaiTranscriber.ts | 12 +
src/api/types/XaiTranscriberLanguage.ts | 31 +
src/api/types/XaiTranscriberModel.ts | 7 +
src/api/types/XaiVoice.ts | 18 +
src/api/types/XaiVoiceLanguage.ts | 27 +
src/api/types/XaiVoiceVoiceId.ts | 11 +
src/api/types/XssSecurityFilter.ts | 3 +
src/api/types/index.ts | 356 +-
src/version.ts | 2 +-
tests/wire/assistants.test.ts | 297 +-
tests/wire/board.test.ts | 467 +
tests/wire/calls.test.ts | 55138 +++++-----------
tests/wire/campaigns.test.ts | 26128 +++++---
tests/wire/chats.test.ts | 480 +-
tests/wire/eval.test.ts | 100 +
tests/wire/files.test.ts | 4 +-
tests/wire/insight.test.ts | 18 +
tests/wire/knowledgeBasesV2.test.ts | 370 +
tests/wire/observabilityScorecard.test.ts | 92 +-
tests/wire/phoneNumbers.test.ts | 8 +
tests/wire/providerResources.test.ts | 8 +
tests/wire/sessions.test.ts | 38936 ++++++-----
tests/wire/simulationPersonalities.test.ts | 5097 ++
tests/wire/simulationRuns.test.ts | 12303 ++++
tests/wire/simulationScenarios.test.ts | 6096 ++
tests/wire/simulationSuites.test.ts | 236 +
tests/wire/simulations.test.ts | 261 +
tests/wire/squads.test.ts | 342 +-
tests/wire/structuredOutputs.test.ts | 203 +-
tests/wire/tools.test.ts | 48 +-
1417 files changed, 108172 insertions(+), 65433 deletions(-)
create mode 100644 .fern/replay.lock
create mode 100644 .gitattributes
create mode 100644 src/api/errors/ConflictError.ts
create mode 100644 src/api/errors/InternalServerError.ts
create mode 100644 src/api/errors/PaymentRequiredError.ts
create mode 100644 src/api/errors/ServiceUnavailableError.ts
create mode 100644 src/api/errors/UnauthorizedError.ts
create mode 100644 src/api/resources/board/client/Client.ts
create mode 100644 src/api/resources/board/client/index.ts
create mode 100644 src/api/resources/board/client/requests/BoardControllerFindAllRequest.ts
create mode 100644 src/api/resources/board/client/requests/BoardControllerFindOneRequest.ts
create mode 100644 src/api/resources/board/client/requests/BoardControllerRemoveRequest.ts
create mode 100644 src/api/resources/board/client/requests/CreateBoardDto.ts
create mode 100644 src/api/resources/board/client/requests/UpdateBoardDto.ts
create mode 100644 src/api/resources/board/client/requests/index.ts
create mode 100644 src/api/resources/board/exports.ts
create mode 100644 src/api/resources/board/index.ts
create mode 100644 src/api/resources/board/types/BoardControllerFindAllRequestSortBy.ts
create mode 100644 src/api/resources/board/types/BoardControllerFindAllRequestSortOrder.ts
create mode 100644 src/api/resources/board/types/CreateBoardDtoItemsItem.ts
create mode 100644 src/api/resources/board/types/UpdateBoardDtoItemsItem.ts
create mode 100644 src/api/resources/board/types/index.ts
create mode 100644 src/api/resources/calls/client/requests/CallArtifactControllerAssistantRecordingDownloadRequest.ts
create mode 100644 src/api/resources/calls/client/requests/CallArtifactControllerCallLogsDownloadRequest.ts
create mode 100644 src/api/resources/calls/client/requests/CallArtifactControllerCustomerRecordingDownloadRequest.ts
create mode 100644 src/api/resources/calls/client/requests/CallArtifactControllerMonoRecordingDownloadRequest.ts
create mode 100644 src/api/resources/calls/client/requests/CallArtifactControllerPcapDownloadRequest.ts
create mode 100644 src/api/resources/calls/client/requests/CallArtifactControllerStereoRecordingDownloadRequest.ts
create mode 100644 src/api/resources/calls/client/requests/CallArtifactControllerVideoRecordingDownloadRequest.ts
create mode 100644 src/api/resources/calls/types/CreateCallDtoTransport.ts
create mode 100644 src/api/resources/campaigns/client/requests/CampaignControllerFindAllV2Request.ts
create mode 100644 src/api/resources/campaigns/client/requests/CampaignControllerFindOneV2Request.ts
create mode 100644 src/api/resources/campaigns/client/requests/CampaignControllerGetCampaignV2ContactsRequest.ts
create mode 100644 src/api/resources/campaigns/client/requests/CampaignControllerRemoveV2Request.ts
create mode 100644 src/api/resources/campaigns/client/requests/CampaignControllerUpdateRequest.ts
create mode 100644 src/api/resources/campaigns/client/requests/CampaignControllerUpdateV2Request.ts
delete mode 100644 src/api/resources/campaigns/client/requests/CreateCampaignDto.ts
create mode 100644 src/api/resources/campaigns/types/CampaignControllerFindAllRequestSortBy.ts
create mode 100644 src/api/resources/campaigns/types/CampaignControllerFindAllV2RequestSortBy.ts
create mode 100644 src/api/resources/campaigns/types/CampaignControllerFindAllV2RequestSortOrder.ts
create mode 100644 src/api/resources/campaigns/types/CampaignControllerFindAllV2RequestStatus.ts
create mode 100644 src/api/resources/campaigns/types/CampaignControllerGetCampaignV2ContactsRequestSortBy.ts
create mode 100644 src/api/resources/campaigns/types/CampaignControllerGetCampaignV2ContactsRequestStatusItem.ts
create mode 100644 src/api/resources/chats/types/ListChatsRequestSortBy.ts
create mode 100644 src/api/resources/eval/types/EvalControllerGetPaginatedRequestSortBy.ts
create mode 100644 src/api/resources/eval/types/EvalControllerGetRunsPaginatedRequestSortBy.ts
create mode 100644 src/api/resources/files/client/requests/ListFilesRequest.ts
create mode 100644 src/api/resources/files/types/CreateFilesRequestPurpose.ts
create mode 100644 src/api/resources/files/types/index.ts
create mode 100644 src/api/resources/insight/types/InsightControllerFindAllRequestSortBy.ts
create mode 100644 src/api/resources/knowledgeBasesV2/client/Client.ts
create mode 100644 src/api/resources/knowledgeBasesV2/client/index.ts
create mode 100644 src/api/resources/knowledgeBasesV2/client/requests/AttachKnowledgeBaseV2FileDto.ts
create mode 100644 src/api/resources/knowledgeBasesV2/client/requests/CreateKnowledgeBaseV2Dto.ts
create mode 100644 src/api/resources/knowledgeBasesV2/client/requests/KnowledgeBaseV2ControllerFileDetachRequest.ts
create mode 100644 src/api/resources/knowledgeBasesV2/client/requests/KnowledgeBaseV2ControllerFileRetryRequest.ts
create mode 100644 src/api/resources/knowledgeBasesV2/client/requests/KnowledgeBaseV2ControllerFilesGetRequest.ts
create mode 100644 src/api/resources/knowledgeBasesV2/client/requests/KnowledgeBaseV2ControllerFindAllRequest.ts
create mode 100644 src/api/resources/knowledgeBasesV2/client/requests/KnowledgeBaseV2ControllerFindOneRequest.ts
create mode 100644 src/api/resources/knowledgeBasesV2/client/requests/KnowledgeBaseV2ControllerRemoveRequest.ts
create mode 100644 src/api/resources/knowledgeBasesV2/client/requests/UpdateKnowledgeBaseV2Dto.ts
create mode 100644 src/api/resources/knowledgeBasesV2/client/requests/index.ts
create mode 100644 src/api/resources/knowledgeBasesV2/exports.ts
create mode 100644 src/api/resources/knowledgeBasesV2/index.ts
create mode 100644 src/api/resources/observabilityScorecard/types/ScorecardControllerGetPaginatedRequestSortBy.ts
create mode 100644 src/api/resources/phoneNumbers/types/PhoneNumberControllerFindAllPaginatedRequestSortBy.ts
create mode 100644 src/api/resources/providerResources/types/ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy.ts
create mode 100644 src/api/resources/sessions/types/ListSessionsRequestSortBy.ts
create mode 100644 src/api/resources/simulationPersonalities/client/Client.ts
create mode 100644 src/api/resources/simulationPersonalities/client/index.ts
create mode 100644 src/api/resources/simulationPersonalities/client/requests/PersonalityControllerFindAllRequest.ts
create mode 100644 src/api/resources/simulationPersonalities/client/requests/PersonalityControllerFindOneRequest.ts
create mode 100644 src/api/resources/simulationPersonalities/client/requests/PersonalityControllerRemoveRequest.ts
rename src/api/{types => resources/simulationPersonalities/client/requests}/UpdatePersonalityDto.ts (60%)
create mode 100644 src/api/resources/simulationPersonalities/client/requests/index.ts
create mode 100644 src/api/resources/simulationPersonalities/exports.ts
create mode 100644 src/api/resources/simulationPersonalities/index.ts
create mode 100644 src/api/resources/simulationPersonalities/types/PersonalityControllerFindAllRequestSortBy.ts
create mode 100644 src/api/resources/simulationPersonalities/types/PersonalityControllerFindAllRequestSortOrder.ts
create mode 100644 src/api/resources/simulationPersonalities/types/index.ts
create mode 100644 src/api/resources/simulationRuns/client/Client.ts
create mode 100644 src/api/resources/simulationRuns/client/index.ts
rename src/api/{types => resources/simulationRuns/client/requests}/CreateSimulationRunDto.ts (57%)
create mode 100644 src/api/resources/simulationRuns/client/requests/SimulationRunControllerCancelGroupRequest.ts
create mode 100644 src/api/resources/simulationRuns/client/requests/SimulationRunControllerCancelItemRequest.ts
create mode 100644 src/api/resources/simulationRuns/client/requests/SimulationRunControllerFindAllRequest.ts
create mode 100644 src/api/resources/simulationRuns/client/requests/SimulationRunControllerFindItemRequest.ts
create mode 100644 src/api/resources/simulationRuns/client/requests/SimulationRunControllerFindItemsRequest.ts
create mode 100644 src/api/resources/simulationRuns/client/requests/SimulationRunControllerFindOneRequest.ts
create mode 100644 src/api/resources/simulationRuns/client/requests/SimulationRunControllerGenerateSuggestionsRequest.ts
create mode 100644 src/api/resources/simulationRuns/client/requests/index.ts
create mode 100644 src/api/resources/simulationRuns/exports.ts
create mode 100644 src/api/resources/simulationRuns/index.ts
rename src/api/{ => resources/simulationRuns}/types/CreateSimulationRunDtoSimulationsItem.ts (58%)
rename src/api/{ => resources/simulationRuns}/types/CreateSimulationRunDtoTarget.ts (70%)
create mode 100644 src/api/resources/simulationRuns/types/SimulationRunControllerFindAllRequestFilterStatus.ts
create mode 100644 src/api/resources/simulationRuns/types/SimulationRunControllerFindAllRequestSortBy.ts
create mode 100644 src/api/resources/simulationRuns/types/SimulationRunControllerFindAllRequestSortOrder.ts
create mode 100644 src/api/resources/simulationRuns/types/SimulationRunControllerFindAllRequestStatus.ts
create mode 100644 src/api/resources/simulationRuns/types/SimulationRunControllerFindAllRequestTargetType.ts
create mode 100644 src/api/resources/simulationRuns/types/SimulationRunControllerFindAllResponse.ts
create mode 100644 src/api/resources/simulationRuns/types/SimulationRunControllerFindItemsRequestSortBy.ts
create mode 100644 src/api/resources/simulationRuns/types/SimulationRunControllerFindItemsRequestSortOrder.ts
create mode 100644 src/api/resources/simulationRuns/types/SimulationRunControllerFindItemsRequestStatus.ts
create mode 100644 src/api/resources/simulationRuns/types/index.ts
create mode 100644 src/api/resources/simulationScenarios/client/Client.ts
create mode 100644 src/api/resources/simulationScenarios/client/index.ts
create mode 100644 src/api/resources/simulationScenarios/client/requests/ScenarioControllerFindAllRequest.ts
create mode 100644 src/api/resources/simulationScenarios/client/requests/ScenarioControllerFindOneRequest.ts
create mode 100644 src/api/resources/simulationScenarios/client/requests/ScenarioControllerRemoveRequest.ts
rename src/api/{types => resources/simulationScenarios/client/requests}/UpdateScenarioDto.ts (63%)
create mode 100644 src/api/resources/simulationScenarios/client/requests/index.ts
create mode 100644 src/api/resources/simulationScenarios/exports.ts
create mode 100644 src/api/resources/simulationScenarios/index.ts
create mode 100644 src/api/resources/simulationScenarios/types/ScenarioControllerFindAllRequestSortBy.ts
create mode 100644 src/api/resources/simulationScenarios/types/ScenarioControllerFindAllRequestSortOrder.ts
rename src/api/{ => resources/simulationScenarios}/types/UpdateScenarioDtoHooksItem.ts (91%)
create mode 100644 src/api/resources/simulationScenarios/types/index.ts
create mode 100644 src/api/resources/simulationSuites/client/Client.ts
create mode 100644 src/api/resources/simulationSuites/client/index.ts
create mode 100644 src/api/resources/simulationSuites/client/requests/CreateSimulationSuiteDto.ts
create mode 100644 src/api/resources/simulationSuites/client/requests/SimulationSuiteControllerFindAllRequest.ts
create mode 100644 src/api/resources/simulationSuites/client/requests/SimulationSuiteControllerFindOneRequest.ts
create mode 100644 src/api/resources/simulationSuites/client/requests/SimulationSuiteControllerRemoveRequest.ts
rename src/api/{types => resources/simulationSuites/client/requests}/UpdateSimulationSuiteDto.ts (54%)
create mode 100644 src/api/resources/simulationSuites/client/requests/index.ts
create mode 100644 src/api/resources/simulationSuites/exports.ts
create mode 100644 src/api/resources/simulationSuites/index.ts
create mode 100644 src/api/resources/simulationSuites/types/SimulationSuiteControllerFindAllRequestSortBy.ts
create mode 100644 src/api/resources/simulationSuites/types/SimulationSuiteControllerFindAllRequestSortOrder.ts
create mode 100644 src/api/resources/simulationSuites/types/index.ts
create mode 100644 src/api/resources/simulations/client/Client.ts
create mode 100644 src/api/resources/simulations/client/index.ts
rename src/api/{types => resources/simulations/client/requests}/CreateSimulationDto.ts (52%)
rename src/api/{types => resources/simulations/client/requests}/GenerateScenariosDto.ts (73%)
create mode 100644 src/api/resources/simulations/client/requests/SimulationControllerFindAllRequest.ts
create mode 100644 src/api/resources/simulations/client/requests/SimulationControllerFindOneRequest.ts
create mode 100644 src/api/resources/simulations/client/requests/SimulationControllerRemoveRequest.ts
rename src/api/{types => resources/simulations/client/requests}/UpdateSimulationDto.ts (68%)
create mode 100644 src/api/resources/simulations/client/requests/index.ts
create mode 100644 src/api/resources/simulations/exports.ts
create mode 100644 src/api/resources/simulations/index.ts
create mode 100644 src/api/resources/simulations/types/SimulationControllerFindAllRequestSortBy.ts
create mode 100644 src/api/resources/simulations/types/SimulationControllerFindAllRequestSortOrder.ts
create mode 100644 src/api/resources/simulations/types/index.ts
create mode 100644 src/api/resources/structuredOutputs/types/StructuredOutputControllerFindAllRequestSortBy.ts
create mode 100644 src/api/resources/structuredOutputs/types/StructuredOutputControllerRunResponse.ts
create mode 100644 src/api/resources/structuredOutputs/types/StructuredOutputControllerRunResponseZero.ts
create mode 100644 src/api/resources/structuredOutputs/types/UpdateStructuredOutputDtoConditionsItem.ts
create mode 100644 src/api/types/AssemblyAiTranscriberLanguageCodesItem.ts
create mode 100644 src/api/types/AssemblyAiTranscriberMode.ts
create mode 100644 src/api/types/AssistantDraft.ts
create mode 100644 src/api/types/AssistantDraftBackgroundSound.ts
create mode 100644 src/api/types/AssistantDraftBackgroundSoundZero.ts
create mode 100644 src/api/types/AssistantDraftClientMessagesItem.ts
create mode 100644 src/api/types/AssistantDraftConflictResponseDto.ts
create mode 100644 src/api/types/AssistantDraftCredentialsItem.ts
create mode 100644 src/api/types/AssistantDraftFirstMessageMode.ts
create mode 100644 src/api/types/AssistantDraftHooksItem.ts
create mode 100644 src/api/types/AssistantDraftModel.ts
create mode 100644 src/api/types/AssistantDraftPaginatedMetadata.ts
create mode 100644 src/api/types/AssistantDraftPaginatedResponse.ts
create mode 100644 src/api/types/AssistantDraftServerMessagesItem.ts
create mode 100644 src/api/types/AssistantDraftTranscriber.ts
create mode 100644 src/api/types/AssistantDraftVoice.ts
create mode 100644 src/api/types/AssistantDraftVoicemailDetection.ts
create mode 100644 src/api/types/AssistantDraftVoicemailDetectionZero.ts
create mode 100644 src/api/types/AssistantPinnedConflictResponseDto.ts
create mode 100644 src/api/types/AssistantPinnedConflictResponseDtoError.ts
create mode 100644 src/api/types/AssistantVersion.ts
create mode 100644 src/api/types/AssistantVersionBackgroundSound.ts
create mode 100644 src/api/types/AssistantVersionBackgroundSoundZero.ts
create mode 100644 src/api/types/AssistantVersionClientMessagesItem.ts
create mode 100644 src/api/types/AssistantVersionCredentialsItem.ts
create mode 100644 src/api/types/AssistantVersionFirstMessageMode.ts
create mode 100644 src/api/types/AssistantVersionHooksItem.ts
create mode 100644 src/api/types/AssistantVersionModel.ts
create mode 100644 src/api/types/AssistantVersionPaginatedMetadata.ts
create mode 100644 src/api/types/AssistantVersionServerMessagesItem.ts
create mode 100644 src/api/types/AssistantVersionTranscriber.ts
create mode 100644 src/api/types/AssistantVersionVoice.ts
create mode 100644 src/api/types/AssistantVersionVoicemailDetection.ts
create mode 100644 src/api/types/AssistantVersionVoicemailDetectionZero.ts
create mode 100644 src/api/types/AudioFormat.ts
create mode 100644 src/api/types/AudioFormatContainer.ts
create mode 100644 src/api/types/Board.ts
create mode 100644 src/api/types/BoardInsightItem.ts
create mode 100644 src/api/types/BoardInsightItemType.ts
create mode 100644 src/api/types/BoardItemPosition.ts
create mode 100644 src/api/types/BoardItemSize.ts
create mode 100644 src/api/types/BoardItemsItem.ts
create mode 100644 src/api/types/BoardLayout.ts
create mode 100644 src/api/types/BoardMetricWidgetItem.ts
create mode 100644 src/api/types/BoardMetricWidgetItemType.ts
create mode 100644 src/api/types/BoardPaginatedResponse.ts
create mode 100644 src/api/types/BooleanComparatorScorecardMetricCondition.ts
create mode 100644 src/api/types/BooleanComparatorScorecardMetricConditionComparator.ts
create mode 100644 src/api/types/BooleanComparatorScorecardMetricConditionType.ts
create mode 100644 src/api/types/CallArtifactUploadItem.ts
create mode 100644 src/api/types/CallArtifactUploadItemType.ts
create mode 100644 src/api/types/CallTransport.ts
create mode 100644 src/api/types/CampaignCallMetrics.ts
create mode 100644 src/api/types/CampaignContact.ts
create mode 100644 src/api/types/CampaignContactCounters.ts
create mode 100644 src/api/types/CampaignContactPaginatedResponse.ts
create mode 100644 src/api/types/CampaignContactWithOutcome.ts
create mode 100644 src/api/types/CampaignContactWithOutcomeStatus.ts
create mode 100644 src/api/types/CampaignPredialPlan.ts
create mode 100644 src/api/types/CampaignServerMessagesItem.ts
create mode 100644 src/api/types/CampaignSummary.ts
create mode 100644 src/api/types/CampaignSummaryEndedReason.ts
create mode 100644 src/api/types/CampaignSummaryPaginatedResponse.ts
create mode 100644 src/api/types/CampaignSummaryServerMessagesItem.ts
create mode 100644 src/api/types/CampaignSummaryStatus.ts
create mode 100644 src/api/types/ContextEngineeringPlanPreviousAssistantMessages.ts
create mode 100644 src/api/types/CreateAssistantDraftDto.ts
create mode 100644 src/api/types/CreateAssistantDraftDtoBackgroundSound.ts
create mode 100644 src/api/types/CreateAssistantDraftDtoBackgroundSoundZero.ts
create mode 100644 src/api/types/CreateAssistantDraftDtoClientMessagesItem.ts
create mode 100644 src/api/types/CreateAssistantDraftDtoCredentialsItem.ts
create mode 100644 src/api/types/CreateAssistantDraftDtoFirstMessageMode.ts
create mode 100644 src/api/types/CreateAssistantDraftDtoHooksItem.ts
create mode 100644 src/api/types/CreateAssistantDraftDtoModel.ts
create mode 100644 src/api/types/CreateAssistantDraftDtoServerMessagesItem.ts
create mode 100644 src/api/types/CreateAssistantDraftDtoTranscriber.ts
create mode 100644 src/api/types/CreateAssistantDraftDtoVoice.ts
create mode 100644 src/api/types/CreateAssistantDraftDtoVoicemailDetection.ts
create mode 100644 src/api/types/CreateAssistantDraftDtoVoicemailDetectionZero.ts
create mode 100644 src/api/types/CreateCampaignDto.ts
create mode 100644 src/api/types/CreateCampaignDtoServerMessagesItem.ts
create mode 100644 src/api/types/CreateElevenLabsCredentialDtoApiUrl.ts
create mode 100644 src/api/types/CreateMicrosoftCredentialDto.ts
create mode 100644 src/api/types/CreateOutboundCallDtoTransport.ts
create mode 100644 src/api/types/CreateS3CompatibleCredentialDto.ts
create mode 100644 src/api/types/CreateSimulationRunResponse.ts
create mode 100644 src/api/types/CreateSimulationRunResponseSimulationsItem.ts
create mode 100644 src/api/types/CreateSimulationRunResponseStatus.ts
create mode 100644 src/api/types/CreateSimulationRunResponseTarget.ts
delete mode 100644 src/api/types/CreateSimulationSuiteDto.ts
create mode 100644 src/api/types/CreateStructuredOutputDtoConditionsItem.ts
create mode 100644 src/api/types/CreateToolDraftDto.ts
create mode 100644 src/api/types/CreateToolDraftDtoMessagesItem.ts
create mode 100644 src/api/types/CreateToolDraftDtoMethod.ts
create mode 100644 src/api/types/CreateToolDraftDtoType.ts
create mode 100644 src/api/types/CreateToolDraftDtoVerb.ts
delete mode 100644 src/api/types/CreateTrieveKnowledgeBaseDtoProvider.ts
create mode 100644 src/api/types/CustomerSpeechTimeoutOptionsTriggerResetMode.ts
create mode 100644 src/api/types/DeepgramTranscriberRedactionItem.ts
create mode 100644 src/api/types/ElevenLabsCredentialApiUrl.ts
create mode 100644 src/api/types/EndedReasonCondition.ts
create mode 100644 src/api/types/EndedReasonConditionOperator.ts
create mode 100644 src/api/types/ExportChatDtoSortBy.ts
create mode 100644 src/api/types/ExportSessionDtoSortBy.ts
create mode 100644 src/api/types/FallbackAssemblyAiTranscriberLanguageCodesItem.ts
create mode 100644 src/api/types/FallbackAssemblyAiTranscriberMode.ts
create mode 100644 src/api/types/FallbackDeepgramTranscriberRedactionItem.ts
rename src/api/types/{GladiaTranscriberLanguages.ts => FallbackGladiaTranscriberLanguagesItem.ts} (84%)
create mode 100644 src/api/types/FallbackMicrosoftVoice.ts
create mode 100644 src/api/types/FallbackMicrosoftVoiceRole.ts
create mode 100644 src/api/types/FallbackMicrosoftVoiceStyle.ts
create mode 100644 src/api/types/FallbackMicrosoftVoiceVoiceId.ts
create mode 100644 src/api/types/FallbackSonioxTranscriberLanguagesItem.ts
create mode 100644 src/api/types/FallbackVapiVoiceLanguage.ts
create mode 100644 src/api/types/FallbackVapiVoiceVersion.ts
delete mode 100644 src/api/types/FallbackVapiVoiceVoiceId.ts
create mode 100644 src/api/types/FallbackXaiTranscriber.ts
create mode 100644 src/api/types/FallbackXaiTranscriberLanguage.ts
create mode 100644 src/api/types/FallbackXaiTranscriberModel.ts
create mode 100644 src/api/types/FallbackXaiVoice.ts
create mode 100644 src/api/types/FallbackXaiVoiceLanguage.ts
create mode 100644 src/api/types/FallbackXaiVoiceVoiceId.ts
create mode 100644 src/api/types/GetChatPaginatedDtoSortBy.ts
create mode 100644 src/api/types/GetEvalPaginatedDtoSortBy.ts
create mode 100644 src/api/types/GetEvalRunPaginatedDtoSortBy.ts
create mode 100644 src/api/types/GetSessionPaginatedDtoSortBy.ts
create mode 100644 src/api/types/GetToolDraftsDto.ts
rename src/api/types/{FallbackGladiaTranscriberLanguages.ts => GladiaTranscriberLanguagesItem.ts} (82%)
create mode 100644 src/api/types/InviteUserDtoRoleZero.ts
create mode 100644 src/api/types/KnowledgeBaseTool.ts
create mode 100644 src/api/types/KnowledgeBaseToolFunction.ts
create mode 100644 src/api/types/KnowledgeBaseToolMessagesItem.ts
create mode 100644 src/api/types/KnowledgeBaseV2.ts
create mode 100644 src/api/types/KnowledgeBaseV2File.ts
create mode 100644 src/api/types/KnowledgeBaseV2FileStatus.ts
create mode 100644 src/api/types/KnowledgeBaseV2WithFiles.ts
create mode 100644 src/api/types/LegacyAssistantVersion.ts
create mode 100644 src/api/types/LegacyAssistantVersionPaginatedResponse.ts
rename src/api/types/{TrieveCredential.ts => MicrosoftCredential.ts} (73%)
create mode 100644 src/api/types/MicrosoftCredentialProvider.ts
create mode 100644 src/api/types/MicrosoftVoice.ts
create mode 100644 src/api/types/MicrosoftVoiceRole.ts
create mode 100644 src/api/types/MicrosoftVoiceStyle.ts
create mode 100644 src/api/types/MicrosoftVoiceVoiceId.ts
create mode 100644 src/api/types/MinCallDurationCondition.ts
create mode 100644 src/api/types/MinMessagesCondition.ts
create mode 100644 src/api/types/NumberComparatorScorecardMetricCondition.ts
create mode 100644 src/api/types/NumberComparatorScorecardMetricConditionComparator.ts
create mode 100644 src/api/types/NumberComparatorScorecardMetricConditionType.ts
create mode 100644 src/api/types/OpenAiModelReasoningEffort.ts
create mode 100644 src/api/types/PaginationMetaSortOrder.ts
create mode 100644 src/api/types/PendingInvitationDto.ts
create mode 100644 src/api/types/PendingInvitationsResponseDto.ts
create mode 100644 src/api/types/RecordingConsentPlanStayOnLineFirstMessageMode.ts
create mode 100644 src/api/types/RecordingConsentPlanVerbalFirstMessageMode.ts
create mode 100644 src/api/types/RecordingConsentType.ts
create mode 100644 src/api/types/RevokeInvitationResponseDto.ts
create mode 100644 src/api/types/S3CompatibleBucketPlan.ts
create mode 100644 src/api/types/S3CompatibleStorageCredential.ts
create mode 100644 src/api/types/S3CompatibleStorageCredentialProvider.ts
create mode 100644 src/api/types/SayHookActionExact.ts
create mode 100644 src/api/types/ScorecardMetricConditionsItem.ts
create mode 100644 src/api/types/ServerMessageCallArtifactUpload.ts
create mode 100644 src/api/types/ServerMessageCallArtifactUploadPhoneNumber.ts
create mode 100644 src/api/types/ServerMessageCallArtifactUploadType.ts
create mode 100644 src/api/types/ServerMessageCampaignPredial.ts
create mode 100644 src/api/types/ServerMessageCampaignPredialPhoneNumber.ts
create mode 100644 src/api/types/ServerMessageCampaignPredialType.ts
create mode 100644 src/api/types/ServerMessageResponseCampaignPredial.ts
create mode 100644 src/api/types/SimulationRunListItem.ts
create mode 100644 src/api/types/SimulationRunListItemSimulationsItem.ts
create mode 100644 src/api/types/SimulationRunListItemStatus.ts
create mode 100644 src/api/types/SimulationRunListItemTarget.ts
create mode 100644 src/api/types/SimulationRunListSource.ts
create mode 100644 src/api/types/SimulationRunListSourceType.ts
create mode 100644 src/api/types/SimulationRunListSummary.ts
create mode 100644 src/api/types/SimulationRunPaymentRequiredResponse.ts
create mode 100644 src/api/types/SimulationRunPaymentRequiredResponseReason.ts
create mode 100644 src/api/types/SimulationRunsPaginatedResponse.ts
create mode 100644 src/api/types/SimulationSuiteTargetAssignment.ts
create mode 100644 src/api/types/SimulationSuiteTargetAssignmentTargetType.ts
create mode 100644 src/api/types/SkippedStructuredOutput.ts
create mode 100644 src/api/types/SkippedStructuredOutputUnmetCondition.ts
create mode 100644 src/api/types/SonioxContextGeneralItem.ts
create mode 100644 src/api/types/SonioxTranscriberLanguagesItem.ts
create mode 100644 src/api/types/StructuredOutputConditionsItem.ts
create mode 100644 src/api/types/StructuredOutputCostBreakdown.ts
create mode 100644 src/api/types/StructuredOutputRerunResponse.ts
create mode 100644 src/api/types/StructuredOutputRunPreviewResponse.ts
create mode 100644 src/api/types/StructuredOutputRunResult.ts
create mode 100644 src/api/types/StructuredOutputRunResultResult.ts
create mode 100644 src/api/types/TelnyxTransport.ts
create mode 100644 src/api/types/TelnyxTransportConversationType.ts
create mode 100644 src/api/types/ToolCallResultMessageWarning.ts
create mode 100644 src/api/types/ToolCallResultMessageWarningType.ts
create mode 100644 src/api/types/ToolDraft.ts
create mode 100644 src/api/types/ToolDraftConflictResponseDto.ts
create mode 100644 src/api/types/ToolDraftMessagesItem.ts
create mode 100644 src/api/types/ToolDraftMethod.ts
create mode 100644 src/api/types/ToolDraftPaginatedMetadata.ts
create mode 100644 src/api/types/ToolDraftPaginatedResponse.ts
create mode 100644 src/api/types/ToolDraftType.ts
create mode 100644 src/api/types/ToolDraftVerb.ts
create mode 100644 src/api/types/ToolMessageFailedRole.ts
create mode 100644 src/api/types/ToolPinnedConflictResponseDto.ts
create mode 100644 src/api/types/ToolPinnedConflictResponseDtoError.ts
create mode 100644 src/api/types/ToolRef.ts
create mode 100644 src/api/types/ToolVersion.ts
create mode 100644 src/api/types/ToolVersionPaginatedMetadata.ts
create mode 100644 src/api/types/ToolVersionPaginatedResponse.ts
create mode 100644 src/api/types/TransferArtifact.ts
create mode 100644 src/api/types/TransferArtifactDestination.ts
create mode 100644 src/api/types/TransferArtifactMessagesItem.ts
create mode 100644 src/api/types/TransferArtifactMode.ts
create mode 100644 src/api/types/TransferArtifactStatus.ts
delete mode 100644 src/api/types/TrieveCredentialProvider.ts
delete mode 100644 src/api/types/TrieveKnowledgeBaseChunkPlan.ts
delete mode 100644 src/api/types/TrieveKnowledgeBaseCreate.ts
delete mode 100644 src/api/types/TrieveKnowledgeBaseCreateType.ts
delete mode 100644 src/api/types/TrieveKnowledgeBaseImportType.ts
delete mode 100644 src/api/types/TrieveKnowledgeBaseProvider.ts
delete mode 100644 src/api/types/TrieveKnowledgeBaseSearchPlan.ts
delete mode 100644 src/api/types/TrieveKnowledgeBaseSearchPlanSearchType.ts
create mode 100644 src/api/types/TwilioTransport.ts
create mode 100644 src/api/types/TwilioTransportConversationType.ts
create mode 100644 src/api/types/UpdateAnthropicBedrockCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateAnthropicCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateAnyscaleCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateAssemblyAiCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateAssistantDraftDto.ts
create mode 100644 src/api/types/UpdateAssistantDraftDtoBackgroundSound.ts
create mode 100644 src/api/types/UpdateAssistantDraftDtoBackgroundSoundZero.ts
create mode 100644 src/api/types/UpdateAssistantDraftDtoClientMessagesItem.ts
create mode 100644 src/api/types/UpdateAssistantDraftDtoCredentialsItem.ts
create mode 100644 src/api/types/UpdateAssistantDraftDtoFirstMessageMode.ts
create mode 100644 src/api/types/UpdateAssistantDraftDtoHooksItem.ts
create mode 100644 src/api/types/UpdateAssistantDraftDtoModel.ts
create mode 100644 src/api/types/UpdateAssistantDraftDtoServerMessagesItem.ts
create mode 100644 src/api/types/UpdateAssistantDraftDtoTranscriber.ts
create mode 100644 src/api/types/UpdateAssistantDraftDtoVoice.ts
create mode 100644 src/api/types/UpdateAssistantDraftDtoVoicemailDetection.ts
create mode 100644 src/api/types/UpdateAssistantDraftDtoVoicemailDetectionZero.ts
create mode 100644 src/api/types/UpdateAssistantVersionMetadataDto.ts
create mode 100644 src/api/types/UpdateAzureCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateAzureOpenAiCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateByoSipTrunkCredentialDtoProvider.ts
rename src/api/{resources/campaigns/client/requests => types}/UpdateCampaignDto.ts (65%)
rename src/api/{resources/campaigns => }/types/UpdateCampaignDtoStatus.ts (54%)
create mode 100644 src/api/types/UpdateCartesiaCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateCerebrasCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateCloudflareCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateCodeToolDtoType.ts
create mode 100644 src/api/types/UpdateCustomCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateCustomKnowledgeBaseDtoProvider.ts
create mode 100644 src/api/types/UpdateCustomLlmCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateDeepInfraCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateDeepSeekCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateDeepgramCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateElevenLabsCredentialDtoApiUrl.ts
create mode 100644 src/api/types/UpdateEmailCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateGcpCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateGhlToolDtoType.ts
create mode 100644 src/api/types/UpdateGladiaCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateGoHighLevelCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateGoHighLevelMcpCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateGoogleCalendarOAuth2AuthorizationCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateGoogleCalendarOAuth2ClientCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateGoogleCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateGoogleSheetsOAuth2AuthorizationCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateGroqCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateHumeCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateInflectionAiCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateInworldCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateKnowledgeBaseToolDto.ts
create mode 100644 src/api/types/UpdateKnowledgeBaseToolDtoMessagesItem.ts
create mode 100644 src/api/types/UpdateLangfuseCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateLmntCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateMakeCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateMakeToolDtoType.ts
create mode 100644 src/api/types/UpdateMicrosoftCredentialDto.ts
create mode 100644 src/api/types/UpdateMicrosoftCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateMistralCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateNeuphonicCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateOpenAiCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateOpenRouterCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateOutputToolDtoType.ts
create mode 100644 src/api/types/UpdatePerplexityAiCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdatePlayHtCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateRimeAiCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateRunpodCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateS3CompatibleBucketPlanDto.ts
create mode 100644 src/api/types/UpdateS3CompatibleCredentialDto.ts
create mode 100644 src/api/types/UpdateS3CompatibleCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateS3CredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateSlackOAuth2AuthorizationCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateSlackWebhookCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateSonioxCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateTogetherAiCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateToolDraftDto.ts
create mode 100644 src/api/types/UpdateToolDraftDtoMessagesItem.ts
create mode 100644 src/api/types/UpdateToolDraftDtoMethod.ts
create mode 100644 src/api/types/UpdateToolDraftDtoType.ts
create mode 100644 src/api/types/UpdateToolDraftDtoVerb.ts
create mode 100644 src/api/types/UpdateToolVersionMetadataDto.ts
delete mode 100644 src/api/types/UpdateTrieveCredentialDto.ts
create mode 100644 src/api/types/UpdateTwilioCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateUserRoleDtoRoleZero.ts
create mode 100644 src/api/types/UpdateVoiceLibraryMetadataDto.ts
create mode 100644 src/api/types/UpdateVonageCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateWebhookCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateWellSaidCredentialDtoProvider.ts
create mode 100644 src/api/types/UpdateXAiCredentialDtoProvider.ts
delete mode 100644 src/api/types/VapiModelProvider.ts
create mode 100644 src/api/types/VapiModelVersion.ts
create mode 100644 src/api/types/VapiPronunciationDictionaryLocatorProvider.ts
create mode 100644 src/api/types/VapiSipTransport.ts
create mode 100644 src/api/types/VapiSipTransportConversationType.ts
create mode 100644 src/api/types/VapiTranscriber.ts
create mode 100644 src/api/types/VapiTranscriberLanguage.ts
create mode 100644 src/api/types/VapiTranscriberLanguagesItem.ts
create mode 100644 src/api/types/VapiTranscriberTurnTaking.ts
create mode 100644 src/api/types/VapiTranscriberVersion.ts
create mode 100644 src/api/types/VapiVoiceCloneDto.ts
create mode 100644 src/api/types/VapiVoiceLanguage.ts
create mode 100644 src/api/types/VapiVoiceVersion.ts
delete mode 100644 src/api/types/VapiVoiceVoiceId.ts
create mode 100644 src/api/types/VapiWebCallTransport.ts
create mode 100644 src/api/types/VapiWebCallTransportConversationType.ts
create mode 100644 src/api/types/VapiWebsocketTransport.ts
create mode 100644 src/api/types/VapiWebsocketTransportConversationType.ts
create mode 100644 src/api/types/VersionPinConflictResponseDto.ts
create mode 100644 src/api/types/VersionPinConflictResponseDtoError.ts
create mode 100644 src/api/types/VersionPinReference.ts
create mode 100644 src/api/types/VersionPinReferenceSourceType.ts
create mode 100644 src/api/types/VoiceLibraryVoiceResponseAge.ts
create mode 100644 src/api/types/VonageTransport.ts
create mode 100644 src/api/types/VonageTransportConversationType.ts
create mode 100644 src/api/types/XaiTranscriber.ts
create mode 100644 src/api/types/XaiTranscriberLanguage.ts
create mode 100644 src/api/types/XaiTranscriberModel.ts
create mode 100644 src/api/types/XaiVoice.ts
create mode 100644 src/api/types/XaiVoiceLanguage.ts
create mode 100644 src/api/types/XaiVoiceVoiceId.ts
create mode 100644 tests/wire/board.test.ts
create mode 100644 tests/wire/knowledgeBasesV2.test.ts
create mode 100644 tests/wire/simulationPersonalities.test.ts
create mode 100644 tests/wire/simulationRuns.test.ts
create mode 100644 tests/wire/simulationScenarios.test.ts
create mode 100644 tests/wire/simulationSuites.test.ts
create mode 100644 tests/wire/simulations.test.ts
diff --git a/.fern/metadata.json b/.fern/metadata.json
index fbb2dfd3..8681b9f9 100644
--- a/.fern/metadata.json
+++ b/.fern/metadata.json
@@ -1,5 +1,5 @@
{
- "cliVersion": "5.51.2",
+ "cliVersion": "5.98.3",
"generatorName": "fernapi/fern-typescript-sdk",
"generatorVersion": "3.63.0",
"generatorConfig": {
@@ -11,10 +11,10 @@
"omitUndefined": true,
"enableInlineTypes": false
},
- "originGitCommit": "5a015aa01196915bea6110904c69d5804f457ff5",
+ "originGitCommit": "0494c2f3cd88c4fd04b8e98e9a247919270741ed",
"originGitCommitIsDirty": true,
"invokedBy": "ci",
"requestedVersion": "AUTO",
"ciProvider": "unknown",
- "sdkVersion": "2.0.0"
+ "sdkVersion": "0.0.0-fern-placeholder"
}
diff --git a/.fern/replay.lock b/.fern/replay.lock
new file mode 100644
index 00000000..9c98e86e
--- /dev/null
+++ b/.fern/replay.lock
@@ -0,0 +1,10 @@
+# DO NOT EDIT MANUALLY - Managed by Fern Replay
+version: "1.0"
+generations:
+ - commit_sha: a1c6092cc00dca56259110e7ad5d14b616d25ed5
+ tree_hash: 15237b3bbb8dd236320fd291333325fa5deaa7c4
+ timestamp: 2026-08-19T00:22:56.996Z
+ cli_version: unknown
+ generator_versions: {}
+current_generation: a1c6092cc00dca56259110e7ad5d14b616d25ed5
+patches: []
diff --git a/.fernignore b/.fernignore
index 82e7de06..fad339e2 100644
--- a/.fernignore
+++ b/.fernignore
@@ -3,3 +3,6 @@
.github/workflows/sdk-release-pr-notification.yml
README.md
changelog.md
+.fern/replay.lock
+.fern/replay.yml
+.gitattributes
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 00000000..74928d6a
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1 @@
+.fern/replay.lock linguist-generated=true
diff --git a/package.json b/package.json
index a80436ca..fa9425b9 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@vapi-ai/server-sdk",
- "version": "2.0.0",
+ "version": "0.0.0-fern-placeholder",
"private": false,
"repository": {
"type": "git",
@@ -121,6 +121,17 @@
},
"default": "./dist/cjs/api/resources/files/exports.js"
},
+ "./knowledgeBasesV2": {
+ "import": {
+ "types": "./dist/esm/api/resources/knowledgeBasesV2/exports.d.mts",
+ "default": "./dist/esm/api/resources/knowledgeBasesV2/exports.mjs"
+ },
+ "require": {
+ "types": "./dist/cjs/api/resources/knowledgeBasesV2/exports.d.ts",
+ "default": "./dist/cjs/api/resources/knowledgeBasesV2/exports.js"
+ },
+ "default": "./dist/cjs/api/resources/knowledgeBasesV2/exports.js"
+ },
"./structuredOutputs": {
"import": {
"types": "./dist/esm/api/resources/structuredOutputs/exports.d.mts",
@@ -132,6 +143,61 @@
},
"default": "./dist/cjs/api/resources/structuredOutputs/exports.js"
},
+ "./simulationPersonalities": {
+ "import": {
+ "types": "./dist/esm/api/resources/simulationPersonalities/exports.d.mts",
+ "default": "./dist/esm/api/resources/simulationPersonalities/exports.mjs"
+ },
+ "require": {
+ "types": "./dist/cjs/api/resources/simulationPersonalities/exports.d.ts",
+ "default": "./dist/cjs/api/resources/simulationPersonalities/exports.js"
+ },
+ "default": "./dist/cjs/api/resources/simulationPersonalities/exports.js"
+ },
+ "./simulationScenarios": {
+ "import": {
+ "types": "./dist/esm/api/resources/simulationScenarios/exports.d.mts",
+ "default": "./dist/esm/api/resources/simulationScenarios/exports.mjs"
+ },
+ "require": {
+ "types": "./dist/cjs/api/resources/simulationScenarios/exports.d.ts",
+ "default": "./dist/cjs/api/resources/simulationScenarios/exports.js"
+ },
+ "default": "./dist/cjs/api/resources/simulationScenarios/exports.js"
+ },
+ "./simulationRuns": {
+ "import": {
+ "types": "./dist/esm/api/resources/simulationRuns/exports.d.mts",
+ "default": "./dist/esm/api/resources/simulationRuns/exports.mjs"
+ },
+ "require": {
+ "types": "./dist/cjs/api/resources/simulationRuns/exports.d.ts",
+ "default": "./dist/cjs/api/resources/simulationRuns/exports.js"
+ },
+ "default": "./dist/cjs/api/resources/simulationRuns/exports.js"
+ },
+ "./simulationSuites": {
+ "import": {
+ "types": "./dist/esm/api/resources/simulationSuites/exports.d.mts",
+ "default": "./dist/esm/api/resources/simulationSuites/exports.mjs"
+ },
+ "require": {
+ "types": "./dist/cjs/api/resources/simulationSuites/exports.d.ts",
+ "default": "./dist/cjs/api/resources/simulationSuites/exports.js"
+ },
+ "default": "./dist/cjs/api/resources/simulationSuites/exports.js"
+ },
+ "./simulations": {
+ "import": {
+ "types": "./dist/esm/api/resources/simulations/exports.d.mts",
+ "default": "./dist/esm/api/resources/simulations/exports.mjs"
+ },
+ "require": {
+ "types": "./dist/cjs/api/resources/simulations/exports.d.ts",
+ "default": "./dist/cjs/api/resources/simulations/exports.js"
+ },
+ "default": "./dist/cjs/api/resources/simulations/exports.js"
+ },
"./insight": {
"import": {
"types": "./dist/esm/api/resources/insight/exports.d.mts",
@@ -143,6 +209,17 @@
},
"default": "./dist/cjs/api/resources/insight/exports.js"
},
+ "./board": {
+ "import": {
+ "types": "./dist/esm/api/resources/board/exports.d.mts",
+ "default": "./dist/esm/api/resources/board/exports.mjs"
+ },
+ "require": {
+ "types": "./dist/cjs/api/resources/board/exports.d.ts",
+ "default": "./dist/cjs/api/resources/board/exports.js"
+ },
+ "default": "./dist/cjs/api/resources/board/exports.js"
+ },
"./eval": {
"import": {
"types": "./dist/esm/api/resources/eval/exports.d.mts",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 36c57bd2..ecea96a6 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -25,7 +25,7 @@ importers:
version: 5.9.3
vitest:
specifier: ^4.1.1
- version: 4.1.2(@types/node@18.19.130)(msw@2.11.2(@types/node@18.19.130)(typescript@5.9.3))(vite@8.0.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@18.19.130)(terser@5.46.1))
+ version: 4.1.2(@types/node@18.19.130)(msw@2.11.2(@types/node@18.19.130)(typescript@5.9.3))(vite@8.0.3(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)(@types/node@18.19.130)(terser@5.46.1))
webpack:
specifier: ^5.105.4
version: 5.105.4
@@ -95,14 +95,14 @@ packages:
'@bundled-es-modules/statuses@1.0.1':
resolution: {integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==}
- '@emnapi/core@1.11.1':
- resolution: {integrity: sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==}
+ '@emnapi/core@1.11.3':
+ resolution: {integrity: sha512-zLpS5asjEb7lq8jYLq37N6XKaE41DIexlY1rF/z4/tIl3wo13Sqm28fRyfIsKZD+NZ8mM5RoKkpW/rBcuoSZSg==}
- '@emnapi/runtime@1.11.1':
- resolution: {integrity: sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==}
+ '@emnapi/runtime@1.11.3':
+ resolution: {integrity: sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==}
- '@emnapi/wasi-threads@1.2.2':
- resolution: {integrity: sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==}
+ '@emnapi/wasi-threads@1.2.3':
+ resolution: {integrity: sha512-ELEBe8PsLvvJ6QMr0zLt8ffvOHW/dc1m3CEzNMg7aJUv3bMaoDtw2TXyDAwkYBuroxxuHEwhRTLJSe5sya547g==}
'@inquirer/ansi@1.0.2':
resolution: {integrity: sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==}
@@ -159,11 +159,12 @@ packages:
resolution: {integrity: sha512-2+BzZbjRO7Ct61k8fMNHEtoKjeWI9pIlHFTqBwZ5icHpqszIgEZbjb1MW5Z0+bITTCTl3gk4PDBxs9tA/csXvA==}
engines: {node: '>=18'}
- '@napi-rs/wasm-runtime@1.1.6':
- resolution: {integrity: sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==}
+ '@napi-rs/wasm-runtime@1.2.3':
+ resolution: {integrity: sha512-UMduMbqO5s5zF2NkNacMT/yK5Y5QiKvWr2+50bzIIxFDwVJ2h49b+oyjaCGPhJxd2/gC2x39EHv/gHVuu36x2Q==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=23.5.0}
peerDependencies:
- '@emnapi/core': ^1.7.1
- '@emnapi/runtime': ^1.7.1
+ '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4
+ '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4
'@open-draft/deferred-promise@2.2.0':
resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==}
@@ -598,78 +599,78 @@ packages:
json-schema-traverse@1.0.0:
resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
- lightningcss-android-arm64@1.32.0:
- resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==}
+ lightningcss-android-arm64@1.33.0:
+ resolution: {integrity: sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [android]
- lightningcss-darwin-arm64@1.32.0:
- resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==}
+ lightningcss-darwin-arm64@1.33.0:
+ resolution: {integrity: sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [darwin]
- lightningcss-darwin-x64@1.32.0:
- resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==}
+ lightningcss-darwin-x64@1.33.0:
+ resolution: {integrity: sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [darwin]
- lightningcss-freebsd-x64@1.32.0:
- resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==}
+ lightningcss-freebsd-x64@1.33.0:
+ resolution: {integrity: sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [freebsd]
- lightningcss-linux-arm-gnueabihf@1.32.0:
- resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==}
+ lightningcss-linux-arm-gnueabihf@1.33.0:
+ resolution: {integrity: sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==}
engines: {node: '>= 12.0.0'}
cpu: [arm]
os: [linux]
- lightningcss-linux-arm64-gnu@1.32.0:
- resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==}
+ lightningcss-linux-arm64-gnu@1.33.0:
+ resolution: {integrity: sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
libc: [glibc]
- lightningcss-linux-arm64-musl@1.32.0:
- resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==}
+ lightningcss-linux-arm64-musl@1.33.0:
+ resolution: {integrity: sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
libc: [musl]
- lightningcss-linux-x64-gnu@1.32.0:
- resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==}
+ lightningcss-linux-x64-gnu@1.33.0:
+ resolution: {integrity: sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
libc: [glibc]
- lightningcss-linux-x64-musl@1.32.0:
- resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==}
+ lightningcss-linux-x64-musl@1.33.0:
+ resolution: {integrity: sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
libc: [musl]
- lightningcss-win32-arm64-msvc@1.32.0:
- resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==}
+ lightningcss-win32-arm64-msvc@1.33.0:
+ resolution: {integrity: sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [win32]
- lightningcss-win32-x64-msvc@1.32.0:
- resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==}
+ lightningcss-win32-x64-msvc@1.33.0:
+ resolution: {integrity: sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [win32]
- lightningcss@1.32.0:
- resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==}
+ lightningcss@1.33.0:
+ resolution: {integrity: sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==}
engines: {node: '>= 12.0.0'}
loader-runner@4.3.1:
@@ -719,8 +720,8 @@ packages:
node-releases@2.0.37:
resolution: {integrity: sha512-1h5gKZCF+pO/o3Iqt5Jp7wc9rH3eJJ0+nh/CIoiRwjRxde/hAHyLPXYN4V3CqKAbiZPSeJFSWHmJsbkicta0Eg==}
- obug@2.1.3:
- resolution: {integrity: sha512-9miFgM2OFba7hB+pRgvtV84pYTBaoTHohvmIgiRt6dRIzbwEOIaNaP+dIlGs2fNFoB0SeISs0Jz5WFVRid6Xyg==}
+ obug@2.1.4:
+ resolution: {integrity: sha512-4a+OsYv9UktOJKE+l1A4OufDgdRF9PifWj+tJnHURo/P+WOxpG4GzUFL9qCalmWauao6ogiG+QvnCovwPoyAWA==}
engines: {node: '>=12.20.0'}
outvariant@1.4.3:
@@ -1076,18 +1077,18 @@ snapshots:
dependencies:
statuses: 2.0.2
- '@emnapi/core@1.11.1':
+ '@emnapi/core@1.11.3':
dependencies:
- '@emnapi/wasi-threads': 1.2.2
+ '@emnapi/wasi-threads': 1.2.3
tslib: 2.8.1
optional: true
- '@emnapi/runtime@1.11.1':
+ '@emnapi/runtime@1.11.3':
dependencies:
tslib: 2.8.1
optional: true
- '@emnapi/wasi-threads@1.2.2':
+ '@emnapi/wasi-threads@1.2.3':
dependencies:
tslib: 2.8.1
optional: true
@@ -1148,10 +1149,10 @@ snapshots:
outvariant: 1.4.3
strict-event-emitter: 0.5.1
- '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)':
+ '@napi-rs/wasm-runtime@1.2.3(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)':
dependencies:
- '@emnapi/core': 1.11.1
- '@emnapi/runtime': 1.11.1
+ '@emnapi/core': 1.11.3
+ '@emnapi/runtime': 1.11.3
'@tybys/wasm-util': 0.10.3
optional: true
@@ -1202,9 +1203,9 @@ snapshots:
'@rolldown/binding-openharmony-arm64@1.0.0-rc.12':
optional: true
- '@rolldown/binding-wasm32-wasi@1.0.0-rc.12(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)':
+ '@rolldown/binding-wasm32-wasi@1.0.0-rc.12(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)':
dependencies:
- '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
+ '@napi-rs/wasm-runtime': 1.2.3(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)
transitivePeerDependencies:
- '@emnapi/core'
- '@emnapi/runtime'
@@ -1263,14 +1264,14 @@ snapshots:
chai: 6.2.2
tinyrainbow: 3.1.0
- '@vitest/mocker@4.1.2(msw@2.11.2(@types/node@18.19.130)(typescript@5.9.3))(vite@8.0.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@18.19.130)(terser@5.46.1))':
+ '@vitest/mocker@4.1.2(msw@2.11.2(@types/node@18.19.130)(typescript@5.9.3))(vite@8.0.3(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)(@types/node@18.19.130)(terser@5.46.1))':
dependencies:
'@vitest/spy': 4.1.2
estree-walker: 3.0.3
magic-string: 0.30.21
optionalDependencies:
msw: 2.11.2(@types/node@18.19.130)(typescript@5.9.3)
- vite: 8.0.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@18.19.130)(terser@5.46.1)
+ vite: 8.0.3(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)(@types/node@18.19.130)(terser@5.46.1)
'@vitest/pretty-format@4.1.2':
dependencies:
@@ -1532,54 +1533,54 @@ snapshots:
json-schema-traverse@1.0.0: {}
- lightningcss-android-arm64@1.32.0:
+ lightningcss-android-arm64@1.33.0:
optional: true
- lightningcss-darwin-arm64@1.32.0:
+ lightningcss-darwin-arm64@1.33.0:
optional: true
- lightningcss-darwin-x64@1.32.0:
+ lightningcss-darwin-x64@1.33.0:
optional: true
- lightningcss-freebsd-x64@1.32.0:
+ lightningcss-freebsd-x64@1.33.0:
optional: true
- lightningcss-linux-arm-gnueabihf@1.32.0:
+ lightningcss-linux-arm-gnueabihf@1.33.0:
optional: true
- lightningcss-linux-arm64-gnu@1.32.0:
+ lightningcss-linux-arm64-gnu@1.33.0:
optional: true
- lightningcss-linux-arm64-musl@1.32.0:
+ lightningcss-linux-arm64-musl@1.33.0:
optional: true
- lightningcss-linux-x64-gnu@1.32.0:
+ lightningcss-linux-x64-gnu@1.33.0:
optional: true
- lightningcss-linux-x64-musl@1.32.0:
+ lightningcss-linux-x64-musl@1.33.0:
optional: true
- lightningcss-win32-arm64-msvc@1.32.0:
+ lightningcss-win32-arm64-msvc@1.33.0:
optional: true
- lightningcss-win32-x64-msvc@1.32.0:
+ lightningcss-win32-x64-msvc@1.33.0:
optional: true
- lightningcss@1.32.0:
+ lightningcss@1.33.0:
dependencies:
detect-libc: 2.1.2
optionalDependencies:
- lightningcss-android-arm64: 1.32.0
- lightningcss-darwin-arm64: 1.32.0
- lightningcss-darwin-x64: 1.32.0
- lightningcss-freebsd-x64: 1.32.0
- lightningcss-linux-arm-gnueabihf: 1.32.0
- lightningcss-linux-arm64-gnu: 1.32.0
- lightningcss-linux-arm64-musl: 1.32.0
- lightningcss-linux-x64-gnu: 1.32.0
- lightningcss-linux-x64-musl: 1.32.0
- lightningcss-win32-arm64-msvc: 1.32.0
- lightningcss-win32-x64-msvc: 1.32.0
+ lightningcss-android-arm64: 1.33.0
+ lightningcss-darwin-arm64: 1.33.0
+ lightningcss-darwin-x64: 1.33.0
+ lightningcss-freebsd-x64: 1.33.0
+ lightningcss-linux-arm-gnueabihf: 1.33.0
+ lightningcss-linux-arm64-gnu: 1.33.0
+ lightningcss-linux-arm64-musl: 1.33.0
+ lightningcss-linux-x64-gnu: 1.33.0
+ lightningcss-linux-x64-musl: 1.33.0
+ lightningcss-win32-arm64-msvc: 1.33.0
+ lightningcss-win32-x64-msvc: 1.33.0
loader-runner@4.3.1: {}
@@ -1634,7 +1635,7 @@ snapshots:
node-releases@2.0.37: {}
- obug@2.1.3: {}
+ obug@2.1.4: {}
outvariant@1.4.3: {}
@@ -1660,7 +1661,7 @@ snapshots:
rettime@0.7.0: {}
- rolldown@1.0.0-rc.12(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1):
+ rolldown@1.0.0-rc.12(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3):
dependencies:
'@oxc-project/types': 0.122.0
'@rolldown/pluginutils': 1.0.0-rc.12
@@ -1677,7 +1678,7 @@ snapshots:
'@rolldown/binding-linux-x64-gnu': 1.0.0-rc.12
'@rolldown/binding-linux-x64-musl': 1.0.0-rc.12
'@rolldown/binding-openharmony-arm64': 1.0.0-rc.12
- '@rolldown/binding-wasm32-wasi': 1.0.0-rc.12(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
+ '@rolldown/binding-wasm32-wasi': 1.0.0-rc.12(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)
'@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.12
'@rolldown/binding-win32-x64-msvc': 1.0.0-rc.12
transitivePeerDependencies:
@@ -1801,12 +1802,12 @@ snapshots:
escalade: 3.2.0
picocolors: 1.1.1
- vite@8.0.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@18.19.130)(terser@5.46.1):
+ vite@8.0.3(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)(@types/node@18.19.130)(terser@5.46.1):
dependencies:
- lightningcss: 1.32.0
+ lightningcss: 1.33.0
picomatch: 4.0.4
postcss: 8.5.8
- rolldown: 1.0.0-rc.12(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
+ rolldown: 1.0.0-rc.12(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)
tinyglobby: 0.2.15
optionalDependencies:
'@types/node': 18.19.130
@@ -1816,10 +1817,10 @@ snapshots:
- '@emnapi/core'
- '@emnapi/runtime'
- vitest@4.1.2(@types/node@18.19.130)(msw@2.11.2(@types/node@18.19.130)(typescript@5.9.3))(vite@8.0.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@18.19.130)(terser@5.46.1)):
+ vitest@4.1.2(@types/node@18.19.130)(msw@2.11.2(@types/node@18.19.130)(typescript@5.9.3))(vite@8.0.3(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)(@types/node@18.19.130)(terser@5.46.1)):
dependencies:
'@vitest/expect': 4.1.2
- '@vitest/mocker': 4.1.2(msw@2.11.2(@types/node@18.19.130)(typescript@5.9.3))(vite@8.0.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@18.19.130)(terser@5.46.1))
+ '@vitest/mocker': 4.1.2(msw@2.11.2(@types/node@18.19.130)(typescript@5.9.3))(vite@8.0.3(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)(@types/node@18.19.130)(terser@5.46.1))
'@vitest/pretty-format': 4.1.2
'@vitest/runner': 4.1.2
'@vitest/snapshot': 4.1.2
@@ -1828,7 +1829,7 @@ snapshots:
es-module-lexer: 2.0.0
expect-type: 1.3.0
magic-string: 0.30.21
- obug: 2.1.3
+ obug: 2.1.4
pathe: 2.0.3
picomatch: 4.0.4
std-env: 4.0.0
@@ -1836,7 +1837,7 @@ snapshots:
tinyexec: 1.0.4
tinyglobby: 0.2.15
tinyrainbow: 3.1.0
- vite: 8.0.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@18.19.130)(terser@5.46.1)
+ vite: 8.0.3(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)(@types/node@18.19.130)(terser@5.46.1)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/node': 18.19.130
diff --git a/reference.md b/reference.md
index 962778e6..477b49bb 100644
--- a/reference.md
+++ b/reference.md
@@ -4,6 +4,20 @@
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns assistants for the authenticated organization. Filter results by creation or update timestamps and limit the number returned.
+
+
+
+
+
#### 🔌 Usage
@@ -53,6 +67,20 @@ await client.assistants.list();
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Creates a reusable assistant configuration containing the model, voice, transcriber, tools, prompts, and call behavior.
+
+
+
+
+
#### 🔌 Usage
@@ -102,6 +130,20 @@ await client.assistants.create({});
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns the assistant identified by its ID.
+
+
+
+
+
#### 🔌 Usage
@@ -153,6 +195,20 @@ await client.assistants.get({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Deletes the assistant identified by its ID.
+
+
+
+
+
#### 🔌 Usage
@@ -204,6 +260,20 @@ await client.assistants.delete({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Updates the specified fields of the assistant identified by its ID.
+
+
+
+
+
#### 🔌 Usage
@@ -256,6 +326,20 @@ await client.assistants.update({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns squads for the authenticated organization. Filter results by creation or update timestamps and limit the number returned.
+
+
+
+
+
#### 🔌 Usage
@@ -305,6 +389,20 @@ await client.squads.list();
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Creates a squad that coordinates multiple assistants and their handoffs during a conversation.
+
+
+
+
+
#### 🔌 Usage
@@ -356,6 +454,20 @@ await client.squads.create({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns the squad identified by its ID.
+
+
+
+
+
#### 🔌 Usage
@@ -407,6 +519,20 @@ await client.squads.get({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Deletes the squad identified by its ID.
+
+
+
+
+
#### 🔌 Usage
@@ -458,6 +584,20 @@ await client.squads.delete({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Updates the specified fields of the squad identified by its ID.
+
+
+
+
+
#### 🔌 Usage
@@ -511,6 +651,20 @@ await client.squads.update({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns calls for the authenticated organization. Filter results by call ID, assistant ID, phone number ID, or creation and update timestamps.
+
+
+
+
+
#### 🔌 Usage
@@ -560,6 +714,20 @@ await client.calls.list();
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Creates a call using an assistant or squad. The request can reference saved resources or include transient configurations.
+
+
+
+
+
#### 🔌 Usage
@@ -609,6 +777,20 @@ await client.calls.create();
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns the call identified by its ID, including its status, configuration, and available call data.
+
+
+
+
+
#### 🔌 Usage
@@ -660,6 +842,20 @@ await client.calls.get({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Deletes the call identified by its ID.
+
+
+
+
+
#### 🔌 Usage
@@ -711,6 +907,20 @@ await client.calls.delete({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Updates the call identified by its ID.
+
+
+
+
+
#### 🔌 Usage
@@ -758,8 +968,7 @@ await client.calls.update({
-## Chats
-client.chats.list({ ...params }) -> Vapi.ChatPaginatedResponse
+client.calls.callArtifactControllerMonoRecordingDownload({ ...params }) -> void
-
@@ -772,8 +981,8 @@ await client.calls.update({
-
```typescript
-await client.chats.list({
- assistantIdAny: "assistant-1,assistant-2,assistant-3"
+await client.calls.callArtifactControllerMonoRecordingDownload({
+ id: "id"
});
```
@@ -790,7 +999,7 @@ await client.chats.list({
-
-**request:** `Vapi.ListChatsRequest`
+**request:** `Vapi.CallArtifactControllerMonoRecordingDownloadRequest`
@@ -798,7 +1007,7 @@ await client.chats.list({
-
-**requestOptions:** `ChatsClient.RequestOptions`
+**requestOptions:** `CallsClient.RequestOptions`
@@ -810,24 +1019,10 @@ await client.chats.list({
-client.chats.create({ ...params }) -> Vapi.CreateChatsResponse
-
--
-
-#### 📝 Description
-
-
--
-
+
client.calls.callArtifactControllerStereoRecordingDownload({ ...params }) -> void
-
-Creates a new chat with optional SMS delivery via transport field. Requires at least one of: assistantId/assistant, sessionId, or previousChatId. Note: sessionId and previousChatId are mutually exclusive. Transport field enables SMS delivery with two modes: (1) New conversation - provide transport.phoneNumberId and transport.customer to create a new session, (2) Existing conversation - provide sessionId to use existing session data. Cannot specify both sessionId and transport fields together. The transport.useLLMGeneratedMessageForOutbound flag controls whether input is processed by LLM (true, default) or forwarded directly as SMS (false).
-
-
-
-
-
#### 🔌 Usage
@@ -837,8 +1032,8 @@ Creates a new chat with optional SMS delivery via transport field. Requires at l
-
```typescript
-await client.chats.create({
- input: "input"
+await client.calls.callArtifactControllerStereoRecordingDownload({
+ id: "id"
});
```
@@ -855,7 +1050,7 @@ await client.chats.create({
-
-**request:** `Vapi.CreateChatDto`
+**request:** `Vapi.CallArtifactControllerStereoRecordingDownloadRequest`
@@ -863,7 +1058,7 @@ await client.chats.create({
-
-**requestOptions:** `ChatsClient.RequestOptions`
+**requestOptions:** `CallsClient.RequestOptions`
@@ -875,7 +1070,7 @@ await client.chats.create({
-client.chats.get({ ...params }) -> Vapi.Chat
+client.calls.callArtifactControllerVideoRecordingDownload({ ...params }) -> void
-
@@ -888,7 +1083,7 @@ await client.chats.create({
-
```typescript
-await client.chats.get({
+await client.calls.callArtifactControllerVideoRecordingDownload({
id: "id"
});
@@ -906,7 +1101,7 @@ await client.chats.get({
-
-**request:** `Vapi.GetChatsRequest`
+**request:** `Vapi.CallArtifactControllerVideoRecordingDownloadRequest`
@@ -914,7 +1109,7 @@ await client.chats.get({
-
-**requestOptions:** `ChatsClient.RequestOptions`
+**requestOptions:** `CallsClient.RequestOptions`
@@ -926,7 +1121,7 @@ await client.chats.get({
-client.chats.delete({ ...params }) -> Vapi.Chat
+client.calls.callArtifactControllerCustomerRecordingDownload({ ...params }) -> void
-
@@ -939,7 +1134,7 @@ await client.chats.get({
-
```typescript
-await client.chats.delete({
+await client.calls.callArtifactControllerCustomerRecordingDownload({
id: "id"
});
@@ -957,7 +1152,7 @@ await client.chats.delete({
-
-**request:** `Vapi.DeleteChatsRequest`
+**request:** `Vapi.CallArtifactControllerCustomerRecordingDownloadRequest`
@@ -965,7 +1160,7 @@ await client.chats.delete({
-
-**requestOptions:** `ChatsClient.RequestOptions`
+**requestOptions:** `CallsClient.RequestOptions`
@@ -977,7 +1172,7 @@ await client.chats.delete({
-client.chats.createResponse({ ...params }) -> Vapi.CreateResponseChatsResponse
+client.calls.callArtifactControllerAssistantRecordingDownload({ ...params }) -> void
-
@@ -990,8 +1185,8 @@ await client.chats.delete({
-
```typescript
-await client.chats.createResponse({
- input: "input"
+await client.calls.callArtifactControllerAssistantRecordingDownload({
+ id: "id"
});
```
@@ -1008,7 +1203,7 @@ await client.chats.createResponse({
-
-**request:** `Vapi.OpenAiResponsesRequest`
+**request:** `Vapi.CallArtifactControllerAssistantRecordingDownloadRequest`
@@ -1016,7 +1211,7 @@ await client.chats.createResponse({
-
-**requestOptions:** `ChatsClient.RequestOptions`
+**requestOptions:** `CallsClient.RequestOptions`
@@ -1028,8 +1223,7 @@ await client.chats.createResponse({
-## Campaigns
-client.campaigns.campaignControllerFindAll({ ...params }) -> Vapi.CampaignPaginatedResponse
+client.calls.callArtifactControllerPcapDownload({ ...params }) -> void
-
@@ -1042,7 +1236,9 @@ await client.chats.createResponse({
-
```typescript
-await client.campaigns.campaignControllerFindAll();
+await client.calls.callArtifactControllerPcapDownload({
+ id: "id"
+});
```
@@ -1058,7 +1254,7 @@ await client.campaigns.campaignControllerFindAll();
-
-**request:** `Vapi.CampaignControllerFindAllRequest`
+**request:** `Vapi.CallArtifactControllerPcapDownloadRequest`
@@ -1066,7 +1262,7 @@ await client.campaigns.campaignControllerFindAll();
-
-**requestOptions:** `CampaignsClient.RequestOptions`
+**requestOptions:** `CallsClient.RequestOptions`
@@ -1078,7 +1274,7 @@ await client.campaigns.campaignControllerFindAll();
-client.campaigns.campaignControllerCreate({ ...params }) -> Vapi.Campaign
+client.calls.callArtifactControllerCallLogsDownload({ ...params }) -> void
-
@@ -1091,8 +1287,8 @@ await client.campaigns.campaignControllerFindAll();
-
```typescript
-await client.campaigns.campaignControllerCreate({
- name: "Q2 Sales Campaign"
+await client.calls.callArtifactControllerCallLogsDownload({
+ id: "id"
});
```
@@ -1109,7 +1305,7 @@ await client.campaigns.campaignControllerCreate({
-
-**request:** `Vapi.CreateCampaignDto`
+**request:** `Vapi.CallArtifactControllerCallLogsDownloadRequest`
@@ -1117,7 +1313,7 @@ await client.campaigns.campaignControllerCreate({
-
-**requestOptions:** `CampaignsClient.RequestOptions`
+**requestOptions:** `CallsClient.RequestOptions`
@@ -1129,7 +1325,8 @@ await client.campaigns.campaignControllerCreate({
-client.campaigns.campaignControllerFindOne({ ...params }) -> Vapi.Campaign
+## Chats
+client.chats.list({ ...params }) -> Vapi.ChatPaginatedResponse
-
@@ -1142,8 +1339,8 @@ await client.campaigns.campaignControllerCreate({
-
```typescript
-await client.campaigns.campaignControllerFindOne({
- id: "id"
+await client.chats.list({
+ assistantIdAny: "assistant-1,assistant-2,assistant-3"
});
```
@@ -1160,7 +1357,7 @@ await client.campaigns.campaignControllerFindOne({
-
-**request:** `Vapi.CampaignControllerFindOneRequest`
+**request:** `Vapi.ListChatsRequest`
@@ -1168,7 +1365,7 @@ await client.campaigns.campaignControllerFindOne({
-
-**requestOptions:** `CampaignsClient.RequestOptions`
+**requestOptions:** `ChatsClient.RequestOptions`
@@ -1180,10 +1377,24 @@ await client.campaigns.campaignControllerFindOne({
-client.campaigns.campaignControllerRemove({ ...params }) -> Vapi.Campaign
+client.chats.create({ ...params }) -> Vapi.CreateChatsResponse
+
+-
+
+#### 📝 Description
+
+
+-
+
-
+Creates a new chat with optional SMS delivery via transport field. Requires at least one of: assistantId/assistant, sessionId, or previousChatId. Note: sessionId and previousChatId are mutually exclusive. Transport field enables SMS delivery with two modes: (1) New conversation - provide transport.phoneNumberId and transport.customer to create a new session, (2) Existing conversation - provide sessionId to use existing session data. Cannot specify both sessionId and transport fields together. The transport.useLLMGeneratedMessageForOutbound flag controls whether input is processed by LLM (true, default) or forwarded directly as SMS (false).
+
+
+
+
+
#### 🔌 Usage
@@ -1193,8 +1404,8 @@ await client.campaigns.campaignControllerFindOne({
-
```typescript
-await client.campaigns.campaignControllerRemove({
- id: "id"
+await client.chats.create({
+ input: "input"
});
```
@@ -1211,7 +1422,7 @@ await client.campaigns.campaignControllerRemove({
-
-**request:** `Vapi.CampaignControllerRemoveRequest`
+**request:** `Vapi.CreateChatDto`
@@ -1219,7 +1430,7 @@ await client.campaigns.campaignControllerRemove({
-
-**requestOptions:** `CampaignsClient.RequestOptions`
+**requestOptions:** `ChatsClient.RequestOptions`
@@ -1231,7 +1442,7 @@ await client.campaigns.campaignControllerRemove({
-client.campaigns.campaignControllerUpdate({ ...params }) -> Vapi.Campaign
+client.chats.get({ ...params }) -> Vapi.Chat
-
@@ -1244,7 +1455,7 @@ await client.campaigns.campaignControllerRemove({
-
```typescript
-await client.campaigns.campaignControllerUpdate({
+await client.chats.get({
id: "id"
});
@@ -1262,7 +1473,7 @@ await client.campaigns.campaignControllerUpdate({
-
-**request:** `Vapi.UpdateCampaignDto`
+**request:** `Vapi.GetChatsRequest`
@@ -1270,7 +1481,7 @@ await client.campaigns.campaignControllerUpdate({
-
-**requestOptions:** `CampaignsClient.RequestOptions`
+**requestOptions:** `ChatsClient.RequestOptions`
@@ -1282,8 +1493,7 @@ await client.campaigns.campaignControllerUpdate({
-## Sessions
-client.sessions.list({ ...params }) -> Vapi.SessionPaginatedResponse
+client.chats.delete({ ...params }) -> Vapi.Chat
-
@@ -1296,9 +1506,8 @@ await client.campaigns.campaignControllerUpdate({
-
```typescript
-await client.sessions.list({
- assistantIdAny: "assistant-1,assistant-2,assistant-3",
- customerNumberAny: "+1234567890,+0987654321"
+await client.chats.delete({
+ id: "id"
});
```
@@ -1315,7 +1524,7 @@ await client.sessions.list({
-
-**request:** `Vapi.ListSessionsRequest`
+**request:** `Vapi.DeleteChatsRequest`
@@ -1323,7 +1532,7 @@ await client.sessions.list({
-
-**requestOptions:** `SessionsClient.RequestOptions`
+**requestOptions:** `ChatsClient.RequestOptions`
@@ -1335,7 +1544,7 @@ await client.sessions.list({
-client.sessions.create({ ...params }) -> Vapi.Session
+client.chats.createResponse({ ...params }) -> Vapi.CreateResponseChatsResponse
-
@@ -1348,7 +1557,9 @@ await client.sessions.list({
-
```typescript
-await client.sessions.create();
+await client.chats.createResponse({
+ input: "input"
+});
```
@@ -1364,7 +1575,7 @@ await client.sessions.create();
-
-**request:** `Vapi.CreateSessionDto`
+**request:** `Vapi.OpenAiResponsesRequest`
@@ -1372,7 +1583,7 @@ await client.sessions.create();
-
-**requestOptions:** `SessionsClient.RequestOptions`
+**requestOptions:** `ChatsClient.RequestOptions`
@@ -1384,10 +1595,25 @@ await client.sessions.create();
-client.sessions.get({ ...params }) -> Vapi.Session
+## Campaigns
+client.campaigns.campaignControllerFindAll({ ...params }) -> Vapi.CampaignPaginatedResponse
+
+-
+
+#### 📝 Description
+
-
+
+-
+
+Returns outbound calling campaigns for the authenticated organization. Filter results by campaign ID, status, or creation and update timestamps.
+
+
+
+
+
#### 🔌 Usage
@@ -1397,9 +1623,7 @@ await client.sessions.create();
-
```typescript
-await client.sessions.get({
- id: "id"
-});
+await client.campaigns.campaignControllerFindAll();
```
@@ -1415,7 +1639,7 @@ await client.sessions.get({
-
-**request:** `Vapi.GetSessionsRequest`
+**request:** `Vapi.CampaignControllerFindAllRequest`
@@ -1423,7 +1647,7 @@ await client.sessions.get({
-
-**requestOptions:** `SessionsClient.RequestOptions`
+**requestOptions:** `CampaignsClient.RequestOptions`
@@ -1435,10 +1659,24 @@ await client.sessions.get({
-client.sessions.delete({ ...params }) -> Vapi.Session
+client.campaigns.campaignControllerCreate({ ...params }) -> Vapi.Campaign
+
+-
+
+#### 📝 Description
+
+
+-
+
-
+Creates an outbound calling campaign that calls a set of customers.
+
+
+
+
+
#### 🔌 Usage
@@ -1448,8 +1686,8 @@ await client.sessions.get({
-
```typescript
-await client.sessions.delete({
- id: "id"
+await client.campaigns.campaignControllerCreate({
+ name: "Q2 Sales Campaign"
});
```
@@ -1466,7 +1704,7 @@ await client.sessions.delete({
-
-**request:** `Vapi.DeleteSessionsRequest`
+**request:** `Vapi.CreateCampaignDto`
@@ -1474,7 +1712,7 @@ await client.sessions.delete({
-
-**requestOptions:** `SessionsClient.RequestOptions`
+**requestOptions:** `CampaignsClient.RequestOptions`
@@ -1486,7 +1724,7 @@ await client.sessions.delete({
-client.sessions.update({ ...params }) -> Vapi.Session
+client.campaigns.campaignControllerFindAllV2({ ...params }) -> Vapi.CampaignSummaryPaginatedResponse
-
@@ -1499,9 +1737,7 @@ await client.sessions.delete({
-
```typescript
-await client.sessions.update({
- id: "id"
-});
+await client.campaigns.campaignControllerFindAllV2();
```
@@ -1517,7 +1753,7 @@ await client.sessions.update({
-
-**request:** `Vapi.UpdateSessionDto`
+**request:** `Vapi.CampaignControllerFindAllV2Request`
@@ -1525,7 +1761,7 @@ await client.sessions.update({
-
-**requestOptions:** `SessionsClient.RequestOptions`
+**requestOptions:** `CampaignsClient.RequestOptions`
@@ -1537,8 +1773,7 @@ await client.sessions.update({
-## PhoneNumbers
-client.phoneNumbers.list({ ...params }) -> Vapi.ListPhoneNumbersResponseItem[]
+client.campaigns.campaignControllerCreateV2({ ...params }) -> Vapi.Campaign
-
@@ -1551,7 +1786,9 @@ await client.sessions.update({
-
```typescript
-await client.phoneNumbers.list();
+await client.campaigns.campaignControllerCreateV2({
+ name: "Q2 Sales Campaign"
+});
```
@@ -1567,7 +1804,7 @@ await client.phoneNumbers.list();
-
-**request:** `Vapi.ListPhoneNumbersRequest`
+**request:** `Vapi.CreateCampaignDto`
@@ -1575,7 +1812,7 @@ await client.phoneNumbers.list();
-
-**requestOptions:** `PhoneNumbersClient.RequestOptions`
+**requestOptions:** `CampaignsClient.RequestOptions`
@@ -1587,7 +1824,7 @@ await client.phoneNumbers.list();
-client.phoneNumbers.create({ ...params }) -> Vapi.CreatePhoneNumbersResponse
+client.campaigns.campaignControllerFindOneV2({ ...params }) -> Vapi.CampaignSummary
-
@@ -1600,9 +1837,8 @@ await client.phoneNumbers.list();
-
```typescript
-await client.phoneNumbers.create({
- provider: "byo-phone-number",
- credentialId: "credentialId"
+await client.campaigns.campaignControllerFindOneV2({
+ id: "id"
});
```
@@ -1619,7 +1855,7 @@ await client.phoneNumbers.create({
-
-**request:** `Vapi.CreatePhoneNumbersRequest`
+**request:** `Vapi.CampaignControllerFindOneV2Request`
@@ -1627,7 +1863,7 @@ await client.phoneNumbers.create({
-
-**requestOptions:** `PhoneNumbersClient.RequestOptions`
+**requestOptions:** `CampaignsClient.RequestOptions`
@@ -1639,7 +1875,7 @@ await client.phoneNumbers.create({
-client.phoneNumbers.phoneNumberControllerFindAllPaginated({ ...params }) -> Vapi.PhoneNumberPaginatedResponse
+client.campaigns.campaignControllerRemoveV2({ ...params }) -> Vapi.Campaign
-
@@ -1652,7 +1888,9 @@ await client.phoneNumbers.create({
-
```typescript
-await client.phoneNumbers.phoneNumberControllerFindAllPaginated();
+await client.campaigns.campaignControllerRemoveV2({
+ id: "id"
+});
```
@@ -1668,7 +1906,7 @@ await client.phoneNumbers.phoneNumberControllerFindAllPaginated();
-
-**request:** `Vapi.PhoneNumberControllerFindAllPaginatedRequest`
+**request:** `Vapi.CampaignControllerRemoveV2Request`
@@ -1676,7 +1914,7 @@ await client.phoneNumbers.phoneNumberControllerFindAllPaginated();
-
-**requestOptions:** `PhoneNumbersClient.RequestOptions`
+**requestOptions:** `CampaignsClient.RequestOptions`
@@ -1688,7 +1926,7 @@ await client.phoneNumbers.phoneNumberControllerFindAllPaginated();
-client.phoneNumbers.get({ ...params }) -> Vapi.GetPhoneNumbersResponse
+client.campaigns.campaignControllerUpdateV2({ ...params }) -> Vapi.Campaign
-
@@ -1701,8 +1939,9 @@ await client.phoneNumbers.phoneNumberControllerFindAllPaginated();
-
```typescript
-await client.phoneNumbers.get({
- id: "id"
+await client.campaigns.campaignControllerUpdateV2({
+ id: "id",
+ body: {}
});
```
@@ -1719,7 +1958,7 @@ await client.phoneNumbers.get({
-
-**request:** `Vapi.GetPhoneNumbersRequest`
+**request:** `Vapi.CampaignControllerUpdateV2Request`
@@ -1727,7 +1966,7 @@ await client.phoneNumbers.get({
-
-**requestOptions:** `PhoneNumbersClient.RequestOptions`
+**requestOptions:** `CampaignsClient.RequestOptions`
@@ -1739,10 +1978,24 @@ await client.phoneNumbers.get({
-client.phoneNumbers.delete({ ...params }) -> Vapi.DeletePhoneNumbersResponse
+client.campaigns.campaignControllerFindOne({ ...params }) -> Vapi.Campaign
+
+-
+
+#### 📝 Description
+
-
+
+-
+
+Returns the outbound calling campaign identified by its ID.
+
+
+
+
+
#### 🔌 Usage
@@ -1752,7 +2005,7 @@ await client.phoneNumbers.get({
-
```typescript
-await client.phoneNumbers.delete({
+await client.campaigns.campaignControllerFindOne({
id: "id"
});
@@ -1770,7 +2023,7 @@ await client.phoneNumbers.delete({
-
-**request:** `Vapi.DeletePhoneNumbersRequest`
+**request:** `Vapi.CampaignControllerFindOneRequest`
@@ -1778,7 +2031,7 @@ await client.phoneNumbers.delete({
-
-**requestOptions:** `PhoneNumbersClient.RequestOptions`
+**requestOptions:** `CampaignsClient.RequestOptions`
@@ -1790,10 +2043,24 @@ await client.phoneNumbers.delete({
-client.phoneNumbers.update({ ...params }) -> Vapi.UpdatePhoneNumbersResponse
+client.campaigns.campaignControllerRemove({ ...params }) -> Vapi.Campaign
+
+-
+
+#### 📝 Description
+
+
+-
+
-
+Deletes the outbound calling campaign identified by its ID.
+
+
+
+
+
#### 🔌 Usage
@@ -1803,11 +2070,8 @@ await client.phoneNumbers.delete({
-
```typescript
-await client.phoneNumbers.update({
- id: "id",
- body: {
- provider: "byo-phone-number"
- }
+await client.campaigns.campaignControllerRemove({
+ id: "id"
});
```
@@ -1824,7 +2088,7 @@ await client.phoneNumbers.update({
-
-**request:** `Vapi.UpdatePhoneNumbersRequest`
+**request:** `Vapi.CampaignControllerRemoveRequest`
@@ -1832,7 +2096,7 @@ await client.phoneNumbers.update({
-
-**requestOptions:** `PhoneNumbersClient.RequestOptions`
+**requestOptions:** `CampaignsClient.RequestOptions`
@@ -1844,11 +2108,24 @@ await client.phoneNumbers.update({
-## Tools
-client.tools.list({ ...params }) -> Vapi.ListToolsResponseItem[]
+client.campaigns.campaignControllerUpdate({ ...params }) -> Vapi.Campaign
+
+-
+
+#### 📝 Description
+
-
+
+-
+
+Updates the outbound calling campaign identified by its ID. Campaigns can be ended by updating their status to `ended`.
+
+
+
+
+
#### 🔌 Usage
@@ -1858,7 +2135,10 @@ await client.phoneNumbers.update({
-
```typescript
-await client.tools.list();
+await client.campaigns.campaignControllerUpdate({
+ id: "id",
+ body: {}
+});
```
@@ -1874,7 +2154,7 @@ await client.tools.list();
-
-**request:** `Vapi.ListToolsRequest`
+**request:** `Vapi.CampaignControllerUpdateRequest`
@@ -1882,7 +2162,7 @@ await client.tools.list();
-
-**requestOptions:** `ToolsClient.RequestOptions`
+**requestOptions:** `CampaignsClient.RequestOptions`
@@ -1894,7 +2174,7 @@ await client.tools.list();
-client.tools.create({ ...params }) -> Vapi.CreateToolsResponse
+client.campaigns.campaignControllerGetCampaignV2Contacts({ ...params }) -> Vapi.CampaignContactPaginatedResponse
-
@@ -1907,10 +2187,8 @@ await client.tools.list();
-
```typescript
-await client.tools.create({
- type: "apiRequest",
- method: "POST",
- url: "url"
+await client.campaigns.campaignControllerGetCampaignV2Contacts({
+ id: "id"
});
```
@@ -1927,7 +2205,7 @@ await client.tools.create({
-
-**request:** `Vapi.CreateToolsRequest`
+**request:** `Vapi.CampaignControllerGetCampaignV2ContactsRequest`
@@ -1935,7 +2213,7 @@ await client.tools.create({
-
-**requestOptions:** `ToolsClient.RequestOptions`
+**requestOptions:** `CampaignsClient.RequestOptions`
@@ -1947,7 +2225,8 @@ await client.tools.create({
-client.tools.get({ ...params }) -> Vapi.GetToolsResponse
+## Sessions
+client.sessions.list({ ...params }) -> Vapi.SessionPaginatedResponse
-
@@ -1960,8 +2239,9 @@ await client.tools.create({
-
```typescript
-await client.tools.get({
- id: "id"
+await client.sessions.list({
+ assistantIdAny: "assistant-1,assistant-2,assistant-3",
+ customerNumberAny: "+1234567890,+0987654321"
});
```
@@ -1978,7 +2258,7 @@ await client.tools.get({
-
-**request:** `Vapi.GetToolsRequest`
+**request:** `Vapi.ListSessionsRequest`
@@ -1986,7 +2266,7 @@ await client.tools.get({
-
-**requestOptions:** `ToolsClient.RequestOptions`
+**requestOptions:** `SessionsClient.RequestOptions`
@@ -1998,7 +2278,7 @@ await client.tools.get({
-client.tools.delete({ ...params }) -> Vapi.DeleteToolsResponse
+client.sessions.create({ ...params }) -> Vapi.Session
-
@@ -2011,9 +2291,7 @@ await client.tools.get({
-
```typescript
-await client.tools.delete({
- id: "id"
-});
+await client.sessions.create();
```
@@ -2029,7 +2307,7 @@ await client.tools.delete({
-
-**request:** `Vapi.DeleteToolsRequest`
+**request:** `Vapi.CreateSessionDto`
@@ -2037,7 +2315,7 @@ await client.tools.delete({
-
-**requestOptions:** `ToolsClient.RequestOptions`
+**requestOptions:** `SessionsClient.RequestOptions`
@@ -2049,7 +2327,7 @@ await client.tools.delete({
-client.tools.update({ ...params }) -> Vapi.UpdateToolsResponse
+client.sessions.get({ ...params }) -> Vapi.Session
-
@@ -2062,10 +2340,2797 @@ await client.tools.delete({
-
```typescript
-await client.tools.update({
- id: "id",
- body: {
- type: "apiRequest"
+await client.sessions.get({
+ id: "id"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.GetSessionsRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `SessionsClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.sessions.delete({ ...params }) -> Vapi.Session
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.sessions.delete({
+ id: "id"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.DeleteSessionsRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `SessionsClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.sessions.update({ ...params }) -> Vapi.Session
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.sessions.update({
+ id: "id"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.UpdateSessionDto`
+
+
+
+
+
+-
+
+**requestOptions:** `SessionsClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+## PhoneNumbers
+client.phoneNumbers.list({ ...params }) -> Vapi.ListPhoneNumbersResponseItem[]
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns phone numbers for the authenticated organization. Filter results by creation or update timestamps and limit the number returned.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.phoneNumbers.list();
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.ListPhoneNumbersRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `PhoneNumbersClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.phoneNumbers.create({ ...params }) -> Vapi.CreatePhoneNumbersResponse
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Creates a Vapi phone number or imports a phone number from a supported provider, including Twilio, Vonage, Telnyx, or a bring-your-own provider.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.phoneNumbers.create({
+ provider: "byo-phone-number",
+ credentialId: "credentialId"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.CreatePhoneNumbersRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `PhoneNumbersClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.phoneNumbers.phoneNumberControllerFindAllPaginated({ ...params }) -> Vapi.PhoneNumberPaginatedResponse
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns a paginated list of phone numbers for the authenticated organization. Search by name, number, or SIP URI using a partial, case-insensitive match, and filter by creation or update timestamps.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.phoneNumbers.phoneNumberControllerFindAllPaginated();
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.PhoneNumberControllerFindAllPaginatedRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `PhoneNumbersClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.phoneNumbers.get({ ...params }) -> Vapi.GetPhoneNumbersResponse
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns the phone number resource identified by its ID.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.phoneNumbers.get({
+ id: "id"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.GetPhoneNumbersRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `PhoneNumbersClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.phoneNumbers.delete({ ...params }) -> Vapi.DeletePhoneNumbersResponse
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Deletes the phone number resource identified by its ID.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.phoneNumbers.delete({
+ id: "id"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.DeletePhoneNumbersRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `PhoneNumbersClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.phoneNumbers.update({ ...params }) -> Vapi.UpdatePhoneNumbersResponse
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Updates the specified fields of the phone number resource identified by its ID.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.phoneNumbers.update({
+ id: "id",
+ body: {
+ provider: "byo-phone-number"
+ }
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.UpdatePhoneNumbersRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `PhoneNumbersClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+## Tools
+client.tools.list({ ...params }) -> Vapi.ListToolsResponseItem[]
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns reusable tools for the authenticated organization. Filter results by creation or update timestamps and limit the number returned.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.tools.list();
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.ListToolsRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `ToolsClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.tools.create({ ...params }) -> Vapi.CreateToolsResponse
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Creates a reusable tool that assistants can invoke during conversations.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.tools.create({
+ type: "apiRequest",
+ method: "POST",
+ url: "url"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.CreateToolsRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `ToolsClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.tools.get({ ...params }) -> Vapi.GetToolsResponse
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns the tool identified by its ID.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.tools.get({
+ id: "id"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.GetToolsRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `ToolsClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.tools.delete({ ...params }) -> Vapi.DeleteToolsResponse
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Deletes the tool identified by its ID.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.tools.delete({
+ id: "id"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.DeleteToolsRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `ToolsClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.tools.update({ ...params }) -> Vapi.UpdateToolsResponse
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Updates the specified fields of the tool identified by its ID.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.tools.update({
+ id: "id",
+ body: {
+ type: "apiRequest"
+ }
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.UpdateToolsRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `ToolsClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+## Files
+client.files.list({ ...params }) -> Vapi.File_[]
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns files uploaded to the authenticated organization.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.files.list({
+ purpose: "purpose"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.ListFilesRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `FilesClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.files.create({ ...params }) -> Vapi.File_
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Uploads a file for use with a Vapi knowledge base.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.files.create({
+ file: fs.createReadStream("/path/to/your/file")
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.CreateFileDto`
+
+
+
+
+
+-
+
+**requestOptions:** `FilesClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.files.get({ ...params }) -> Vapi.File_
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns the uploaded file identified by its ID.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.files.get({
+ id: "id"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.GetFilesRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `FilesClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.files.delete({ ...params }) -> Vapi.File_
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Deletes the uploaded file identified by its ID.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.files.delete({
+ id: "id"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.DeleteFilesRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `FilesClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.files.update({ ...params }) -> Vapi.File_
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Updates the name of the uploaded file identified by its ID.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.files.update({
+ id: "id"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.UpdateFileDto`
+
+
+
+
+
+-
+
+**requestOptions:** `FilesClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+## KnowledgeBasesV2
+client.knowledgeBasesV2.knowledgeBaseV2ControllerFindAll({ ...params }) -> Vapi.KnowledgeBaseV2[]
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.knowledgeBasesV2.knowledgeBaseV2ControllerFindAll();
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.KnowledgeBaseV2ControllerFindAllRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `KnowledgeBasesV2Client.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.knowledgeBasesV2.knowledgeBaseV2ControllerCreate({ ...params }) -> Vapi.KnowledgeBaseV2
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.knowledgeBasesV2.knowledgeBaseV2ControllerCreate({
+ name: "name"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.CreateKnowledgeBaseV2Dto`
+
+
+
+
+
+-
+
+**requestOptions:** `KnowledgeBasesV2Client.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.knowledgeBasesV2.knowledgeBaseV2ControllerFilesGet({ ...params }) -> Vapi.KnowledgeBaseV2File[]
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.knowledgeBasesV2.knowledgeBaseV2ControllerFilesGet({
+ id: "id"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.KnowledgeBaseV2ControllerFilesGetRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `KnowledgeBasesV2Client.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.knowledgeBasesV2.knowledgeBaseV2ControllerFileAttach({ ...params }) -> Vapi.KnowledgeBaseV2File
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.knowledgeBasesV2.knowledgeBaseV2ControllerFileAttach({
+ id: "id",
+ fileId: "fileId"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.AttachKnowledgeBaseV2FileDto`
+
+
+
+
+
+-
+
+**requestOptions:** `KnowledgeBasesV2Client.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.knowledgeBasesV2.knowledgeBaseV2ControllerFileDetach({ ...params }) -> Vapi.KnowledgeBaseV2File
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.knowledgeBasesV2.knowledgeBaseV2ControllerFileDetach({
+ id: "id",
+ fileId: "fileId"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.KnowledgeBaseV2ControllerFileDetachRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `KnowledgeBasesV2Client.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.knowledgeBasesV2.knowledgeBaseV2ControllerFileRetry({ ...params }) -> Vapi.KnowledgeBaseV2File
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.knowledgeBasesV2.knowledgeBaseV2ControllerFileRetry({
+ id: "id",
+ fileId: "fileId"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.KnowledgeBaseV2ControllerFileRetryRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `KnowledgeBasesV2Client.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.knowledgeBasesV2.knowledgeBaseV2ControllerFindOne({ ...params }) -> Vapi.KnowledgeBaseV2WithFiles
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.knowledgeBasesV2.knowledgeBaseV2ControllerFindOne({
+ id: "id"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.KnowledgeBaseV2ControllerFindOneRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `KnowledgeBasesV2Client.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.knowledgeBasesV2.knowledgeBaseV2ControllerRemove({ ...params }) -> Vapi.KnowledgeBaseV2
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.knowledgeBasesV2.knowledgeBaseV2ControllerRemove({
+ id: "id"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.KnowledgeBaseV2ControllerRemoveRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `KnowledgeBasesV2Client.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.knowledgeBasesV2.knowledgeBaseV2ControllerUpdate({ ...params }) -> Vapi.KnowledgeBaseV2
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.knowledgeBasesV2.knowledgeBaseV2ControllerUpdate({
+ id: "id"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.UpdateKnowledgeBaseV2Dto`
+
+
+
+
+
+-
+
+**requestOptions:** `KnowledgeBasesV2Client.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+## StructuredOutputs
+client.structuredOutputs.structuredOutputControllerFindAll({ ...params }) -> Vapi.StructuredOutputPaginatedResponse
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns structured-output definitions for the authenticated organization. Filter results by ID, name, or creation and update timestamps.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.structuredOutputs.structuredOutputControllerFindAll();
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.StructuredOutputControllerFindAllRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `StructuredOutputsClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.structuredOutputs.structuredOutputControllerCreate({ ...params }) -> Vapi.StructuredOutput
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Creates a reusable definition for extracting validated data from conversations using an AI model or regular expression.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.structuredOutputs.structuredOutputControllerCreate({
+ name: "name",
+ schema: {
+ type: "string"
+ }
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.CreateStructuredOutputDto`
+
+
+
+
+
+-
+
+**requestOptions:** `StructuredOutputsClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.structuredOutputs.structuredOutputControllerFindOne({ ...params }) -> Vapi.StructuredOutput
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns the structured-output definition identified by its ID.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.structuredOutputs.structuredOutputControllerFindOne({
+ id: "id"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.StructuredOutputControllerFindOneRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `StructuredOutputsClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.structuredOutputs.structuredOutputControllerRemove({ ...params }) -> Vapi.StructuredOutput
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Deletes the structured-output definition identified by its ID.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.structuredOutputs.structuredOutputControllerRemove({
+ id: "id"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.StructuredOutputControllerRemoveRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `StructuredOutputsClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.structuredOutputs.structuredOutputControllerUpdate({ ...params }) -> Vapi.StructuredOutput
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Updates the structured-output definition identified by its ID.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.structuredOutputs.structuredOutputControllerUpdate({
+ id: "id",
+ schemaOverride: "schemaOverride"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.UpdateStructuredOutputDto`
+
+
+
+
+
+-
+
+**requestOptions:** `StructuredOutputsClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.structuredOutputs.structuredOutputControllerRun({ ...params }) -> Vapi.StructuredOutputControllerRunResponse
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Runs a saved or transient structured-output definition against one or more calls, optionally returning a preview without updating call artifacts.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.structuredOutputs.structuredOutputControllerRun({
+ callIds: ["callIds"]
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.StructuredOutputRunDto`
+
+
+
+
+
+-
+
+**requestOptions:** `StructuredOutputsClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+## SimulationPersonalities
+client.simulationPersonalities.personalityControllerFindAll({ ...params }) -> Vapi.Personality[]
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns the personalities for the authenticated organization.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.simulationPersonalities.personalityControllerFindAll();
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.PersonalityControllerFindAllRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `SimulationPersonalitiesClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.simulationPersonalities.personalityControllerCreate({ ...params }) -> Vapi.Personality
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Creates a personality, the AI tester's configuration used in simulations.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.simulationPersonalities.personalityControllerCreate({
+ name: "name",
+ assistant: {}
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.CreatePersonalityDto`
+
+
+
+
+
+-
+
+**requestOptions:** `SimulationPersonalitiesClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.simulationPersonalities.personalityControllerFindOne({ ...params }) -> Vapi.Personality
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns the specified personality.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.simulationPersonalities.personalityControllerFindOne({
+ id: "id"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.PersonalityControllerFindOneRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `SimulationPersonalitiesClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.simulationPersonalities.personalityControllerRemove({ ...params }) -> Vapi.Personality
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Deletes the specified personality.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.simulationPersonalities.personalityControllerRemove({
+ id: "id"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.PersonalityControllerRemoveRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `SimulationPersonalitiesClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.simulationPersonalities.personalityControllerUpdate({ ...params }) -> Vapi.Personality
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Updates the specified personality. Changes apply to future runs.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.simulationPersonalities.personalityControllerUpdate({
+ id: "id"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.UpdatePersonalityDto`
+
+
+
+
+
+-
+
+**requestOptions:** `SimulationPersonalitiesClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+## SimulationScenarios
+client.simulationScenarios.scenarioControllerFindAll({ ...params }) -> Vapi.Scenario[]
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns the scenarios for the authenticated organization.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.simulationScenarios.scenarioControllerFindAll();
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.ScenarioControllerFindAllRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `SimulationScenariosClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.simulationScenarios.scenarioControllerCreate({ ...params }) -> Vapi.Scenario
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Creates a scenario, the AI tester's intent plus the success criteria that score a run.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.simulationScenarios.scenarioControllerCreate({
+ name: "Health Enrollment - Eligible Path",
+ instructions: "You are calling to enroll in the Twin Health program. Confirm your identity when asked.",
+ evaluations: [{
+ comparator: "=",
+ value: 1.1
+ }]
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.CreateScenarioDto`
+
+
+
+
+
+-
+
+**requestOptions:** `SimulationScenariosClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.simulationScenarios.scenarioControllerFindOne({ ...params }) -> Vapi.Scenario
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns the specified scenario.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.simulationScenarios.scenarioControllerFindOne({
+ id: "id"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.ScenarioControllerFindOneRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `SimulationScenariosClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.simulationScenarios.scenarioControllerRemove({ ...params }) -> Vapi.Scenario
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Deletes the specified scenario.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.simulationScenarios.scenarioControllerRemove({
+ id: "id"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.ScenarioControllerRemoveRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `SimulationScenariosClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.simulationScenarios.scenarioControllerUpdate({ ...params }) -> Vapi.Scenario
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Updates the specified scenario.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.simulationScenarios.scenarioControllerUpdate({
+ id: "id"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.UpdateScenarioDto`
+
+
+
+
+
+-
+
+**requestOptions:** `SimulationScenariosClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+## SimulationRuns
+client.simulationRuns.simulationRunControllerFindAll({ ...params }) -> Vapi.SimulationRunControllerFindAllResponse
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns the simulation runs for the authenticated organization.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.simulationRuns.simulationRunControllerFindAll();
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.SimulationRunControllerFindAllRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `SimulationRunsClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.simulationRuns.simulationRunControllerCreate({ ...params }) -> Vapi.CreateSimulationRunResponse
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Starts a simulation run against a target assistant or squad.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.simulationRuns.simulationRunControllerCreate({
+ simulations: [{
+ type: "simulation"
+ }],
+ target: {
+ type: "assistant"
}
});
@@ -2083,7 +5148,726 @@ await client.tools.update({
-
-**request:** `Vapi.UpdateToolsRequest`
+**request:** `Vapi.CreateSimulationRunDto`
+
+
+
+
+
+-
+
+**requestOptions:** `SimulationRunsClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.simulationRuns.simulationRunControllerFindOne({ ...params }) -> Vapi.SimulationRun
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns the specified simulation run, including its status and item counts.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.simulationRuns.simulationRunControllerFindOne({
+ id: "id"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.SimulationRunControllerFindOneRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `SimulationRunsClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.simulationRuns.simulationRunControllerCancelGroup({ ...params }) -> Vapi.SimulationRun
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Cancels the specified simulation run.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.simulationRuns.simulationRunControllerCancelGroup({
+ id: "id"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.SimulationRunControllerCancelGroupRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `SimulationRunsClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.simulationRuns.simulationRunControllerFindItems({ ...params }) -> Vapi.SimulationRunItem[]
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns the run items for the specified simulation run.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.simulationRuns.simulationRunControllerFindItems({
+ id: "id"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.SimulationRunControllerFindItemsRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `SimulationRunsClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.simulationRuns.simulationRunControllerFindItem({ ...params }) -> Vapi.SimulationRunItem
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns the specified run item, including its evaluation results and the ID of the call that ran it.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.simulationRuns.simulationRunControllerFindItem({
+ id: "id",
+ itemId: "itemId"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.SimulationRunControllerFindItemRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `SimulationRunsClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.simulationRuns.simulationRunControllerCancelItem({ ...params }) -> Vapi.SimulationRunItem
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Cancels the specified run item.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.simulationRuns.simulationRunControllerCancelItem({
+ id: "id",
+ itemId: "itemId"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.SimulationRunControllerCancelItemRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `SimulationRunsClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.simulationRuns.simulationRunControllerGenerateSuggestions({ ...params }) -> void
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Generates AI suggestions for improving the assistant or squad's system prompt, tools, and scenarios, based on the specified run item.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.simulationRuns.simulationRunControllerGenerateSuggestions({
+ id: "id",
+ itemId: "itemId",
+ force: "force"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.SimulationRunControllerGenerateSuggestionsRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `SimulationRunsClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+## SimulationSuites
+client.simulationSuites.simulationSuiteControllerFindAll({ ...params }) -> Vapi.SimulationSuite[]
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns the simulation suites for the authenticated organization.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.simulationSuites.simulationSuiteControllerFindAll();
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.SimulationSuiteControllerFindAllRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `SimulationSuitesClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.simulationSuites.simulationSuiteControllerCreate({ ...params }) -> Vapi.SimulationSuite
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Creates a simulation suite, a group of simulations that run together.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.simulationSuites.simulationSuiteControllerCreate({
+ name: "Checkout Flow Tests",
+ simulationIds: ["simulationIds"]
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.CreateSimulationSuiteDto`
+
+
+
+
+
+-
+
+**requestOptions:** `SimulationSuitesClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.simulationSuites.simulationSuiteControllerFindOne({ ...params }) -> Vapi.SimulationSuite
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns the specified simulation suite.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.simulationSuites.simulationSuiteControllerFindOne({
+ id: "id"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.SimulationSuiteControllerFindOneRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `SimulationSuitesClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.simulationSuites.simulationSuiteControllerRemove({ ...params }) -> Vapi.SimulationSuite
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Deletes the specified simulation suite.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.simulationSuites.simulationSuiteControllerRemove({
+ id: "id"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.SimulationSuiteControllerRemoveRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `SimulationSuitesClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.simulationSuites.simulationSuiteControllerUpdate({ ...params }) -> Vapi.SimulationSuite
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Updates the specified simulation suite.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.simulationSuites.simulationSuiteControllerUpdate({
+ id: "id"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.UpdateSimulationSuiteDto`
@@ -2091,7 +5875,7 @@ await client.tools.update({
-
-**requestOptions:** `ToolsClient.RequestOptions`
+**requestOptions:** `SimulationSuitesClient.RequestOptions`
@@ -2103,11 +5887,25 @@ await client.tools.update({
-## Files
-client.files.list() -> Vapi.File_[]
+## Simulations
+client.simulations.simulationGenerateControllerGenerate({ ...params }) -> Vapi.GenerateScenariosResponse
+
+-
+
+#### 📝 Description
+
-
+
+-
+
+Generates scenarios for an assistant or squad by analyzing its configuration with AI.
+
+
+
+
+
#### 🔌 Usage
@@ -2117,7 +5915,7 @@ await client.tools.update({
-
```typescript
-await client.files.list();
+await client.simulations.simulationGenerateControllerGenerate();
```
@@ -2133,7 +5931,15 @@ await client.files.list();
-
-**requestOptions:** `FilesClient.RequestOptions`
+**request:** `Vapi.GenerateScenariosDto`
+
+
+
+
+
+-
+
+**requestOptions:** `SimulationsClient.RequestOptions`
@@ -2145,10 +5951,24 @@ await client.files.list();
-client.files.create({ ...params }) -> Vapi.File_
+client.simulations.simulationControllerFindAll({ ...params }) -> Vapi.Simulation[]
+
+-
+
+#### 📝 Description
+
+
+-
+
-
+Returns the simulations for the authenticated organization.
+
+
+
+
+
#### 🔌 Usage
@@ -2158,8 +5978,72 @@ await client.files.list();
-
```typescript
-await client.files.create({
- file: fs.createReadStream("/path/to/your/file")
+await client.simulations.simulationControllerFindAll();
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Vapi.SimulationControllerFindAllRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `SimulationsClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.simulations.simulationControllerCreate({ ...params }) -> Vapi.Simulation
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Creates a simulation by pairing a scenario with a personality.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.simulations.simulationControllerCreate({
+ scenarioId: "scenarioId",
+ personalityId: "personalityId"
});
```
@@ -2176,7 +6060,7 @@ await client.files.create({
-
-**request:** `Vapi.CreateFileDto`
+**request:** `Vapi.CreateSimulationDto`
@@ -2184,7 +6068,7 @@ await client.files.create({
-
-**requestOptions:** `FilesClient.RequestOptions`
+**requestOptions:** `SimulationsClient.RequestOptions`
@@ -2196,10 +6080,24 @@ await client.files.create({
-client.files.get({ ...params }) -> Vapi.File_
+client.simulations.simulationControllerFindOne({ ...params }) -> Vapi.Simulation
+
+-
+
+#### 📝 Description
+
+
+-
+
-
+Returns the specified simulation.
+
+
+
+
+
#### 🔌 Usage
@@ -2209,7 +6107,7 @@ await client.files.create({
-
```typescript
-await client.files.get({
+await client.simulations.simulationControllerFindOne({
id: "id"
});
@@ -2227,7 +6125,7 @@ await client.files.get({
-
-**request:** `Vapi.GetFilesRequest`
+**request:** `Vapi.SimulationControllerFindOneRequest`
@@ -2235,7 +6133,7 @@ await client.files.get({
-
-**requestOptions:** `FilesClient.RequestOptions`
+**requestOptions:** `SimulationsClient.RequestOptions`
@@ -2247,10 +6145,24 @@ await client.files.get({
-client.files.delete({ ...params }) -> Vapi.File_
+client.simulations.simulationControllerRemove({ ...params }) -> Vapi.Simulation
+
+-
+
+#### 📝 Description
+
+
+-
+
-
+Deletes the specified simulation.
+
+
+
+
+
#### 🔌 Usage
@@ -2260,7 +6172,7 @@ await client.files.get({
-
```typescript
-await client.files.delete({
+await client.simulations.simulationControllerRemove({
id: "id"
});
@@ -2278,7 +6190,7 @@ await client.files.delete({
-
-**request:** `Vapi.DeleteFilesRequest`
+**request:** `Vapi.SimulationControllerRemoveRequest`
@@ -2286,7 +6198,7 @@ await client.files.delete({
-
-**requestOptions:** `FilesClient.RequestOptions`
+**requestOptions:** `SimulationsClient.RequestOptions`
@@ -2298,10 +6210,24 @@ await client.files.delete({
-client.files.update({ ...params }) -> Vapi.File_
+client.simulations.simulationControllerUpdate({ ...params }) -> Vapi.Simulation
+
+-
+
+#### 📝 Description
+
-
+
+-
+
+Updates the specified simulation.
+
+
+
+
+
#### 🔌 Usage
@@ -2311,7 +6237,7 @@ await client.files.delete({
-
```typescript
-await client.files.update({
+await client.simulations.simulationControllerUpdate({
id: "id"
});
@@ -2329,15 +6255,70 @@ await client.files.update({
-
-**request:** `Vapi.UpdateFileDto`
-
-
-
-
+**request:** `Vapi.UpdateSimulationDto`
+
+
+
+
+
+-
+
+**requestOptions:** `SimulationsClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.simulations.simulationControllerGetConcurrency() -> Vapi.SimulationConcurrencyResponse
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns the organization's simulation concurrency limit, the number of active simulations, and how many more can start.
+
+
+
+
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.simulations.simulationControllerGetConcurrency();
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
-
-**requestOptions:** `FilesClient.RequestOptions`
+**requestOptions:** `SimulationsClient.RequestOptions`
@@ -2349,11 +6330,25 @@ await client.files.update({
-## StructuredOutputs
-client.structuredOutputs.structuredOutputControllerFindAll({ ...params }) -> Vapi.StructuredOutputPaginatedResponse
+## Insight
+client.insight.insightControllerFindAll({ ...params }) -> Vapi.InsightPaginatedResponse
+
+-
+
+#### 📝 Description
+
+
+-
+
-
+Returns saved reporting insights for the authenticated organization. Filter results by ID or creation and update timestamps.
+
+
+
+
+
#### 🔌 Usage
@@ -2363,7 +6358,7 @@ await client.files.update({
-
```typescript
-await client.structuredOutputs.structuredOutputControllerFindAll();
+await client.insight.insightControllerFindAll();
```
@@ -2379,7 +6374,7 @@ await client.structuredOutputs.structuredOutputControllerFindAll();
-
-**request:** `Vapi.StructuredOutputControllerFindAllRequest`
+**request:** `Vapi.InsightControllerFindAllRequest`
@@ -2387,7 +6382,7 @@ await client.structuredOutputs.structuredOutputControllerFindAll();
-
-**requestOptions:** `StructuredOutputsClient.RequestOptions`
+**requestOptions:** `InsightClient.RequestOptions`
@@ -2399,10 +6394,24 @@ await client.structuredOutputs.structuredOutputControllerFindAll();
-client.structuredOutputs.structuredOutputControllerCreate({ ...params }) -> Vapi.StructuredOutput
+client.insight.insightControllerCreate({ ...params }) -> Vapi.InsightControllerCreateResponse
+
+-
+
+#### 📝 Description
+
-
+
+-
+
+Creates a saved reporting insight that queries call data and presents the results as a bar chart, pie chart, line chart, or text value.
+
+
+
+
+
#### 🔌 Usage
@@ -2412,11 +6421,14 @@ await client.structuredOutputs.structuredOutputControllerFindAll();
-
```typescript
-await client.structuredOutputs.structuredOutputControllerCreate({
- name: "name",
- schema: {
- type: "string"
- }
+await client.insight.insightControllerCreate({
+ type: "bar",
+ queries: [{
+ type: "vapiql-json",
+ table: "call",
+ column: "id",
+ operation: "count"
+ }]
});
```
@@ -2433,7 +6445,7 @@ await client.structuredOutputs.structuredOutputControllerCreate({
-
-**request:** `Vapi.CreateStructuredOutputDto`
+**request:** `Vapi.InsightControllerCreateRequest`
@@ -2441,7 +6453,7 @@ await client.structuredOutputs.structuredOutputControllerCreate({
-
-**requestOptions:** `StructuredOutputsClient.RequestOptions`
+**requestOptions:** `InsightClient.RequestOptions`
@@ -2453,10 +6465,24 @@ await client.structuredOutputs.structuredOutputControllerCreate({
-client.structuredOutputs.structuredOutputControllerFindOne({ ...params }) -> Vapi.StructuredOutput
+client.insight.insightControllerFindOne({ ...params }) -> Vapi.InsightControllerFindOneResponse
+
+-
+
+#### 📝 Description
+
-
+
+-
+
+Returns the reporting insight identified by its ID.
+
+
+
+
+
#### 🔌 Usage
@@ -2466,7 +6492,7 @@ await client.structuredOutputs.structuredOutputControllerCreate({
-
```typescript
-await client.structuredOutputs.structuredOutputControllerFindOne({
+await client.insight.insightControllerFindOne({
id: "id"
});
@@ -2484,7 +6510,7 @@ await client.structuredOutputs.structuredOutputControllerFindOne({
-
-**request:** `Vapi.StructuredOutputControllerFindOneRequest`
+**request:** `Vapi.InsightControllerFindOneRequest`
@@ -2492,7 +6518,7 @@ await client.structuredOutputs.structuredOutputControllerFindOne({
-
-**requestOptions:** `StructuredOutputsClient.RequestOptions`
+**requestOptions:** `InsightClient.RequestOptions`
@@ -2504,10 +6530,24 @@ await client.structuredOutputs.structuredOutputControllerFindOne({
-client.structuredOutputs.structuredOutputControllerRemove({ ...params }) -> Vapi.StructuredOutput
+client.insight.insightControllerRemove({ ...params }) -> Vapi.InsightControllerRemoveResponse
+
+-
+
+#### 📝 Description
+
+
+-
+
-
+Deletes the reporting insight identified by its ID.
+
+
+
+
+
#### 🔌 Usage
@@ -2517,7 +6557,7 @@ await client.structuredOutputs.structuredOutputControllerFindOne({
-
```typescript
-await client.structuredOutputs.structuredOutputControllerRemove({
+await client.insight.insightControllerRemove({
id: "id"
});
@@ -2535,7 +6575,7 @@ await client.structuredOutputs.structuredOutputControllerRemove({
-
-**request:** `Vapi.StructuredOutputControllerRemoveRequest`
+**request:** `Vapi.InsightControllerRemoveRequest`
@@ -2543,7 +6583,7 @@ await client.structuredOutputs.structuredOutputControllerRemove({
-
-**requestOptions:** `StructuredOutputsClient.RequestOptions`
+**requestOptions:** `InsightClient.RequestOptions`
@@ -2555,10 +6595,24 @@ await client.structuredOutputs.structuredOutputControllerRemove({
-client.structuredOutputs.structuredOutputControllerUpdate({ ...params }) -> Vapi.StructuredOutput
+client.insight.insightControllerUpdate({ ...params }) -> Vapi.InsightControllerUpdateResponse
+
+-
+
+#### 📝 Description
+
+
+-
+
-
+Updates the reporting insight identified by its ID.
+
+
+
+
+
#### 🔌 Usage
@@ -2568,9 +6622,11 @@ await client.structuredOutputs.structuredOutputControllerRemove({
-
```typescript
-await client.structuredOutputs.structuredOutputControllerUpdate({
+await client.insight.insightControllerUpdate({
id: "id",
- schemaOverride: "schemaOverride"
+ body: {
+ type: "bar"
+ }
});
```
@@ -2587,7 +6643,7 @@ await client.structuredOutputs.structuredOutputControllerUpdate({
-
-**request:** `Vapi.UpdateStructuredOutputDto`
+**request:** `Vapi.InsightControllerUpdateRequest`
@@ -2595,7 +6651,7 @@ await client.structuredOutputs.structuredOutputControllerUpdate({
-
-**requestOptions:** `StructuredOutputsClient.RequestOptions`
+**requestOptions:** `InsightClient.RequestOptions`
@@ -2607,10 +6663,24 @@ await client.structuredOutputs.structuredOutputControllerUpdate({
-client.structuredOutputs.structuredOutputControllerRun({ ...params }) -> Vapi.StructuredOutput
+client.insight.insightControllerRun({ ...params }) -> Vapi.InsightRunResponse
+
+-
+
+#### 📝 Description
+
+
+-
+
-
+Runs a saved reporting insight, optionally overriding its time range and response format.
+
+
+
+
+
#### 🔌 Usage
@@ -2620,8 +6690,8 @@ await client.structuredOutputs.structuredOutputControllerUpdate({
-
```typescript
-await client.structuredOutputs.structuredOutputControllerRun({
- callIds: ["callIds"]
+await client.insight.insightControllerRun({
+ id: "id"
});
```
@@ -2638,7 +6708,7 @@ await client.structuredOutputs.structuredOutputControllerRun({
-
-**request:** `Vapi.StructuredOutputRunDto`
+**request:** `Vapi.InsightRunDto`
@@ -2646,7 +6716,7 @@ await client.structuredOutputs.structuredOutputControllerRun({
-
-**requestOptions:** `StructuredOutputsClient.RequestOptions`
+**requestOptions:** `InsightClient.RequestOptions`
@@ -2658,11 +6728,24 @@ await client.structuredOutputs.structuredOutputControllerRun({
-## Insight
-client.insight.insightControllerFindAll({ ...params }) -> Vapi.InsightPaginatedResponse
+client.insight.insightControllerPreview({ ...params }) -> Vapi.InsightRunResponse
+
+-
+
+#### 📝 Description
+
+
+-
+
-
+Runs an insight definition without first saving it, returning a preview of the resulting chart or text value.
+
+
+
+
+
#### 🔌 Usage
@@ -2672,7 +6755,15 @@ await client.structuredOutputs.structuredOutputControllerRun({
-
```typescript
-await client.insight.insightControllerFindAll();
+await client.insight.insightControllerPreview({
+ type: "bar",
+ queries: [{
+ type: "vapiql-json",
+ table: "call",
+ column: "id",
+ operation: "count"
+ }]
+});
```
@@ -2688,7 +6779,7 @@ await client.insight.insightControllerFindAll();
-
-**request:** `Vapi.InsightControllerFindAllRequest`
+**request:** `Vapi.InsightControllerPreviewRequest`
@@ -2708,7 +6799,8 @@ await client.insight.insightControllerFindAll();
-client.insight.insightControllerCreate({ ...params }) -> Vapi.InsightControllerCreateResponse
+## Board
+client.board.boardControllerFindAll({ ...params }) -> Vapi.BoardPaginatedResponse
-
@@ -2721,15 +6813,7 @@ await client.insight.insightControllerFindAll();
-
```typescript
-await client.insight.insightControllerCreate({
- type: "bar",
- queries: [{
- type: "vapiql-json",
- table: "call",
- column: "id",
- operation: "count"
- }]
-});
+await client.board.boardControllerFindAll();
```
@@ -2745,7 +6829,7 @@ await client.insight.insightControllerCreate({
-
-**request:** `Vapi.InsightControllerCreateRequest`
+**request:** `Vapi.BoardControllerFindAllRequest`
@@ -2753,7 +6837,7 @@ await client.insight.insightControllerCreate({
-
-**requestOptions:** `InsightClient.RequestOptions`
+**requestOptions:** `BoardClient.RequestOptions`
@@ -2765,7 +6849,7 @@ await client.insight.insightControllerCreate({
-client.insight.insightControllerFindOne({ ...params }) -> Vapi.InsightControllerFindOneResponse
+client.board.boardControllerCreate({ ...params }) -> Vapi.Board
-
@@ -2778,8 +6862,11 @@ await client.insight.insightControllerCreate({
-
```typescript
-await client.insight.insightControllerFindOne({
- id: "id"
+await client.board.boardControllerCreate({
+ name: "name",
+ layout: {
+ columns: 1.1
+ }
});
```
@@ -2796,7 +6883,7 @@ await client.insight.insightControllerFindOne({
-
-**request:** `Vapi.InsightControllerFindOneRequest`
+**request:** `Vapi.CreateBoardDto`
@@ -2804,7 +6891,7 @@ await client.insight.insightControllerFindOne({
-
-**requestOptions:** `InsightClient.RequestOptions`
+**requestOptions:** `BoardClient.RequestOptions`
@@ -2816,7 +6903,7 @@ await client.insight.insightControllerFindOne({
-client.insight.insightControllerRemove({ ...params }) -> Vapi.InsightControllerRemoveResponse
+client.board.boardControllerMetricsOverviewEnsure() -> Vapi.Board
-
@@ -2829,9 +6916,7 @@ await client.insight.insightControllerFindOne({
-
```typescript
-await client.insight.insightControllerRemove({
- id: "id"
-});
+await client.board.boardControllerMetricsOverviewEnsure();
```
@@ -2847,15 +6932,7 @@ await client.insight.insightControllerRemove({
-
-**request:** `Vapi.InsightControllerRemoveRequest`
-
-
-
-
-
--
-
-**requestOptions:** `InsightClient.RequestOptions`
+**requestOptions:** `BoardClient.RequestOptions`
@@ -2867,7 +6944,7 @@ await client.insight.insightControllerRemove({
-client.insight.insightControllerUpdate({ ...params }) -> Vapi.InsightControllerUpdateResponse
+client.board.boardControllerFindOne({ ...params }) -> Vapi.Board
-
@@ -2880,11 +6957,8 @@ await client.insight.insightControllerRemove({
-
```typescript
-await client.insight.insightControllerUpdate({
- id: "id",
- body: {
- type: "bar"
- }
+await client.board.boardControllerFindOne({
+ id: "id"
});
```
@@ -2901,7 +6975,7 @@ await client.insight.insightControllerUpdate({
-
-**request:** `Vapi.InsightControllerUpdateRequest`
+**request:** `Vapi.BoardControllerFindOneRequest`
@@ -2909,7 +6983,7 @@ await client.insight.insightControllerUpdate({
-
-**requestOptions:** `InsightClient.RequestOptions`
+**requestOptions:** `BoardClient.RequestOptions`
@@ -2921,7 +6995,7 @@ await client.insight.insightControllerUpdate({
-client.insight.insightControllerRun({ ...params }) -> Vapi.InsightRunResponse
+client.board.boardControllerRemove({ ...params }) -> Vapi.Board
-
@@ -2934,7 +7008,7 @@ await client.insight.insightControllerUpdate({
-
```typescript
-await client.insight.insightControllerRun({
+await client.board.boardControllerRemove({
id: "id"
});
@@ -2952,7 +7026,7 @@ await client.insight.insightControllerRun({
-
-**request:** `Vapi.InsightRunDto`
+**request:** `Vapi.BoardControllerRemoveRequest`
@@ -2960,7 +7034,7 @@ await client.insight.insightControllerRun({
-
-**requestOptions:** `InsightClient.RequestOptions`
+**requestOptions:** `BoardClient.RequestOptions`
@@ -2972,7 +7046,7 @@ await client.insight.insightControllerRun({
-client.insight.insightControllerPreview({ ...params }) -> Vapi.InsightRunResponse
+client.board.boardControllerUpdate({ ...params }) -> Vapi.Board
-
@@ -2985,14 +7059,8 @@ await client.insight.insightControllerRun({
-
```typescript
-await client.insight.insightControllerPreview({
- type: "bar",
- queries: [{
- type: "vapiql-json",
- table: "call",
- column: "id",
- operation: "count"
- }]
+await client.board.boardControllerUpdate({
+ id: "id"
});
```
@@ -3009,7 +7077,7 @@ await client.insight.insightControllerPreview({
-
-**request:** `Vapi.InsightControllerPreviewRequest`
+**request:** `Vapi.UpdateBoardDto`
@@ -3017,22 +7085,36 @@ await client.insight.insightControllerPreview({
-
-**requestOptions:** `InsightClient.RequestOptions`
+**requestOptions:** `BoardClient.RequestOptions`
-
-
+
+
+
+
+
+
+## Eval
+client.eval.evalControllerGetPaginated({ ...params }) -> Vapi.EvalPaginatedResponse
+
+-
+
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns eval definitions for the authenticated organization. Filter results by ID or creation and update timestamps.
+
+
-
-
-## Eval
-client.eval.evalControllerGetPaginated({ ...params }) -> Vapi.EvalPaginatedResponse
-
--
#### 🔌 Usage
@@ -3083,6 +7165,20 @@ await client.eval.evalControllerGetPaginated();
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Creates a reusable eval that defines a mock conversation and checkpoints for evaluating assistant responses and tool calls.
+
+
+
+
+
#### 🔌 Usage
@@ -3137,6 +7233,20 @@ await client.eval.evalControllerCreate({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns the eval definition identified by its ID.
+
+
+
+
+
#### 🔌 Usage
@@ -3188,6 +7298,20 @@ await client.eval.evalControllerGet({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Deletes the eval definition identified by its ID.
+
+
+
+
+
#### 🔌 Usage
@@ -3239,6 +7363,20 @@ await client.eval.evalControllerRemove({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Updates the eval definition identified by its ID.
+
+
+
+
+
#### 🔌 Usage
@@ -3290,6 +7428,20 @@ await client.eval.evalControllerUpdate({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns the eval run identified by its ID.
+
+
+
+
+
#### 🔌 Usage
@@ -3341,6 +7493,20 @@ await client.eval.evalControllerGetRun({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Deletes the eval run identified by its ID.
+
+
+
+
+
#### 🔌 Usage
@@ -3392,6 +7558,20 @@ await client.eval.evalControllerRemoveRun({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns eval runs for the authenticated organization. Filter results by ID or creation and update timestamps.
+
+
+
+
+
#### 🔌 Usage
@@ -3441,6 +7621,20 @@ await client.eval.evalControllerGetRunsPaginated();
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Runs a saved or transient eval against an assistant or squad and creates an eval-run record containing the results.
+
+
+
+
+
#### 🔌 Usage
@@ -3496,6 +7690,20 @@ await client.eval.evalControllerRun({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns the scorecard identified by its ID.
+
+
+
+
+
#### 🔌 Usage
@@ -3547,6 +7755,20 @@ await client.observabilityScorecard.scorecardControllerGet({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Deletes the scorecard identified by its ID.
+
+
+
+
+
#### 🔌 Usage
@@ -3598,6 +7820,20 @@ await client.observabilityScorecard.scorecardControllerRemove({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Updates the scorecard identified by its ID.
+
+
+
+
+
#### 🔌 Usage
@@ -3649,6 +7885,20 @@ await client.observabilityScorecard.scorecardControllerUpdate({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns scorecards for the authenticated organization. Filter results by ID or creation and update timestamps.
+
+
+
+
+
#### 🔌 Usage
@@ -3698,6 +7948,20 @@ await client.observabilityScorecard.scorecardControllerGetPaginated();
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Creates a scorecard containing metrics, scoring conditions, and optional links to assistants whose calls should be evaluated.
+
+
+
+
+
#### 🔌 Usage
@@ -3709,10 +7973,13 @@ await client.observabilityScorecard.scorecardControllerGetPaginated();
```typescript
await client.observabilityScorecard.scorecardControllerCreate({
metrics: [{
- structuredOutputId: "structuredOutputId",
conditions: [{
- "key": "value"
- }]
+ type: "comparator",
+ comparator: "=",
+ value: 1.1,
+ points: 1.1
+ }],
+ structuredOutputId: "structuredOutputId"
}]
});
@@ -3755,6 +8022,20 @@ await client.observabilityScorecard.scorecardControllerCreate({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns a paginated list of provider resources for the authenticated organization. Filter pronunciation dictionaries by provider, resource ID, or creation and update timestamps.
+
+
+
+
+
#### 🔌 Usage
@@ -3807,6 +8088,20 @@ await client.providerResources.providerResourceControllerGetProviderResourcesPag
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Creates a pronunciation-dictionary resource for a supported provider, currently Cartesia or ElevenLabs.
+
+
+
+
+
#### 🔌 Usage
@@ -3859,6 +8154,20 @@ await client.providerResources.providerResourceControllerCreateProviderResource(
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Returns the provider resource identified by its Vapi resource ID.
+
+
+
+
+
#### 🔌 Usage
@@ -3912,6 +8221,20 @@ await client.providerResources.providerResourceControllerGetProviderResource({
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Deletes the provider resource identified by its Vapi resource ID.
+
+
+
+
+
#### 🔌 Usage
@@ -3965,6 +8288,20 @@ await client.providerResources.providerResourceControllerDeleteProviderResource(
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Updates the provider resource identified by its Vapi resource ID.
+
+
+
+
+
#### 🔌 Usage
@@ -4019,6 +8356,20 @@ await client.providerResources.providerResourceControllerUpdateProviderResource(
-
+#### 📝 Description
+
+
+-
+
+
+-
+
+Runs one or more metric queries against call or subscription data using the requested time range, groupings, and aggregate operations.
+
+
+
+
+
#### 🔌 Usage
diff --git a/src/BaseClient.ts b/src/BaseClient.ts
index 98a48b9f..0cbc606c 100644
--- a/src/BaseClient.ts
+++ b/src/BaseClient.ts
@@ -52,8 +52,8 @@ export function normalizeClientOptions;
@@ -154,5 +157,6 @@ export interface UpdateAssistantDto {
* 3. org.serverUrl
*/
server?: Vapi.Server;
+ /** Configuration for collecting and processing DTMF keypad input during calls. */
keypadInputPlan?: Vapi.KeypadInputPlan;
}
diff --git a/src/api/resources/assistants/types/UpdateAssistantDtoCredentialsItem.ts b/src/api/resources/assistants/types/UpdateAssistantDtoCredentialsItem.ts
index 858975fa..32cfa33b 100644
--- a/src/api/resources/assistants/types/UpdateAssistantDtoCredentialsItem.ts
+++ b/src/api/resources/assistants/types/UpdateAssistantDtoCredentialsItem.ts
@@ -34,6 +34,7 @@ export type UpdateAssistantDtoCredentialsItem =
| Vapi.UpdateAssistantDtoCredentialsItem.RimeAi
| Vapi.UpdateAssistantDtoCredentialsItem.Runpod
| Vapi.UpdateAssistantDtoCredentialsItem.S3
+ | Vapi.UpdateAssistantDtoCredentialsItem.S3Compatible
| Vapi.UpdateAssistantDtoCredentialsItem.Supabase
| Vapi.UpdateAssistantDtoCredentialsItem.SmallestAi
| Vapi.UpdateAssistantDtoCredentialsItem.Tavus
@@ -43,12 +44,12 @@ export type UpdateAssistantDtoCredentialsItem =
| Vapi.UpdateAssistantDtoCredentialsItem.Webhook
| Vapi.UpdateAssistantDtoCredentialsItem.CustomCredential
| Vapi.UpdateAssistantDtoCredentialsItem.Xai
+ | Vapi.UpdateAssistantDtoCredentialsItem.Microsoft
| Vapi.UpdateAssistantDtoCredentialsItem.Neuphonic
| Vapi.UpdateAssistantDtoCredentialsItem.Hume
| Vapi.UpdateAssistantDtoCredentialsItem.Mistral
| Vapi.UpdateAssistantDtoCredentialsItem.Speechmatics
| Vapi.UpdateAssistantDtoCredentialsItem.Soniox
- | Vapi.UpdateAssistantDtoCredentialsItem.Trieve
| Vapi.UpdateAssistantDtoCredentialsItem.GoogleCalendarOauth2Client
| Vapi.UpdateAssistantDtoCredentialsItem.GoogleCalendarOauth2Authorization
| Vapi.UpdateAssistantDtoCredentialsItem.GoogleSheetsOauth2Authorization
@@ -185,6 +186,10 @@ export namespace UpdateAssistantDtoCredentialsItem {
provider: "s3";
}
+ export interface S3Compatible extends Vapi.CreateS3CompatibleCredentialDto {
+ provider: "s3-compatible";
+ }
+
export interface Supabase extends Vapi.CreateSupabaseCredentialDto {
provider: "supabase";
}
@@ -221,6 +226,10 @@ export namespace UpdateAssistantDtoCredentialsItem {
provider: "xai";
}
+ export interface Microsoft extends Vapi.CreateMicrosoftCredentialDto {
+ provider: "microsoft";
+ }
+
export interface Neuphonic extends Vapi.CreateNeuphonicCredentialDto {
provider: "neuphonic";
}
@@ -241,10 +250,6 @@ export namespace UpdateAssistantDtoCredentialsItem {
provider: "soniox";
}
- export interface Trieve extends Vapi.CreateTrieveCredentialDto {
- provider: "trieve";
- }
-
export interface GoogleCalendarOauth2Client extends Vapi.CreateGoogleCalendarOAuth2ClientCredentialDto {
provider: "google.calendar.oauth2-client";
}
@@ -285,4 +290,63 @@ export namespace UpdateAssistantDtoCredentialsItem {
export interface SlackWebhook extends Vapi.CreateSlackWebhookCredentialDto {
provider: "slack-webhook";
}
+
+ export type Response =
+ | Vapi.UpdateAssistantDtoCredentialsItem._11Labs
+ | Vapi.UpdateAssistantDtoCredentialsItem.Anthropic
+ | Vapi.UpdateAssistantDtoCredentialsItem.AnthropicBedrock
+ | Vapi.UpdateAssistantDtoCredentialsItem.Anyscale
+ | Vapi.UpdateAssistantDtoCredentialsItem.AssemblyAi
+ | Vapi.UpdateAssistantDtoCredentialsItem.AzureOpenai
+ | Vapi.UpdateAssistantDtoCredentialsItem.Azure
+ | Vapi.UpdateAssistantDtoCredentialsItem.ByoSipTrunk
+ | Vapi.UpdateAssistantDtoCredentialsItem.Cartesia
+ | Vapi.UpdateAssistantDtoCredentialsItem.Cerebras
+ | Vapi.UpdateAssistantDtoCredentialsItem.Cloudflare
+ | Vapi.UpdateAssistantDtoCredentialsItem.CustomLlm
+ | Vapi.UpdateAssistantDtoCredentialsItem.Deepgram
+ | Vapi.UpdateAssistantDtoCredentialsItem.Deepinfra
+ | Vapi.UpdateAssistantDtoCredentialsItem.DeepSeek
+ | Vapi.UpdateAssistantDtoCredentialsItem.Gcp
+ | Vapi.UpdateAssistantDtoCredentialsItem.Gladia
+ | Vapi.UpdateAssistantDtoCredentialsItem.Gohighlevel
+ | Vapi.UpdateAssistantDtoCredentialsItem.Google
+ | Vapi.UpdateAssistantDtoCredentialsItem.Groq
+ | Vapi.UpdateAssistantDtoCredentialsItem.InflectionAi
+ | Vapi.UpdateAssistantDtoCredentialsItem.Langfuse
+ | Vapi.UpdateAssistantDtoCredentialsItem.Lmnt
+ | Vapi.UpdateAssistantDtoCredentialsItem.Make
+ | Vapi.UpdateAssistantDtoCredentialsItem.Openai
+ | Vapi.UpdateAssistantDtoCredentialsItem.Openrouter
+ | Vapi.UpdateAssistantDtoCredentialsItem.PerplexityAi
+ | Vapi.UpdateAssistantDtoCredentialsItem.Playht
+ | Vapi.UpdateAssistantDtoCredentialsItem.RimeAi
+ | Vapi.UpdateAssistantDtoCredentialsItem.Runpod
+ | Vapi.UpdateAssistantDtoCredentialsItem.S3
+ | Vapi.UpdateAssistantDtoCredentialsItem.S3Compatible
+ | Vapi.UpdateAssistantDtoCredentialsItem.Supabase
+ | Vapi.UpdateAssistantDtoCredentialsItem.SmallestAi
+ | Vapi.UpdateAssistantDtoCredentialsItem.Tavus
+ | Vapi.UpdateAssistantDtoCredentialsItem.TogetherAi
+ | Vapi.UpdateAssistantDtoCredentialsItem.Twilio
+ | Vapi.UpdateAssistantDtoCredentialsItem.Vonage
+ | Vapi.UpdateAssistantDtoCredentialsItem.Webhook
+ | Vapi.UpdateAssistantDtoCredentialsItem.CustomCredential
+ | Vapi.UpdateAssistantDtoCredentialsItem.Xai
+ | Vapi.UpdateAssistantDtoCredentialsItem.Microsoft
+ | Vapi.UpdateAssistantDtoCredentialsItem.Neuphonic
+ | Vapi.UpdateAssistantDtoCredentialsItem.Hume
+ | Vapi.UpdateAssistantDtoCredentialsItem.Mistral
+ | Vapi.UpdateAssistantDtoCredentialsItem.Speechmatics
+ | Vapi.UpdateAssistantDtoCredentialsItem.Soniox
+ | Vapi.UpdateAssistantDtoCredentialsItem.GoogleCalendarOauth2Client
+ | Vapi.UpdateAssistantDtoCredentialsItem.GoogleCalendarOauth2Authorization
+ | Vapi.UpdateAssistantDtoCredentialsItem.GoogleSheetsOauth2Authorization
+ | Vapi.UpdateAssistantDtoCredentialsItem.SlackOauth2Authorization
+ | Vapi.UpdateAssistantDtoCredentialsItem.GhlOauth2Authorization
+ | Vapi.UpdateAssistantDtoCredentialsItem.Inworld
+ | Vapi.UpdateAssistantDtoCredentialsItem.Minimax
+ | Vapi.UpdateAssistantDtoCredentialsItem.Wellsaid
+ | Vapi.UpdateAssistantDtoCredentialsItem.Email
+ | Vapi.UpdateAssistantDtoCredentialsItem.SlackWebhook;
}
diff --git a/src/api/resources/assistants/types/UpdateAssistantDtoModel.ts b/src/api/resources/assistants/types/UpdateAssistantDtoModel.ts
index f6306249..a023c495 100644
--- a/src/api/resources/assistants/types/UpdateAssistantDtoModel.ts
+++ b/src/api/resources/assistants/types/UpdateAssistantDtoModel.ts
@@ -21,7 +21,8 @@ export type UpdateAssistantDtoModel =
| Vapi.UpdateAssistantDtoModel.Openrouter
| Vapi.UpdateAssistantDtoModel.PerplexityAi
| Vapi.UpdateAssistantDtoModel.TogetherAi
- | Vapi.UpdateAssistantDtoModel.Xai;
+ | Vapi.UpdateAssistantDtoModel.Xai
+ | Vapi.UpdateAssistantDtoModel.Vapi;
export namespace UpdateAssistantDtoModel {
export interface Anthropic extends Vapi.AnthropicModel {
@@ -87,4 +88,30 @@ export namespace UpdateAssistantDtoModel {
export interface Xai extends Vapi.XaiModel {
provider: "xai";
}
+
+ export interface Vapi extends Vapi.VapiModel {
+ provider: "vapi";
+ }
+
+ /**
+ * These are the options for the assistant's LLM.
+ */
+ export type Response =
+ | Vapi.UpdateAssistantDtoModel.Anthropic
+ | Vapi.UpdateAssistantDtoModel.AnthropicBedrock
+ | Vapi.UpdateAssistantDtoModel.Anyscale
+ | Vapi.UpdateAssistantDtoModel.Cerebras
+ | Vapi.UpdateAssistantDtoModel.CustomLlm
+ | Vapi.UpdateAssistantDtoModel.Deepinfra
+ | Vapi.UpdateAssistantDtoModel.DeepSeek
+ | Vapi.UpdateAssistantDtoModel.Google
+ | Vapi.UpdateAssistantDtoModel.Groq
+ | Vapi.UpdateAssistantDtoModel.InflectionAi
+ | Vapi.UpdateAssistantDtoModel.Minimax
+ | Vapi.UpdateAssistantDtoModel.Openai
+ | Vapi.UpdateAssistantDtoModel.Openrouter
+ | Vapi.UpdateAssistantDtoModel.PerplexityAi
+ | Vapi.UpdateAssistantDtoModel.TogetherAi
+ | Vapi.UpdateAssistantDtoModel.Xai
+ | Vapi.UpdateAssistantDtoModel.Vapi;
}
diff --git a/src/api/resources/assistants/types/UpdateAssistantDtoServerMessagesItem.ts b/src/api/resources/assistants/types/UpdateAssistantDtoServerMessagesItem.ts
index 1af5fefd..8f7de20b 100644
--- a/src/api/resources/assistants/types/UpdateAssistantDtoServerMessagesItem.ts
+++ b/src/api/resources/assistants/types/UpdateAssistantDtoServerMessagesItem.ts
@@ -28,6 +28,7 @@ export const UpdateAssistantDtoServerMessagesItem = {
SessionDeleted: "session.deleted",
CallDeleted: "call.deleted",
CallDeleteFailed: "call.delete.failed",
+ CallArtifactUpload: "call.artifact.upload",
} as const;
export type UpdateAssistantDtoServerMessagesItem =
(typeof UpdateAssistantDtoServerMessagesItem)[keyof typeof UpdateAssistantDtoServerMessagesItem];
diff --git a/src/api/resources/assistants/types/UpdateAssistantDtoTranscriber.ts b/src/api/resources/assistants/types/UpdateAssistantDtoTranscriber.ts
index 58c4fb17..a86f57f5 100644
--- a/src/api/resources/assistants/types/UpdateAssistantDtoTranscriber.ts
+++ b/src/api/resources/assistants/types/UpdateAssistantDtoTranscriber.ts
@@ -17,7 +17,9 @@ export type UpdateAssistantDtoTranscriber =
| Vapi.UpdateAssistantDtoTranscriber.Talkscriber
| Vapi.UpdateAssistantDtoTranscriber.Openai
| Vapi.UpdateAssistantDtoTranscriber.Cartesia
- | Vapi.UpdateAssistantDtoTranscriber.Soniox;
+ | Vapi.UpdateAssistantDtoTranscriber.Soniox
+ | Vapi.UpdateAssistantDtoTranscriber.Xai
+ | Vapi.UpdateAssistantDtoTranscriber.Vapi;
export namespace UpdateAssistantDtoTranscriber {
export interface AssemblyAi extends Vapi.AssemblyAiTranscriber {
@@ -67,4 +69,12 @@ export namespace UpdateAssistantDtoTranscriber {
export interface Soniox extends Vapi.SonioxTranscriber {
provider: "soniox";
}
+
+ export interface Xai extends Vapi.XaiTranscriber {
+ provider: "xai";
+ }
+
+ export interface Vapi extends Vapi.VapiTranscriber {
+ provider: "vapi";
+ }
}
diff --git a/src/api/resources/assistants/types/UpdateAssistantDtoVoice.ts b/src/api/resources/assistants/types/UpdateAssistantDtoVoice.ts
index 9d7f747b..f3250958 100644
--- a/src/api/resources/assistants/types/UpdateAssistantDtoVoice.ts
+++ b/src/api/resources/assistants/types/UpdateAssistantDtoVoice.ts
@@ -23,7 +23,9 @@ export type UpdateAssistantDtoVoice =
| Vapi.UpdateAssistantDtoVoice.Vapi
| Vapi.UpdateAssistantDtoVoice.Sesame
| Vapi.UpdateAssistantDtoVoice.Inworld
- | Vapi.UpdateAssistantDtoVoice.Minimax;
+ | Vapi.UpdateAssistantDtoVoice.Minimax
+ | Vapi.UpdateAssistantDtoVoice.Xai
+ | Vapi.UpdateAssistantDtoVoice.Microsoft;
export namespace UpdateAssistantDtoVoice {
export interface Azure extends Vapi.AzureVoice {
@@ -97,4 +99,12 @@ export namespace UpdateAssistantDtoVoice {
export interface Minimax extends Vapi.MinimaxVoice {
provider: "minimax";
}
+
+ export interface Xai extends Vapi.XaiVoice {
+ provider: "xai";
+ }
+
+ export interface Microsoft extends Vapi.MicrosoftVoice {
+ provider: "microsoft";
+ }
}
diff --git a/src/api/resources/board/client/Client.ts b/src/api/resources/board/client/Client.ts
new file mode 100644
index 00000000..c78c5093
--- /dev/null
+++ b/src/api/resources/board/client/Client.ts
@@ -0,0 +1,404 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js";
+import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js";
+import { mergeHeaders } from "../../../../core/headers.js";
+import * as core from "../../../../core/index.js";
+import * as environments from "../../../../environments.js";
+import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js";
+import * as errors from "../../../../errors/index.js";
+import type * as Vapi from "../../../index.js";
+
+export declare namespace BoardClient {
+ export type Options = BaseClientOptions;
+
+ export interface RequestOptions extends BaseRequestOptions {}
+}
+
+export class BoardClient {
+ protected readonly _options: NormalizedClientOptionsWithAuth;
+
+ constructor(options: BoardClient.Options) {
+ this._options = normalizeClientOptionsWithAuth(options);
+ }
+
+ /**
+ * @param {Vapi.BoardControllerFindAllRequest} request
+ * @param {BoardClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.board.boardControllerFindAll()
+ */
+ public boardControllerFindAll(
+ request: Vapi.BoardControllerFindAllRequest = {},
+ requestOptions?: BoardClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__boardControllerFindAll(request, requestOptions));
+ }
+
+ private async __boardControllerFindAll(
+ request: Vapi.BoardControllerFindAllRequest = {},
+ requestOptions?: BoardClient.RequestOptions,
+ ): Promise> {
+ const {
+ page,
+ sortOrder,
+ sortBy,
+ limit,
+ createdAtGt,
+ createdAtLt,
+ createdAtGe,
+ createdAtLe,
+ updatedAtGt,
+ updatedAtLt,
+ updatedAtGe,
+ updatedAtLe,
+ } = request;
+ const _queryParams: Record = {
+ page,
+ sortOrder: sortOrder != null ? sortOrder : undefined,
+ sortBy: sortBy != null ? sortBy : undefined,
+ limit,
+ createdAtGt: createdAtGt != null ? createdAtGt : undefined,
+ createdAtLt: createdAtLt != null ? createdAtLt : undefined,
+ createdAtGe: createdAtGe != null ? createdAtGe : undefined,
+ createdAtLe: createdAtLe != null ? createdAtLe : undefined,
+ updatedAtGt: updatedAtGt != null ? updatedAtGt : undefined,
+ updatedAtLt: updatedAtLt != null ? updatedAtLt : undefined,
+ updatedAtGe: updatedAtGe != null ? updatedAtGe : undefined,
+ updatedAtLe: updatedAtLe != null ? updatedAtLe : undefined,
+ };
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ "reporting/board",
+ ),
+ method: "GET",
+ headers: _headers,
+ queryParameters: { ..._queryParams, ...requestOptions?.queryParams },
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.BoardPaginatedResponse, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/reporting/board");
+ }
+
+ /**
+ * @param {Vapi.CreateBoardDto} request
+ * @param {BoardClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.board.boardControllerCreate({
+ * name: "name",
+ * layout: {
+ * columns: 1.1
+ * }
+ * })
+ */
+ public boardControllerCreate(
+ request: Vapi.CreateBoardDto,
+ requestOptions?: BoardClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__boardControllerCreate(request, requestOptions));
+ }
+
+ private async __boardControllerCreate(
+ request: Vapi.CreateBoardDto,
+ requestOptions?: BoardClient.RequestOptions,
+ ): Promise> {
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ "reporting/board",
+ ),
+ method: "POST",
+ headers: _headers,
+ contentType: "application/json",
+ queryParameters: requestOptions?.queryParams,
+ requestType: "json",
+ body: request,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.Board, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/reporting/board");
+ }
+
+ /**
+ * @param {BoardClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.board.boardControllerMetricsOverviewEnsure()
+ */
+ public boardControllerMetricsOverviewEnsure(
+ requestOptions?: BoardClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__boardControllerMetricsOverviewEnsure(requestOptions));
+ }
+
+ private async __boardControllerMetricsOverviewEnsure(
+ requestOptions?: BoardClient.RequestOptions,
+ ): Promise> {
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ "reporting/board/default/metrics-overview",
+ ),
+ method: "GET",
+ headers: _headers,
+ queryParameters: requestOptions?.queryParams,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.Board, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(
+ _response.error,
+ _response.rawResponse,
+ "GET",
+ "/reporting/board/default/metrics-overview",
+ );
+ }
+
+ /**
+ * @param {Vapi.BoardControllerFindOneRequest} request
+ * @param {BoardClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.board.boardControllerFindOne({
+ * id: "id"
+ * })
+ */
+ public boardControllerFindOne(
+ request: Vapi.BoardControllerFindOneRequest,
+ requestOptions?: BoardClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__boardControllerFindOne(request, requestOptions));
+ }
+
+ private async __boardControllerFindOne(
+ request: Vapi.BoardControllerFindOneRequest,
+ requestOptions?: BoardClient.RequestOptions,
+ ): Promise> {
+ const { id } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `reporting/board/${core.url.encodePathParam(id)}`,
+ ),
+ method: "GET",
+ headers: _headers,
+ queryParameters: requestOptions?.queryParams,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.Board, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/reporting/board/{id}");
+ }
+
+ /**
+ * @param {Vapi.BoardControllerRemoveRequest} request
+ * @param {BoardClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.board.boardControllerRemove({
+ * id: "id"
+ * })
+ */
+ public boardControllerRemove(
+ request: Vapi.BoardControllerRemoveRequest,
+ requestOptions?: BoardClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__boardControllerRemove(request, requestOptions));
+ }
+
+ private async __boardControllerRemove(
+ request: Vapi.BoardControllerRemoveRequest,
+ requestOptions?: BoardClient.RequestOptions,
+ ): Promise> {
+ const { id } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `reporting/board/${core.url.encodePathParam(id)}`,
+ ),
+ method: "DELETE",
+ headers: _headers,
+ queryParameters: requestOptions?.queryParams,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.Board, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/reporting/board/{id}");
+ }
+
+ /**
+ * @param {Vapi.UpdateBoardDto} request
+ * @param {BoardClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.board.boardControllerUpdate({
+ * id: "id"
+ * })
+ */
+ public boardControllerUpdate(
+ request: Vapi.UpdateBoardDto,
+ requestOptions?: BoardClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__boardControllerUpdate(request, requestOptions));
+ }
+
+ private async __boardControllerUpdate(
+ request: Vapi.UpdateBoardDto,
+ requestOptions?: BoardClient.RequestOptions,
+ ): Promise> {
+ const { id, ..._body } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `reporting/board/${core.url.encodePathParam(id)}`,
+ ),
+ method: "PATCH",
+ headers: _headers,
+ contentType: "application/json",
+ queryParameters: requestOptions?.queryParams,
+ requestType: "json",
+ body: _body,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.Board, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/reporting/board/{id}");
+ }
+}
diff --git a/src/api/resources/board/client/index.ts b/src/api/resources/board/client/index.ts
new file mode 100644
index 00000000..195f9aa8
--- /dev/null
+++ b/src/api/resources/board/client/index.ts
@@ -0,0 +1 @@
+export * from "./requests/index.js";
diff --git a/src/api/resources/board/client/requests/BoardControllerFindAllRequest.ts b/src/api/resources/board/client/requests/BoardControllerFindAllRequest.ts
new file mode 100644
index 00000000..2d3503db
--- /dev/null
+++ b/src/api/resources/board/client/requests/BoardControllerFindAllRequest.ts
@@ -0,0 +1,34 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../../../../index.js";
+
+/**
+ * @example
+ * {}
+ */
+export interface BoardControllerFindAllRequest {
+ /** This is the page number to return. Defaults to 1. */
+ page?: number;
+ /** This is the sort order for pagination. Defaults to 'DESC'. */
+ sortOrder?: Vapi.BoardControllerFindAllRequestSortOrder;
+ /** This is the column to sort by. Defaults to 'createdAt'. */
+ sortBy?: Vapi.BoardControllerFindAllRequestSortBy;
+ /** This is the maximum number of items to return. Defaults to 100. */
+ limit?: number;
+ /** This will return items where the createdAt is greater than the specified value. */
+ createdAtGt?: string;
+ /** This will return items where the createdAt is less than the specified value. */
+ createdAtLt?: string;
+ /** This will return items where the createdAt is greater than or equal to the specified value. */
+ createdAtGe?: string;
+ /** This will return items where the createdAt is less than or equal to the specified value. */
+ createdAtLe?: string;
+ /** This will return items where the updatedAt is greater than the specified value. */
+ updatedAtGt?: string;
+ /** This will return items where the updatedAt is less than the specified value. */
+ updatedAtLt?: string;
+ /** This will return items where the updatedAt is greater than or equal to the specified value. */
+ updatedAtGe?: string;
+ /** This will return items where the updatedAt is less than or equal to the specified value. */
+ updatedAtLe?: string;
+}
diff --git a/src/api/resources/board/client/requests/BoardControllerFindOneRequest.ts b/src/api/resources/board/client/requests/BoardControllerFindOneRequest.ts
new file mode 100644
index 00000000..d7861c49
--- /dev/null
+++ b/src/api/resources/board/client/requests/BoardControllerFindOneRequest.ts
@@ -0,0 +1,12 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
+export interface BoardControllerFindOneRequest {
+ /** The unique identifier for the resource. */
+ id: string;
+}
diff --git a/src/api/resources/board/client/requests/BoardControllerRemoveRequest.ts b/src/api/resources/board/client/requests/BoardControllerRemoveRequest.ts
new file mode 100644
index 00000000..3d08d8d0
--- /dev/null
+++ b/src/api/resources/board/client/requests/BoardControllerRemoveRequest.ts
@@ -0,0 +1,12 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
+export interface BoardControllerRemoveRequest {
+ /** The unique identifier for the resource. */
+ id: string;
+}
diff --git a/src/api/resources/board/client/requests/CreateBoardDto.ts b/src/api/resources/board/client/requests/CreateBoardDto.ts
new file mode 100644
index 00000000..5ab1f598
--- /dev/null
+++ b/src/api/resources/board/client/requests/CreateBoardDto.ts
@@ -0,0 +1,27 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../../../../index.js";
+
+/**
+ * @example
+ * {
+ * name: "name",
+ * layout: {
+ * columns: 1.1
+ * }
+ * }
+ */
+export interface CreateBoardDto {
+ /** This is the contents of the Board, which is an array of objects defining the type, contents, and position of the widgets on the Board. */
+ items?: Vapi.CreateBoardDtoItemsItem[];
+ /** This is the name of the Board. */
+ name: string;
+ /** This is the layout of the Board. */
+ layout: Vapi.BoardLayout;
+ /**
+ * This is the timerange override for the board.
+ * By default, individual insights have their own timerange.
+ * This is a global override for the board which will be passed to all insights on the board.
+ */
+ timeRangeOverride?: Vapi.InsightTimeRangeWithStep;
+}
diff --git a/src/api/resources/board/client/requests/UpdateBoardDto.ts b/src/api/resources/board/client/requests/UpdateBoardDto.ts
new file mode 100644
index 00000000..79989395
--- /dev/null
+++ b/src/api/resources/board/client/requests/UpdateBoardDto.ts
@@ -0,0 +1,26 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../../../../index.js";
+
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
+export interface UpdateBoardDto {
+ /** The unique identifier for the resource. */
+ id: string;
+ /** This is the contents of the Board, which is an array of objects defining the type, contents, and position of the widgets on the Board. */
+ items?: Vapi.UpdateBoardDtoItemsItem[];
+ /** This is the name of the Board. */
+ name?: string;
+ /** This is the layout of the Board. */
+ layout?: Vapi.BoardLayout;
+ /**
+ * This is the timerange override for the board.
+ * By default, individual insights have their own timerange.
+ * This is a global override for the board which will be passed to all insights on the board.
+ */
+ timeRangeOverride?: Vapi.InsightTimeRangeWithStep;
+}
diff --git a/src/api/resources/board/client/requests/index.ts b/src/api/resources/board/client/requests/index.ts
new file mode 100644
index 00000000..401911f7
--- /dev/null
+++ b/src/api/resources/board/client/requests/index.ts
@@ -0,0 +1,5 @@
+export type { BoardControllerFindAllRequest } from "./BoardControllerFindAllRequest.js";
+export type { BoardControllerFindOneRequest } from "./BoardControllerFindOneRequest.js";
+export type { BoardControllerRemoveRequest } from "./BoardControllerRemoveRequest.js";
+export type { CreateBoardDto } from "./CreateBoardDto.js";
+export type { UpdateBoardDto } from "./UpdateBoardDto.js";
diff --git a/src/api/resources/board/exports.ts b/src/api/resources/board/exports.ts
new file mode 100644
index 00000000..8ed48bcb
--- /dev/null
+++ b/src/api/resources/board/exports.ts
@@ -0,0 +1,4 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export { BoardClient } from "./client/Client.js";
+export * from "./client/index.js";
diff --git a/src/api/resources/board/index.ts b/src/api/resources/board/index.ts
new file mode 100644
index 00000000..d9adb1af
--- /dev/null
+++ b/src/api/resources/board/index.ts
@@ -0,0 +1,2 @@
+export * from "./client/index.js";
+export * from "./types/index.js";
diff --git a/src/api/resources/board/types/BoardControllerFindAllRequestSortBy.ts b/src/api/resources/board/types/BoardControllerFindAllRequestSortBy.ts
new file mode 100644
index 00000000..543acc96
--- /dev/null
+++ b/src/api/resources/board/types/BoardControllerFindAllRequestSortBy.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const BoardControllerFindAllRequestSortBy = {
+ CreatedAt: "createdAt",
+ Duration: "duration",
+ Cost: "cost",
+} as const;
+export type BoardControllerFindAllRequestSortBy =
+ (typeof BoardControllerFindAllRequestSortBy)[keyof typeof BoardControllerFindAllRequestSortBy];
diff --git a/src/api/resources/board/types/BoardControllerFindAllRequestSortOrder.ts b/src/api/resources/board/types/BoardControllerFindAllRequestSortOrder.ts
new file mode 100644
index 00000000..e785dbe3
--- /dev/null
+++ b/src/api/resources/board/types/BoardControllerFindAllRequestSortOrder.ts
@@ -0,0 +1,8 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const BoardControllerFindAllRequestSortOrder = {
+ Asc: "ASC",
+ Desc: "DESC",
+} as const;
+export type BoardControllerFindAllRequestSortOrder =
+ (typeof BoardControllerFindAllRequestSortOrder)[keyof typeof BoardControllerFindAllRequestSortOrder];
diff --git a/src/api/resources/board/types/CreateBoardDtoItemsItem.ts b/src/api/resources/board/types/CreateBoardDtoItemsItem.ts
new file mode 100644
index 00000000..fae8869c
--- /dev/null
+++ b/src/api/resources/board/types/CreateBoardDtoItemsItem.ts
@@ -0,0 +1,5 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../../../index.js";
+
+export type CreateBoardDtoItemsItem = Vapi.BoardInsightItem | Vapi.BoardMetricWidgetItem;
diff --git a/src/api/resources/board/types/UpdateBoardDtoItemsItem.ts b/src/api/resources/board/types/UpdateBoardDtoItemsItem.ts
new file mode 100644
index 00000000..2617de53
--- /dev/null
+++ b/src/api/resources/board/types/UpdateBoardDtoItemsItem.ts
@@ -0,0 +1,5 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../../../index.js";
+
+export type UpdateBoardDtoItemsItem = Vapi.BoardInsightItem | Vapi.BoardMetricWidgetItem;
diff --git a/src/api/resources/board/types/index.ts b/src/api/resources/board/types/index.ts
new file mode 100644
index 00000000..2a7d4145
--- /dev/null
+++ b/src/api/resources/board/types/index.ts
@@ -0,0 +1,4 @@
+export * from "./BoardControllerFindAllRequestSortBy.js";
+export * from "./BoardControllerFindAllRequestSortOrder.js";
+export * from "./CreateBoardDtoItemsItem.js";
+export * from "./UpdateBoardDtoItemsItem.js";
diff --git a/src/api/resources/calls/client/Client.ts b/src/api/resources/calls/client/Client.ts
index 6c591af2..40f75782 100644
--- a/src/api/resources/calls/client/Client.ts
+++ b/src/api/resources/calls/client/Client.ts
@@ -7,7 +7,7 @@ import * as core from "../../../../core/index.js";
import * as environments from "../../../../environments.js";
import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js";
import * as errors from "../../../../errors/index.js";
-import type * as Vapi from "../../../index.js";
+import * as Vapi from "../../../index.js";
export declare namespace CallsClient {
export type Options = BaseClientOptions;
@@ -23,6 +23,8 @@ export class CallsClient {
}
/**
+ * Returns calls for the authenticated organization. Filter results by call ID, assistant ID, phone number ID, or creation and update timestamps.
+ *
* @param {Vapi.ListCallsRequest} request
* @param {CallsClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -106,9 +108,14 @@ export class CallsClient {
}
/**
+ * Creates a call using an assistant or squad. The request can reference saved resources or include transient configurations.
+ *
* @param {Vapi.CreateCallDto} request
* @param {CallsClient.RequestOptions} requestOptions - Request-specific configuration.
*
+ * @throws {@link Vapi.BadRequestError}
+ * @throws {@link Vapi.InternalServerError}
+ *
* @example
* await client.calls.create()
*/
@@ -153,17 +160,26 @@ export class CallsClient {
}
if (_response.error.reason === "status-code") {
- throw new errors.VapiError({
- statusCode: _response.error.statusCode,
- body: _response.error.body,
- rawResponse: _response.rawResponse,
- });
+ switch (_response.error.statusCode) {
+ case 400:
+ throw new Vapi.BadRequestError(_response.error.body as unknown, _response.rawResponse);
+ case 500:
+ throw new Vapi.InternalServerError(_response.error.body as unknown, _response.rawResponse);
+ default:
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
}
return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/call");
}
/**
+ * Returns the call identified by its ID, including its status, configuration, and available call data.
+ *
* @param {Vapi.GetCallsRequest} request
* @param {CallsClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -222,9 +238,13 @@ export class CallsClient {
}
/**
+ * Deletes the call identified by its ID.
+ *
* @param {Vapi.DeleteCallDto} request
* @param {CallsClient.RequestOptions} requestOptions - Request-specific configuration.
*
+ * @throws {@link Vapi.ServiceUnavailableError}
+ *
* @example
* await client.calls.delete({
* id: "id"
@@ -272,17 +292,24 @@ export class CallsClient {
}
if (_response.error.reason === "status-code") {
- throw new errors.VapiError({
- statusCode: _response.error.statusCode,
- body: _response.error.body,
- rawResponse: _response.rawResponse,
- });
+ switch (_response.error.statusCode) {
+ case 503:
+ throw new Vapi.ServiceUnavailableError(_response.error.body as unknown, _response.rawResponse);
+ default:
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
}
return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/call/{id}");
}
/**
+ * Updates the call identified by its ID.
+ *
* @param {Vapi.UpdateCallDto} request
* @param {CallsClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -342,4 +369,497 @@ export class CallsClient {
return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/call/{id}");
}
+
+ /**
+ * @param {Vapi.CallArtifactControllerMonoRecordingDownloadRequest} request
+ * @param {CallsClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @throws {@link Vapi.UnauthorizedError}
+ * @throws {@link Vapi.NotFoundError}
+ *
+ * @example
+ * await client.calls.callArtifactControllerMonoRecordingDownload({
+ * id: "id"
+ * })
+ */
+ public callArtifactControllerMonoRecordingDownload(
+ request: Vapi.CallArtifactControllerMonoRecordingDownloadRequest,
+ requestOptions?: CallsClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(
+ this.__callArtifactControllerMonoRecordingDownload(request, requestOptions),
+ );
+ }
+
+ private async __callArtifactControllerMonoRecordingDownload(
+ request: Vapi.CallArtifactControllerMonoRecordingDownloadRequest,
+ requestOptions?: CallsClient.RequestOptions,
+ ): Promise> {
+ const { id } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `call/${core.url.encodePathParam(id)}/mono-recording`,
+ ),
+ method: "GET",
+ headers: _headers,
+ queryParameters: requestOptions?.queryParams,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: undefined, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ switch (_response.error.statusCode) {
+ case 401:
+ throw new Vapi.UnauthorizedError(_response.error.body as unknown, _response.rawResponse);
+ case 404:
+ throw new Vapi.NotFoundError(_response.error.body as unknown, _response.rawResponse);
+ default:
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/call/{id}/mono-recording");
+ }
+
+ /**
+ * @param {Vapi.CallArtifactControllerStereoRecordingDownloadRequest} request
+ * @param {CallsClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @throws {@link Vapi.UnauthorizedError}
+ * @throws {@link Vapi.NotFoundError}
+ *
+ * @example
+ * await client.calls.callArtifactControllerStereoRecordingDownload({
+ * id: "id"
+ * })
+ */
+ public callArtifactControllerStereoRecordingDownload(
+ request: Vapi.CallArtifactControllerStereoRecordingDownloadRequest,
+ requestOptions?: CallsClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(
+ this.__callArtifactControllerStereoRecordingDownload(request, requestOptions),
+ );
+ }
+
+ private async __callArtifactControllerStereoRecordingDownload(
+ request: Vapi.CallArtifactControllerStereoRecordingDownloadRequest,
+ requestOptions?: CallsClient.RequestOptions,
+ ): Promise> {
+ const { id } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `call/${core.url.encodePathParam(id)}/stereo-recording`,
+ ),
+ method: "GET",
+ headers: _headers,
+ queryParameters: requestOptions?.queryParams,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: undefined, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ switch (_response.error.statusCode) {
+ case 401:
+ throw new Vapi.UnauthorizedError(_response.error.body as unknown, _response.rawResponse);
+ case 404:
+ throw new Vapi.NotFoundError(_response.error.body as unknown, _response.rawResponse);
+ default:
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/call/{id}/stereo-recording");
+ }
+
+ /**
+ * @param {Vapi.CallArtifactControllerVideoRecordingDownloadRequest} request
+ * @param {CallsClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @throws {@link Vapi.UnauthorizedError}
+ * @throws {@link Vapi.NotFoundError}
+ *
+ * @example
+ * await client.calls.callArtifactControllerVideoRecordingDownload({
+ * id: "id"
+ * })
+ */
+ public callArtifactControllerVideoRecordingDownload(
+ request: Vapi.CallArtifactControllerVideoRecordingDownloadRequest,
+ requestOptions?: CallsClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(
+ this.__callArtifactControllerVideoRecordingDownload(request, requestOptions),
+ );
+ }
+
+ private async __callArtifactControllerVideoRecordingDownload(
+ request: Vapi.CallArtifactControllerVideoRecordingDownloadRequest,
+ requestOptions?: CallsClient.RequestOptions,
+ ): Promise> {
+ const { id } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `call/${core.url.encodePathParam(id)}/video-recording`,
+ ),
+ method: "GET",
+ headers: _headers,
+ queryParameters: requestOptions?.queryParams,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: undefined, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ switch (_response.error.statusCode) {
+ case 401:
+ throw new Vapi.UnauthorizedError(_response.error.body as unknown, _response.rawResponse);
+ case 404:
+ throw new Vapi.NotFoundError(_response.error.body as unknown, _response.rawResponse);
+ default:
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/call/{id}/video-recording");
+ }
+
+ /**
+ * @param {Vapi.CallArtifactControllerCustomerRecordingDownloadRequest} request
+ * @param {CallsClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @throws {@link Vapi.UnauthorizedError}
+ * @throws {@link Vapi.NotFoundError}
+ *
+ * @example
+ * await client.calls.callArtifactControllerCustomerRecordingDownload({
+ * id: "id"
+ * })
+ */
+ public callArtifactControllerCustomerRecordingDownload(
+ request: Vapi.CallArtifactControllerCustomerRecordingDownloadRequest,
+ requestOptions?: CallsClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(
+ this.__callArtifactControllerCustomerRecordingDownload(request, requestOptions),
+ );
+ }
+
+ private async __callArtifactControllerCustomerRecordingDownload(
+ request: Vapi.CallArtifactControllerCustomerRecordingDownloadRequest,
+ requestOptions?: CallsClient.RequestOptions,
+ ): Promise> {
+ const { id } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `call/${core.url.encodePathParam(id)}/customer-recording`,
+ ),
+ method: "GET",
+ headers: _headers,
+ queryParameters: requestOptions?.queryParams,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: undefined, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ switch (_response.error.statusCode) {
+ case 401:
+ throw new Vapi.UnauthorizedError(_response.error.body as unknown, _response.rawResponse);
+ case 404:
+ throw new Vapi.NotFoundError(_response.error.body as unknown, _response.rawResponse);
+ default:
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/call/{id}/customer-recording");
+ }
+
+ /**
+ * @param {Vapi.CallArtifactControllerAssistantRecordingDownloadRequest} request
+ * @param {CallsClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @throws {@link Vapi.UnauthorizedError}
+ * @throws {@link Vapi.NotFoundError}
+ *
+ * @example
+ * await client.calls.callArtifactControllerAssistantRecordingDownload({
+ * id: "id"
+ * })
+ */
+ public callArtifactControllerAssistantRecordingDownload(
+ request: Vapi.CallArtifactControllerAssistantRecordingDownloadRequest,
+ requestOptions?: CallsClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(
+ this.__callArtifactControllerAssistantRecordingDownload(request, requestOptions),
+ );
+ }
+
+ private async __callArtifactControllerAssistantRecordingDownload(
+ request: Vapi.CallArtifactControllerAssistantRecordingDownloadRequest,
+ requestOptions?: CallsClient.RequestOptions,
+ ): Promise> {
+ const { id } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `call/${core.url.encodePathParam(id)}/assistant-recording`,
+ ),
+ method: "GET",
+ headers: _headers,
+ queryParameters: requestOptions?.queryParams,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: undefined, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ switch (_response.error.statusCode) {
+ case 401:
+ throw new Vapi.UnauthorizedError(_response.error.body as unknown, _response.rawResponse);
+ case 404:
+ throw new Vapi.NotFoundError(_response.error.body as unknown, _response.rawResponse);
+ default:
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+ }
+
+ return handleNonStatusCodeError(
+ _response.error,
+ _response.rawResponse,
+ "GET",
+ "/call/{id}/assistant-recording",
+ );
+ }
+
+ /**
+ * @param {Vapi.CallArtifactControllerPcapDownloadRequest} request
+ * @param {CallsClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @throws {@link Vapi.UnauthorizedError}
+ * @throws {@link Vapi.NotFoundError}
+ *
+ * @example
+ * await client.calls.callArtifactControllerPcapDownload({
+ * id: "id"
+ * })
+ */
+ public callArtifactControllerPcapDownload(
+ request: Vapi.CallArtifactControllerPcapDownloadRequest,
+ requestOptions?: CallsClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__callArtifactControllerPcapDownload(request, requestOptions));
+ }
+
+ private async __callArtifactControllerPcapDownload(
+ request: Vapi.CallArtifactControllerPcapDownloadRequest,
+ requestOptions?: CallsClient.RequestOptions,
+ ): Promise> {
+ const { id } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `call/${core.url.encodePathParam(id)}/pcap`,
+ ),
+ method: "GET",
+ headers: _headers,
+ queryParameters: requestOptions?.queryParams,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: undefined, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ switch (_response.error.statusCode) {
+ case 401:
+ throw new Vapi.UnauthorizedError(_response.error.body as unknown, _response.rawResponse);
+ case 404:
+ throw new Vapi.NotFoundError(_response.error.body as unknown, _response.rawResponse);
+ default:
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/call/{id}/pcap");
+ }
+
+ /**
+ * @param {Vapi.CallArtifactControllerCallLogsDownloadRequest} request
+ * @param {CallsClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @throws {@link Vapi.UnauthorizedError}
+ * @throws {@link Vapi.NotFoundError}
+ *
+ * @example
+ * await client.calls.callArtifactControllerCallLogsDownload({
+ * id: "id"
+ * })
+ */
+ public callArtifactControllerCallLogsDownload(
+ request: Vapi.CallArtifactControllerCallLogsDownloadRequest,
+ requestOptions?: CallsClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(
+ this.__callArtifactControllerCallLogsDownload(request, requestOptions),
+ );
+ }
+
+ private async __callArtifactControllerCallLogsDownload(
+ request: Vapi.CallArtifactControllerCallLogsDownloadRequest,
+ requestOptions?: CallsClient.RequestOptions,
+ ): Promise> {
+ const { id } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `call/${core.url.encodePathParam(id)}/call-logs`,
+ ),
+ method: "GET",
+ headers: _headers,
+ queryParameters: requestOptions?.queryParams,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: undefined, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ switch (_response.error.statusCode) {
+ case 401:
+ throw new Vapi.UnauthorizedError(_response.error.body as unknown, _response.rawResponse);
+ case 404:
+ throw new Vapi.NotFoundError(_response.error.body as unknown, _response.rawResponse);
+ default:
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/call/{id}/call-logs");
+ }
}
diff --git a/src/api/resources/calls/client/requests/CallArtifactControllerAssistantRecordingDownloadRequest.ts b/src/api/resources/calls/client/requests/CallArtifactControllerAssistantRecordingDownloadRequest.ts
new file mode 100644
index 00000000..84ac164e
--- /dev/null
+++ b/src/api/resources/calls/client/requests/CallArtifactControllerAssistantRecordingDownloadRequest.ts
@@ -0,0 +1,12 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
+export interface CallArtifactControllerAssistantRecordingDownloadRequest {
+ /** Call ID */
+ id: string;
+}
diff --git a/src/api/resources/calls/client/requests/CallArtifactControllerCallLogsDownloadRequest.ts b/src/api/resources/calls/client/requests/CallArtifactControllerCallLogsDownloadRequest.ts
new file mode 100644
index 00000000..02527d6a
--- /dev/null
+++ b/src/api/resources/calls/client/requests/CallArtifactControllerCallLogsDownloadRequest.ts
@@ -0,0 +1,12 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
+export interface CallArtifactControllerCallLogsDownloadRequest {
+ /** Call ID */
+ id: string;
+}
diff --git a/src/api/resources/calls/client/requests/CallArtifactControllerCustomerRecordingDownloadRequest.ts b/src/api/resources/calls/client/requests/CallArtifactControllerCustomerRecordingDownloadRequest.ts
new file mode 100644
index 00000000..26e03bf6
--- /dev/null
+++ b/src/api/resources/calls/client/requests/CallArtifactControllerCustomerRecordingDownloadRequest.ts
@@ -0,0 +1,12 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
+export interface CallArtifactControllerCustomerRecordingDownloadRequest {
+ /** Call ID */
+ id: string;
+}
diff --git a/src/api/resources/calls/client/requests/CallArtifactControllerMonoRecordingDownloadRequest.ts b/src/api/resources/calls/client/requests/CallArtifactControllerMonoRecordingDownloadRequest.ts
new file mode 100644
index 00000000..a294d3ea
--- /dev/null
+++ b/src/api/resources/calls/client/requests/CallArtifactControllerMonoRecordingDownloadRequest.ts
@@ -0,0 +1,12 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
+export interface CallArtifactControllerMonoRecordingDownloadRequest {
+ /** Call ID */
+ id: string;
+}
diff --git a/src/api/resources/calls/client/requests/CallArtifactControllerPcapDownloadRequest.ts b/src/api/resources/calls/client/requests/CallArtifactControllerPcapDownloadRequest.ts
new file mode 100644
index 00000000..952937b9
--- /dev/null
+++ b/src/api/resources/calls/client/requests/CallArtifactControllerPcapDownloadRequest.ts
@@ -0,0 +1,12 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
+export interface CallArtifactControllerPcapDownloadRequest {
+ /** Call ID */
+ id: string;
+}
diff --git a/src/api/resources/calls/client/requests/CallArtifactControllerStereoRecordingDownloadRequest.ts b/src/api/resources/calls/client/requests/CallArtifactControllerStereoRecordingDownloadRequest.ts
new file mode 100644
index 00000000..e4544c25
--- /dev/null
+++ b/src/api/resources/calls/client/requests/CallArtifactControllerStereoRecordingDownloadRequest.ts
@@ -0,0 +1,12 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
+export interface CallArtifactControllerStereoRecordingDownloadRequest {
+ /** Call ID */
+ id: string;
+}
diff --git a/src/api/resources/calls/client/requests/CallArtifactControllerVideoRecordingDownloadRequest.ts b/src/api/resources/calls/client/requests/CallArtifactControllerVideoRecordingDownloadRequest.ts
new file mode 100644
index 00000000..7063605e
--- /dev/null
+++ b/src/api/resources/calls/client/requests/CallArtifactControllerVideoRecordingDownloadRequest.ts
@@ -0,0 +1,12 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
+export interface CallArtifactControllerVideoRecordingDownloadRequest {
+ /** Call ID */
+ id: string;
+}
diff --git a/src/api/resources/calls/client/requests/CreateCallDto.ts b/src/api/resources/calls/client/requests/CreateCallDto.ts
index 46439628..1c79fa87 100644
--- a/src/api/resources/calls/client/requests/CreateCallDto.ts
+++ b/src/api/resources/calls/client/requests/CreateCallDto.ts
@@ -7,6 +7,13 @@ import type * as Vapi from "../../../../index.js";
* {}
*/
export interface CreateCallDto {
+ /**
+ * This is the assistant version to use for this call. Supported only with
+ * direct `assistantId`. Omit to follow the latest version.
+ */
+ assistantVersion?: string | null;
+ /** This is the transport of the call. */
+ transport?: Vapi.CreateCallDtoTransport;
/**
* This is used to issue batch calls to multiple customers.
*
@@ -17,8 +24,6 @@ export interface CreateCallDto {
name?: string;
/** This is the schedule plan of the call. */
schedulePlan?: Vapi.SchedulePlan;
- /** This is the transport of the call. */
- transport?: Record;
/**
* This is the assistant ID that will be used for the call. To use a transient assistant, use `assistant` instead.
*
diff --git a/src/api/resources/calls/client/requests/GetCallsRequest.ts b/src/api/resources/calls/client/requests/GetCallsRequest.ts
index 50edfeaa..0c4d1b1a 100644
--- a/src/api/resources/calls/client/requests/GetCallsRequest.ts
+++ b/src/api/resources/calls/client/requests/GetCallsRequest.ts
@@ -7,5 +7,6 @@
* }
*/
export interface GetCallsRequest {
+ /** The unique identifier of the call. */
id: string;
}
diff --git a/src/api/resources/calls/client/requests/UpdateCallDto.ts b/src/api/resources/calls/client/requests/UpdateCallDto.ts
index 781fdeb6..1f68081a 100644
--- a/src/api/resources/calls/client/requests/UpdateCallDto.ts
+++ b/src/api/resources/calls/client/requests/UpdateCallDto.ts
@@ -7,6 +7,7 @@
* }
*/
export interface UpdateCallDto {
+ /** The unique identifier of the call. */
id: string;
/** This is the name of the call. This is just for your own reference. */
name?: string;
diff --git a/src/api/resources/calls/client/requests/index.ts b/src/api/resources/calls/client/requests/index.ts
index 50576a97..e43a62e4 100644
--- a/src/api/resources/calls/client/requests/index.ts
+++ b/src/api/resources/calls/client/requests/index.ts
@@ -1,3 +1,10 @@
+export type { CallArtifactControllerAssistantRecordingDownloadRequest } from "./CallArtifactControllerAssistantRecordingDownloadRequest.js";
+export type { CallArtifactControllerCallLogsDownloadRequest } from "./CallArtifactControllerCallLogsDownloadRequest.js";
+export type { CallArtifactControllerCustomerRecordingDownloadRequest } from "./CallArtifactControllerCustomerRecordingDownloadRequest.js";
+export type { CallArtifactControllerMonoRecordingDownloadRequest } from "./CallArtifactControllerMonoRecordingDownloadRequest.js";
+export type { CallArtifactControllerPcapDownloadRequest } from "./CallArtifactControllerPcapDownloadRequest.js";
+export type { CallArtifactControllerStereoRecordingDownloadRequest } from "./CallArtifactControllerStereoRecordingDownloadRequest.js";
+export type { CallArtifactControllerVideoRecordingDownloadRequest } from "./CallArtifactControllerVideoRecordingDownloadRequest.js";
export type { CreateCallDto } from "./CreateCallDto.js";
export type { DeleteCallDto } from "./DeleteCallDto.js";
export type { GetCallsRequest } from "./GetCallsRequest.js";
diff --git a/src/api/resources/calls/types/CreateCallDtoTransport.ts b/src/api/resources/calls/types/CreateCallDtoTransport.ts
new file mode 100644
index 00000000..5aff6e9c
--- /dev/null
+++ b/src/api/resources/calls/types/CreateCallDtoTransport.ts
@@ -0,0 +1,40 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../../../index.js";
+
+/**
+ * This is the transport of the call.
+ */
+export type CreateCallDtoTransport =
+ | Vapi.CreateCallDtoTransport.VapiWebsocket
+ | Vapi.CreateCallDtoTransport.Vonage
+ | Vapi.CreateCallDtoTransport.Twilio
+ | Vapi.CreateCallDtoTransport.VapiSip
+ | Vapi.CreateCallDtoTransport.Telnyx
+ | Vapi.CreateCallDtoTransport.Daily;
+
+export namespace CreateCallDtoTransport {
+ export interface VapiWebsocket extends Vapi.VapiWebsocketTransport {
+ provider: "vapi.websocket";
+ }
+
+ export interface Vonage extends Vapi.VonageTransport {
+ provider: "vonage";
+ }
+
+ export interface Twilio extends Vapi.TwilioTransport {
+ provider: "twilio";
+ }
+
+ export interface VapiSip extends Vapi.VapiSipTransport {
+ provider: "vapi.sip";
+ }
+
+ export interface Telnyx extends Vapi.TelnyxTransport {
+ provider: "telnyx";
+ }
+
+ export interface Daily extends Vapi.VapiWebCallTransport {
+ provider: "daily";
+ }
+}
diff --git a/src/api/resources/calls/types/index.ts b/src/api/resources/calls/types/index.ts
index 793a3d75..ace0d2a9 100644
--- a/src/api/resources/calls/types/index.ts
+++ b/src/api/resources/calls/types/index.ts
@@ -1 +1,2 @@
+export * from "./CreateCallDtoTransport.js";
export * from "./CreateCallsResponse.js";
diff --git a/src/api/resources/campaigns/client/Client.ts b/src/api/resources/campaigns/client/Client.ts
index a1306e38..45d04fc8 100644
--- a/src/api/resources/campaigns/client/Client.ts
+++ b/src/api/resources/campaigns/client/Client.ts
@@ -23,6 +23,8 @@ export class CampaignsClient {
}
/**
+ * Returns outbound calling campaigns for the authenticated organization. Filter results by campaign ID, status, or creation and update timestamps.
+ *
* @param {Vapi.CampaignControllerFindAllRequest} request
* @param {CampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -45,6 +47,7 @@ export class CampaignsClient {
status,
page,
sortOrder,
+ sortBy,
limit,
createdAtGt,
createdAtLt,
@@ -60,6 +63,7 @@ export class CampaignsClient {
status: status != null ? status : undefined,
page,
sortOrder: sortOrder != null ? sortOrder : undefined,
+ sortBy: sortBy != null ? sortBy : undefined,
limit,
createdAtGt: createdAtGt != null ? createdAtGt : undefined,
createdAtLt: createdAtLt != null ? createdAtLt : undefined,
@@ -108,6 +112,8 @@ export class CampaignsClient {
}
/**
+ * Creates an outbound calling campaign that calls a set of customers.
+ *
* @param {Vapi.CreateCampaignDto} request
* @param {CampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -168,6 +174,341 @@ export class CampaignsClient {
}
/**
+ * @param {Vapi.CampaignControllerFindAllV2Request} request
+ * @param {CampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.campaigns.campaignControllerFindAllV2()
+ */
+ public campaignControllerFindAllV2(
+ request: Vapi.CampaignControllerFindAllV2Request = {},
+ requestOptions?: CampaignsClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__campaignControllerFindAllV2(request, requestOptions));
+ }
+
+ private async __campaignControllerFindAllV2(
+ request: Vapi.CampaignControllerFindAllV2Request = {},
+ requestOptions?: CampaignsClient.RequestOptions,
+ ): Promise> {
+ const {
+ id,
+ status,
+ includeCounters,
+ page,
+ sortOrder,
+ sortBy,
+ limit,
+ createdAtGt,
+ createdAtLt,
+ createdAtGe,
+ createdAtLe,
+ updatedAtGt,
+ updatedAtLt,
+ updatedAtGe,
+ updatedAtLe,
+ } = request;
+ const _queryParams: Record = {
+ id,
+ status: status != null ? status : undefined,
+ includeCounters,
+ page,
+ sortOrder: sortOrder != null ? sortOrder : undefined,
+ sortBy: sortBy != null ? sortBy : undefined,
+ limit,
+ createdAtGt: createdAtGt != null ? createdAtGt : undefined,
+ createdAtLt: createdAtLt != null ? createdAtLt : undefined,
+ createdAtGe: createdAtGe != null ? createdAtGe : undefined,
+ createdAtLe: createdAtLe != null ? createdAtLe : undefined,
+ updatedAtGt: updatedAtGt != null ? updatedAtGt : undefined,
+ updatedAtLt: updatedAtLt != null ? updatedAtLt : undefined,
+ updatedAtGe: updatedAtGe != null ? updatedAtGe : undefined,
+ updatedAtLe: updatedAtLe != null ? updatedAtLe : undefined,
+ };
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ "v2/campaign",
+ ),
+ method: "GET",
+ headers: _headers,
+ queryParameters: { ..._queryParams, ...requestOptions?.queryParams },
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return {
+ data: _response.body as Vapi.CampaignSummaryPaginatedResponse,
+ rawResponse: _response.rawResponse,
+ };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/campaign");
+ }
+
+ /**
+ * @param {Vapi.CreateCampaignDto} request
+ * @param {CampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.campaigns.campaignControllerCreateV2({
+ * name: "Q2 Sales Campaign"
+ * })
+ */
+ public campaignControllerCreateV2(
+ request: Vapi.CreateCampaignDto,
+ requestOptions?: CampaignsClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__campaignControllerCreateV2(request, requestOptions));
+ }
+
+ private async __campaignControllerCreateV2(
+ request: Vapi.CreateCampaignDto,
+ requestOptions?: CampaignsClient.RequestOptions,
+ ): Promise> {
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ "v2/campaign",
+ ),
+ method: "POST",
+ headers: _headers,
+ contentType: "application/json",
+ queryParameters: requestOptions?.queryParams,
+ requestType: "json",
+ body: request,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.Campaign, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/campaign");
+ }
+
+ /**
+ * @param {Vapi.CampaignControllerFindOneV2Request} request
+ * @param {CampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.campaigns.campaignControllerFindOneV2({
+ * id: "id"
+ * })
+ */
+ public campaignControllerFindOneV2(
+ request: Vapi.CampaignControllerFindOneV2Request,
+ requestOptions?: CampaignsClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__campaignControllerFindOneV2(request, requestOptions));
+ }
+
+ private async __campaignControllerFindOneV2(
+ request: Vapi.CampaignControllerFindOneV2Request,
+ requestOptions?: CampaignsClient.RequestOptions,
+ ): Promise> {
+ const { id, includeCounters } = request;
+ const _queryParams: Record = {
+ includeCounters,
+ };
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `v2/campaign/${core.url.encodePathParam(id)}`,
+ ),
+ method: "GET",
+ headers: _headers,
+ queryParameters: { ..._queryParams, ...requestOptions?.queryParams },
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.CampaignSummary, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/campaign/{id}");
+ }
+
+ /**
+ * @param {Vapi.CampaignControllerRemoveV2Request} request
+ * @param {CampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.campaigns.campaignControllerRemoveV2({
+ * id: "id"
+ * })
+ */
+ public campaignControllerRemoveV2(
+ request: Vapi.CampaignControllerRemoveV2Request,
+ requestOptions?: CampaignsClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__campaignControllerRemoveV2(request, requestOptions));
+ }
+
+ private async __campaignControllerRemoveV2(
+ request: Vapi.CampaignControllerRemoveV2Request,
+ requestOptions?: CampaignsClient.RequestOptions,
+ ): Promise> {
+ const { id } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `v2/campaign/${core.url.encodePathParam(id)}`,
+ ),
+ method: "DELETE",
+ headers: _headers,
+ queryParameters: requestOptions?.queryParams,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.Campaign, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/v2/campaign/{id}");
+ }
+
+ /**
+ * @param {Vapi.CampaignControllerUpdateV2Request} request
+ * @param {CampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.campaigns.campaignControllerUpdateV2({
+ * id: "id",
+ * body: {}
+ * })
+ */
+ public campaignControllerUpdateV2(
+ request: Vapi.CampaignControllerUpdateV2Request,
+ requestOptions?: CampaignsClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__campaignControllerUpdateV2(request, requestOptions));
+ }
+
+ private async __campaignControllerUpdateV2(
+ request: Vapi.CampaignControllerUpdateV2Request,
+ requestOptions?: CampaignsClient.RequestOptions,
+ ): Promise> {
+ const { id, body: _body } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `v2/campaign/${core.url.encodePathParam(id)}`,
+ ),
+ method: "PATCH",
+ headers: _headers,
+ contentType: "application/json",
+ queryParameters: requestOptions?.queryParams,
+ requestType: "json",
+ body: _body,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.Campaign, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/v2/campaign/{id}");
+ }
+
+ /**
+ * Returns the outbound calling campaign identified by its ID.
+ *
* @param {Vapi.CampaignControllerFindOneRequest} request
* @param {CampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -226,6 +567,8 @@ export class CampaignsClient {
}
/**
+ * Deletes the outbound calling campaign identified by its ID.
+ *
* @param {Vapi.CampaignControllerRemoveRequest} request
* @param {CampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -284,26 +627,29 @@ export class CampaignsClient {
}
/**
- * @param {Vapi.UpdateCampaignDto} request
+ * Updates the outbound calling campaign identified by its ID. Campaigns can be ended by updating their status to `ended`.
+ *
+ * @param {Vapi.CampaignControllerUpdateRequest} request
* @param {CampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
*
* @example
* await client.campaigns.campaignControllerUpdate({
- * id: "id"
+ * id: "id",
+ * body: {}
* })
*/
public campaignControllerUpdate(
- request: Vapi.UpdateCampaignDto,
+ request: Vapi.CampaignControllerUpdateRequest,
requestOptions?: CampaignsClient.RequestOptions,
): core.HttpResponsePromise {
return core.HttpResponsePromise.fromPromise(this.__campaignControllerUpdate(request, requestOptions));
}
private async __campaignControllerUpdate(
- request: Vapi.UpdateCampaignDto,
+ request: Vapi.CampaignControllerUpdateRequest,
requestOptions?: CampaignsClient.RequestOptions,
): Promise> {
- const { id, ..._body } = request;
+ const { id, body: _body } = request;
const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
_authRequest.headers,
@@ -343,4 +689,73 @@ export class CampaignsClient {
return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/campaign/{id}");
}
+
+ /**
+ * @param {Vapi.CampaignControllerGetCampaignV2ContactsRequest} request
+ * @param {CampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.campaigns.campaignControllerGetCampaignV2Contacts({
+ * id: "id"
+ * })
+ */
+ public campaignControllerGetCampaignV2Contacts(
+ request: Vapi.CampaignControllerGetCampaignV2ContactsRequest,
+ requestOptions?: CampaignsClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(
+ this.__campaignControllerGetCampaignV2Contacts(request, requestOptions),
+ );
+ }
+
+ private async __campaignControllerGetCampaignV2Contacts(
+ request: Vapi.CampaignControllerGetCampaignV2ContactsRequest,
+ requestOptions?: CampaignsClient.RequestOptions,
+ ): Promise> {
+ const { id, status, limit, sortBy, page } = request;
+ const _queryParams: Record = {
+ status: Array.isArray(status) ? status.map((item) => item) : status != null ? status : undefined,
+ limit,
+ sortBy: sortBy != null ? sortBy : undefined,
+ page,
+ };
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `v2/campaign/${core.url.encodePathParam(id)}/contacts`,
+ ),
+ method: "GET",
+ headers: _headers,
+ queryParameters: { ..._queryParams, ...requestOptions?.queryParams },
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return {
+ data: _response.body as Vapi.CampaignContactPaginatedResponse,
+ rawResponse: _response.rawResponse,
+ };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/campaign/{id}/contacts");
+ }
}
diff --git a/src/api/resources/campaigns/client/requests/CampaignControllerFindAllRequest.ts b/src/api/resources/campaigns/client/requests/CampaignControllerFindAllRequest.ts
index 6e3b2acc..a9065801 100644
--- a/src/api/resources/campaigns/client/requests/CampaignControllerFindAllRequest.ts
+++ b/src/api/resources/campaigns/client/requests/CampaignControllerFindAllRequest.ts
@@ -7,12 +7,16 @@ import type * as Vapi from "../../../../index.js";
* {}
*/
export interface CampaignControllerFindAllRequest {
+ /** Filters campaigns by ID. */
id?: string;
+ /** Filters campaigns by status. */
status?: Vapi.CampaignControllerFindAllRequestStatus;
/** This is the page number to return. Defaults to 1. */
page?: number;
/** This is the sort order for pagination. Defaults to 'DESC'. */
sortOrder?: Vapi.CampaignControllerFindAllRequestSortOrder;
+ /** This is the column to sort by. Defaults to 'createdAt'. */
+ sortBy?: Vapi.CampaignControllerFindAllRequestSortBy;
/** This is the maximum number of items to return. Defaults to 100. */
limit?: number;
/** This will return items where the createdAt is greater than the specified value. */
diff --git a/src/api/resources/campaigns/client/requests/CampaignControllerFindAllV2Request.ts b/src/api/resources/campaigns/client/requests/CampaignControllerFindAllV2Request.ts
new file mode 100644
index 00000000..ed36311d
--- /dev/null
+++ b/src/api/resources/campaigns/client/requests/CampaignControllerFindAllV2Request.ts
@@ -0,0 +1,44 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../../../../index.js";
+
+/**
+ * @example
+ * {}
+ */
+export interface CampaignControllerFindAllV2Request {
+ id?: string;
+ status?: Vapi.CampaignControllerFindAllV2RequestStatus;
+ /**
+ * When true, every campaign in the response includes `contactCounters` and
+ * `callMetrics`. These are aggregate queries over contacts and events —
+ * batched across the page, so the cost is three queries per request rather
+ * than three per campaign, but still opt-in rather than paid for on every
+ * read. Defaults to false.
+ */
+ includeCounters?: boolean;
+ /** This is the page number to return. Defaults to 1. */
+ page?: number;
+ /** This is the sort order for pagination. Defaults to 'DESC'. */
+ sortOrder?: Vapi.CampaignControllerFindAllV2RequestSortOrder;
+ /** This is the column to sort by. Defaults to 'createdAt'. */
+ sortBy?: Vapi.CampaignControllerFindAllV2RequestSortBy;
+ /** This is the maximum number of items to return. Defaults to 100. */
+ limit?: number;
+ /** This will return items where the createdAt is greater than the specified value. */
+ createdAtGt?: string;
+ /** This will return items where the createdAt is less than the specified value. */
+ createdAtLt?: string;
+ /** This will return items where the createdAt is greater than or equal to the specified value. */
+ createdAtGe?: string;
+ /** This will return items where the createdAt is less than or equal to the specified value. */
+ createdAtLe?: string;
+ /** This will return items where the updatedAt is greater than the specified value. */
+ updatedAtGt?: string;
+ /** This will return items where the updatedAt is less than the specified value. */
+ updatedAtLt?: string;
+ /** This will return items where the updatedAt is greater than or equal to the specified value. */
+ updatedAtGe?: string;
+ /** This will return items where the updatedAt is less than or equal to the specified value. */
+ updatedAtLe?: string;
+}
diff --git a/src/api/resources/campaigns/client/requests/CampaignControllerFindOneRequest.ts b/src/api/resources/campaigns/client/requests/CampaignControllerFindOneRequest.ts
index 61d39f4c..79e0c607 100644
--- a/src/api/resources/campaigns/client/requests/CampaignControllerFindOneRequest.ts
+++ b/src/api/resources/campaigns/client/requests/CampaignControllerFindOneRequest.ts
@@ -7,5 +7,6 @@
* }
*/
export interface CampaignControllerFindOneRequest {
+ /** The unique identifier of the campaign. */
id: string;
}
diff --git a/src/api/resources/campaigns/client/requests/CampaignControllerFindOneV2Request.ts b/src/api/resources/campaigns/client/requests/CampaignControllerFindOneV2Request.ts
new file mode 100644
index 00000000..6dbd4704
--- /dev/null
+++ b/src/api/resources/campaigns/client/requests/CampaignControllerFindOneV2Request.ts
@@ -0,0 +1,18 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
+export interface CampaignControllerFindOneV2Request {
+ /** The unique identifier for the resource. */
+ id: string;
+ /**
+ * When true, the response includes `contactCounters` and `callMetrics`.
+ * These are aggregate queries over the campaign's contacts and events, so
+ * they are opt-in rather than paid for on every read. Defaults to false.
+ */
+ includeCounters?: boolean;
+}
diff --git a/src/api/resources/campaigns/client/requests/CampaignControllerGetCampaignV2ContactsRequest.ts b/src/api/resources/campaigns/client/requests/CampaignControllerGetCampaignV2ContactsRequest.ts
new file mode 100644
index 00000000..fab8f494
--- /dev/null
+++ b/src/api/resources/campaigns/client/requests/CampaignControllerGetCampaignV2ContactsRequest.ts
@@ -0,0 +1,38 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../../../../index.js";
+
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
+export interface CampaignControllerGetCampaignV2ContactsRequest {
+ /** The unique identifier for the resource. */
+ id: string;
+ /**
+ * This is the status to filter contacts by. Pass once or multiple times to
+ * filter on any of the provided statuses.
+ */
+ status?:
+ | Vapi.CampaignControllerGetCampaignV2ContactsRequestStatusItem
+ | Vapi.CampaignControllerGetCampaignV2ContactsRequestStatusItem[];
+ /** This is the maximum number of contacts to return. Defaults to 50. */
+ limit?: number;
+ /**
+ * This is the column to sort by. Defaults to `position` — the order contacts
+ * were uploaded, which is also dial order.
+ *
+ * `status` sorts by the enum's declaration order rather than alphabetically,
+ * which means it reads as a lifecycle: pending, dispatched, completed,
+ * failed, skipped, predial-failed.
+ *
+ * Only columns on `campaign_contact` are sortable. Call-level values such as
+ * cost or duration live on the call and are attached after this query, so
+ * sorting by them here would only reorder the current page.
+ */
+ sortBy?: Vapi.CampaignControllerGetCampaignV2ContactsRequestSortBy;
+ /** This is the page number to return. Defaults to 1. */
+ page?: number;
+}
diff --git a/src/api/resources/campaigns/client/requests/CampaignControllerRemoveRequest.ts b/src/api/resources/campaigns/client/requests/CampaignControllerRemoveRequest.ts
index 501468ec..9a326ad4 100644
--- a/src/api/resources/campaigns/client/requests/CampaignControllerRemoveRequest.ts
+++ b/src/api/resources/campaigns/client/requests/CampaignControllerRemoveRequest.ts
@@ -7,5 +7,6 @@
* }
*/
export interface CampaignControllerRemoveRequest {
+ /** The unique identifier of the campaign. */
id: string;
}
diff --git a/src/api/resources/campaigns/client/requests/CampaignControllerRemoveV2Request.ts b/src/api/resources/campaigns/client/requests/CampaignControllerRemoveV2Request.ts
new file mode 100644
index 00000000..11b61b4e
--- /dev/null
+++ b/src/api/resources/campaigns/client/requests/CampaignControllerRemoveV2Request.ts
@@ -0,0 +1,12 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
+export interface CampaignControllerRemoveV2Request {
+ /** The unique identifier for the resource. */
+ id: string;
+}
diff --git a/src/api/resources/campaigns/client/requests/CampaignControllerUpdateRequest.ts b/src/api/resources/campaigns/client/requests/CampaignControllerUpdateRequest.ts
new file mode 100644
index 00000000..c61b939c
--- /dev/null
+++ b/src/api/resources/campaigns/client/requests/CampaignControllerUpdateRequest.ts
@@ -0,0 +1,16 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../../../../index.js";
+
+/**
+ * @example
+ * {
+ * id: "id",
+ * body: {}
+ * }
+ */
+export interface CampaignControllerUpdateRequest {
+ /** The unique identifier of the campaign. */
+ id: string;
+ body: Vapi.UpdateCampaignDto;
+}
diff --git a/src/api/resources/campaigns/client/requests/CampaignControllerUpdateV2Request.ts b/src/api/resources/campaigns/client/requests/CampaignControllerUpdateV2Request.ts
new file mode 100644
index 00000000..130f8b34
--- /dev/null
+++ b/src/api/resources/campaigns/client/requests/CampaignControllerUpdateV2Request.ts
@@ -0,0 +1,16 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../../../../index.js";
+
+/**
+ * @example
+ * {
+ * id: "id",
+ * body: {}
+ * }
+ */
+export interface CampaignControllerUpdateV2Request {
+ /** The unique identifier for the resource. */
+ id: string;
+ body: Vapi.UpdateCampaignDto;
+}
diff --git a/src/api/resources/campaigns/client/requests/CreateCampaignDto.ts b/src/api/resources/campaigns/client/requests/CreateCampaignDto.ts
deleted file mode 100644
index ebfd1b6f..00000000
--- a/src/api/resources/campaigns/client/requests/CreateCampaignDto.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-// This file was auto-generated by Fern from our API Definition.
-
-import type * as Vapi from "../../../../index.js";
-
-/**
- * @example
- * {
- * name: "Q2 Sales Campaign"
- * }
- */
-export interface CreateCampaignDto {
- /** This is the name of the campaign. This is just for your own reference. */
- name: string;
- /** This is the assistant ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used. */
- assistantId?: string;
- /** This is the workflow ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used. */
- workflowId?: string;
- /** This is the squad ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used. */
- squadId?: string;
- /** This is the phone number ID that will be used for the campaign calls. Required if dialPlan is not provided. Note: phoneNumberId and dialPlan are mutually exclusive. */
- phoneNumberId?: string;
- /** This is a list of dial entries, each specifying a phone number and the customers to call using that number. Use this when you want different phone numbers to call different sets of customers. Note: phoneNumberId and dialPlan are mutually exclusive. */
- dialPlan?: Vapi.DialPlanEntry[];
- /** This is the schedule plan for the campaign. Calls will start at startedAt and continue until your organization’s concurrency limit is reached. Any remaining calls will be retried for up to one hour as capacity becomes available. After that hour or after latestAt, whichever comes first, any calls that couldn’t be placed won’t be retried. */
- schedulePlan?: Vapi.SchedulePlan;
- /** These are the customers that will be called in the campaign. Required if dialPlan is not provided. */
- customers?: Vapi.CreateCustomerDto[];
-}
diff --git a/src/api/resources/campaigns/client/requests/index.ts b/src/api/resources/campaigns/client/requests/index.ts
index 4a810eeb..96244761 100644
--- a/src/api/resources/campaigns/client/requests/index.ts
+++ b/src/api/resources/campaigns/client/requests/index.ts
@@ -1,5 +1,9 @@
export type { CampaignControllerFindAllRequest } from "./CampaignControllerFindAllRequest.js";
+export type { CampaignControllerFindAllV2Request } from "./CampaignControllerFindAllV2Request.js";
export type { CampaignControllerFindOneRequest } from "./CampaignControllerFindOneRequest.js";
+export type { CampaignControllerFindOneV2Request } from "./CampaignControllerFindOneV2Request.js";
+export type { CampaignControllerGetCampaignV2ContactsRequest } from "./CampaignControllerGetCampaignV2ContactsRequest.js";
export type { CampaignControllerRemoveRequest } from "./CampaignControllerRemoveRequest.js";
-export type { CreateCampaignDto } from "./CreateCampaignDto.js";
-export type { UpdateCampaignDto } from "./UpdateCampaignDto.js";
+export type { CampaignControllerRemoveV2Request } from "./CampaignControllerRemoveV2Request.js";
+export type { CampaignControllerUpdateRequest } from "./CampaignControllerUpdateRequest.js";
+export type { CampaignControllerUpdateV2Request } from "./CampaignControllerUpdateV2Request.js";
diff --git a/src/api/resources/campaigns/types/CampaignControllerFindAllRequestSortBy.ts b/src/api/resources/campaigns/types/CampaignControllerFindAllRequestSortBy.ts
new file mode 100644
index 00000000..5e7ac191
--- /dev/null
+++ b/src/api/resources/campaigns/types/CampaignControllerFindAllRequestSortBy.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const CampaignControllerFindAllRequestSortBy = {
+ CreatedAt: "createdAt",
+ Duration: "duration",
+ Cost: "cost",
+} as const;
+export type CampaignControllerFindAllRequestSortBy =
+ (typeof CampaignControllerFindAllRequestSortBy)[keyof typeof CampaignControllerFindAllRequestSortBy];
diff --git a/src/api/resources/campaigns/types/CampaignControllerFindAllRequestStatus.ts b/src/api/resources/campaigns/types/CampaignControllerFindAllRequestStatus.ts
index e063be84..40b4efac 100644
--- a/src/api/resources/campaigns/types/CampaignControllerFindAllRequestStatus.ts
+++ b/src/api/resources/campaigns/types/CampaignControllerFindAllRequestStatus.ts
@@ -4,6 +4,8 @@ export const CampaignControllerFindAllRequestStatus = {
Scheduled: "scheduled",
InProgress: "in-progress",
Ended: "ended",
+ Cancelled: "cancelled",
+ Archived: "archived",
} as const;
export type CampaignControllerFindAllRequestStatus =
(typeof CampaignControllerFindAllRequestStatus)[keyof typeof CampaignControllerFindAllRequestStatus];
diff --git a/src/api/resources/campaigns/types/CampaignControllerFindAllV2RequestSortBy.ts b/src/api/resources/campaigns/types/CampaignControllerFindAllV2RequestSortBy.ts
new file mode 100644
index 00000000..4d8cffbd
--- /dev/null
+++ b/src/api/resources/campaigns/types/CampaignControllerFindAllV2RequestSortBy.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const CampaignControllerFindAllV2RequestSortBy = {
+ CreatedAt: "createdAt",
+ Duration: "duration",
+ Cost: "cost",
+} as const;
+export type CampaignControllerFindAllV2RequestSortBy =
+ (typeof CampaignControllerFindAllV2RequestSortBy)[keyof typeof CampaignControllerFindAllV2RequestSortBy];
diff --git a/src/api/resources/campaigns/types/CampaignControllerFindAllV2RequestSortOrder.ts b/src/api/resources/campaigns/types/CampaignControllerFindAllV2RequestSortOrder.ts
new file mode 100644
index 00000000..a66cc25c
--- /dev/null
+++ b/src/api/resources/campaigns/types/CampaignControllerFindAllV2RequestSortOrder.ts
@@ -0,0 +1,8 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const CampaignControllerFindAllV2RequestSortOrder = {
+ Asc: "ASC",
+ Desc: "DESC",
+} as const;
+export type CampaignControllerFindAllV2RequestSortOrder =
+ (typeof CampaignControllerFindAllV2RequestSortOrder)[keyof typeof CampaignControllerFindAllV2RequestSortOrder];
diff --git a/src/api/resources/campaigns/types/CampaignControllerFindAllV2RequestStatus.ts b/src/api/resources/campaigns/types/CampaignControllerFindAllV2RequestStatus.ts
new file mode 100644
index 00000000..e76a17a3
--- /dev/null
+++ b/src/api/resources/campaigns/types/CampaignControllerFindAllV2RequestStatus.ts
@@ -0,0 +1,11 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const CampaignControllerFindAllV2RequestStatus = {
+ Scheduled: "scheduled",
+ InProgress: "in-progress",
+ Ended: "ended",
+ Cancelled: "cancelled",
+ Archived: "archived",
+} as const;
+export type CampaignControllerFindAllV2RequestStatus =
+ (typeof CampaignControllerFindAllV2RequestStatus)[keyof typeof CampaignControllerFindAllV2RequestStatus];
diff --git a/src/api/resources/campaigns/types/CampaignControllerGetCampaignV2ContactsRequestSortBy.ts b/src/api/resources/campaigns/types/CampaignControllerGetCampaignV2ContactsRequestSortBy.ts
new file mode 100644
index 00000000..7b88e42e
--- /dev/null
+++ b/src/api/resources/campaigns/types/CampaignControllerGetCampaignV2ContactsRequestSortBy.ts
@@ -0,0 +1,8 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const CampaignControllerGetCampaignV2ContactsRequestSortBy = {
+ Position: "position",
+ Status: "status",
+} as const;
+export type CampaignControllerGetCampaignV2ContactsRequestSortBy =
+ (typeof CampaignControllerGetCampaignV2ContactsRequestSortBy)[keyof typeof CampaignControllerGetCampaignV2ContactsRequestSortBy];
diff --git a/src/api/resources/campaigns/types/CampaignControllerGetCampaignV2ContactsRequestStatusItem.ts b/src/api/resources/campaigns/types/CampaignControllerGetCampaignV2ContactsRequestStatusItem.ts
new file mode 100644
index 00000000..2924a875
--- /dev/null
+++ b/src/api/resources/campaigns/types/CampaignControllerGetCampaignV2ContactsRequestStatusItem.ts
@@ -0,0 +1,12 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const CampaignControllerGetCampaignV2ContactsRequestStatusItem = {
+ ContactPending: "contact.pending",
+ ContactDispatched: "contact.dispatched",
+ ContactCompleted: "contact.completed",
+ ContactFailed: "contact.failed",
+ ContactSkipped: "contact.skipped",
+ ContactPredialFailed: "contact.predial-failed",
+} as const;
+export type CampaignControllerGetCampaignV2ContactsRequestStatusItem =
+ (typeof CampaignControllerGetCampaignV2ContactsRequestStatusItem)[keyof typeof CampaignControllerGetCampaignV2ContactsRequestStatusItem];
diff --git a/src/api/resources/campaigns/types/index.ts b/src/api/resources/campaigns/types/index.ts
index c6eb5e02..6835b080 100644
--- a/src/api/resources/campaigns/types/index.ts
+++ b/src/api/resources/campaigns/types/index.ts
@@ -1,3 +1,8 @@
+export * from "./CampaignControllerFindAllRequestSortBy.js";
export * from "./CampaignControllerFindAllRequestSortOrder.js";
export * from "./CampaignControllerFindAllRequestStatus.js";
-export * from "./UpdateCampaignDtoStatus.js";
+export * from "./CampaignControllerFindAllV2RequestSortBy.js";
+export * from "./CampaignControllerFindAllV2RequestSortOrder.js";
+export * from "./CampaignControllerFindAllV2RequestStatus.js";
+export * from "./CampaignControllerGetCampaignV2ContactsRequestSortBy.js";
+export * from "./CampaignControllerGetCampaignV2ContactsRequestStatusItem.js";
diff --git a/src/api/resources/chats/client/Client.ts b/src/api/resources/chats/client/Client.ts
index 647e187a..b156eddf 100644
--- a/src/api/resources/chats/client/Client.ts
+++ b/src/api/resources/chats/client/Client.ts
@@ -51,8 +51,10 @@ export class ChatsClient {
squadId,
sessionId,
previousChatId,
+ idAny,
page,
sortOrder,
+ sortBy,
limit,
createdAtGt,
createdAtLt,
@@ -70,8 +72,10 @@ export class ChatsClient {
squadId,
sessionId,
previousChatId,
+ idAny,
page,
sortOrder: sortOrder != null ? sortOrder : undefined,
+ sortBy: sortBy != null ? sortBy : undefined,
limit,
createdAtGt: createdAtGt != null ? createdAtGt : undefined,
createdAtLt: createdAtLt != null ? createdAtLt : undefined,
diff --git a/src/api/resources/chats/client/requests/ListChatsRequest.ts b/src/api/resources/chats/client/requests/ListChatsRequest.ts
index c896c65b..e1a98bbf 100644
--- a/src/api/resources/chats/client/requests/ListChatsRequest.ts
+++ b/src/api/resources/chats/client/requests/ListChatsRequest.ts
@@ -21,10 +21,14 @@ export interface ListChatsRequest {
sessionId?: string;
/** This is the unique identifier for the previous chat to filter by. */
previousChatId?: string;
+ /** Filter by multiple chat IDs. Provide as comma-separated values. */
+ idAny?: string;
/** This is the page number to return. Defaults to 1. */
page?: number;
/** This is the sort order for pagination. Defaults to 'DESC'. */
sortOrder?: Vapi.ListChatsRequestSortOrder;
+ /** This is the column to sort by. Defaults to 'createdAt'. */
+ sortBy?: Vapi.ListChatsRequestSortBy;
/** This is the maximum number of items to return. Defaults to 100. */
limit?: number;
/** This will return items where the createdAt is greater than the specified value. */
diff --git a/src/api/resources/chats/types/ListChatsRequestSortBy.ts b/src/api/resources/chats/types/ListChatsRequestSortBy.ts
new file mode 100644
index 00000000..e6ae89c6
--- /dev/null
+++ b/src/api/resources/chats/types/ListChatsRequestSortBy.ts
@@ -0,0 +1,8 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const ListChatsRequestSortBy = {
+ CreatedAt: "createdAt",
+ Duration: "duration",
+ Cost: "cost",
+} as const;
+export type ListChatsRequestSortBy = (typeof ListChatsRequestSortBy)[keyof typeof ListChatsRequestSortBy];
diff --git a/src/api/resources/chats/types/index.ts b/src/api/resources/chats/types/index.ts
index 543ead75..14ec0de1 100644
--- a/src/api/resources/chats/types/index.ts
+++ b/src/api/resources/chats/types/index.ts
@@ -2,6 +2,7 @@ export * from "./CreateChatDtoInput.js";
export * from "./CreateChatDtoInputOneItem.js";
export * from "./CreateChatsResponse.js";
export * from "./CreateResponseChatsResponse.js";
+export * from "./ListChatsRequestSortBy.js";
export * from "./ListChatsRequestSortOrder.js";
export * from "./OpenAiResponsesRequestInput.js";
export * from "./OpenAiResponsesRequestInputOneItem.js";
diff --git a/src/api/resources/eval/client/Client.ts b/src/api/resources/eval/client/Client.ts
index b522c9f2..7fdf1dd1 100644
--- a/src/api/resources/eval/client/Client.ts
+++ b/src/api/resources/eval/client/Client.ts
@@ -23,6 +23,8 @@ export class EvalClient {
}
/**
+ * Returns eval definitions for the authenticated organization. Filter results by ID or creation and update timestamps.
+ *
* @param {Vapi.EvalControllerGetPaginatedRequest} request
* @param {EvalClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -44,6 +46,7 @@ export class EvalClient {
id,
page,
sortOrder,
+ sortBy,
limit,
createdAtGt,
createdAtLt,
@@ -58,6 +61,7 @@ export class EvalClient {
id,
page,
sortOrder: sortOrder != null ? sortOrder : undefined,
+ sortBy: sortBy != null ? sortBy : undefined,
limit,
createdAtGt: createdAtGt != null ? createdAtGt : undefined,
createdAtLt: createdAtLt != null ? createdAtLt : undefined,
@@ -106,6 +110,8 @@ export class EvalClient {
}
/**
+ * Creates a reusable eval that defines a mock conversation and checkpoints for evaluating assistant responses and tool calls.
+ *
* @param {Vapi.CreateEvalDto} request
* @param {EvalClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -169,6 +175,8 @@ export class EvalClient {
}
/**
+ * Returns the eval definition identified by its ID.
+ *
* @param {Vapi.EvalControllerGetRequest} request
* @param {EvalClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -227,6 +235,8 @@ export class EvalClient {
}
/**
+ * Deletes the eval definition identified by its ID.
+ *
* @param {Vapi.EvalControllerRemoveRequest} request
* @param {EvalClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -285,6 +295,8 @@ export class EvalClient {
}
/**
+ * Updates the eval definition identified by its ID.
+ *
* @param {Vapi.UpdateEvalDto} request
* @param {EvalClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -346,6 +358,8 @@ export class EvalClient {
}
/**
+ * Returns the eval run identified by its ID.
+ *
* @param {Vapi.EvalControllerGetRunRequest} request
* @param {EvalClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -404,6 +418,8 @@ export class EvalClient {
}
/**
+ * Deletes the eval run identified by its ID.
+ *
* @param {Vapi.EvalControllerRemoveRunRequest} request
* @param {EvalClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -462,6 +478,8 @@ export class EvalClient {
}
/**
+ * Returns eval runs for the authenticated organization. Filter results by ID or creation and update timestamps.
+ *
* @param {Vapi.EvalControllerGetRunsPaginatedRequest} request
* @param {EvalClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -483,6 +501,7 @@ export class EvalClient {
id,
page,
sortOrder,
+ sortBy,
limit,
createdAtGt,
createdAtLt,
@@ -497,6 +516,7 @@ export class EvalClient {
id,
page,
sortOrder: sortOrder != null ? sortOrder : undefined,
+ sortBy: sortBy != null ? sortBy : undefined,
limit,
createdAtGt: createdAtGt != null ? createdAtGt : undefined,
createdAtLt: createdAtLt != null ? createdAtLt : undefined,
@@ -545,6 +565,8 @@ export class EvalClient {
}
/**
+ * Runs a saved or transient eval against an assistant or squad and creates an eval-run record containing the results.
+ *
* @param {Vapi.CreateEvalRunDto} request
* @param {EvalClient.RequestOptions} requestOptions - Request-specific configuration.
*
diff --git a/src/api/resources/eval/client/requests/EvalControllerGetPaginatedRequest.ts b/src/api/resources/eval/client/requests/EvalControllerGetPaginatedRequest.ts
index ec615a27..75ec1503 100644
--- a/src/api/resources/eval/client/requests/EvalControllerGetPaginatedRequest.ts
+++ b/src/api/resources/eval/client/requests/EvalControllerGetPaginatedRequest.ts
@@ -7,11 +7,14 @@ import type * as Vapi from "../../../../index.js";
* {}
*/
export interface EvalControllerGetPaginatedRequest {
+ /** Filters eval definitions by ID. */
id?: string;
/** This is the page number to return. Defaults to 1. */
page?: number;
/** This is the sort order for pagination. Defaults to 'DESC'. */
sortOrder?: Vapi.EvalControllerGetPaginatedRequestSortOrder;
+ /** This is the column to sort by. Defaults to 'createdAt'. */
+ sortBy?: Vapi.EvalControllerGetPaginatedRequestSortBy;
/** This is the maximum number of items to return. Defaults to 100. */
limit?: number;
/** This will return items where the createdAt is greater than the specified value. */
diff --git a/src/api/resources/eval/client/requests/EvalControllerGetRequest.ts b/src/api/resources/eval/client/requests/EvalControllerGetRequest.ts
index c0d4d7d3..f55a5106 100644
--- a/src/api/resources/eval/client/requests/EvalControllerGetRequest.ts
+++ b/src/api/resources/eval/client/requests/EvalControllerGetRequest.ts
@@ -7,5 +7,6 @@
* }
*/
export interface EvalControllerGetRequest {
+ /** The unique identifier of the eval definition. */
id: string;
}
diff --git a/src/api/resources/eval/client/requests/EvalControllerGetRunRequest.ts b/src/api/resources/eval/client/requests/EvalControllerGetRunRequest.ts
index 09b11482..d2f91a95 100644
--- a/src/api/resources/eval/client/requests/EvalControllerGetRunRequest.ts
+++ b/src/api/resources/eval/client/requests/EvalControllerGetRunRequest.ts
@@ -7,5 +7,6 @@
* }
*/
export interface EvalControllerGetRunRequest {
+ /** The unique identifier of the eval run. */
id: string;
}
diff --git a/src/api/resources/eval/client/requests/EvalControllerGetRunsPaginatedRequest.ts b/src/api/resources/eval/client/requests/EvalControllerGetRunsPaginatedRequest.ts
index 7fb65c0d..a9957a74 100644
--- a/src/api/resources/eval/client/requests/EvalControllerGetRunsPaginatedRequest.ts
+++ b/src/api/resources/eval/client/requests/EvalControllerGetRunsPaginatedRequest.ts
@@ -7,11 +7,14 @@ import type * as Vapi from "../../../../index.js";
* {}
*/
export interface EvalControllerGetRunsPaginatedRequest {
+ /** Filters eval runs by ID. */
id?: string;
/** This is the page number to return. Defaults to 1. */
page?: number;
/** This is the sort order for pagination. Defaults to 'DESC'. */
sortOrder?: Vapi.EvalControllerGetRunsPaginatedRequestSortOrder;
+ /** This is the column to sort by. Defaults to 'createdAt'. */
+ sortBy?: Vapi.EvalControllerGetRunsPaginatedRequestSortBy;
/** This is the maximum number of items to return. Defaults to 100. */
limit?: number;
/** This will return items where the createdAt is greater than the specified value. */
diff --git a/src/api/resources/eval/client/requests/EvalControllerRemoveRequest.ts b/src/api/resources/eval/client/requests/EvalControllerRemoveRequest.ts
index 308e0f33..7f5328aa 100644
--- a/src/api/resources/eval/client/requests/EvalControllerRemoveRequest.ts
+++ b/src/api/resources/eval/client/requests/EvalControllerRemoveRequest.ts
@@ -7,5 +7,6 @@
* }
*/
export interface EvalControllerRemoveRequest {
+ /** The unique identifier of the eval definition. */
id: string;
}
diff --git a/src/api/resources/eval/client/requests/EvalControllerRemoveRunRequest.ts b/src/api/resources/eval/client/requests/EvalControllerRemoveRunRequest.ts
index 3d4be523..76eab781 100644
--- a/src/api/resources/eval/client/requests/EvalControllerRemoveRunRequest.ts
+++ b/src/api/resources/eval/client/requests/EvalControllerRemoveRunRequest.ts
@@ -7,5 +7,6 @@
* }
*/
export interface EvalControllerRemoveRunRequest {
+ /** The unique identifier of the eval run. */
id: string;
}
diff --git a/src/api/resources/eval/client/requests/UpdateEvalDto.ts b/src/api/resources/eval/client/requests/UpdateEvalDto.ts
index 95fe1986..6081d351 100644
--- a/src/api/resources/eval/client/requests/UpdateEvalDto.ts
+++ b/src/api/resources/eval/client/requests/UpdateEvalDto.ts
@@ -9,6 +9,7 @@ import type * as Vapi from "../../../../index.js";
* }
*/
export interface UpdateEvalDto {
+ /** The unique identifier of the eval definition. */
id: string;
/**
* This is the mock conversation that will be used to evaluate the flow of the conversation.
diff --git a/src/api/resources/eval/types/CreateEvalRunDtoTarget.ts b/src/api/resources/eval/types/CreateEvalRunDtoTarget.ts
index 88f33f1a..34d3ff63 100644
--- a/src/api/resources/eval/types/CreateEvalRunDtoTarget.ts
+++ b/src/api/resources/eval/types/CreateEvalRunDtoTarget.ts
@@ -15,4 +15,9 @@ export namespace CreateEvalRunDtoTarget {
export interface Squad extends Vapi.EvalRunTargetSquad {
type: "squad";
}
+
+ /**
+ * This is the target that will be run against the eval
+ */
+ export type Response = Vapi.CreateEvalRunDtoTarget.Assistant | Vapi.CreateEvalRunDtoTarget.Squad;
}
diff --git a/src/api/resources/eval/types/EvalControllerGetPaginatedRequestSortBy.ts b/src/api/resources/eval/types/EvalControllerGetPaginatedRequestSortBy.ts
new file mode 100644
index 00000000..03c8a25f
--- /dev/null
+++ b/src/api/resources/eval/types/EvalControllerGetPaginatedRequestSortBy.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const EvalControllerGetPaginatedRequestSortBy = {
+ CreatedAt: "createdAt",
+ Duration: "duration",
+ Cost: "cost",
+} as const;
+export type EvalControllerGetPaginatedRequestSortBy =
+ (typeof EvalControllerGetPaginatedRequestSortBy)[keyof typeof EvalControllerGetPaginatedRequestSortBy];
diff --git a/src/api/resources/eval/types/EvalControllerGetRunsPaginatedRequestSortBy.ts b/src/api/resources/eval/types/EvalControllerGetRunsPaginatedRequestSortBy.ts
new file mode 100644
index 00000000..d9ca453f
--- /dev/null
+++ b/src/api/resources/eval/types/EvalControllerGetRunsPaginatedRequestSortBy.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const EvalControllerGetRunsPaginatedRequestSortBy = {
+ CreatedAt: "createdAt",
+ Duration: "duration",
+ Cost: "cost",
+} as const;
+export type EvalControllerGetRunsPaginatedRequestSortBy =
+ (typeof EvalControllerGetRunsPaginatedRequestSortBy)[keyof typeof EvalControllerGetRunsPaginatedRequestSortBy];
diff --git a/src/api/resources/eval/types/index.ts b/src/api/resources/eval/types/index.ts
index 39f41742..2874ca67 100644
--- a/src/api/resources/eval/types/index.ts
+++ b/src/api/resources/eval/types/index.ts
@@ -1,6 +1,8 @@
export * from "./CreateEvalRunDtoTarget.js";
export * from "./CreateEvalRunDtoType.js";
+export * from "./EvalControllerGetPaginatedRequestSortBy.js";
export * from "./EvalControllerGetPaginatedRequestSortOrder.js";
+export * from "./EvalControllerGetRunsPaginatedRequestSortBy.js";
export * from "./EvalControllerGetRunsPaginatedRequestSortOrder.js";
export * from "./UpdateEvalDtoMessagesItem.js";
export * from "./UpdateEvalDtoType.js";
diff --git a/src/api/resources/files/client/Client.ts b/src/api/resources/files/client/Client.ts
index 2d45974e..2085f038 100644
--- a/src/api/resources/files/client/Client.ts
+++ b/src/api/resources/files/client/Client.ts
@@ -23,16 +23,31 @@ export class FilesClient {
}
/**
+ * Returns files uploaded to the authenticated organization.
+ *
+ * @param {Vapi.ListFilesRequest} request
* @param {FilesClient.RequestOptions} requestOptions - Request-specific configuration.
*
* @example
- * await client.files.list()
+ * await client.files.list({
+ * purpose: "purpose"
+ * })
*/
- public list(requestOptions?: FilesClient.RequestOptions): core.HttpResponsePromise {
- return core.HttpResponsePromise.fromPromise(this.__list(requestOptions));
+ public list(
+ request: Vapi.ListFilesRequest,
+ requestOptions?: FilesClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions));
}
- private async __list(requestOptions?: FilesClient.RequestOptions): Promise> {
+ private async __list(
+ request: Vapi.ListFilesRequest,
+ requestOptions?: FilesClient.RequestOptions,
+ ): Promise> {
+ const { purpose } = request;
+ const _queryParams: Record = {
+ purpose,
+ };
const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
_authRequest.headers,
@@ -48,7 +63,7 @@ export class FilesClient {
),
method: "GET",
headers: _headers,
- queryParameters: requestOptions?.queryParams,
+ queryParameters: { ..._queryParams, ...requestOptions?.queryParams },
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
abortSignal: requestOptions?.abortSignal,
@@ -71,6 +86,8 @@ export class FilesClient {
}
/**
+ * Uploads a file for use with a Vapi knowledge base.
+ *
* @param {Vapi.CreateFileDto} request
* @param {FilesClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -95,6 +112,14 @@ export class FilesClient {
): Promise> {
const _body = await core.newFormData();
await _body.appendFile("file", request.file);
+ if (request.purpose != null) {
+ _body.append("purpose", request.purpose);
+ }
+
+ if (request.metadata != null) {
+ _body.append("metadata", request.metadata);
+ }
+
const _maybeEncodedRequest = await _body.getRequest();
const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
@@ -143,6 +168,8 @@ export class FilesClient {
}
/**
+ * Returns the uploaded file identified by its ID.
+ *
* @param {Vapi.GetFilesRequest} request
* @param {FilesClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -201,6 +228,8 @@ export class FilesClient {
}
/**
+ * Deletes the uploaded file identified by its ID.
+ *
* @param {Vapi.DeleteFilesRequest} request
* @param {FilesClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -259,6 +288,8 @@ export class FilesClient {
}
/**
+ * Updates the name of the uploaded file identified by its ID.
+ *
* @param {Vapi.UpdateFileDto} request
* @param {FilesClient.RequestOptions} requestOptions - Request-specific configuration.
*
diff --git a/src/api/resources/files/client/requests/CreateFileDto.ts b/src/api/resources/files/client/requests/CreateFileDto.ts
index aa777793..072c72fc 100644
--- a/src/api/resources/files/client/requests/CreateFileDto.ts
+++ b/src/api/resources/files/client/requests/CreateFileDto.ts
@@ -1,6 +1,7 @@
// This file was auto-generated by Fern from our API Definition.
import type * as core from "../../../../../core/index.js";
+import type * as Vapi from "../../../../index.js";
/**
* @example
@@ -9,6 +10,10 @@ import type * as core from "../../../../../core/index.js";
* }
*/
export interface CreateFileDto {
- /** This is the File you want to upload for use with the Knowledge Base. */
+ /** The file to upload. */
file: core.file.Uploadable;
+ /** Optional product flow that owns the uploaded file. */
+ purpose?: Vapi.CreateFilesRequestPurpose;
+ /** Optional JSON-encoded metadata for multipart uploads. */
+ metadata?: string;
}
diff --git a/src/api/resources/files/client/requests/DeleteFilesRequest.ts b/src/api/resources/files/client/requests/DeleteFilesRequest.ts
index 31ea64cb..a89743e5 100644
--- a/src/api/resources/files/client/requests/DeleteFilesRequest.ts
+++ b/src/api/resources/files/client/requests/DeleteFilesRequest.ts
@@ -7,5 +7,6 @@
* }
*/
export interface DeleteFilesRequest {
+ /** The unique identifier of the file. */
id: string;
}
diff --git a/src/api/resources/files/client/requests/GetFilesRequest.ts b/src/api/resources/files/client/requests/GetFilesRequest.ts
index b229354a..7b886e34 100644
--- a/src/api/resources/files/client/requests/GetFilesRequest.ts
+++ b/src/api/resources/files/client/requests/GetFilesRequest.ts
@@ -7,5 +7,6 @@
* }
*/
export interface GetFilesRequest {
+ /** The unique identifier of the file. */
id: string;
}
diff --git a/src/api/resources/files/client/requests/ListFilesRequest.ts b/src/api/resources/files/client/requests/ListFilesRequest.ts
new file mode 100644
index 00000000..8c767c49
--- /dev/null
+++ b/src/api/resources/files/client/requests/ListFilesRequest.ts
@@ -0,0 +1,11 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * purpose: "purpose"
+ * }
+ */
+export interface ListFilesRequest {
+ purpose: string;
+}
diff --git a/src/api/resources/files/client/requests/UpdateFileDto.ts b/src/api/resources/files/client/requests/UpdateFileDto.ts
index 5c5cc901..a856c5b7 100644
--- a/src/api/resources/files/client/requests/UpdateFileDto.ts
+++ b/src/api/resources/files/client/requests/UpdateFileDto.ts
@@ -7,6 +7,7 @@
* }
*/
export interface UpdateFileDto {
+ /** The unique identifier of the file. */
id: string;
/** This is the name of the file. This is just for your own reference. */
name?: string;
diff --git a/src/api/resources/files/client/requests/index.ts b/src/api/resources/files/client/requests/index.ts
index 6c4072f7..17c2fcea 100644
--- a/src/api/resources/files/client/requests/index.ts
+++ b/src/api/resources/files/client/requests/index.ts
@@ -1,4 +1,5 @@
export type { CreateFileDto } from "./CreateFileDto.js";
export type { DeleteFilesRequest } from "./DeleteFilesRequest.js";
export type { GetFilesRequest } from "./GetFilesRequest.js";
+export type { ListFilesRequest } from "./ListFilesRequest.js";
export type { UpdateFileDto } from "./UpdateFileDto.js";
diff --git a/src/api/resources/files/index.ts b/src/api/resources/files/index.ts
index 914b8c3c..d9adb1af 100644
--- a/src/api/resources/files/index.ts
+++ b/src/api/resources/files/index.ts
@@ -1 +1,2 @@
export * from "./client/index.js";
+export * from "./types/index.js";
diff --git a/src/api/resources/files/types/CreateFilesRequestPurpose.ts b/src/api/resources/files/types/CreateFilesRequestPurpose.ts
new file mode 100644
index 00000000..fb126e5b
--- /dev/null
+++ b/src/api/resources/files/types/CreateFilesRequestPurpose.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/** Optional product flow that owns the uploaded file. */
+export const CreateFilesRequestPurpose = {
+ Assistant: "assistant",
+ ComposerAttachment: "composer-attachment",
+ KnowledgeBaseV2: "knowledge-base-v2",
+} as const;
+export type CreateFilesRequestPurpose = (typeof CreateFilesRequestPurpose)[keyof typeof CreateFilesRequestPurpose];
diff --git a/src/api/resources/files/types/index.ts b/src/api/resources/files/types/index.ts
new file mode 100644
index 00000000..ed57d2c7
--- /dev/null
+++ b/src/api/resources/files/types/index.ts
@@ -0,0 +1 @@
+export * from "./CreateFilesRequestPurpose.js";
diff --git a/src/api/resources/index.ts b/src/api/resources/index.ts
index b853c152..97bcb8b4 100644
--- a/src/api/resources/index.ts
+++ b/src/api/resources/index.ts
@@ -3,6 +3,9 @@ export * as analytics from "./analytics/index.js";
export * from "./assistants/client/requests/index.js";
export * as assistants from "./assistants/index.js";
export * from "./assistants/types/index.js";
+export * from "./board/client/requests/index.js";
+export * as board from "./board/index.js";
+export * from "./board/types/index.js";
export * from "./calls/client/requests/index.js";
export * as calls from "./calls/index.js";
export * from "./calls/types/index.js";
@@ -17,9 +20,12 @@ export * as eval from "./eval/index.js";
export * from "./eval/types/index.js";
export * from "./files/client/requests/index.js";
export * as files from "./files/index.js";
+export * from "./files/types/index.js";
export * from "./insight/client/requests/index.js";
export * as insight from "./insight/index.js";
export * from "./insight/types/index.js";
+export * from "./knowledgeBasesV2/client/requests/index.js";
+export * as knowledgeBasesV2 from "./knowledgeBasesV2/index.js";
export * from "./observabilityScorecard/client/requests/index.js";
export * as observabilityScorecard from "./observabilityScorecard/index.js";
export * from "./observabilityScorecard/types/index.js";
@@ -32,6 +38,21 @@ export * from "./providerResources/types/index.js";
export * from "./sessions/client/requests/index.js";
export * as sessions from "./sessions/index.js";
export * from "./sessions/types/index.js";
+export * from "./simulationPersonalities/client/requests/index.js";
+export * as simulationPersonalities from "./simulationPersonalities/index.js";
+export * from "./simulationPersonalities/types/index.js";
+export * from "./simulationRuns/client/requests/index.js";
+export * as simulationRuns from "./simulationRuns/index.js";
+export * from "./simulationRuns/types/index.js";
+export * from "./simulationScenarios/client/requests/index.js";
+export * as simulationScenarios from "./simulationScenarios/index.js";
+export * from "./simulationScenarios/types/index.js";
+export * from "./simulationSuites/client/requests/index.js";
+export * as simulationSuites from "./simulationSuites/index.js";
+export * from "./simulationSuites/types/index.js";
+export * from "./simulations/client/requests/index.js";
+export * as simulations from "./simulations/index.js";
+export * from "./simulations/types/index.js";
export * from "./squads/client/requests/index.js";
export * as squads from "./squads/index.js";
export * from "./structuredOutputs/client/requests/index.js";
diff --git a/src/api/resources/insight/client/Client.ts b/src/api/resources/insight/client/Client.ts
index 9238c4c3..de461342 100644
--- a/src/api/resources/insight/client/Client.ts
+++ b/src/api/resources/insight/client/Client.ts
@@ -23,6 +23,8 @@ export class InsightClient {
}
/**
+ * Returns saved reporting insights for the authenticated organization. Filter results by ID or creation and update timestamps.
+ *
* @param {Vapi.InsightControllerFindAllRequest} request
* @param {InsightClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -44,6 +46,7 @@ export class InsightClient {
id,
page,
sortOrder,
+ sortBy,
limit,
createdAtGt,
createdAtLt,
@@ -58,6 +61,7 @@ export class InsightClient {
id,
page,
sortOrder: sortOrder != null ? sortOrder : undefined,
+ sortBy: sortBy != null ? sortBy : undefined,
limit,
createdAtGt: createdAtGt != null ? createdAtGt : undefined,
createdAtLt: createdAtLt != null ? createdAtLt : undefined,
@@ -106,6 +110,8 @@ export class InsightClient {
}
/**
+ * Creates a saved reporting insight that queries call data and presents the results as a bar chart, pie chart, line chart, or text value.
+ *
* @param {Vapi.InsightControllerCreateRequest} request
* @param {InsightClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -172,6 +178,8 @@ export class InsightClient {
}
/**
+ * Returns the reporting insight identified by its ID.
+ *
* @param {Vapi.InsightControllerFindOneRequest} request
* @param {InsightClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -233,6 +241,8 @@ export class InsightClient {
}
/**
+ * Deletes the reporting insight identified by its ID.
+ *
* @param {Vapi.InsightControllerRemoveRequest} request
* @param {InsightClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -291,6 +301,8 @@ export class InsightClient {
}
/**
+ * Updates the reporting insight identified by its ID.
+ *
* @param {Vapi.InsightControllerUpdateRequest} request
* @param {InsightClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -355,6 +367,8 @@ export class InsightClient {
}
/**
+ * Runs a saved reporting insight, optionally overriding its time range and response format.
+ *
* @param {Vapi.InsightRunDto} request
* @param {InsightClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -416,6 +430,8 @@ export class InsightClient {
}
/**
+ * Runs an insight definition without first saving it, returning a preview of the resulting chart or text value.
+ *
* @param {Vapi.InsightControllerPreviewRequest} request
* @param {InsightClient.RequestOptions} requestOptions - Request-specific configuration.
*
diff --git a/src/api/resources/insight/client/requests/InsightControllerFindAllRequest.ts b/src/api/resources/insight/client/requests/InsightControllerFindAllRequest.ts
index 3eb61b48..edec5e70 100644
--- a/src/api/resources/insight/client/requests/InsightControllerFindAllRequest.ts
+++ b/src/api/resources/insight/client/requests/InsightControllerFindAllRequest.ts
@@ -7,11 +7,14 @@ import type * as Vapi from "../../../../index.js";
* {}
*/
export interface InsightControllerFindAllRequest {
+ /** Filters reporting insights by ID. */
id?: string;
/** This is the page number to return. Defaults to 1. */
page?: number;
/** This is the sort order for pagination. Defaults to 'DESC'. */
sortOrder?: Vapi.InsightControllerFindAllRequestSortOrder;
+ /** This is the column to sort by. Defaults to 'createdAt'. */
+ sortBy?: Vapi.InsightControllerFindAllRequestSortBy;
/** This is the maximum number of items to return. Defaults to 100. */
limit?: number;
/** This will return items where the createdAt is greater than the specified value. */
diff --git a/src/api/resources/insight/client/requests/InsightControllerFindOneRequest.ts b/src/api/resources/insight/client/requests/InsightControllerFindOneRequest.ts
index e4566452..98561295 100644
--- a/src/api/resources/insight/client/requests/InsightControllerFindOneRequest.ts
+++ b/src/api/resources/insight/client/requests/InsightControllerFindOneRequest.ts
@@ -7,5 +7,6 @@
* }
*/
export interface InsightControllerFindOneRequest {
+ /** The unique identifier of the reporting insight. */
id: string;
}
diff --git a/src/api/resources/insight/client/requests/InsightControllerRemoveRequest.ts b/src/api/resources/insight/client/requests/InsightControllerRemoveRequest.ts
index c12e5706..eb8f1939 100644
--- a/src/api/resources/insight/client/requests/InsightControllerRemoveRequest.ts
+++ b/src/api/resources/insight/client/requests/InsightControllerRemoveRequest.ts
@@ -7,5 +7,6 @@
* }
*/
export interface InsightControllerRemoveRequest {
+ /** The unique identifier of the reporting insight. */
id: string;
}
diff --git a/src/api/resources/insight/client/requests/InsightControllerUpdateRequest.ts b/src/api/resources/insight/client/requests/InsightControllerUpdateRequest.ts
index 82e784b3..23f12a57 100644
--- a/src/api/resources/insight/client/requests/InsightControllerUpdateRequest.ts
+++ b/src/api/resources/insight/client/requests/InsightControllerUpdateRequest.ts
@@ -12,6 +12,7 @@ import type * as Vapi from "../../../../index.js";
* }
*/
export interface InsightControllerUpdateRequest {
+ /** The unique identifier of the reporting insight. */
id: string;
body: Vapi.InsightControllerUpdateRequestBody;
}
diff --git a/src/api/resources/insight/client/requests/InsightRunDto.ts b/src/api/resources/insight/client/requests/InsightRunDto.ts
index 6693ba33..c85e52cd 100644
--- a/src/api/resources/insight/client/requests/InsightRunDto.ts
+++ b/src/api/resources/insight/client/requests/InsightRunDto.ts
@@ -9,7 +9,9 @@ import type * as Vapi from "../../../../index.js";
* }
*/
export interface InsightRunDto {
+ /** The unique identifier of the reporting insight. */
id: string;
+ /** Output-formatting instructions applied to the insight run. */
formatPlan?: Vapi.InsightRunFormatPlan;
/**
* This is the optional time range override for the insight.
@@ -21,4 +23,9 @@ export interface InsightRunDto {
* For Pie and Text Insights, step will be ignored even if provided.
*/
timeRangeOverride?: Vapi.InsightTimeRangeWithStep;
+ /**
+ * Optional runtime assistant scope for dashboards.
+ * This is applied to call-table queries without mutating the saved insight.
+ */
+ assistantId?: string;
}
diff --git a/src/api/resources/insight/types/InsightControllerFindAllRequestSortBy.ts b/src/api/resources/insight/types/InsightControllerFindAllRequestSortBy.ts
new file mode 100644
index 00000000..61384e3d
--- /dev/null
+++ b/src/api/resources/insight/types/InsightControllerFindAllRequestSortBy.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const InsightControllerFindAllRequestSortBy = {
+ CreatedAt: "createdAt",
+ Duration: "duration",
+ Cost: "cost",
+} as const;
+export type InsightControllerFindAllRequestSortBy =
+ (typeof InsightControllerFindAllRequestSortBy)[keyof typeof InsightControllerFindAllRequestSortBy];
diff --git a/src/api/resources/insight/types/index.ts b/src/api/resources/insight/types/index.ts
index 384a5641..562d5c80 100644
--- a/src/api/resources/insight/types/index.ts
+++ b/src/api/resources/insight/types/index.ts
@@ -1,5 +1,6 @@
export * from "./InsightControllerCreateRequest.js";
export * from "./InsightControllerCreateResponse.js";
+export * from "./InsightControllerFindAllRequestSortBy.js";
export * from "./InsightControllerFindAllRequestSortOrder.js";
export * from "./InsightControllerFindOneResponse.js";
export * from "./InsightControllerPreviewRequest.js";
diff --git a/src/api/resources/knowledgeBasesV2/client/Client.ts b/src/api/resources/knowledgeBasesV2/client/Client.ts
new file mode 100644
index 00000000..0ff1cba6
--- /dev/null
+++ b/src/api/resources/knowledgeBasesV2/client/Client.ts
@@ -0,0 +1,572 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js";
+import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js";
+import { mergeHeaders } from "../../../../core/headers.js";
+import * as core from "../../../../core/index.js";
+import * as environments from "../../../../environments.js";
+import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js";
+import * as errors from "../../../../errors/index.js";
+import type * as Vapi from "../../../index.js";
+
+export declare namespace KnowledgeBasesV2Client {
+ export type Options = BaseClientOptions;
+
+ export interface RequestOptions extends BaseRequestOptions {}
+}
+
+export class KnowledgeBasesV2Client {
+ protected readonly _options: NormalizedClientOptionsWithAuth;
+
+ constructor(options: KnowledgeBasesV2Client.Options) {
+ this._options = normalizeClientOptionsWithAuth(options);
+ }
+
+ /**
+ * @param {Vapi.KnowledgeBaseV2ControllerFindAllRequest} request
+ * @param {KnowledgeBasesV2Client.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.knowledgeBasesV2.knowledgeBaseV2ControllerFindAll()
+ */
+ public knowledgeBaseV2ControllerFindAll(
+ request: Vapi.KnowledgeBaseV2ControllerFindAllRequest = {},
+ requestOptions?: KnowledgeBasesV2Client.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__knowledgeBaseV2ControllerFindAll(request, requestOptions));
+ }
+
+ private async __knowledgeBaseV2ControllerFindAll(
+ request: Vapi.KnowledgeBaseV2ControllerFindAllRequest = {},
+ requestOptions?: KnowledgeBasesV2Client.RequestOptions,
+ ): Promise> {
+ const { limit } = request;
+ const _queryParams: Record = {
+ limit,
+ };
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ "v2/knowledge-base",
+ ),
+ method: "GET",
+ headers: _headers,
+ queryParameters: { ..._queryParams, ...requestOptions?.queryParams },
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.KnowledgeBaseV2[], rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/knowledge-base");
+ }
+
+ /**
+ * @param {Vapi.CreateKnowledgeBaseV2Dto} request
+ * @param {KnowledgeBasesV2Client.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.knowledgeBasesV2.knowledgeBaseV2ControllerCreate({
+ * name: "name"
+ * })
+ */
+ public knowledgeBaseV2ControllerCreate(
+ request: Vapi.CreateKnowledgeBaseV2Dto,
+ requestOptions?: KnowledgeBasesV2Client.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__knowledgeBaseV2ControllerCreate(request, requestOptions));
+ }
+
+ private async __knowledgeBaseV2ControllerCreate(
+ request: Vapi.CreateKnowledgeBaseV2Dto,
+ requestOptions?: KnowledgeBasesV2Client.RequestOptions,
+ ): Promise> {
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ "v2/knowledge-base",
+ ),
+ method: "POST",
+ headers: _headers,
+ contentType: "application/json",
+ queryParameters: requestOptions?.queryParams,
+ requestType: "json",
+ body: request,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.KnowledgeBaseV2, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/knowledge-base");
+ }
+
+ /**
+ * @param {Vapi.KnowledgeBaseV2ControllerFilesGetRequest} request
+ * @param {KnowledgeBasesV2Client.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.knowledgeBasesV2.knowledgeBaseV2ControllerFilesGet({
+ * id: "id"
+ * })
+ */
+ public knowledgeBaseV2ControllerFilesGet(
+ request: Vapi.KnowledgeBaseV2ControllerFilesGetRequest,
+ requestOptions?: KnowledgeBasesV2Client.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__knowledgeBaseV2ControllerFilesGet(request, requestOptions));
+ }
+
+ private async __knowledgeBaseV2ControllerFilesGet(
+ request: Vapi.KnowledgeBaseV2ControllerFilesGetRequest,
+ requestOptions?: KnowledgeBasesV2Client.RequestOptions,
+ ): Promise> {
+ const { id } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `v2/knowledge-base/${core.url.encodePathParam(id)}/file`,
+ ),
+ method: "GET",
+ headers: _headers,
+ queryParameters: requestOptions?.queryParams,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.KnowledgeBaseV2File[], rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/knowledge-base/{id}/file");
+ }
+
+ /**
+ * @param {Vapi.AttachKnowledgeBaseV2FileDto} request
+ * @param {KnowledgeBasesV2Client.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.knowledgeBasesV2.knowledgeBaseV2ControllerFileAttach({
+ * id: "id",
+ * fileId: "fileId"
+ * })
+ */
+ public knowledgeBaseV2ControllerFileAttach(
+ request: Vapi.AttachKnowledgeBaseV2FileDto,
+ requestOptions?: KnowledgeBasesV2Client.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(
+ this.__knowledgeBaseV2ControllerFileAttach(request, requestOptions),
+ );
+ }
+
+ private async __knowledgeBaseV2ControllerFileAttach(
+ request: Vapi.AttachKnowledgeBaseV2FileDto,
+ requestOptions?: KnowledgeBasesV2Client.RequestOptions,
+ ): Promise> {
+ const { id, ..._body } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `v2/knowledge-base/${core.url.encodePathParam(id)}/file`,
+ ),
+ method: "POST",
+ headers: _headers,
+ contentType: "application/json",
+ queryParameters: requestOptions?.queryParams,
+ requestType: "json",
+ body: _body,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.KnowledgeBaseV2File, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/knowledge-base/{id}/file");
+ }
+
+ /**
+ * @param {Vapi.KnowledgeBaseV2ControllerFileDetachRequest} request
+ * @param {KnowledgeBasesV2Client.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.knowledgeBasesV2.knowledgeBaseV2ControllerFileDetach({
+ * id: "id",
+ * fileId: "fileId"
+ * })
+ */
+ public knowledgeBaseV2ControllerFileDetach(
+ request: Vapi.KnowledgeBaseV2ControllerFileDetachRequest,
+ requestOptions?: KnowledgeBasesV2Client.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(
+ this.__knowledgeBaseV2ControllerFileDetach(request, requestOptions),
+ );
+ }
+
+ private async __knowledgeBaseV2ControllerFileDetach(
+ request: Vapi.KnowledgeBaseV2ControllerFileDetachRequest,
+ requestOptions?: KnowledgeBasesV2Client.RequestOptions,
+ ): Promise> {
+ const { id, fileId } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `v2/knowledge-base/${core.url.encodePathParam(id)}/file/${core.url.encodePathParam(fileId)}`,
+ ),
+ method: "DELETE",
+ headers: _headers,
+ queryParameters: requestOptions?.queryParams,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.KnowledgeBaseV2File, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(
+ _response.error,
+ _response.rawResponse,
+ "DELETE",
+ "/v2/knowledge-base/{id}/file/{fileId}",
+ );
+ }
+
+ /**
+ * @param {Vapi.KnowledgeBaseV2ControllerFileRetryRequest} request
+ * @param {KnowledgeBasesV2Client.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.knowledgeBasesV2.knowledgeBaseV2ControllerFileRetry({
+ * id: "id",
+ * fileId: "fileId"
+ * })
+ */
+ public knowledgeBaseV2ControllerFileRetry(
+ request: Vapi.KnowledgeBaseV2ControllerFileRetryRequest,
+ requestOptions?: KnowledgeBasesV2Client.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__knowledgeBaseV2ControllerFileRetry(request, requestOptions));
+ }
+
+ private async __knowledgeBaseV2ControllerFileRetry(
+ request: Vapi.KnowledgeBaseV2ControllerFileRetryRequest,
+ requestOptions?: KnowledgeBasesV2Client.RequestOptions,
+ ): Promise> {
+ const { id, fileId } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `v2/knowledge-base/${core.url.encodePathParam(id)}/file/${core.url.encodePathParam(fileId)}/retry`,
+ ),
+ method: "POST",
+ headers: _headers,
+ queryParameters: requestOptions?.queryParams,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.KnowledgeBaseV2File, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(
+ _response.error,
+ _response.rawResponse,
+ "POST",
+ "/v2/knowledge-base/{id}/file/{fileId}/retry",
+ );
+ }
+
+ /**
+ * @param {Vapi.KnowledgeBaseV2ControllerFindOneRequest} request
+ * @param {KnowledgeBasesV2Client.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.knowledgeBasesV2.knowledgeBaseV2ControllerFindOne({
+ * id: "id"
+ * })
+ */
+ public knowledgeBaseV2ControllerFindOne(
+ request: Vapi.KnowledgeBaseV2ControllerFindOneRequest,
+ requestOptions?: KnowledgeBasesV2Client.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__knowledgeBaseV2ControllerFindOne(request, requestOptions));
+ }
+
+ private async __knowledgeBaseV2ControllerFindOne(
+ request: Vapi.KnowledgeBaseV2ControllerFindOneRequest,
+ requestOptions?: KnowledgeBasesV2Client.RequestOptions,
+ ): Promise> {
+ const { id } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `v2/knowledge-base/${core.url.encodePathParam(id)}`,
+ ),
+ method: "GET",
+ headers: _headers,
+ queryParameters: requestOptions?.queryParams,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.KnowledgeBaseV2WithFiles, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/knowledge-base/{id}");
+ }
+
+ /**
+ * @param {Vapi.KnowledgeBaseV2ControllerRemoveRequest} request
+ * @param {KnowledgeBasesV2Client.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.knowledgeBasesV2.knowledgeBaseV2ControllerRemove({
+ * id: "id"
+ * })
+ */
+ public knowledgeBaseV2ControllerRemove(
+ request: Vapi.KnowledgeBaseV2ControllerRemoveRequest,
+ requestOptions?: KnowledgeBasesV2Client.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__knowledgeBaseV2ControllerRemove(request, requestOptions));
+ }
+
+ private async __knowledgeBaseV2ControllerRemove(
+ request: Vapi.KnowledgeBaseV2ControllerRemoveRequest,
+ requestOptions?: KnowledgeBasesV2Client.RequestOptions,
+ ): Promise> {
+ const { id } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `v2/knowledge-base/${core.url.encodePathParam(id)}`,
+ ),
+ method: "DELETE",
+ headers: _headers,
+ queryParameters: requestOptions?.queryParams,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.KnowledgeBaseV2, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/v2/knowledge-base/{id}");
+ }
+
+ /**
+ * @param {Vapi.UpdateKnowledgeBaseV2Dto} request
+ * @param {KnowledgeBasesV2Client.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.knowledgeBasesV2.knowledgeBaseV2ControllerUpdate({
+ * id: "id"
+ * })
+ */
+ public knowledgeBaseV2ControllerUpdate(
+ request: Vapi.UpdateKnowledgeBaseV2Dto,
+ requestOptions?: KnowledgeBasesV2Client.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__knowledgeBaseV2ControllerUpdate(request, requestOptions));
+ }
+
+ private async __knowledgeBaseV2ControllerUpdate(
+ request: Vapi.UpdateKnowledgeBaseV2Dto,
+ requestOptions?: KnowledgeBasesV2Client.RequestOptions,
+ ): Promise> {
+ const { id, ..._body } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `v2/knowledge-base/${core.url.encodePathParam(id)}`,
+ ),
+ method: "PATCH",
+ headers: _headers,
+ contentType: "application/json",
+ queryParameters: requestOptions?.queryParams,
+ requestType: "json",
+ body: _body,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.KnowledgeBaseV2, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/v2/knowledge-base/{id}");
+ }
+}
diff --git a/src/api/resources/knowledgeBasesV2/client/index.ts b/src/api/resources/knowledgeBasesV2/client/index.ts
new file mode 100644
index 00000000..195f9aa8
--- /dev/null
+++ b/src/api/resources/knowledgeBasesV2/client/index.ts
@@ -0,0 +1 @@
+export * from "./requests/index.js";
diff --git a/src/api/resources/knowledgeBasesV2/client/requests/AttachKnowledgeBaseV2FileDto.ts b/src/api/resources/knowledgeBasesV2/client/requests/AttachKnowledgeBaseV2FileDto.ts
new file mode 100644
index 00000000..f6454e00
--- /dev/null
+++ b/src/api/resources/knowledgeBasesV2/client/requests/AttachKnowledgeBaseV2FileDto.ts
@@ -0,0 +1,14 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id",
+ * fileId: "fileId"
+ * }
+ */
+export interface AttachKnowledgeBaseV2FileDto {
+ /** The unique identifier for the resource. */
+ id: string;
+ fileId: string;
+}
diff --git a/src/api/resources/knowledgeBasesV2/client/requests/CreateKnowledgeBaseV2Dto.ts b/src/api/resources/knowledgeBasesV2/client/requests/CreateKnowledgeBaseV2Dto.ts
new file mode 100644
index 00000000..547d0fa4
--- /dev/null
+++ b/src/api/resources/knowledgeBasesV2/client/requests/CreateKnowledgeBaseV2Dto.ts
@@ -0,0 +1,12 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * name: "name"
+ * }
+ */
+export interface CreateKnowledgeBaseV2Dto {
+ name: string;
+ description?: string | null;
+}
diff --git a/src/api/resources/knowledgeBasesV2/client/requests/KnowledgeBaseV2ControllerFileDetachRequest.ts b/src/api/resources/knowledgeBasesV2/client/requests/KnowledgeBaseV2ControllerFileDetachRequest.ts
new file mode 100644
index 00000000..602a1b26
--- /dev/null
+++ b/src/api/resources/knowledgeBasesV2/client/requests/KnowledgeBaseV2ControllerFileDetachRequest.ts
@@ -0,0 +1,14 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id",
+ * fileId: "fileId"
+ * }
+ */
+export interface KnowledgeBaseV2ControllerFileDetachRequest {
+ /** The unique identifier for the resource. */
+ id: string;
+ fileId: string;
+}
diff --git a/src/api/resources/knowledgeBasesV2/client/requests/KnowledgeBaseV2ControllerFileRetryRequest.ts b/src/api/resources/knowledgeBasesV2/client/requests/KnowledgeBaseV2ControllerFileRetryRequest.ts
new file mode 100644
index 00000000..c62bb7e3
--- /dev/null
+++ b/src/api/resources/knowledgeBasesV2/client/requests/KnowledgeBaseV2ControllerFileRetryRequest.ts
@@ -0,0 +1,14 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id",
+ * fileId: "fileId"
+ * }
+ */
+export interface KnowledgeBaseV2ControllerFileRetryRequest {
+ /** The unique identifier for the resource. */
+ id: string;
+ fileId: string;
+}
diff --git a/src/api/resources/knowledgeBasesV2/client/requests/KnowledgeBaseV2ControllerFilesGetRequest.ts b/src/api/resources/knowledgeBasesV2/client/requests/KnowledgeBaseV2ControllerFilesGetRequest.ts
new file mode 100644
index 00000000..dbe74cda
--- /dev/null
+++ b/src/api/resources/knowledgeBasesV2/client/requests/KnowledgeBaseV2ControllerFilesGetRequest.ts
@@ -0,0 +1,12 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
+export interface KnowledgeBaseV2ControllerFilesGetRequest {
+ /** The unique identifier for the resource. */
+ id: string;
+}
diff --git a/src/api/resources/knowledgeBasesV2/client/requests/KnowledgeBaseV2ControllerFindAllRequest.ts b/src/api/resources/knowledgeBasesV2/client/requests/KnowledgeBaseV2ControllerFindAllRequest.ts
new file mode 100644
index 00000000..154d3a4c
--- /dev/null
+++ b/src/api/resources/knowledgeBasesV2/client/requests/KnowledgeBaseV2ControllerFindAllRequest.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {}
+ */
+export interface KnowledgeBaseV2ControllerFindAllRequest {
+ limit?: number;
+}
diff --git a/src/api/resources/knowledgeBasesV2/client/requests/KnowledgeBaseV2ControllerFindOneRequest.ts b/src/api/resources/knowledgeBasesV2/client/requests/KnowledgeBaseV2ControllerFindOneRequest.ts
new file mode 100644
index 00000000..fe503e8c
--- /dev/null
+++ b/src/api/resources/knowledgeBasesV2/client/requests/KnowledgeBaseV2ControllerFindOneRequest.ts
@@ -0,0 +1,12 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
+export interface KnowledgeBaseV2ControllerFindOneRequest {
+ /** The unique identifier for the resource. */
+ id: string;
+}
diff --git a/src/api/resources/knowledgeBasesV2/client/requests/KnowledgeBaseV2ControllerRemoveRequest.ts b/src/api/resources/knowledgeBasesV2/client/requests/KnowledgeBaseV2ControllerRemoveRequest.ts
new file mode 100644
index 00000000..3cac5be6
--- /dev/null
+++ b/src/api/resources/knowledgeBasesV2/client/requests/KnowledgeBaseV2ControllerRemoveRequest.ts
@@ -0,0 +1,12 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
+export interface KnowledgeBaseV2ControllerRemoveRequest {
+ /** The unique identifier for the resource. */
+ id: string;
+}
diff --git a/src/api/resources/knowledgeBasesV2/client/requests/UpdateKnowledgeBaseV2Dto.ts b/src/api/resources/knowledgeBasesV2/client/requests/UpdateKnowledgeBaseV2Dto.ts
new file mode 100644
index 00000000..a70d660e
--- /dev/null
+++ b/src/api/resources/knowledgeBasesV2/client/requests/UpdateKnowledgeBaseV2Dto.ts
@@ -0,0 +1,14 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
+export interface UpdateKnowledgeBaseV2Dto {
+ /** The unique identifier for the resource. */
+ id: string;
+ name?: string;
+ description?: string | null;
+}
diff --git a/src/api/resources/knowledgeBasesV2/client/requests/index.ts b/src/api/resources/knowledgeBasesV2/client/requests/index.ts
new file mode 100644
index 00000000..35406140
--- /dev/null
+++ b/src/api/resources/knowledgeBasesV2/client/requests/index.ts
@@ -0,0 +1,9 @@
+export type { AttachKnowledgeBaseV2FileDto } from "./AttachKnowledgeBaseV2FileDto.js";
+export type { CreateKnowledgeBaseV2Dto } from "./CreateKnowledgeBaseV2Dto.js";
+export type { KnowledgeBaseV2ControllerFileDetachRequest } from "./KnowledgeBaseV2ControllerFileDetachRequest.js";
+export type { KnowledgeBaseV2ControllerFileRetryRequest } from "./KnowledgeBaseV2ControllerFileRetryRequest.js";
+export type { KnowledgeBaseV2ControllerFilesGetRequest } from "./KnowledgeBaseV2ControllerFilesGetRequest.js";
+export type { KnowledgeBaseV2ControllerFindAllRequest } from "./KnowledgeBaseV2ControllerFindAllRequest.js";
+export type { KnowledgeBaseV2ControllerFindOneRequest } from "./KnowledgeBaseV2ControllerFindOneRequest.js";
+export type { KnowledgeBaseV2ControllerRemoveRequest } from "./KnowledgeBaseV2ControllerRemoveRequest.js";
+export type { UpdateKnowledgeBaseV2Dto } from "./UpdateKnowledgeBaseV2Dto.js";
diff --git a/src/api/resources/knowledgeBasesV2/exports.ts b/src/api/resources/knowledgeBasesV2/exports.ts
new file mode 100644
index 00000000..8564389c
--- /dev/null
+++ b/src/api/resources/knowledgeBasesV2/exports.ts
@@ -0,0 +1,4 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export { KnowledgeBasesV2Client } from "./client/Client.js";
+export * from "./client/index.js";
diff --git a/src/api/resources/knowledgeBasesV2/index.ts b/src/api/resources/knowledgeBasesV2/index.ts
new file mode 100644
index 00000000..914b8c3c
--- /dev/null
+++ b/src/api/resources/knowledgeBasesV2/index.ts
@@ -0,0 +1 @@
+export * from "./client/index.js";
diff --git a/src/api/resources/observabilityScorecard/client/Client.ts b/src/api/resources/observabilityScorecard/client/Client.ts
index 6035efa7..8382f71b 100644
--- a/src/api/resources/observabilityScorecard/client/Client.ts
+++ b/src/api/resources/observabilityScorecard/client/Client.ts
@@ -23,6 +23,8 @@ export class ObservabilityScorecardClient {
}
/**
+ * Returns the scorecard identified by its ID.
+ *
* @param {Vapi.ScorecardControllerGetRequest} request
* @param {ObservabilityScorecardClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -81,6 +83,8 @@ export class ObservabilityScorecardClient {
}
/**
+ * Deletes the scorecard identified by its ID.
+ *
* @param {Vapi.ScorecardControllerRemoveRequest} request
* @param {ObservabilityScorecardClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -144,6 +148,8 @@ export class ObservabilityScorecardClient {
}
/**
+ * Updates the scorecard identified by its ID.
+ *
* @param {Vapi.UpdateScorecardDto} request
* @param {ObservabilityScorecardClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -210,6 +216,8 @@ export class ObservabilityScorecardClient {
}
/**
+ * Returns scorecards for the authenticated organization. Filter results by ID or creation and update timestamps.
+ *
* @param {Vapi.ScorecardControllerGetPaginatedRequest} request
* @param {ObservabilityScorecardClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -231,6 +239,7 @@ export class ObservabilityScorecardClient {
id,
page,
sortOrder,
+ sortBy,
limit,
createdAtGt,
createdAtLt,
@@ -245,6 +254,7 @@ export class ObservabilityScorecardClient {
id,
page,
sortOrder: sortOrder != null ? sortOrder : undefined,
+ sortBy: sortBy != null ? sortBy : undefined,
limit,
createdAtGt: createdAtGt != null ? createdAtGt : undefined,
createdAtLt: createdAtLt != null ? createdAtLt : undefined,
@@ -293,16 +303,21 @@ export class ObservabilityScorecardClient {
}
/**
+ * Creates a scorecard containing metrics, scoring conditions, and optional links to assistants whose calls should be evaluated.
+ *
* @param {Vapi.CreateScorecardDto} request
* @param {ObservabilityScorecardClient.RequestOptions} requestOptions - Request-specific configuration.
*
* @example
* await client.observabilityScorecard.scorecardControllerCreate({
* metrics: [{
- * structuredOutputId: "structuredOutputId",
* conditions: [{
- * "key": "value"
- * }]
+ * type: "comparator",
+ * comparator: "=",
+ * value: 1.1,
+ * points: 1.1
+ * }],
+ * structuredOutputId: "structuredOutputId"
* }]
* })
*/
diff --git a/src/api/resources/observabilityScorecard/client/requests/ScorecardControllerGetPaginatedRequest.ts b/src/api/resources/observabilityScorecard/client/requests/ScorecardControllerGetPaginatedRequest.ts
index f9b28ea9..f4772eff 100644
--- a/src/api/resources/observabilityScorecard/client/requests/ScorecardControllerGetPaginatedRequest.ts
+++ b/src/api/resources/observabilityScorecard/client/requests/ScorecardControllerGetPaginatedRequest.ts
@@ -7,11 +7,14 @@ import type * as Vapi from "../../../../index.js";
* {}
*/
export interface ScorecardControllerGetPaginatedRequest {
+ /** Filters scorecards by ID. */
id?: string;
/** This is the page number to return. Defaults to 1. */
page?: number;
/** This is the sort order for pagination. Defaults to 'DESC'. */
sortOrder?: Vapi.ScorecardControllerGetPaginatedRequestSortOrder;
+ /** This is the column to sort by. Defaults to 'createdAt'. */
+ sortBy?: Vapi.ScorecardControllerGetPaginatedRequestSortBy;
/** This is the maximum number of items to return. Defaults to 100. */
limit?: number;
/** This will return items where the createdAt is greater than the specified value. */
diff --git a/src/api/resources/observabilityScorecard/client/requests/ScorecardControllerGetRequest.ts b/src/api/resources/observabilityScorecard/client/requests/ScorecardControllerGetRequest.ts
index 8b9f3fd9..1fe5f19b 100644
--- a/src/api/resources/observabilityScorecard/client/requests/ScorecardControllerGetRequest.ts
+++ b/src/api/resources/observabilityScorecard/client/requests/ScorecardControllerGetRequest.ts
@@ -7,5 +7,6 @@
* }
*/
export interface ScorecardControllerGetRequest {
+ /** The unique identifier of the scorecard. */
id: string;
}
diff --git a/src/api/resources/observabilityScorecard/client/requests/ScorecardControllerRemoveRequest.ts b/src/api/resources/observabilityScorecard/client/requests/ScorecardControllerRemoveRequest.ts
index f55d5222..d6fb3b11 100644
--- a/src/api/resources/observabilityScorecard/client/requests/ScorecardControllerRemoveRequest.ts
+++ b/src/api/resources/observabilityScorecard/client/requests/ScorecardControllerRemoveRequest.ts
@@ -7,5 +7,6 @@
* }
*/
export interface ScorecardControllerRemoveRequest {
+ /** The unique identifier of the scorecard. */
id: string;
}
diff --git a/src/api/resources/observabilityScorecard/client/requests/UpdateScorecardDto.ts b/src/api/resources/observabilityScorecard/client/requests/UpdateScorecardDto.ts
index f54637cd..0efefff7 100644
--- a/src/api/resources/observabilityScorecard/client/requests/UpdateScorecardDto.ts
+++ b/src/api/resources/observabilityScorecard/client/requests/UpdateScorecardDto.ts
@@ -9,6 +9,7 @@ import type * as Vapi from "../../../../index.js";
* }
*/
export interface UpdateScorecardDto {
+ /** The unique identifier of the scorecard. */
id: string;
/** This is the name of the scorecard. It is only for user reference and will not be used for any evaluation. */
name?: string;
diff --git a/src/api/resources/observabilityScorecard/types/ScorecardControllerGetPaginatedRequestSortBy.ts b/src/api/resources/observabilityScorecard/types/ScorecardControllerGetPaginatedRequestSortBy.ts
new file mode 100644
index 00000000..9fbf395f
--- /dev/null
+++ b/src/api/resources/observabilityScorecard/types/ScorecardControllerGetPaginatedRequestSortBy.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const ScorecardControllerGetPaginatedRequestSortBy = {
+ CreatedAt: "createdAt",
+ Duration: "duration",
+ Cost: "cost",
+} as const;
+export type ScorecardControllerGetPaginatedRequestSortBy =
+ (typeof ScorecardControllerGetPaginatedRequestSortBy)[keyof typeof ScorecardControllerGetPaginatedRequestSortBy];
diff --git a/src/api/resources/observabilityScorecard/types/index.ts b/src/api/resources/observabilityScorecard/types/index.ts
index 9d265e2b..c9f46043 100644
--- a/src/api/resources/observabilityScorecard/types/index.ts
+++ b/src/api/resources/observabilityScorecard/types/index.ts
@@ -1 +1,2 @@
+export * from "./ScorecardControllerGetPaginatedRequestSortBy.js";
export * from "./ScorecardControllerGetPaginatedRequestSortOrder.js";
diff --git a/src/api/resources/phoneNumbers/client/Client.ts b/src/api/resources/phoneNumbers/client/Client.ts
index a64f47d2..d011c743 100644
--- a/src/api/resources/phoneNumbers/client/Client.ts
+++ b/src/api/resources/phoneNumbers/client/Client.ts
@@ -23,6 +23,8 @@ export class PhoneNumbersClient {
}
/**
+ * Returns phone numbers for the authenticated organization. Filter results by creation or update timestamps and limit the number returned.
+ *
* @param {Vapi.ListPhoneNumbersRequest} request
* @param {PhoneNumbersClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -100,6 +102,8 @@ export class PhoneNumbersClient {
}
/**
+ * Creates a Vapi phone number or imports a phone number from a supported provider, including Twilio, Vonage, Telnyx, or a bring-your-own provider.
+ *
* @param {Vapi.CreatePhoneNumbersRequest} request
* @param {PhoneNumbersClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -161,6 +165,8 @@ export class PhoneNumbersClient {
}
/**
+ * Returns a paginated list of phone numbers for the authenticated organization. Search by name, number, or SIP URI using a partial, case-insensitive match, and filter by creation or update timestamps.
+ *
* @param {Vapi.PhoneNumberControllerFindAllPaginatedRequest} request
* @param {PhoneNumbersClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -184,6 +190,7 @@ export class PhoneNumbersClient {
search,
page,
sortOrder,
+ sortBy,
limit,
createdAtGt,
createdAtLt,
@@ -198,6 +205,7 @@ export class PhoneNumbersClient {
search,
page,
sortOrder: sortOrder != null ? sortOrder : undefined,
+ sortBy: sortBy != null ? sortBy : undefined,
limit,
createdAtGt: createdAtGt != null ? createdAtGt : undefined,
createdAtLt: createdAtLt != null ? createdAtLt : undefined,
@@ -246,6 +254,8 @@ export class PhoneNumbersClient {
}
/**
+ * Returns the phone number resource identified by its ID.
+ *
* @param {Vapi.GetPhoneNumbersRequest} request
* @param {PhoneNumbersClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -304,6 +314,8 @@ export class PhoneNumbersClient {
}
/**
+ * Deletes the phone number resource identified by its ID.
+ *
* @param {Vapi.DeletePhoneNumbersRequest} request
* @param {PhoneNumbersClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -362,6 +374,8 @@ export class PhoneNumbersClient {
}
/**
+ * Updates the specified fields of the phone number resource identified by its ID.
+ *
* @param {Vapi.UpdatePhoneNumbersRequest} request
* @param {PhoneNumbersClient.RequestOptions} requestOptions - Request-specific configuration.
*
diff --git a/src/api/resources/phoneNumbers/client/requests/DeletePhoneNumbersRequest.ts b/src/api/resources/phoneNumbers/client/requests/DeletePhoneNumbersRequest.ts
index 28f1cb3d..0794baae 100644
--- a/src/api/resources/phoneNumbers/client/requests/DeletePhoneNumbersRequest.ts
+++ b/src/api/resources/phoneNumbers/client/requests/DeletePhoneNumbersRequest.ts
@@ -7,5 +7,6 @@
* }
*/
export interface DeletePhoneNumbersRequest {
+ /** The unique identifier of the phone number. */
id: string;
}
diff --git a/src/api/resources/phoneNumbers/client/requests/GetPhoneNumbersRequest.ts b/src/api/resources/phoneNumbers/client/requests/GetPhoneNumbersRequest.ts
index 54aa372e..52efadb9 100644
--- a/src/api/resources/phoneNumbers/client/requests/GetPhoneNumbersRequest.ts
+++ b/src/api/resources/phoneNumbers/client/requests/GetPhoneNumbersRequest.ts
@@ -7,5 +7,6 @@
* }
*/
export interface GetPhoneNumbersRequest {
+ /** The unique identifier of the phone number. */
id: string;
}
diff --git a/src/api/resources/phoneNumbers/client/requests/PhoneNumberControllerFindAllPaginatedRequest.ts b/src/api/resources/phoneNumbers/client/requests/PhoneNumberControllerFindAllPaginatedRequest.ts
index d109552c..7a926edf 100644
--- a/src/api/resources/phoneNumbers/client/requests/PhoneNumberControllerFindAllPaginatedRequest.ts
+++ b/src/api/resources/phoneNumbers/client/requests/PhoneNumberControllerFindAllPaginatedRequest.ts
@@ -13,6 +13,8 @@ export interface PhoneNumberControllerFindAllPaginatedRequest {
page?: number;
/** This is the sort order for pagination. Defaults to 'DESC'. */
sortOrder?: Vapi.PhoneNumberControllerFindAllPaginatedRequestSortOrder;
+ /** This is the column to sort by. Defaults to 'createdAt'. */
+ sortBy?: Vapi.PhoneNumberControllerFindAllPaginatedRequestSortBy;
/** This is the maximum number of items to return. Defaults to 100. */
limit?: number;
/** This will return items where the createdAt is greater than the specified value. */
diff --git a/src/api/resources/phoneNumbers/client/requests/UpdatePhoneNumbersRequest.ts b/src/api/resources/phoneNumbers/client/requests/UpdatePhoneNumbersRequest.ts
index 1988f2fe..ac416354 100644
--- a/src/api/resources/phoneNumbers/client/requests/UpdatePhoneNumbersRequest.ts
+++ b/src/api/resources/phoneNumbers/client/requests/UpdatePhoneNumbersRequest.ts
@@ -12,6 +12,7 @@ import type * as Vapi from "../../../../index.js";
* }
*/
export interface UpdatePhoneNumbersRequest {
+ /** The unique identifier of the phone number. */
id: string;
body: Vapi.UpdatePhoneNumbersRequestBody;
}
diff --git a/src/api/resources/phoneNumbers/types/PhoneNumberControllerFindAllPaginatedRequestSortBy.ts b/src/api/resources/phoneNumbers/types/PhoneNumberControllerFindAllPaginatedRequestSortBy.ts
new file mode 100644
index 00000000..fcc8f5ec
--- /dev/null
+++ b/src/api/resources/phoneNumbers/types/PhoneNumberControllerFindAllPaginatedRequestSortBy.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const PhoneNumberControllerFindAllPaginatedRequestSortBy = {
+ CreatedAt: "createdAt",
+ Duration: "duration",
+ Cost: "cost",
+} as const;
+export type PhoneNumberControllerFindAllPaginatedRequestSortBy =
+ (typeof PhoneNumberControllerFindAllPaginatedRequestSortBy)[keyof typeof PhoneNumberControllerFindAllPaginatedRequestSortBy];
diff --git a/src/api/resources/phoneNumbers/types/index.ts b/src/api/resources/phoneNumbers/types/index.ts
index 08dded61..372f0329 100644
--- a/src/api/resources/phoneNumbers/types/index.ts
+++ b/src/api/resources/phoneNumbers/types/index.ts
@@ -3,6 +3,7 @@ export * from "./CreatePhoneNumbersResponse.js";
export * from "./DeletePhoneNumbersResponse.js";
export * from "./GetPhoneNumbersResponse.js";
export * from "./ListPhoneNumbersResponseItem.js";
+export * from "./PhoneNumberControllerFindAllPaginatedRequestSortBy.js";
export * from "./PhoneNumberControllerFindAllPaginatedRequestSortOrder.js";
export * from "./UpdatePhoneNumbersRequestBody.js";
export * from "./UpdatePhoneNumbersResponse.js";
diff --git a/src/api/resources/providerResources/client/Client.ts b/src/api/resources/providerResources/client/Client.ts
index fa3b4af0..1f7fc7d1 100644
--- a/src/api/resources/providerResources/client/Client.ts
+++ b/src/api/resources/providerResources/client/Client.ts
@@ -23,6 +23,8 @@ export class ProviderResourcesClient {
}
/**
+ * Returns a paginated list of provider resources for the authenticated organization. Filter pronunciation dictionaries by provider, resource ID, or creation and update timestamps.
+ *
* @param {Vapi.ProviderResourceControllerGetProviderResourcesPaginatedRequest} request
* @param {ProviderResourcesClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -52,6 +54,7 @@ export class ProviderResourcesClient {
resourceId,
page,
sortOrder,
+ sortBy,
limit,
createdAtGt,
createdAtLt,
@@ -67,6 +70,7 @@ export class ProviderResourcesClient {
resourceId,
page,
sortOrder: sortOrder != null ? sortOrder : undefined,
+ sortBy: sortBy != null ? sortBy : undefined,
limit,
createdAtGt: createdAtGt != null ? createdAtGt : undefined,
createdAtLt: createdAtLt != null ? createdAtLt : undefined,
@@ -123,6 +127,8 @@ export class ProviderResourcesClient {
}
/**
+ * Creates a pronunciation-dictionary resource for a supported provider, currently Cartesia or ElevenLabs.
+ *
* @param {Vapi.ProviderResourceControllerCreateProviderResourceRequest} request
* @param {ProviderResourcesClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -189,6 +195,8 @@ export class ProviderResourcesClient {
}
/**
+ * Returns the provider resource identified by its Vapi resource ID.
+ *
* @param {Vapi.ProviderResourceControllerGetProviderResourceRequest} request
* @param {ProviderResourcesClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -263,6 +271,8 @@ export class ProviderResourcesClient {
}
/**
+ * Deletes the provider resource identified by its Vapi resource ID.
+ *
* @param {Vapi.ProviderResourceControllerDeleteProviderResourceRequest} request
* @param {ProviderResourcesClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -337,6 +347,8 @@ export class ProviderResourcesClient {
}
/**
+ * Updates the provider resource identified by its Vapi resource ID.
+ *
* @param {Vapi.ProviderResourceControllerUpdateProviderResourceRequest} request
* @param {ProviderResourcesClient.RequestOptions} requestOptions - Request-specific configuration.
*
diff --git a/src/api/resources/providerResources/client/requests/ProviderResourceControllerDeleteProviderResourceRequest.ts b/src/api/resources/providerResources/client/requests/ProviderResourceControllerDeleteProviderResourceRequest.ts
index f07e43cb..a1fe0b65 100644
--- a/src/api/resources/providerResources/client/requests/ProviderResourceControllerDeleteProviderResourceRequest.ts
+++ b/src/api/resources/providerResources/client/requests/ProviderResourceControllerDeleteProviderResourceRequest.ts
@@ -15,5 +15,6 @@ export interface ProviderResourceControllerDeleteProviderResourceRequest {
provider: Vapi.ProviderResourceControllerDeleteProviderResourceRequestProvider;
/** The resource name (e.g., pronunciation-dictionary) */
resourceName: Vapi.ProviderResourceControllerDeleteProviderResourceRequestResourceName;
+ /** The unique identifier of the provider resource. */
id: string;
}
diff --git a/src/api/resources/providerResources/client/requests/ProviderResourceControllerGetProviderResourceRequest.ts b/src/api/resources/providerResources/client/requests/ProviderResourceControllerGetProviderResourceRequest.ts
index 5c731f35..975ea5fa 100644
--- a/src/api/resources/providerResources/client/requests/ProviderResourceControllerGetProviderResourceRequest.ts
+++ b/src/api/resources/providerResources/client/requests/ProviderResourceControllerGetProviderResourceRequest.ts
@@ -15,5 +15,6 @@ export interface ProviderResourceControllerGetProviderResourceRequest {
provider: Vapi.ProviderResourceControllerGetProviderResourceRequestProvider;
/** The resource name (e.g., pronunciation-dictionary) */
resourceName: Vapi.ProviderResourceControllerGetProviderResourceRequestResourceName;
+ /** The unique identifier of the provider resource. */
id: string;
}
diff --git a/src/api/resources/providerResources/client/requests/ProviderResourceControllerGetProviderResourcesPaginatedRequest.ts b/src/api/resources/providerResources/client/requests/ProviderResourceControllerGetProviderResourcesPaginatedRequest.ts
index 4a503051..bfcd404e 100644
--- a/src/api/resources/providerResources/client/requests/ProviderResourceControllerGetProviderResourcesPaginatedRequest.ts
+++ b/src/api/resources/providerResources/client/requests/ProviderResourceControllerGetProviderResourcesPaginatedRequest.ts
@@ -14,12 +14,16 @@ export interface ProviderResourceControllerGetProviderResourcesPaginatedRequest
provider: Vapi.ProviderResourceControllerGetProviderResourcesPaginatedRequestProvider;
/** The resource name (e.g., pronunciation-dictionary) */
resourceName: Vapi.ProviderResourceControllerGetProviderResourcesPaginatedRequestResourceName;
+ /** Filters provider resources by their resource ID. */
id?: string;
+ /** Filters provider resources by their provider-specific resource ID. */
resourceId?: string;
/** This is the page number to return. Defaults to 1. */
page?: number;
/** This is the sort order for pagination. Defaults to 'DESC'. */
sortOrder?: Vapi.ProviderResourceControllerGetProviderResourcesPaginatedRequestSortOrder;
+ /** This is the column to sort by. Defaults to 'createdAt'. */
+ sortBy?: Vapi.ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy;
/** This is the maximum number of items to return. Defaults to 100. */
limit?: number;
/** This will return items where the createdAt is greater than the specified value. */
diff --git a/src/api/resources/providerResources/client/requests/ProviderResourceControllerUpdateProviderResourceRequest.ts b/src/api/resources/providerResources/client/requests/ProviderResourceControllerUpdateProviderResourceRequest.ts
index 996b3639..7c7c0446 100644
--- a/src/api/resources/providerResources/client/requests/ProviderResourceControllerUpdateProviderResourceRequest.ts
+++ b/src/api/resources/providerResources/client/requests/ProviderResourceControllerUpdateProviderResourceRequest.ts
@@ -15,5 +15,6 @@ export interface ProviderResourceControllerUpdateProviderResourceRequest {
provider: Vapi.ProviderResourceControllerUpdateProviderResourceRequestProvider;
/** The resource name (e.g., pronunciation-dictionary) */
resourceName: Vapi.ProviderResourceControllerUpdateProviderResourceRequestResourceName;
+ /** The unique identifier of the provider resource. */
id: string;
}
diff --git a/src/api/resources/providerResources/types/ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy.ts b/src/api/resources/providerResources/types/ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy.ts
new file mode 100644
index 00000000..baa57d5e
--- /dev/null
+++ b/src/api/resources/providerResources/types/ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy = {
+ CreatedAt: "createdAt",
+ Duration: "duration",
+ Cost: "cost",
+} as const;
+export type ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy =
+ (typeof ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy)[keyof typeof ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy];
diff --git a/src/api/resources/providerResources/types/index.ts b/src/api/resources/providerResources/types/index.ts
index 0f3af992..223f1e34 100644
--- a/src/api/resources/providerResources/types/index.ts
+++ b/src/api/resources/providerResources/types/index.ts
@@ -6,6 +6,7 @@ export * from "./ProviderResourceControllerGetProviderResourceRequestProvider.js
export * from "./ProviderResourceControllerGetProviderResourceRequestResourceName.js";
export * from "./ProviderResourceControllerGetProviderResourcesPaginatedRequestProvider.js";
export * from "./ProviderResourceControllerGetProviderResourcesPaginatedRequestResourceName.js";
+export * from "./ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy.js";
export * from "./ProviderResourceControllerGetProviderResourcesPaginatedRequestSortOrder.js";
export * from "./ProviderResourceControllerUpdateProviderResourceRequestProvider.js";
export * from "./ProviderResourceControllerUpdateProviderResourceRequestResourceName.js";
diff --git a/src/api/resources/sessions/client/Client.ts b/src/api/resources/sessions/client/Client.ts
index 6e1ce519..744129bc 100644
--- a/src/api/resources/sessions/client/Client.ts
+++ b/src/api/resources/sessions/client/Client.ts
@@ -55,15 +55,18 @@ export class SessionsClient {
numberE164CheckEnabled,
extension,
assistantOverrides,
+ squadOverrides,
number: number_,
sipUri,
email,
externalId,
customerNumberAny,
+ idAny,
phoneNumberId,
phoneNumberIdAny,
page,
sortOrder,
+ sortBy,
limit,
createdAtGt,
createdAtLt,
@@ -84,15 +87,18 @@ export class SessionsClient {
numberE164CheckEnabled,
extension,
assistantOverrides,
+ squadOverrides,
number: number_,
sipUri,
email,
externalId,
customerNumberAny,
+ idAny,
phoneNumberId,
phoneNumberIdAny,
page,
sortOrder: sortOrder != null ? sortOrder : undefined,
+ sortBy: sortBy != null ? sortBy : undefined,
limit,
createdAtGt: createdAtGt != null ? createdAtGt : undefined,
createdAtLt: createdAtLt != null ? createdAtLt : undefined,
diff --git a/src/api/resources/sessions/client/requests/DeleteSessionsRequest.ts b/src/api/resources/sessions/client/requests/DeleteSessionsRequest.ts
index 9081b962..d5d6f317 100644
--- a/src/api/resources/sessions/client/requests/DeleteSessionsRequest.ts
+++ b/src/api/resources/sessions/client/requests/DeleteSessionsRequest.ts
@@ -7,5 +7,6 @@
* }
*/
export interface DeleteSessionsRequest {
+ /** The unique identifier for the resource. */
id: string;
}
diff --git a/src/api/resources/sessions/client/requests/GetSessionsRequest.ts b/src/api/resources/sessions/client/requests/GetSessionsRequest.ts
index 6f2e9295..4fe9a153 100644
--- a/src/api/resources/sessions/client/requests/GetSessionsRequest.ts
+++ b/src/api/resources/sessions/client/requests/GetSessionsRequest.ts
@@ -7,5 +7,6 @@
* }
*/
export interface GetSessionsRequest {
+ /** The unique identifier for the resource. */
id: string;
}
diff --git a/src/api/resources/sessions/client/requests/ListSessionsRequest.ts b/src/api/resources/sessions/client/requests/ListSessionsRequest.ts
index ce87294c..e7cf7c5f 100644
--- a/src/api/resources/sessions/client/requests/ListSessionsRequest.ts
+++ b/src/api/resources/sessions/client/requests/ListSessionsRequest.ts
@@ -45,6 +45,12 @@ export interface ListSessionsRequest {
* This allows customization of the assistant's behavior for individual customers in batch calls.
*/
assistantOverrides?: string;
+ /**
+ * These are the overrides applied when the call targets a `squadId`. Mirrors
+ * the call-level `squadOverrides` — use this instead of `assistantOverrides`
+ * when the campaign or call is squad-based.
+ */
+ squadOverrides?: string;
/** This is the number of the customer. */
number?: string;
/** This is the SIP URI of the customer. */
@@ -55,6 +61,8 @@ export interface ListSessionsRequest {
externalId?: string;
/** Filter by any of the specified customer phone numbers (comma-separated). */
customerNumberAny?: string;
+ /** Filter by multiple session IDs. Provide as comma-separated values. */
+ idAny?: string;
/** This will return sessions with the specified phoneNumberId. */
phoneNumberId?: string;
/** This will return sessions with any of the specified phoneNumberIds. */
@@ -63,6 +71,8 @@ export interface ListSessionsRequest {
page?: number;
/** This is the sort order for pagination. Defaults to 'DESC'. */
sortOrder?: Vapi.ListSessionsRequestSortOrder;
+ /** This is the column to sort by. Defaults to 'createdAt'. */
+ sortBy?: Vapi.ListSessionsRequestSortBy;
/** This is the maximum number of items to return. Defaults to 100. */
limit?: number;
/** This will return items where the createdAt is greater than the specified value. */
diff --git a/src/api/resources/sessions/client/requests/UpdateSessionDto.ts b/src/api/resources/sessions/client/requests/UpdateSessionDto.ts
index 9f3128a3..8f381ae6 100644
--- a/src/api/resources/sessions/client/requests/UpdateSessionDto.ts
+++ b/src/api/resources/sessions/client/requests/UpdateSessionDto.ts
@@ -9,6 +9,7 @@ import type * as Vapi from "../../../../index.js";
* }
*/
export interface UpdateSessionDto {
+ /** The unique identifier for the resource. */
id: string;
/** This is the new name for the session. Maximum length is 40 characters. */
name?: string;
diff --git a/src/api/resources/sessions/types/ListSessionsRequestSortBy.ts b/src/api/resources/sessions/types/ListSessionsRequestSortBy.ts
new file mode 100644
index 00000000..edf53a34
--- /dev/null
+++ b/src/api/resources/sessions/types/ListSessionsRequestSortBy.ts
@@ -0,0 +1,8 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const ListSessionsRequestSortBy = {
+ CreatedAt: "createdAt",
+ Duration: "duration",
+ Cost: "cost",
+} as const;
+export type ListSessionsRequestSortBy = (typeof ListSessionsRequestSortBy)[keyof typeof ListSessionsRequestSortBy];
diff --git a/src/api/resources/sessions/types/index.ts b/src/api/resources/sessions/types/index.ts
index 15e1abf7..4e4fa34b 100644
--- a/src/api/resources/sessions/types/index.ts
+++ b/src/api/resources/sessions/types/index.ts
@@ -1,5 +1,6 @@
export * from "./CreateSessionDtoMessagesItem.js";
export * from "./CreateSessionDtoStatus.js";
+export * from "./ListSessionsRequestSortBy.js";
export * from "./ListSessionsRequestSortOrder.js";
export * from "./UpdateSessionDtoMessagesItem.js";
export * from "./UpdateSessionDtoStatus.js";
diff --git a/src/api/resources/simulationPersonalities/client/Client.ts b/src/api/resources/simulationPersonalities/client/Client.ts
new file mode 100644
index 00000000..1825b52c
--- /dev/null
+++ b/src/api/resources/simulationPersonalities/client/Client.ts
@@ -0,0 +1,370 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js";
+import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js";
+import { mergeHeaders } from "../../../../core/headers.js";
+import * as core from "../../../../core/index.js";
+import * as environments from "../../../../environments.js";
+import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js";
+import * as errors from "../../../../errors/index.js";
+import type * as Vapi from "../../../index.js";
+
+export declare namespace SimulationPersonalitiesClient {
+ export type Options = BaseClientOptions;
+
+ export interface RequestOptions extends BaseRequestOptions {}
+}
+
+export class SimulationPersonalitiesClient {
+ protected readonly _options: NormalizedClientOptionsWithAuth;
+
+ constructor(options: SimulationPersonalitiesClient.Options) {
+ this._options = normalizeClientOptionsWithAuth(options);
+ }
+
+ /**
+ * Returns the personalities for the authenticated organization.
+ *
+ * @param {Vapi.PersonalityControllerFindAllRequest} request
+ * @param {SimulationPersonalitiesClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.simulationPersonalities.personalityControllerFindAll()
+ */
+ public personalityControllerFindAll(
+ request: Vapi.PersonalityControllerFindAllRequest = {},
+ requestOptions?: SimulationPersonalitiesClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__personalityControllerFindAll(request, requestOptions));
+ }
+
+ private async __personalityControllerFindAll(
+ request: Vapi.PersonalityControllerFindAllRequest = {},
+ requestOptions?: SimulationPersonalitiesClient.RequestOptions,
+ ): Promise> {
+ const {
+ page,
+ sortOrder,
+ sortBy,
+ limit,
+ createdAtGt,
+ createdAtLt,
+ createdAtGe,
+ createdAtLe,
+ updatedAtGt,
+ updatedAtLt,
+ updatedAtGe,
+ updatedAtLe,
+ } = request;
+ const _queryParams: Record = {
+ page,
+ sortOrder: sortOrder != null ? sortOrder : undefined,
+ sortBy: sortBy != null ? sortBy : undefined,
+ limit,
+ createdAtGt: createdAtGt != null ? createdAtGt : undefined,
+ createdAtLt: createdAtLt != null ? createdAtLt : undefined,
+ createdAtGe: createdAtGe != null ? createdAtGe : undefined,
+ createdAtLe: createdAtLe != null ? createdAtLe : undefined,
+ updatedAtGt: updatedAtGt != null ? updatedAtGt : undefined,
+ updatedAtLt: updatedAtLt != null ? updatedAtLt : undefined,
+ updatedAtGe: updatedAtGe != null ? updatedAtGe : undefined,
+ updatedAtLe: updatedAtLe != null ? updatedAtLe : undefined,
+ };
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ "eval/simulation/personality",
+ ),
+ method: "GET",
+ headers: _headers,
+ queryParameters: { ..._queryParams, ...requestOptions?.queryParams },
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.Personality[], rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/eval/simulation/personality");
+ }
+
+ /**
+ * Creates a personality, the AI tester's configuration used in simulations.
+ *
+ * @param {Vapi.CreatePersonalityDto} request
+ * @param {SimulationPersonalitiesClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.simulationPersonalities.personalityControllerCreate({
+ * name: "name",
+ * assistant: {}
+ * })
+ */
+ public personalityControllerCreate(
+ request: Vapi.CreatePersonalityDto,
+ requestOptions?: SimulationPersonalitiesClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__personalityControllerCreate(request, requestOptions));
+ }
+
+ private async __personalityControllerCreate(
+ request: Vapi.CreatePersonalityDto,
+ requestOptions?: SimulationPersonalitiesClient.RequestOptions,
+ ): Promise> {
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ "eval/simulation/personality",
+ ),
+ method: "POST",
+ headers: _headers,
+ contentType: "application/json",
+ queryParameters: requestOptions?.queryParams,
+ requestType: "json",
+ body: request,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.Personality, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/eval/simulation/personality");
+ }
+
+ /**
+ * Returns the specified personality.
+ *
+ * @param {Vapi.PersonalityControllerFindOneRequest} request
+ * @param {SimulationPersonalitiesClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.simulationPersonalities.personalityControllerFindOne({
+ * id: "id"
+ * })
+ */
+ public personalityControllerFindOne(
+ request: Vapi.PersonalityControllerFindOneRequest,
+ requestOptions?: SimulationPersonalitiesClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__personalityControllerFindOne(request, requestOptions));
+ }
+
+ private async __personalityControllerFindOne(
+ request: Vapi.PersonalityControllerFindOneRequest,
+ requestOptions?: SimulationPersonalitiesClient.RequestOptions,
+ ): Promise> {
+ const { id } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `eval/simulation/personality/${core.url.encodePathParam(id)}`,
+ ),
+ method: "GET",
+ headers: _headers,
+ queryParameters: requestOptions?.queryParams,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.Personality, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(
+ _response.error,
+ _response.rawResponse,
+ "GET",
+ "/eval/simulation/personality/{id}",
+ );
+ }
+
+ /**
+ * Deletes the specified personality.
+ *
+ * @param {Vapi.PersonalityControllerRemoveRequest} request
+ * @param {SimulationPersonalitiesClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.simulationPersonalities.personalityControllerRemove({
+ * id: "id"
+ * })
+ */
+ public personalityControllerRemove(
+ request: Vapi.PersonalityControllerRemoveRequest,
+ requestOptions?: SimulationPersonalitiesClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__personalityControllerRemove(request, requestOptions));
+ }
+
+ private async __personalityControllerRemove(
+ request: Vapi.PersonalityControllerRemoveRequest,
+ requestOptions?: SimulationPersonalitiesClient.RequestOptions,
+ ): Promise> {
+ const { id } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `eval/simulation/personality/${core.url.encodePathParam(id)}`,
+ ),
+ method: "DELETE",
+ headers: _headers,
+ queryParameters: requestOptions?.queryParams,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.Personality, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(
+ _response.error,
+ _response.rawResponse,
+ "DELETE",
+ "/eval/simulation/personality/{id}",
+ );
+ }
+
+ /**
+ * Updates the specified personality. Changes apply to future runs.
+ *
+ * @param {Vapi.UpdatePersonalityDto} request
+ * @param {SimulationPersonalitiesClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.simulationPersonalities.personalityControllerUpdate({
+ * id: "id"
+ * })
+ */
+ public personalityControllerUpdate(
+ request: Vapi.UpdatePersonalityDto,
+ requestOptions?: SimulationPersonalitiesClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__personalityControllerUpdate(request, requestOptions));
+ }
+
+ private async __personalityControllerUpdate(
+ request: Vapi.UpdatePersonalityDto,
+ requestOptions?: SimulationPersonalitiesClient.RequestOptions,
+ ): Promise> {
+ const { id, ..._body } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `eval/simulation/personality/${core.url.encodePathParam(id)}`,
+ ),
+ method: "PATCH",
+ headers: _headers,
+ contentType: "application/json",
+ queryParameters: requestOptions?.queryParams,
+ requestType: "json",
+ body: _body,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.Personality, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(
+ _response.error,
+ _response.rawResponse,
+ "PATCH",
+ "/eval/simulation/personality/{id}",
+ );
+ }
+}
diff --git a/src/api/resources/simulationPersonalities/client/index.ts b/src/api/resources/simulationPersonalities/client/index.ts
new file mode 100644
index 00000000..195f9aa8
--- /dev/null
+++ b/src/api/resources/simulationPersonalities/client/index.ts
@@ -0,0 +1 @@
+export * from "./requests/index.js";
diff --git a/src/api/resources/simulationPersonalities/client/requests/PersonalityControllerFindAllRequest.ts b/src/api/resources/simulationPersonalities/client/requests/PersonalityControllerFindAllRequest.ts
new file mode 100644
index 00000000..5291966d
--- /dev/null
+++ b/src/api/resources/simulationPersonalities/client/requests/PersonalityControllerFindAllRequest.ts
@@ -0,0 +1,34 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../../../../index.js";
+
+/**
+ * @example
+ * {}
+ */
+export interface PersonalityControllerFindAllRequest {
+ /** This is the page number to return. Defaults to 1. */
+ page?: number;
+ /** This is the sort order for pagination. Defaults to 'DESC'. */
+ sortOrder?: Vapi.PersonalityControllerFindAllRequestSortOrder;
+ /** This is the column to sort by. Defaults to 'createdAt'. */
+ sortBy?: Vapi.PersonalityControllerFindAllRequestSortBy;
+ /** This is the maximum number of items to return. Defaults to 100. */
+ limit?: number;
+ /** This will return items where the createdAt is greater than the specified value. */
+ createdAtGt?: string;
+ /** This will return items where the createdAt is less than the specified value. */
+ createdAtLt?: string;
+ /** This will return items where the createdAt is greater than or equal to the specified value. */
+ createdAtGe?: string;
+ /** This will return items where the createdAt is less than or equal to the specified value. */
+ createdAtLe?: string;
+ /** This will return items where the updatedAt is greater than the specified value. */
+ updatedAtGt?: string;
+ /** This will return items where the updatedAt is less than the specified value. */
+ updatedAtLt?: string;
+ /** This will return items where the updatedAt is greater than or equal to the specified value. */
+ updatedAtGe?: string;
+ /** This will return items where the updatedAt is less than or equal to the specified value. */
+ updatedAtLe?: string;
+}
diff --git a/src/api/resources/simulationPersonalities/client/requests/PersonalityControllerFindOneRequest.ts b/src/api/resources/simulationPersonalities/client/requests/PersonalityControllerFindOneRequest.ts
new file mode 100644
index 00000000..56c872fa
--- /dev/null
+++ b/src/api/resources/simulationPersonalities/client/requests/PersonalityControllerFindOneRequest.ts
@@ -0,0 +1,12 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
+export interface PersonalityControllerFindOneRequest {
+ /** The unique identifier of the personality. */
+ id: string;
+}
diff --git a/src/api/resources/simulationPersonalities/client/requests/PersonalityControllerRemoveRequest.ts b/src/api/resources/simulationPersonalities/client/requests/PersonalityControllerRemoveRequest.ts
new file mode 100644
index 00000000..2399d2ef
--- /dev/null
+++ b/src/api/resources/simulationPersonalities/client/requests/PersonalityControllerRemoveRequest.ts
@@ -0,0 +1,12 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
+export interface PersonalityControllerRemoveRequest {
+ /** The unique identifier of the personality. */
+ id: string;
+}
diff --git a/src/api/types/UpdatePersonalityDto.ts b/src/api/resources/simulationPersonalities/client/requests/UpdatePersonalityDto.ts
similarity index 60%
rename from src/api/types/UpdatePersonalityDto.ts
rename to src/api/resources/simulationPersonalities/client/requests/UpdatePersonalityDto.ts
index 1cffa8ac..8dc6e204 100644
--- a/src/api/types/UpdatePersonalityDto.ts
+++ b/src/api/resources/simulationPersonalities/client/requests/UpdatePersonalityDto.ts
@@ -1,16 +1,24 @@
// This file was auto-generated by Fern from our API Definition.
-import type * as Vapi from "../index.js";
+import type * as Vapi from "../../../../index.js";
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
export interface UpdatePersonalityDto {
+ /** The unique identifier of the personality. */
+ id: string;
/** This is the name of the personality. */
- name?: string | undefined;
+ name?: string;
/** This is the full assistant configuration for this personality. */
- assistant?: Vapi.CreateAssistantDto | undefined;
+ assistant?: Vapi.CreateAssistantDto;
/**
* Optional folder path for organizing personalities.
* Supports up to 3 levels (e.g., "dept/feature/variant").
* Set to null to remove from folder.
*/
- path?: (string | null) | undefined;
+ path?: string | null;
}
diff --git a/src/api/resources/simulationPersonalities/client/requests/index.ts b/src/api/resources/simulationPersonalities/client/requests/index.ts
new file mode 100644
index 00000000..5b6249a8
--- /dev/null
+++ b/src/api/resources/simulationPersonalities/client/requests/index.ts
@@ -0,0 +1,4 @@
+export type { PersonalityControllerFindAllRequest } from "./PersonalityControllerFindAllRequest.js";
+export type { PersonalityControllerFindOneRequest } from "./PersonalityControllerFindOneRequest.js";
+export type { PersonalityControllerRemoveRequest } from "./PersonalityControllerRemoveRequest.js";
+export type { UpdatePersonalityDto } from "./UpdatePersonalityDto.js";
diff --git a/src/api/resources/simulationPersonalities/exports.ts b/src/api/resources/simulationPersonalities/exports.ts
new file mode 100644
index 00000000..bd20bfca
--- /dev/null
+++ b/src/api/resources/simulationPersonalities/exports.ts
@@ -0,0 +1,4 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export { SimulationPersonalitiesClient } from "./client/Client.js";
+export * from "./client/index.js";
diff --git a/src/api/resources/simulationPersonalities/index.ts b/src/api/resources/simulationPersonalities/index.ts
new file mode 100644
index 00000000..d9adb1af
--- /dev/null
+++ b/src/api/resources/simulationPersonalities/index.ts
@@ -0,0 +1,2 @@
+export * from "./client/index.js";
+export * from "./types/index.js";
diff --git a/src/api/resources/simulationPersonalities/types/PersonalityControllerFindAllRequestSortBy.ts b/src/api/resources/simulationPersonalities/types/PersonalityControllerFindAllRequestSortBy.ts
new file mode 100644
index 00000000..4d8cfc32
--- /dev/null
+++ b/src/api/resources/simulationPersonalities/types/PersonalityControllerFindAllRequestSortBy.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const PersonalityControllerFindAllRequestSortBy = {
+ CreatedAt: "createdAt",
+ Duration: "duration",
+ Cost: "cost",
+} as const;
+export type PersonalityControllerFindAllRequestSortBy =
+ (typeof PersonalityControllerFindAllRequestSortBy)[keyof typeof PersonalityControllerFindAllRequestSortBy];
diff --git a/src/api/resources/simulationPersonalities/types/PersonalityControllerFindAllRequestSortOrder.ts b/src/api/resources/simulationPersonalities/types/PersonalityControllerFindAllRequestSortOrder.ts
new file mode 100644
index 00000000..3ea22abc
--- /dev/null
+++ b/src/api/resources/simulationPersonalities/types/PersonalityControllerFindAllRequestSortOrder.ts
@@ -0,0 +1,8 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const PersonalityControllerFindAllRequestSortOrder = {
+ Asc: "ASC",
+ Desc: "DESC",
+} as const;
+export type PersonalityControllerFindAllRequestSortOrder =
+ (typeof PersonalityControllerFindAllRequestSortOrder)[keyof typeof PersonalityControllerFindAllRequestSortOrder];
diff --git a/src/api/resources/simulationPersonalities/types/index.ts b/src/api/resources/simulationPersonalities/types/index.ts
new file mode 100644
index 00000000..00c55ad0
--- /dev/null
+++ b/src/api/resources/simulationPersonalities/types/index.ts
@@ -0,0 +1,2 @@
+export * from "./PersonalityControllerFindAllRequestSortBy.js";
+export * from "./PersonalityControllerFindAllRequestSortOrder.js";
diff --git a/src/api/resources/simulationRuns/client/Client.ts b/src/api/resources/simulationRuns/client/Client.ts
new file mode 100644
index 00000000..febcf3b7
--- /dev/null
+++ b/src/api/resources/simulationRuns/client/Client.ts
@@ -0,0 +1,621 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js";
+import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js";
+import { mergeHeaders } from "../../../../core/headers.js";
+import * as core from "../../../../core/index.js";
+import * as environments from "../../../../environments.js";
+import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js";
+import * as errors from "../../../../errors/index.js";
+import * as Vapi from "../../../index.js";
+
+export declare namespace SimulationRunsClient {
+ export type Options = BaseClientOptions;
+
+ export interface RequestOptions extends BaseRequestOptions {}
+}
+
+export class SimulationRunsClient {
+ protected readonly _options: NormalizedClientOptionsWithAuth;
+
+ constructor(options: SimulationRunsClient.Options) {
+ this._options = normalizeClientOptionsWithAuth(options);
+ }
+
+ /**
+ * Returns the simulation runs for the authenticated organization.
+ *
+ * @param {Vapi.SimulationRunControllerFindAllRequest} request
+ * @param {SimulationRunsClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.simulationRuns.simulationRunControllerFindAll()
+ */
+ public simulationRunControllerFindAll(
+ request: Vapi.SimulationRunControllerFindAllRequest = {},
+ requestOptions?: SimulationRunsClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__simulationRunControllerFindAll(request, requestOptions));
+ }
+
+ private async __simulationRunControllerFindAll(
+ request: Vapi.SimulationRunControllerFindAllRequest = {},
+ requestOptions?: SimulationRunsClient.RequestOptions,
+ ): Promise> {
+ const {
+ status,
+ filterStatus,
+ targetType,
+ targetId,
+ page,
+ sortOrder,
+ sortBy,
+ limit,
+ createdAtGt,
+ createdAtLt,
+ createdAtGe,
+ createdAtLe,
+ updatedAtGt,
+ updatedAtLt,
+ updatedAtGe,
+ updatedAtLe,
+ } = request;
+ const _queryParams: Record = {
+ status: status != null ? status : undefined,
+ filterStatus: filterStatus != null ? filterStatus : undefined,
+ targetType: targetType != null ? targetType : undefined,
+ targetId,
+ page,
+ sortOrder: sortOrder != null ? sortOrder : undefined,
+ sortBy: sortBy != null ? sortBy : undefined,
+ limit,
+ createdAtGt: createdAtGt != null ? createdAtGt : undefined,
+ createdAtLt: createdAtLt != null ? createdAtLt : undefined,
+ createdAtGe: createdAtGe != null ? createdAtGe : undefined,
+ createdAtLe: createdAtLe != null ? createdAtLe : undefined,
+ updatedAtGt: updatedAtGt != null ? updatedAtGt : undefined,
+ updatedAtLt: updatedAtLt != null ? updatedAtLt : undefined,
+ updatedAtGe: updatedAtGe != null ? updatedAtGe : undefined,
+ updatedAtLe: updatedAtLe != null ? updatedAtLe : undefined,
+ };
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ "eval/simulation/run",
+ ),
+ method: "GET",
+ headers: _headers,
+ queryParameters: { ..._queryParams, ...requestOptions?.queryParams },
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return {
+ data: _response.body as Vapi.SimulationRunControllerFindAllResponse,
+ rawResponse: _response.rawResponse,
+ };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/eval/simulation/run");
+ }
+
+ /**
+ * Starts a simulation run against a target assistant or squad.
+ *
+ * @param {Vapi.CreateSimulationRunDto} request
+ * @param {SimulationRunsClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @throws {@link Vapi.PaymentRequiredError}
+ *
+ * @example
+ * await client.simulationRuns.simulationRunControllerCreate({
+ * simulations: [{
+ * type: "simulation"
+ * }],
+ * target: {
+ * type: "assistant"
+ * }
+ * })
+ */
+ public simulationRunControllerCreate(
+ request: Vapi.CreateSimulationRunDto,
+ requestOptions?: SimulationRunsClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__simulationRunControllerCreate(request, requestOptions));
+ }
+
+ private async __simulationRunControllerCreate(
+ request: Vapi.CreateSimulationRunDto,
+ requestOptions?: SimulationRunsClient.RequestOptions,
+ ): Promise> {
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ "eval/simulation/run",
+ ),
+ method: "POST",
+ headers: _headers,
+ contentType: "application/json",
+ queryParameters: requestOptions?.queryParams,
+ requestType: "json",
+ body: request,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.CreateSimulationRunResponse, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ switch (_response.error.statusCode) {
+ case 402:
+ throw new Vapi.PaymentRequiredError(
+ _response.error.body as Vapi.SimulationRunPaymentRequiredResponse,
+ _response.rawResponse,
+ );
+ default:
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/eval/simulation/run");
+ }
+
+ /**
+ * Returns the specified simulation run, including its status and item counts.
+ *
+ * @param {Vapi.SimulationRunControllerFindOneRequest} request
+ * @param {SimulationRunsClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.simulationRuns.simulationRunControllerFindOne({
+ * id: "id"
+ * })
+ */
+ public simulationRunControllerFindOne(
+ request: Vapi.SimulationRunControllerFindOneRequest,
+ requestOptions?: SimulationRunsClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__simulationRunControllerFindOne(request, requestOptions));
+ }
+
+ private async __simulationRunControllerFindOne(
+ request: Vapi.SimulationRunControllerFindOneRequest,
+ requestOptions?: SimulationRunsClient.RequestOptions,
+ ): Promise> {
+ const { id } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `eval/simulation/run/${core.url.encodePathParam(id)}`,
+ ),
+ method: "GET",
+ headers: _headers,
+ queryParameters: requestOptions?.queryParams,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.SimulationRun, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/eval/simulation/run/{id}");
+ }
+
+ /**
+ * Cancels the specified simulation run.
+ *
+ * @param {Vapi.SimulationRunControllerCancelGroupRequest} request
+ * @param {SimulationRunsClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.simulationRuns.simulationRunControllerCancelGroup({
+ * id: "id"
+ * })
+ */
+ public simulationRunControllerCancelGroup(
+ request: Vapi.SimulationRunControllerCancelGroupRequest,
+ requestOptions?: SimulationRunsClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__simulationRunControllerCancelGroup(request, requestOptions));
+ }
+
+ private async __simulationRunControllerCancelGroup(
+ request: Vapi.SimulationRunControllerCancelGroupRequest,
+ requestOptions?: SimulationRunsClient.RequestOptions,
+ ): Promise> {
+ const { id } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `eval/simulation/run/${core.url.encodePathParam(id)}`,
+ ),
+ method: "PATCH",
+ headers: _headers,
+ queryParameters: requestOptions?.queryParams,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.SimulationRun, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/eval/simulation/run/{id}");
+ }
+
+ /**
+ * Returns the run items for the specified simulation run.
+ *
+ * @param {Vapi.SimulationRunControllerFindItemsRequest} request
+ * @param {SimulationRunsClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.simulationRuns.simulationRunControllerFindItems({
+ * id: "id"
+ * })
+ */
+ public simulationRunControllerFindItems(
+ request: Vapi.SimulationRunControllerFindItemsRequest,
+ requestOptions?: SimulationRunsClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__simulationRunControllerFindItems(request, requestOptions));
+ }
+
+ private async __simulationRunControllerFindItems(
+ request: Vapi.SimulationRunControllerFindItemsRequest,
+ requestOptions?: SimulationRunsClient.RequestOptions,
+ ): Promise> {
+ const {
+ id,
+ simulationId,
+ runId,
+ status,
+ page,
+ sortOrder,
+ sortBy,
+ limit,
+ createdAtGt,
+ createdAtLt,
+ createdAtGe,
+ createdAtLe,
+ updatedAtGt,
+ updatedAtLt,
+ updatedAtGe,
+ updatedAtLe,
+ } = request;
+ const _queryParams: Record = {
+ simulationId,
+ runId,
+ status: status != null ? status : undefined,
+ page,
+ sortOrder: sortOrder != null ? sortOrder : undefined,
+ sortBy: sortBy != null ? sortBy : undefined,
+ limit,
+ createdAtGt: createdAtGt != null ? createdAtGt : undefined,
+ createdAtLt: createdAtLt != null ? createdAtLt : undefined,
+ createdAtGe: createdAtGe != null ? createdAtGe : undefined,
+ createdAtLe: createdAtLe != null ? createdAtLe : undefined,
+ updatedAtGt: updatedAtGt != null ? updatedAtGt : undefined,
+ updatedAtLt: updatedAtLt != null ? updatedAtLt : undefined,
+ updatedAtGe: updatedAtGe != null ? updatedAtGe : undefined,
+ updatedAtLe: updatedAtLe != null ? updatedAtLe : undefined,
+ };
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `eval/simulation/run/${core.url.encodePathParam(id)}/item`,
+ ),
+ method: "GET",
+ headers: _headers,
+ queryParameters: { ..._queryParams, ...requestOptions?.queryParams },
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.SimulationRunItem[], rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(
+ _response.error,
+ _response.rawResponse,
+ "GET",
+ "/eval/simulation/run/{id}/item",
+ );
+ }
+
+ /**
+ * Returns the specified run item, including its evaluation results and the ID of the call that ran it.
+ *
+ * @param {Vapi.SimulationRunControllerFindItemRequest} request
+ * @param {SimulationRunsClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.simulationRuns.simulationRunControllerFindItem({
+ * id: "id",
+ * itemId: "itemId"
+ * })
+ */
+ public simulationRunControllerFindItem(
+ request: Vapi.SimulationRunControllerFindItemRequest,
+ requestOptions?: SimulationRunsClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__simulationRunControllerFindItem(request, requestOptions));
+ }
+
+ private async __simulationRunControllerFindItem(
+ request: Vapi.SimulationRunControllerFindItemRequest,
+ requestOptions?: SimulationRunsClient.RequestOptions,
+ ): Promise> {
+ const { id, itemId } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `eval/simulation/run/${core.url.encodePathParam(id)}/item/${core.url.encodePathParam(itemId)}`,
+ ),
+ method: "GET",
+ headers: _headers,
+ queryParameters: requestOptions?.queryParams,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.SimulationRunItem, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(
+ _response.error,
+ _response.rawResponse,
+ "GET",
+ "/eval/simulation/run/{id}/item/{itemId}",
+ );
+ }
+
+ /**
+ * Cancels the specified run item.
+ *
+ * @param {Vapi.SimulationRunControllerCancelItemRequest} request
+ * @param {SimulationRunsClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.simulationRuns.simulationRunControllerCancelItem({
+ * id: "id",
+ * itemId: "itemId"
+ * })
+ */
+ public simulationRunControllerCancelItem(
+ request: Vapi.SimulationRunControllerCancelItemRequest,
+ requestOptions?: SimulationRunsClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__simulationRunControllerCancelItem(request, requestOptions));
+ }
+
+ private async __simulationRunControllerCancelItem(
+ request: Vapi.SimulationRunControllerCancelItemRequest,
+ requestOptions?: SimulationRunsClient.RequestOptions,
+ ): Promise> {
+ const { id, itemId } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `eval/simulation/run/${core.url.encodePathParam(id)}/item/${core.url.encodePathParam(itemId)}`,
+ ),
+ method: "PATCH",
+ headers: _headers,
+ queryParameters: requestOptions?.queryParams,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.SimulationRunItem, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(
+ _response.error,
+ _response.rawResponse,
+ "PATCH",
+ "/eval/simulation/run/{id}/item/{itemId}",
+ );
+ }
+
+ /**
+ * Generates AI suggestions for improving the assistant or squad's system prompt, tools, and scenarios, based on the specified run item.
+ *
+ * @param {Vapi.SimulationRunControllerGenerateSuggestionsRequest} request
+ * @param {SimulationRunsClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.simulationRuns.simulationRunControllerGenerateSuggestions({
+ * id: "id",
+ * itemId: "itemId",
+ * force: "force"
+ * })
+ */
+ public simulationRunControllerGenerateSuggestions(
+ request: Vapi.SimulationRunControllerGenerateSuggestionsRequest,
+ requestOptions?: SimulationRunsClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(
+ this.__simulationRunControllerGenerateSuggestions(request, requestOptions),
+ );
+ }
+
+ private async __simulationRunControllerGenerateSuggestions(
+ request: Vapi.SimulationRunControllerGenerateSuggestionsRequest,
+ requestOptions?: SimulationRunsClient.RequestOptions,
+ ): Promise> {
+ const { id, itemId, force, persist } = request;
+ const _queryParams: Record = {
+ force,
+ persist,
+ };
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `eval/simulation/run/${core.url.encodePathParam(id)}/item/${core.url.encodePathParam(itemId)}/generate`,
+ ),
+ method: "POST",
+ headers: _headers,
+ queryParameters: { ..._queryParams, ...requestOptions?.queryParams },
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: undefined, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(
+ _response.error,
+ _response.rawResponse,
+ "POST",
+ "/eval/simulation/run/{id}/item/{itemId}/generate",
+ );
+ }
+}
diff --git a/src/api/resources/simulationRuns/client/index.ts b/src/api/resources/simulationRuns/client/index.ts
new file mode 100644
index 00000000..195f9aa8
--- /dev/null
+++ b/src/api/resources/simulationRuns/client/index.ts
@@ -0,0 +1 @@
+export * from "./requests/index.js";
diff --git a/src/api/types/CreateSimulationRunDto.ts b/src/api/resources/simulationRuns/client/requests/CreateSimulationRunDto.ts
similarity index 57%
rename from src/api/types/CreateSimulationRunDto.ts
rename to src/api/resources/simulationRuns/client/requests/CreateSimulationRunDto.ts
index fbca4dc6..fe9fff57 100644
--- a/src/api/types/CreateSimulationRunDto.ts
+++ b/src/api/resources/simulationRuns/client/requests/CreateSimulationRunDto.ts
@@ -1,14 +1,25 @@
// This file was auto-generated by Fern from our API Definition.
-import type * as Vapi from "../index.js";
+import type * as Vapi from "../../../../index.js";
+/**
+ * @example
+ * {
+ * simulations: [{
+ * type: "simulation"
+ * }],
+ * target: {
+ * type: "assistant"
+ * }
+ * }
+ */
export interface CreateSimulationRunDto {
/** Array of simulations and/or suites to run */
simulations: Vapi.CreateSimulationRunDtoSimulationsItem[];
/** Target to test against */
target: Vapi.CreateSimulationRunDtoTarget;
/** Number of times to run each simulation (default: 1) */
- iterations?: number | undefined;
+ iterations?: number;
/** Transport configuration for the simulation runs */
- transport?: Vapi.SimulationRunTransportConfiguration | undefined;
+ transport?: Vapi.SimulationRunTransportConfiguration;
}
diff --git a/src/api/resources/simulationRuns/client/requests/SimulationRunControllerCancelGroupRequest.ts b/src/api/resources/simulationRuns/client/requests/SimulationRunControllerCancelGroupRequest.ts
new file mode 100644
index 00000000..9ee68e25
--- /dev/null
+++ b/src/api/resources/simulationRuns/client/requests/SimulationRunControllerCancelGroupRequest.ts
@@ -0,0 +1,12 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
+export interface SimulationRunControllerCancelGroupRequest {
+ /** The unique identifier of the simulation run. */
+ id: string;
+}
diff --git a/src/api/resources/simulationRuns/client/requests/SimulationRunControllerCancelItemRequest.ts b/src/api/resources/simulationRuns/client/requests/SimulationRunControllerCancelItemRequest.ts
new file mode 100644
index 00000000..7ff87fe8
--- /dev/null
+++ b/src/api/resources/simulationRuns/client/requests/SimulationRunControllerCancelItemRequest.ts
@@ -0,0 +1,15 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id",
+ * itemId: "itemId"
+ * }
+ */
+export interface SimulationRunControllerCancelItemRequest {
+ /** The unique identifier of the simulation run. */
+ id: string;
+ /** The unique identifier of the run item. */
+ itemId: string;
+}
diff --git a/src/api/resources/simulationRuns/client/requests/SimulationRunControllerFindAllRequest.ts b/src/api/resources/simulationRuns/client/requests/SimulationRunControllerFindAllRequest.ts
new file mode 100644
index 00000000..c4b3e3d7
--- /dev/null
+++ b/src/api/resources/simulationRuns/client/requests/SimulationRunControllerFindAllRequest.ts
@@ -0,0 +1,42 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../../../../index.js";
+
+/**
+ * @example
+ * {}
+ */
+export interface SimulationRunControllerFindAllRequest {
+ /** Filter by status */
+ status?: Vapi.SimulationRunControllerFindAllRequestStatus;
+ /** Filter by aggregate run result status */
+ filterStatus?: Vapi.SimulationRunControllerFindAllRequestFilterStatus;
+ /** Filter by target type */
+ targetType?: Vapi.SimulationRunControllerFindAllRequestTargetType;
+ /** Filter by target id */
+ targetId?: string;
+ /** This is the page number to return. Defaults to 1. */
+ page?: number;
+ /** This is the sort order for pagination. Defaults to 'DESC'. */
+ sortOrder?: Vapi.SimulationRunControllerFindAllRequestSortOrder;
+ /** This is the column to sort by. Defaults to 'createdAt'. */
+ sortBy?: Vapi.SimulationRunControllerFindAllRequestSortBy;
+ /** This is the maximum number of items to return. Defaults to 100. */
+ limit?: number;
+ /** This will return items where the createdAt is greater than the specified value. */
+ createdAtGt?: string;
+ /** This will return items where the createdAt is less than the specified value. */
+ createdAtLt?: string;
+ /** This will return items where the createdAt is greater than or equal to the specified value. */
+ createdAtGe?: string;
+ /** This will return items where the createdAt is less than or equal to the specified value. */
+ createdAtLe?: string;
+ /** This will return items where the updatedAt is greater than the specified value. */
+ updatedAtGt?: string;
+ /** This will return items where the updatedAt is less than the specified value. */
+ updatedAtLt?: string;
+ /** This will return items where the updatedAt is greater than or equal to the specified value. */
+ updatedAtGe?: string;
+ /** This will return items where the updatedAt is less than or equal to the specified value. */
+ updatedAtLe?: string;
+}
diff --git a/src/api/resources/simulationRuns/client/requests/SimulationRunControllerFindItemRequest.ts b/src/api/resources/simulationRuns/client/requests/SimulationRunControllerFindItemRequest.ts
new file mode 100644
index 00000000..cf1518b9
--- /dev/null
+++ b/src/api/resources/simulationRuns/client/requests/SimulationRunControllerFindItemRequest.ts
@@ -0,0 +1,15 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id",
+ * itemId: "itemId"
+ * }
+ */
+export interface SimulationRunControllerFindItemRequest {
+ /** The unique identifier of the simulation run. */
+ id: string;
+ /** The unique identifier of the run item. */
+ itemId: string;
+}
diff --git a/src/api/resources/simulationRuns/client/requests/SimulationRunControllerFindItemsRequest.ts b/src/api/resources/simulationRuns/client/requests/SimulationRunControllerFindItemsRequest.ts
new file mode 100644
index 00000000..43210f00
--- /dev/null
+++ b/src/api/resources/simulationRuns/client/requests/SimulationRunControllerFindItemsRequest.ts
@@ -0,0 +1,44 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../../../../index.js";
+
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
+export interface SimulationRunControllerFindItemsRequest {
+ /** The unique identifier of the simulation run. */
+ id: string;
+ /** Filters run items to a specific simulation. */
+ simulationId?: string;
+ /** Filters run items to a specific run. */
+ runId?: string;
+ /** Filters run items by status. */
+ status?: Vapi.SimulationRunControllerFindItemsRequestStatus;
+ /** This is the page number to return. Defaults to 1. */
+ page?: number;
+ /** This is the sort order for pagination. Defaults to 'DESC'. */
+ sortOrder?: Vapi.SimulationRunControllerFindItemsRequestSortOrder;
+ /** This is the column to sort by. Defaults to 'createdAt'. */
+ sortBy?: Vapi.SimulationRunControllerFindItemsRequestSortBy;
+ /** This is the maximum number of items to return. Defaults to 100. */
+ limit?: number;
+ /** This will return items where the createdAt is greater than the specified value. */
+ createdAtGt?: string;
+ /** This will return items where the createdAt is less than the specified value. */
+ createdAtLt?: string;
+ /** This will return items where the createdAt is greater than or equal to the specified value. */
+ createdAtGe?: string;
+ /** This will return items where the createdAt is less than or equal to the specified value. */
+ createdAtLe?: string;
+ /** This will return items where the updatedAt is greater than the specified value. */
+ updatedAtGt?: string;
+ /** This will return items where the updatedAt is less than the specified value. */
+ updatedAtLt?: string;
+ /** This will return items where the updatedAt is greater than or equal to the specified value. */
+ updatedAtGe?: string;
+ /** This will return items where the updatedAt is less than or equal to the specified value. */
+ updatedAtLe?: string;
+}
diff --git a/src/api/resources/simulationRuns/client/requests/SimulationRunControllerFindOneRequest.ts b/src/api/resources/simulationRuns/client/requests/SimulationRunControllerFindOneRequest.ts
new file mode 100644
index 00000000..58b69179
--- /dev/null
+++ b/src/api/resources/simulationRuns/client/requests/SimulationRunControllerFindOneRequest.ts
@@ -0,0 +1,12 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
+export interface SimulationRunControllerFindOneRequest {
+ /** The unique identifier of the simulation run. */
+ id: string;
+}
diff --git a/src/api/resources/simulationRuns/client/requests/SimulationRunControllerGenerateSuggestionsRequest.ts b/src/api/resources/simulationRuns/client/requests/SimulationRunControllerGenerateSuggestionsRequest.ts
new file mode 100644
index 00000000..b9064c1a
--- /dev/null
+++ b/src/api/resources/simulationRuns/client/requests/SimulationRunControllerGenerateSuggestionsRequest.ts
@@ -0,0 +1,19 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id",
+ * itemId: "itemId",
+ * force: "force"
+ * }
+ */
+export interface SimulationRunControllerGenerateSuggestionsRequest {
+ /** The unique identifier of the simulation run. */
+ id: string;
+ /** The unique identifier of the run item. */
+ itemId: string;
+ /** Set to the string `true` to regenerate improvement suggestions even if they already exist. */
+ force: string;
+ persist?: string;
+}
diff --git a/src/api/resources/simulationRuns/client/requests/index.ts b/src/api/resources/simulationRuns/client/requests/index.ts
new file mode 100644
index 00000000..a4f9bed0
--- /dev/null
+++ b/src/api/resources/simulationRuns/client/requests/index.ts
@@ -0,0 +1,8 @@
+export type { CreateSimulationRunDto } from "./CreateSimulationRunDto.js";
+export type { SimulationRunControllerCancelGroupRequest } from "./SimulationRunControllerCancelGroupRequest.js";
+export type { SimulationRunControllerCancelItemRequest } from "./SimulationRunControllerCancelItemRequest.js";
+export type { SimulationRunControllerFindAllRequest } from "./SimulationRunControllerFindAllRequest.js";
+export type { SimulationRunControllerFindItemRequest } from "./SimulationRunControllerFindItemRequest.js";
+export type { SimulationRunControllerFindItemsRequest } from "./SimulationRunControllerFindItemsRequest.js";
+export type { SimulationRunControllerFindOneRequest } from "./SimulationRunControllerFindOneRequest.js";
+export type { SimulationRunControllerGenerateSuggestionsRequest } from "./SimulationRunControllerGenerateSuggestionsRequest.js";
diff --git a/src/api/resources/simulationRuns/exports.ts b/src/api/resources/simulationRuns/exports.ts
new file mode 100644
index 00000000..73b1e5ed
--- /dev/null
+++ b/src/api/resources/simulationRuns/exports.ts
@@ -0,0 +1,4 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export { SimulationRunsClient } from "./client/Client.js";
+export * from "./client/index.js";
diff --git a/src/api/resources/simulationRuns/index.ts b/src/api/resources/simulationRuns/index.ts
new file mode 100644
index 00000000..d9adb1af
--- /dev/null
+++ b/src/api/resources/simulationRuns/index.ts
@@ -0,0 +1,2 @@
+export * from "./client/index.js";
+export * from "./types/index.js";
diff --git a/src/api/types/CreateSimulationRunDtoSimulationsItem.ts b/src/api/resources/simulationRuns/types/CreateSimulationRunDtoSimulationsItem.ts
similarity index 58%
rename from src/api/types/CreateSimulationRunDtoSimulationsItem.ts
rename to src/api/resources/simulationRuns/types/CreateSimulationRunDtoSimulationsItem.ts
index 467e3a29..b7b27ce3 100644
--- a/src/api/types/CreateSimulationRunDtoSimulationsItem.ts
+++ b/src/api/resources/simulationRuns/types/CreateSimulationRunDtoSimulationsItem.ts
@@ -1,6 +1,6 @@
// This file was auto-generated by Fern from our API Definition.
-import type * as Vapi from "../index.js";
+import type * as Vapi from "../../../index.js";
export type CreateSimulationRunDtoSimulationsItem =
| Vapi.CreateSimulationRunDtoSimulationsItem.Simulation
@@ -14,4 +14,11 @@ export namespace CreateSimulationRunDtoSimulationsItem {
export interface SimulationSuite extends Vapi.SimulationRunSuiteEntry {
type: "simulationSuite";
}
+
+ export type Request =
+ | Vapi.CreateSimulationRunDtoSimulationsItem.Simulation
+ | Vapi.CreateSimulationRunDtoSimulationsItem.SimulationSuite;
+ export type Response =
+ | Vapi.CreateSimulationRunDtoSimulationsItem.Simulation
+ | Vapi.CreateSimulationRunDtoSimulationsItem.SimulationSuite;
}
diff --git a/src/api/types/CreateSimulationRunDtoTarget.ts b/src/api/resources/simulationRuns/types/CreateSimulationRunDtoTarget.ts
similarity index 70%
rename from src/api/types/CreateSimulationRunDtoTarget.ts
rename to src/api/resources/simulationRuns/types/CreateSimulationRunDtoTarget.ts
index 392cb798..d1eb1d18 100644
--- a/src/api/types/CreateSimulationRunDtoTarget.ts
+++ b/src/api/resources/simulationRuns/types/CreateSimulationRunDtoTarget.ts
@@ -1,6 +1,6 @@
// This file was auto-generated by Fern from our API Definition.
-import type * as Vapi from "../index.js";
+import type * as Vapi from "../../../index.js";
/**
* Target to test against
@@ -17,4 +17,9 @@ export namespace CreateSimulationRunDtoTarget {
export interface Squad extends Vapi.SimulationRunTargetSquad {
type: "squad";
}
+
+ /**
+ * Target to test against
+ */
+ export type Response = Vapi.CreateSimulationRunDtoTarget.Assistant | Vapi.CreateSimulationRunDtoTarget.Squad;
}
diff --git a/src/api/resources/simulationRuns/types/SimulationRunControllerFindAllRequestFilterStatus.ts b/src/api/resources/simulationRuns/types/SimulationRunControllerFindAllRequestFilterStatus.ts
new file mode 100644
index 00000000..10891522
--- /dev/null
+++ b/src/api/resources/simulationRuns/types/SimulationRunControllerFindAllRequestFilterStatus.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const SimulationRunControllerFindAllRequestFilterStatus = {
+ Passed: "passed",
+ Failed: "failed",
+ Running: "running",
+} as const;
+export type SimulationRunControllerFindAllRequestFilterStatus =
+ (typeof SimulationRunControllerFindAllRequestFilterStatus)[keyof typeof SimulationRunControllerFindAllRequestFilterStatus];
diff --git a/src/api/resources/simulationRuns/types/SimulationRunControllerFindAllRequestSortBy.ts b/src/api/resources/simulationRuns/types/SimulationRunControllerFindAllRequestSortBy.ts
new file mode 100644
index 00000000..feb4b903
--- /dev/null
+++ b/src/api/resources/simulationRuns/types/SimulationRunControllerFindAllRequestSortBy.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const SimulationRunControllerFindAllRequestSortBy = {
+ CreatedAt: "createdAt",
+ Duration: "duration",
+ Cost: "cost",
+} as const;
+export type SimulationRunControllerFindAllRequestSortBy =
+ (typeof SimulationRunControllerFindAllRequestSortBy)[keyof typeof SimulationRunControllerFindAllRequestSortBy];
diff --git a/src/api/resources/simulationRuns/types/SimulationRunControllerFindAllRequestSortOrder.ts b/src/api/resources/simulationRuns/types/SimulationRunControllerFindAllRequestSortOrder.ts
new file mode 100644
index 00000000..92e5ba3a
--- /dev/null
+++ b/src/api/resources/simulationRuns/types/SimulationRunControllerFindAllRequestSortOrder.ts
@@ -0,0 +1,8 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const SimulationRunControllerFindAllRequestSortOrder = {
+ Asc: "ASC",
+ Desc: "DESC",
+} as const;
+export type SimulationRunControllerFindAllRequestSortOrder =
+ (typeof SimulationRunControllerFindAllRequestSortOrder)[keyof typeof SimulationRunControllerFindAllRequestSortOrder];
diff --git a/src/api/resources/simulationRuns/types/SimulationRunControllerFindAllRequestStatus.ts b/src/api/resources/simulationRuns/types/SimulationRunControllerFindAllRequestStatus.ts
new file mode 100644
index 00000000..bb8b0a38
--- /dev/null
+++ b/src/api/resources/simulationRuns/types/SimulationRunControllerFindAllRequestStatus.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const SimulationRunControllerFindAllRequestStatus = {
+ Queued: "queued",
+ Running: "running",
+ Ended: "ended",
+} as const;
+export type SimulationRunControllerFindAllRequestStatus =
+ (typeof SimulationRunControllerFindAllRequestStatus)[keyof typeof SimulationRunControllerFindAllRequestStatus];
diff --git a/src/api/resources/simulationRuns/types/SimulationRunControllerFindAllRequestTargetType.ts b/src/api/resources/simulationRuns/types/SimulationRunControllerFindAllRequestTargetType.ts
new file mode 100644
index 00000000..1010b948
--- /dev/null
+++ b/src/api/resources/simulationRuns/types/SimulationRunControllerFindAllRequestTargetType.ts
@@ -0,0 +1,8 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const SimulationRunControllerFindAllRequestTargetType = {
+ Assistant: "assistant",
+ Squad: "squad",
+} as const;
+export type SimulationRunControllerFindAllRequestTargetType =
+ (typeof SimulationRunControllerFindAllRequestTargetType)[keyof typeof SimulationRunControllerFindAllRequestTargetType];
diff --git a/src/api/resources/simulationRuns/types/SimulationRunControllerFindAllResponse.ts b/src/api/resources/simulationRuns/types/SimulationRunControllerFindAllResponse.ts
new file mode 100644
index 00000000..829f78a6
--- /dev/null
+++ b/src/api/resources/simulationRuns/types/SimulationRunControllerFindAllResponse.ts
@@ -0,0 +1,5 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../../../index.js";
+
+export type SimulationRunControllerFindAllResponse = Vapi.SimulationRun[] | Vapi.SimulationRunsPaginatedResponse;
diff --git a/src/api/resources/simulationRuns/types/SimulationRunControllerFindItemsRequestSortBy.ts b/src/api/resources/simulationRuns/types/SimulationRunControllerFindItemsRequestSortBy.ts
new file mode 100644
index 00000000..58e89a93
--- /dev/null
+++ b/src/api/resources/simulationRuns/types/SimulationRunControllerFindItemsRequestSortBy.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const SimulationRunControllerFindItemsRequestSortBy = {
+ CreatedAt: "createdAt",
+ Duration: "duration",
+ Cost: "cost",
+} as const;
+export type SimulationRunControllerFindItemsRequestSortBy =
+ (typeof SimulationRunControllerFindItemsRequestSortBy)[keyof typeof SimulationRunControllerFindItemsRequestSortBy];
diff --git a/src/api/resources/simulationRuns/types/SimulationRunControllerFindItemsRequestSortOrder.ts b/src/api/resources/simulationRuns/types/SimulationRunControllerFindItemsRequestSortOrder.ts
new file mode 100644
index 00000000..ddb5a25f
--- /dev/null
+++ b/src/api/resources/simulationRuns/types/SimulationRunControllerFindItemsRequestSortOrder.ts
@@ -0,0 +1,8 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const SimulationRunControllerFindItemsRequestSortOrder = {
+ Asc: "ASC",
+ Desc: "DESC",
+} as const;
+export type SimulationRunControllerFindItemsRequestSortOrder =
+ (typeof SimulationRunControllerFindItemsRequestSortOrder)[keyof typeof SimulationRunControllerFindItemsRequestSortOrder];
diff --git a/src/api/resources/simulationRuns/types/SimulationRunControllerFindItemsRequestStatus.ts b/src/api/resources/simulationRuns/types/SimulationRunControllerFindItemsRequestStatus.ts
new file mode 100644
index 00000000..a39de778
--- /dev/null
+++ b/src/api/resources/simulationRuns/types/SimulationRunControllerFindItemsRequestStatus.ts
@@ -0,0 +1,12 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const SimulationRunControllerFindItemsRequestStatus = {
+ Queued: "queued",
+ Running: "running",
+ Evaluating: "evaluating",
+ Passed: "passed",
+ Failed: "failed",
+ Canceled: "canceled",
+} as const;
+export type SimulationRunControllerFindItemsRequestStatus =
+ (typeof SimulationRunControllerFindItemsRequestStatus)[keyof typeof SimulationRunControllerFindItemsRequestStatus];
diff --git a/src/api/resources/simulationRuns/types/index.ts b/src/api/resources/simulationRuns/types/index.ts
new file mode 100644
index 00000000..624ded58
--- /dev/null
+++ b/src/api/resources/simulationRuns/types/index.ts
@@ -0,0 +1,11 @@
+export * from "./CreateSimulationRunDtoSimulationsItem.js";
+export * from "./CreateSimulationRunDtoTarget.js";
+export * from "./SimulationRunControllerFindAllRequestFilterStatus.js";
+export * from "./SimulationRunControllerFindAllRequestSortBy.js";
+export * from "./SimulationRunControllerFindAllRequestSortOrder.js";
+export * from "./SimulationRunControllerFindAllRequestStatus.js";
+export * from "./SimulationRunControllerFindAllRequestTargetType.js";
+export * from "./SimulationRunControllerFindAllResponse.js";
+export * from "./SimulationRunControllerFindItemsRequestSortBy.js";
+export * from "./SimulationRunControllerFindItemsRequestSortOrder.js";
+export * from "./SimulationRunControllerFindItemsRequestStatus.js";
diff --git a/src/api/resources/simulationScenarios/client/Client.ts b/src/api/resources/simulationScenarios/client/Client.ts
new file mode 100644
index 00000000..ca925c6c
--- /dev/null
+++ b/src/api/resources/simulationScenarios/client/Client.ts
@@ -0,0 +1,378 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js";
+import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js";
+import { mergeHeaders } from "../../../../core/headers.js";
+import * as core from "../../../../core/index.js";
+import * as environments from "../../../../environments.js";
+import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js";
+import * as errors from "../../../../errors/index.js";
+import type * as Vapi from "../../../index.js";
+
+export declare namespace SimulationScenariosClient {
+ export type Options = BaseClientOptions;
+
+ export interface RequestOptions extends BaseRequestOptions {}
+}
+
+export class SimulationScenariosClient {
+ protected readonly _options: NormalizedClientOptionsWithAuth;
+
+ constructor(options: SimulationScenariosClient.Options) {
+ this._options = normalizeClientOptionsWithAuth(options);
+ }
+
+ /**
+ * Returns the scenarios for the authenticated organization.
+ *
+ * @param {Vapi.ScenarioControllerFindAllRequest} request
+ * @param {SimulationScenariosClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.simulationScenarios.scenarioControllerFindAll()
+ */
+ public scenarioControllerFindAll(
+ request: Vapi.ScenarioControllerFindAllRequest = {},
+ requestOptions?: SimulationScenariosClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__scenarioControllerFindAll(request, requestOptions));
+ }
+
+ private async __scenarioControllerFindAll(
+ request: Vapi.ScenarioControllerFindAllRequest = {},
+ requestOptions?: SimulationScenariosClient.RequestOptions,
+ ): Promise> {
+ const {
+ idAny,
+ name,
+ page,
+ sortOrder,
+ sortBy,
+ limit,
+ createdAtGt,
+ createdAtLt,
+ createdAtGe,
+ createdAtLe,
+ updatedAtGt,
+ updatedAtLt,
+ updatedAtGe,
+ updatedAtLe,
+ } = request;
+ const _queryParams: Record = {
+ idAny,
+ name,
+ page,
+ sortOrder: sortOrder != null ? sortOrder : undefined,
+ sortBy: sortBy != null ? sortBy : undefined,
+ limit,
+ createdAtGt: createdAtGt != null ? createdAtGt : undefined,
+ createdAtLt: createdAtLt != null ? createdAtLt : undefined,
+ createdAtGe: createdAtGe != null ? createdAtGe : undefined,
+ createdAtLe: createdAtLe != null ? createdAtLe : undefined,
+ updatedAtGt: updatedAtGt != null ? updatedAtGt : undefined,
+ updatedAtLt: updatedAtLt != null ? updatedAtLt : undefined,
+ updatedAtGe: updatedAtGe != null ? updatedAtGe : undefined,
+ updatedAtLe: updatedAtLe != null ? updatedAtLe : undefined,
+ };
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ "eval/simulation/scenario",
+ ),
+ method: "GET",
+ headers: _headers,
+ queryParameters: { ..._queryParams, ...requestOptions?.queryParams },
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.Scenario[], rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/eval/simulation/scenario");
+ }
+
+ /**
+ * Creates a scenario, the AI tester's intent plus the success criteria that score a run.
+ *
+ * @param {Vapi.CreateScenarioDto} request
+ * @param {SimulationScenariosClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.simulationScenarios.scenarioControllerCreate({
+ * name: "Health Enrollment - Eligible Path",
+ * instructions: "You are calling to enroll in the Twin Health program. Confirm your identity when asked.",
+ * evaluations: [{
+ * comparator: "=",
+ * value: 1.1
+ * }]
+ * })
+ */
+ public scenarioControllerCreate(
+ request: Vapi.CreateScenarioDto,
+ requestOptions?: SimulationScenariosClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__scenarioControllerCreate(request, requestOptions));
+ }
+
+ private async __scenarioControllerCreate(
+ request: Vapi.CreateScenarioDto,
+ requestOptions?: SimulationScenariosClient.RequestOptions,
+ ): Promise> {
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ "eval/simulation/scenario",
+ ),
+ method: "POST",
+ headers: _headers,
+ contentType: "application/json",
+ queryParameters: requestOptions?.queryParams,
+ requestType: "json",
+ body: request,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.Scenario, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/eval/simulation/scenario");
+ }
+
+ /**
+ * Returns the specified scenario.
+ *
+ * @param {Vapi.ScenarioControllerFindOneRequest} request
+ * @param {SimulationScenariosClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.simulationScenarios.scenarioControllerFindOne({
+ * id: "id"
+ * })
+ */
+ public scenarioControllerFindOne(
+ request: Vapi.ScenarioControllerFindOneRequest,
+ requestOptions?: SimulationScenariosClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__scenarioControllerFindOne(request, requestOptions));
+ }
+
+ private async __scenarioControllerFindOne(
+ request: Vapi.ScenarioControllerFindOneRequest,
+ requestOptions?: SimulationScenariosClient.RequestOptions,
+ ): Promise> {
+ const { id } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `eval/simulation/scenario/${core.url.encodePathParam(id)}`,
+ ),
+ method: "GET",
+ headers: _headers,
+ queryParameters: requestOptions?.queryParams,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.Scenario, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(
+ _response.error,
+ _response.rawResponse,
+ "GET",
+ "/eval/simulation/scenario/{id}",
+ );
+ }
+
+ /**
+ * Deletes the specified scenario.
+ *
+ * @param {Vapi.ScenarioControllerRemoveRequest} request
+ * @param {SimulationScenariosClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.simulationScenarios.scenarioControllerRemove({
+ * id: "id"
+ * })
+ */
+ public scenarioControllerRemove(
+ request: Vapi.ScenarioControllerRemoveRequest,
+ requestOptions?: SimulationScenariosClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__scenarioControllerRemove(request, requestOptions));
+ }
+
+ private async __scenarioControllerRemove(
+ request: Vapi.ScenarioControllerRemoveRequest,
+ requestOptions?: SimulationScenariosClient.RequestOptions,
+ ): Promise> {
+ const { id } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `eval/simulation/scenario/${core.url.encodePathParam(id)}`,
+ ),
+ method: "DELETE",
+ headers: _headers,
+ queryParameters: requestOptions?.queryParams,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.Scenario, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(
+ _response.error,
+ _response.rawResponse,
+ "DELETE",
+ "/eval/simulation/scenario/{id}",
+ );
+ }
+
+ /**
+ * Updates the specified scenario.
+ *
+ * @param {Vapi.UpdateScenarioDto} request
+ * @param {SimulationScenariosClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.simulationScenarios.scenarioControllerUpdate({
+ * id: "id"
+ * })
+ */
+ public scenarioControllerUpdate(
+ request: Vapi.UpdateScenarioDto,
+ requestOptions?: SimulationScenariosClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__scenarioControllerUpdate(request, requestOptions));
+ }
+
+ private async __scenarioControllerUpdate(
+ request: Vapi.UpdateScenarioDto,
+ requestOptions?: SimulationScenariosClient.RequestOptions,
+ ): Promise> {
+ const { id, ..._body } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `eval/simulation/scenario/${core.url.encodePathParam(id)}`,
+ ),
+ method: "PATCH",
+ headers: _headers,
+ contentType: "application/json",
+ queryParameters: requestOptions?.queryParams,
+ requestType: "json",
+ body: _body,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.Scenario, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(
+ _response.error,
+ _response.rawResponse,
+ "PATCH",
+ "/eval/simulation/scenario/{id}",
+ );
+ }
+}
diff --git a/src/api/resources/simulationScenarios/client/index.ts b/src/api/resources/simulationScenarios/client/index.ts
new file mode 100644
index 00000000..195f9aa8
--- /dev/null
+++ b/src/api/resources/simulationScenarios/client/index.ts
@@ -0,0 +1 @@
+export * from "./requests/index.js";
diff --git a/src/api/resources/simulationScenarios/client/requests/ScenarioControllerFindAllRequest.ts b/src/api/resources/simulationScenarios/client/requests/ScenarioControllerFindAllRequest.ts
new file mode 100644
index 00000000..f20c381a
--- /dev/null
+++ b/src/api/resources/simulationScenarios/client/requests/ScenarioControllerFindAllRequest.ts
@@ -0,0 +1,38 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../../../../index.js";
+
+/**
+ * @example
+ * {}
+ */
+export interface ScenarioControllerFindAllRequest {
+ /** Return only scenarios matching the provided ids */
+ idAny?: string | string[];
+ /** Search by scenario name */
+ name?: string;
+ /** This is the page number to return. Defaults to 1. */
+ page?: number;
+ /** This is the sort order for pagination. Defaults to 'DESC'. */
+ sortOrder?: Vapi.ScenarioControllerFindAllRequestSortOrder;
+ /** This is the column to sort by. Defaults to 'createdAt'. */
+ sortBy?: Vapi.ScenarioControllerFindAllRequestSortBy;
+ /** This is the maximum number of items to return. Defaults to 100. */
+ limit?: number;
+ /** This will return items where the createdAt is greater than the specified value. */
+ createdAtGt?: string;
+ /** This will return items where the createdAt is less than the specified value. */
+ createdAtLt?: string;
+ /** This will return items where the createdAt is greater than or equal to the specified value. */
+ createdAtGe?: string;
+ /** This will return items where the createdAt is less than or equal to the specified value. */
+ createdAtLe?: string;
+ /** This will return items where the updatedAt is greater than the specified value. */
+ updatedAtGt?: string;
+ /** This will return items where the updatedAt is less than the specified value. */
+ updatedAtLt?: string;
+ /** This will return items where the updatedAt is greater than or equal to the specified value. */
+ updatedAtGe?: string;
+ /** This will return items where the updatedAt is less than or equal to the specified value. */
+ updatedAtLe?: string;
+}
diff --git a/src/api/resources/simulationScenarios/client/requests/ScenarioControllerFindOneRequest.ts b/src/api/resources/simulationScenarios/client/requests/ScenarioControllerFindOneRequest.ts
new file mode 100644
index 00000000..dd382053
--- /dev/null
+++ b/src/api/resources/simulationScenarios/client/requests/ScenarioControllerFindOneRequest.ts
@@ -0,0 +1,12 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
+export interface ScenarioControllerFindOneRequest {
+ /** The unique identifier of the scenario. */
+ id: string;
+}
diff --git a/src/api/resources/simulationScenarios/client/requests/ScenarioControllerRemoveRequest.ts b/src/api/resources/simulationScenarios/client/requests/ScenarioControllerRemoveRequest.ts
new file mode 100644
index 00000000..e85833a4
--- /dev/null
+++ b/src/api/resources/simulationScenarios/client/requests/ScenarioControllerRemoveRequest.ts
@@ -0,0 +1,12 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
+export interface ScenarioControllerRemoveRequest {
+ /** The unique identifier of the scenario. */
+ id: string;
+}
diff --git a/src/api/types/UpdateScenarioDto.ts b/src/api/resources/simulationScenarios/client/requests/UpdateScenarioDto.ts
similarity index 63%
rename from src/api/types/UpdateScenarioDto.ts
rename to src/api/resources/simulationScenarios/client/requests/UpdateScenarioDto.ts
index 84db66ac..8adfa0a9 100644
--- a/src/api/types/UpdateScenarioDto.ts
+++ b/src/api/resources/simulationScenarios/client/requests/UpdateScenarioDto.ts
@@ -1,26 +1,34 @@
// This file was auto-generated by Fern from our API Definition.
-import type * as Vapi from "../index.js";
+import type * as Vapi from "../../../../index.js";
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
export interface UpdateScenarioDto {
+ /** The unique identifier of the scenario. */
+ id: string;
/** This is the name of the scenario. */
- name?: string | undefined;
+ name?: string;
/** This is the script/instructions for the tester to follow during the simulation. */
- instructions?: string | undefined;
+ instructions?: string;
/**
* This is the structured output-based evaluation plan for the simulation.
* Each item defines a structured output to extract and evaluate against an expected value.
*/
- evaluations?: Vapi.EvaluationPlanItem[] | undefined;
+ evaluations?: Vapi.EvaluationPlanItem[];
/** Hooks to run on simulation lifecycle events */
- hooks?: Vapi.UpdateScenarioDtoHooksItem[] | undefined;
+ hooks?: Vapi.UpdateScenarioDtoHooksItem[];
/** Overrides to inject into the simulated target assistant or squad */
- targetOverrides?: Vapi.AssistantOverrides | undefined;
- toolMocks?: Vapi.ScenarioToolMock[] | undefined;
+ targetOverrides?: Vapi.AssistantOverrides;
+ toolMocks?: Vapi.ScenarioToolMock[];
/**
* Optional folder path for organizing scenarios.
* Supports up to 3 levels (e.g., "dept/feature/variant").
* Set to null to remove from folder.
*/
- path?: (string | null) | undefined;
+ path?: string | null;
}
diff --git a/src/api/resources/simulationScenarios/client/requests/index.ts b/src/api/resources/simulationScenarios/client/requests/index.ts
new file mode 100644
index 00000000..538da503
--- /dev/null
+++ b/src/api/resources/simulationScenarios/client/requests/index.ts
@@ -0,0 +1,4 @@
+export type { ScenarioControllerFindAllRequest } from "./ScenarioControllerFindAllRequest.js";
+export type { ScenarioControllerFindOneRequest } from "./ScenarioControllerFindOneRequest.js";
+export type { ScenarioControllerRemoveRequest } from "./ScenarioControllerRemoveRequest.js";
+export type { UpdateScenarioDto } from "./UpdateScenarioDto.js";
diff --git a/src/api/resources/simulationScenarios/exports.ts b/src/api/resources/simulationScenarios/exports.ts
new file mode 100644
index 00000000..691a4a53
--- /dev/null
+++ b/src/api/resources/simulationScenarios/exports.ts
@@ -0,0 +1,4 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export { SimulationScenariosClient } from "./client/Client.js";
+export * from "./client/index.js";
diff --git a/src/api/resources/simulationScenarios/index.ts b/src/api/resources/simulationScenarios/index.ts
new file mode 100644
index 00000000..d9adb1af
--- /dev/null
+++ b/src/api/resources/simulationScenarios/index.ts
@@ -0,0 +1,2 @@
+export * from "./client/index.js";
+export * from "./types/index.js";
diff --git a/src/api/resources/simulationScenarios/types/ScenarioControllerFindAllRequestSortBy.ts b/src/api/resources/simulationScenarios/types/ScenarioControllerFindAllRequestSortBy.ts
new file mode 100644
index 00000000..9c4ccb1e
--- /dev/null
+++ b/src/api/resources/simulationScenarios/types/ScenarioControllerFindAllRequestSortBy.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const ScenarioControllerFindAllRequestSortBy = {
+ CreatedAt: "createdAt",
+ Duration: "duration",
+ Cost: "cost",
+} as const;
+export type ScenarioControllerFindAllRequestSortBy =
+ (typeof ScenarioControllerFindAllRequestSortBy)[keyof typeof ScenarioControllerFindAllRequestSortBy];
diff --git a/src/api/resources/simulationScenarios/types/ScenarioControllerFindAllRequestSortOrder.ts b/src/api/resources/simulationScenarios/types/ScenarioControllerFindAllRequestSortOrder.ts
new file mode 100644
index 00000000..c2acf714
--- /dev/null
+++ b/src/api/resources/simulationScenarios/types/ScenarioControllerFindAllRequestSortOrder.ts
@@ -0,0 +1,8 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const ScenarioControllerFindAllRequestSortOrder = {
+ Asc: "ASC",
+ Desc: "DESC",
+} as const;
+export type ScenarioControllerFindAllRequestSortOrder =
+ (typeof ScenarioControllerFindAllRequestSortOrder)[keyof typeof ScenarioControllerFindAllRequestSortOrder];
diff --git a/src/api/types/UpdateScenarioDtoHooksItem.ts b/src/api/resources/simulationScenarios/types/UpdateScenarioDtoHooksItem.ts
similarity index 91%
rename from src/api/types/UpdateScenarioDtoHooksItem.ts
rename to src/api/resources/simulationScenarios/types/UpdateScenarioDtoHooksItem.ts
index b5341d15..bd34350b 100644
--- a/src/api/types/UpdateScenarioDtoHooksItem.ts
+++ b/src/api/resources/simulationScenarios/types/UpdateScenarioDtoHooksItem.ts
@@ -1,6 +1,6 @@
// This file was auto-generated by Fern from our API Definition.
-import type * as Vapi from "../index.js";
+import type * as Vapi from "../../../index.js";
export type UpdateScenarioDtoHooksItem =
| Vapi.UpdateScenarioDtoHooksItem.SimulationRunStarted
diff --git a/src/api/resources/simulationScenarios/types/index.ts b/src/api/resources/simulationScenarios/types/index.ts
new file mode 100644
index 00000000..2b5a295b
--- /dev/null
+++ b/src/api/resources/simulationScenarios/types/index.ts
@@ -0,0 +1,3 @@
+export * from "./ScenarioControllerFindAllRequestSortBy.js";
+export * from "./ScenarioControllerFindAllRequestSortOrder.js";
+export * from "./UpdateScenarioDtoHooksItem.js";
diff --git a/src/api/resources/simulationSuites/client/Client.ts b/src/api/resources/simulationSuites/client/Client.ts
new file mode 100644
index 00000000..a67c4d16
--- /dev/null
+++ b/src/api/resources/simulationSuites/client/Client.ts
@@ -0,0 +1,362 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js";
+import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js";
+import { mergeHeaders } from "../../../../core/headers.js";
+import * as core from "../../../../core/index.js";
+import * as environments from "../../../../environments.js";
+import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js";
+import * as errors from "../../../../errors/index.js";
+import type * as Vapi from "../../../index.js";
+
+export declare namespace SimulationSuitesClient {
+ export type Options = BaseClientOptions;
+
+ export interface RequestOptions extends BaseRequestOptions {}
+}
+
+export class SimulationSuitesClient {
+ protected readonly _options: NormalizedClientOptionsWithAuth;
+
+ constructor(options: SimulationSuitesClient.Options) {
+ this._options = normalizeClientOptionsWithAuth(options);
+ }
+
+ /**
+ * Returns the simulation suites for the authenticated organization.
+ *
+ * @param {Vapi.SimulationSuiteControllerFindAllRequest} request
+ * @param {SimulationSuitesClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.simulationSuites.simulationSuiteControllerFindAll()
+ */
+ public simulationSuiteControllerFindAll(
+ request: Vapi.SimulationSuiteControllerFindAllRequest = {},
+ requestOptions?: SimulationSuitesClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__simulationSuiteControllerFindAll(request, requestOptions));
+ }
+
+ private async __simulationSuiteControllerFindAll(
+ request: Vapi.SimulationSuiteControllerFindAllRequest = {},
+ requestOptions?: SimulationSuitesClient.RequestOptions,
+ ): Promise> {
+ const {
+ name,
+ page,
+ sortOrder,
+ sortBy,
+ limit,
+ createdAtGt,
+ createdAtLt,
+ createdAtGe,
+ createdAtLe,
+ updatedAtGt,
+ updatedAtLt,
+ updatedAtGe,
+ updatedAtLe,
+ } = request;
+ const _queryParams: Record = {
+ name,
+ page,
+ sortOrder: sortOrder != null ? sortOrder : undefined,
+ sortBy: sortBy != null ? sortBy : undefined,
+ limit,
+ createdAtGt: createdAtGt != null ? createdAtGt : undefined,
+ createdAtLt: createdAtLt != null ? createdAtLt : undefined,
+ createdAtGe: createdAtGe != null ? createdAtGe : undefined,
+ createdAtLe: createdAtLe != null ? createdAtLe : undefined,
+ updatedAtGt: updatedAtGt != null ? updatedAtGt : undefined,
+ updatedAtLt: updatedAtLt != null ? updatedAtLt : undefined,
+ updatedAtGe: updatedAtGe != null ? updatedAtGe : undefined,
+ updatedAtLe: updatedAtLe != null ? updatedAtLe : undefined,
+ };
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ "eval/simulation/suite",
+ ),
+ method: "GET",
+ headers: _headers,
+ queryParameters: { ..._queryParams, ...requestOptions?.queryParams },
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.SimulationSuite[], rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/eval/simulation/suite");
+ }
+
+ /**
+ * Creates a simulation suite, a group of simulations that run together.
+ *
+ * @param {Vapi.CreateSimulationSuiteDto} request
+ * @param {SimulationSuitesClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.simulationSuites.simulationSuiteControllerCreate({
+ * name: "Checkout Flow Tests",
+ * simulationIds: ["simulationIds"]
+ * })
+ */
+ public simulationSuiteControllerCreate(
+ request: Vapi.CreateSimulationSuiteDto,
+ requestOptions?: SimulationSuitesClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__simulationSuiteControllerCreate(request, requestOptions));
+ }
+
+ private async __simulationSuiteControllerCreate(
+ request: Vapi.CreateSimulationSuiteDto,
+ requestOptions?: SimulationSuitesClient.RequestOptions,
+ ): Promise> {
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ "eval/simulation/suite",
+ ),
+ method: "POST",
+ headers: _headers,
+ contentType: "application/json",
+ queryParameters: requestOptions?.queryParams,
+ requestType: "json",
+ body: request,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.SimulationSuite, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/eval/simulation/suite");
+ }
+
+ /**
+ * Returns the specified simulation suite.
+ *
+ * @param {Vapi.SimulationSuiteControllerFindOneRequest} request
+ * @param {SimulationSuitesClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.simulationSuites.simulationSuiteControllerFindOne({
+ * id: "id"
+ * })
+ */
+ public simulationSuiteControllerFindOne(
+ request: Vapi.SimulationSuiteControllerFindOneRequest,
+ requestOptions?: SimulationSuitesClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__simulationSuiteControllerFindOne(request, requestOptions));
+ }
+
+ private async __simulationSuiteControllerFindOne(
+ request: Vapi.SimulationSuiteControllerFindOneRequest,
+ requestOptions?: SimulationSuitesClient.RequestOptions,
+ ): Promise> {
+ const { id } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `eval/simulation/suite/${core.url.encodePathParam(id)}`,
+ ),
+ method: "GET",
+ headers: _headers,
+ queryParameters: requestOptions?.queryParams,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.SimulationSuite, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/eval/simulation/suite/{id}");
+ }
+
+ /**
+ * Deletes the specified simulation suite.
+ *
+ * @param {Vapi.SimulationSuiteControllerRemoveRequest} request
+ * @param {SimulationSuitesClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.simulationSuites.simulationSuiteControllerRemove({
+ * id: "id"
+ * })
+ */
+ public simulationSuiteControllerRemove(
+ request: Vapi.SimulationSuiteControllerRemoveRequest,
+ requestOptions?: SimulationSuitesClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__simulationSuiteControllerRemove(request, requestOptions));
+ }
+
+ private async __simulationSuiteControllerRemove(
+ request: Vapi.SimulationSuiteControllerRemoveRequest,
+ requestOptions?: SimulationSuitesClient.RequestOptions,
+ ): Promise> {
+ const { id } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `eval/simulation/suite/${core.url.encodePathParam(id)}`,
+ ),
+ method: "DELETE",
+ headers: _headers,
+ queryParameters: requestOptions?.queryParams,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.SimulationSuite, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(
+ _response.error,
+ _response.rawResponse,
+ "DELETE",
+ "/eval/simulation/suite/{id}",
+ );
+ }
+
+ /**
+ * Updates the specified simulation suite.
+ *
+ * @param {Vapi.UpdateSimulationSuiteDto} request
+ * @param {SimulationSuitesClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.simulationSuites.simulationSuiteControllerUpdate({
+ * id: "id"
+ * })
+ */
+ public simulationSuiteControllerUpdate(
+ request: Vapi.UpdateSimulationSuiteDto,
+ requestOptions?: SimulationSuitesClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__simulationSuiteControllerUpdate(request, requestOptions));
+ }
+
+ private async __simulationSuiteControllerUpdate(
+ request: Vapi.UpdateSimulationSuiteDto,
+ requestOptions?: SimulationSuitesClient.RequestOptions,
+ ): Promise> {
+ const { id, ..._body } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `eval/simulation/suite/${core.url.encodePathParam(id)}`,
+ ),
+ method: "PATCH",
+ headers: _headers,
+ contentType: "application/json",
+ queryParameters: requestOptions?.queryParams,
+ requestType: "json",
+ body: _body,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.SimulationSuite, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/eval/simulation/suite/{id}");
+ }
+}
diff --git a/src/api/resources/simulationSuites/client/index.ts b/src/api/resources/simulationSuites/client/index.ts
new file mode 100644
index 00000000..195f9aa8
--- /dev/null
+++ b/src/api/resources/simulationSuites/client/index.ts
@@ -0,0 +1 @@
+export * from "./requests/index.js";
diff --git a/src/api/resources/simulationSuites/client/requests/CreateSimulationSuiteDto.ts b/src/api/resources/simulationSuites/client/requests/CreateSimulationSuiteDto.ts
new file mode 100644
index 00000000..e55fe085
--- /dev/null
+++ b/src/api/resources/simulationSuites/client/requests/CreateSimulationSuiteDto.ts
@@ -0,0 +1,27 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../../../../index.js";
+
+/**
+ * @example
+ * {
+ * name: "Checkout Flow Tests",
+ * simulationIds: ["simulationIds"]
+ * }
+ */
+export interface CreateSimulationSuiteDto {
+ /** The display name of the suite. */
+ name: string;
+ /** A Slack incoming-webhook URL notified when the suite runs. */
+ slackWebhookUrl?: string;
+ /** The IDs of the simulations included in the suite. */
+ simulationIds: string[];
+ /** The assistants or squads the suite's simulations run against. */
+ targetAssignments?: Vapi.SimulationSuiteTargetAssignment[];
+ /**
+ * Optional folder path for organizing simulation suites.
+ * Supports up to 3 levels (e.g., "dept/feature/variant").
+ * Maps to GitOps resource folder structure.
+ */
+ path?: string | null;
+}
diff --git a/src/api/resources/simulationSuites/client/requests/SimulationSuiteControllerFindAllRequest.ts b/src/api/resources/simulationSuites/client/requests/SimulationSuiteControllerFindAllRequest.ts
new file mode 100644
index 00000000..a68130df
--- /dev/null
+++ b/src/api/resources/simulationSuites/client/requests/SimulationSuiteControllerFindAllRequest.ts
@@ -0,0 +1,36 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../../../../index.js";
+
+/**
+ * @example
+ * {}
+ */
+export interface SimulationSuiteControllerFindAllRequest {
+ /** Search by simulation suite name */
+ name?: string;
+ /** This is the page number to return. Defaults to 1. */
+ page?: number;
+ /** This is the sort order for pagination. Defaults to 'DESC'. */
+ sortOrder?: Vapi.SimulationSuiteControllerFindAllRequestSortOrder;
+ /** This is the column to sort by. Defaults to 'createdAt'. */
+ sortBy?: Vapi.SimulationSuiteControllerFindAllRequestSortBy;
+ /** This is the maximum number of items to return. Defaults to 100. */
+ limit?: number;
+ /** This will return items where the createdAt is greater than the specified value. */
+ createdAtGt?: string;
+ /** This will return items where the createdAt is less than the specified value. */
+ createdAtLt?: string;
+ /** This will return items where the createdAt is greater than or equal to the specified value. */
+ createdAtGe?: string;
+ /** This will return items where the createdAt is less than or equal to the specified value. */
+ createdAtLe?: string;
+ /** This will return items where the updatedAt is greater than the specified value. */
+ updatedAtGt?: string;
+ /** This will return items where the updatedAt is less than the specified value. */
+ updatedAtLt?: string;
+ /** This will return items where the updatedAt is greater than or equal to the specified value. */
+ updatedAtGe?: string;
+ /** This will return items where the updatedAt is less than or equal to the specified value. */
+ updatedAtLe?: string;
+}
diff --git a/src/api/resources/simulationSuites/client/requests/SimulationSuiteControllerFindOneRequest.ts b/src/api/resources/simulationSuites/client/requests/SimulationSuiteControllerFindOneRequest.ts
new file mode 100644
index 00000000..d074e298
--- /dev/null
+++ b/src/api/resources/simulationSuites/client/requests/SimulationSuiteControllerFindOneRequest.ts
@@ -0,0 +1,12 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
+export interface SimulationSuiteControllerFindOneRequest {
+ /** The unique identifier of the simulation suite. */
+ id: string;
+}
diff --git a/src/api/resources/simulationSuites/client/requests/SimulationSuiteControllerRemoveRequest.ts b/src/api/resources/simulationSuites/client/requests/SimulationSuiteControllerRemoveRequest.ts
new file mode 100644
index 00000000..113f7eda
--- /dev/null
+++ b/src/api/resources/simulationSuites/client/requests/SimulationSuiteControllerRemoveRequest.ts
@@ -0,0 +1,12 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
+export interface SimulationSuiteControllerRemoveRequest {
+ /** The unique identifier of the simulation suite. */
+ id: string;
+}
diff --git a/src/api/types/UpdateSimulationSuiteDto.ts b/src/api/resources/simulationSuites/client/requests/UpdateSimulationSuiteDto.ts
similarity index 54%
rename from src/api/types/UpdateSimulationSuiteDto.ts
rename to src/api/resources/simulationSuites/client/requests/UpdateSimulationSuiteDto.ts
index 2848a94f..74bc0d80 100644
--- a/src/api/types/UpdateSimulationSuiteDto.ts
+++ b/src/api/resources/simulationSuites/client/requests/UpdateSimulationSuiteDto.ts
@@ -1,16 +1,28 @@
// This file was auto-generated by Fern from our API Definition.
+import type * as Vapi from "../../../../index.js";
+
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
export interface UpdateSimulationSuiteDto {
+ /** The unique identifier of the simulation suite. */
+ id: string;
/** This is the name of the simulation suite. */
- name?: string | undefined;
+ name?: string;
/** This is the Slack webhook URL for notifications. */
- slackWebhookUrl?: string | undefined;
+ slackWebhookUrl?: string;
/** This is the list of simulation IDs to include in the suite (replaces existing). */
- simulationIds?: string[] | undefined;
+ simulationIds?: string[];
+ /** Optional assistant or squad assignments (replaces existing). */
+ targetAssignments?: Vapi.SimulationSuiteTargetAssignment[];
/**
* Optional folder path for organizing simulation suites.
* Supports up to 3 levels (e.g., "dept/feature/variant").
* Set to null to remove from folder.
*/
- path?: (string | null) | undefined;
+ path?: string | null;
}
diff --git a/src/api/resources/simulationSuites/client/requests/index.ts b/src/api/resources/simulationSuites/client/requests/index.ts
new file mode 100644
index 00000000..005b3f61
--- /dev/null
+++ b/src/api/resources/simulationSuites/client/requests/index.ts
@@ -0,0 +1,5 @@
+export type { CreateSimulationSuiteDto } from "./CreateSimulationSuiteDto.js";
+export type { SimulationSuiteControllerFindAllRequest } from "./SimulationSuiteControllerFindAllRequest.js";
+export type { SimulationSuiteControllerFindOneRequest } from "./SimulationSuiteControllerFindOneRequest.js";
+export type { SimulationSuiteControllerRemoveRequest } from "./SimulationSuiteControllerRemoveRequest.js";
+export type { UpdateSimulationSuiteDto } from "./UpdateSimulationSuiteDto.js";
diff --git a/src/api/resources/simulationSuites/exports.ts b/src/api/resources/simulationSuites/exports.ts
new file mode 100644
index 00000000..b70f2cdb
--- /dev/null
+++ b/src/api/resources/simulationSuites/exports.ts
@@ -0,0 +1,4 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export { SimulationSuitesClient } from "./client/Client.js";
+export * from "./client/index.js";
diff --git a/src/api/resources/simulationSuites/index.ts b/src/api/resources/simulationSuites/index.ts
new file mode 100644
index 00000000..d9adb1af
--- /dev/null
+++ b/src/api/resources/simulationSuites/index.ts
@@ -0,0 +1,2 @@
+export * from "./client/index.js";
+export * from "./types/index.js";
diff --git a/src/api/resources/simulationSuites/types/SimulationSuiteControllerFindAllRequestSortBy.ts b/src/api/resources/simulationSuites/types/SimulationSuiteControllerFindAllRequestSortBy.ts
new file mode 100644
index 00000000..2731d2a0
--- /dev/null
+++ b/src/api/resources/simulationSuites/types/SimulationSuiteControllerFindAllRequestSortBy.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const SimulationSuiteControllerFindAllRequestSortBy = {
+ CreatedAt: "createdAt",
+ Duration: "duration",
+ Cost: "cost",
+} as const;
+export type SimulationSuiteControllerFindAllRequestSortBy =
+ (typeof SimulationSuiteControllerFindAllRequestSortBy)[keyof typeof SimulationSuiteControllerFindAllRequestSortBy];
diff --git a/src/api/resources/simulationSuites/types/SimulationSuiteControllerFindAllRequestSortOrder.ts b/src/api/resources/simulationSuites/types/SimulationSuiteControllerFindAllRequestSortOrder.ts
new file mode 100644
index 00000000..6b3bf88d
--- /dev/null
+++ b/src/api/resources/simulationSuites/types/SimulationSuiteControllerFindAllRequestSortOrder.ts
@@ -0,0 +1,8 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const SimulationSuiteControllerFindAllRequestSortOrder = {
+ Asc: "ASC",
+ Desc: "DESC",
+} as const;
+export type SimulationSuiteControllerFindAllRequestSortOrder =
+ (typeof SimulationSuiteControllerFindAllRequestSortOrder)[keyof typeof SimulationSuiteControllerFindAllRequestSortOrder];
diff --git a/src/api/resources/simulationSuites/types/index.ts b/src/api/resources/simulationSuites/types/index.ts
new file mode 100644
index 00000000..9053f260
--- /dev/null
+++ b/src/api/resources/simulationSuites/types/index.ts
@@ -0,0 +1,2 @@
+export * from "./SimulationSuiteControllerFindAllRequestSortBy.js";
+export * from "./SimulationSuiteControllerFindAllRequestSortOrder.js";
diff --git a/src/api/resources/simulations/client/Client.ts b/src/api/resources/simulations/client/Client.ts
new file mode 100644
index 00000000..62e83cee
--- /dev/null
+++ b/src/api/resources/simulations/client/Client.ts
@@ -0,0 +1,480 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js";
+import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js";
+import { mergeHeaders } from "../../../../core/headers.js";
+import * as core from "../../../../core/index.js";
+import * as environments from "../../../../environments.js";
+import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js";
+import * as errors from "../../../../errors/index.js";
+import type * as Vapi from "../../../index.js";
+
+export declare namespace SimulationsClient {
+ export type Options = BaseClientOptions;
+
+ export interface RequestOptions extends BaseRequestOptions {}
+}
+
+export class SimulationsClient {
+ protected readonly _options: NormalizedClientOptionsWithAuth;
+
+ constructor(options: SimulationsClient.Options) {
+ this._options = normalizeClientOptionsWithAuth(options);
+ }
+
+ /**
+ * Generates scenarios for an assistant or squad by analyzing its configuration with AI.
+ *
+ * @param {Vapi.GenerateScenariosDto} request
+ * @param {SimulationsClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.simulations.simulationGenerateControllerGenerate()
+ */
+ public simulationGenerateControllerGenerate(
+ request: Vapi.GenerateScenariosDto = {},
+ requestOptions?: SimulationsClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(
+ this.__simulationGenerateControllerGenerate(request, requestOptions),
+ );
+ }
+
+ private async __simulationGenerateControllerGenerate(
+ request: Vapi.GenerateScenariosDto = {},
+ requestOptions?: SimulationsClient.RequestOptions,
+ ): Promise> {
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ "eval/simulation/scenario/generate",
+ ),
+ method: "POST",
+ headers: _headers,
+ contentType: "application/json",
+ queryParameters: requestOptions?.queryParams,
+ requestType: "json",
+ body: request,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.GenerateScenariosResponse, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(
+ _response.error,
+ _response.rawResponse,
+ "POST",
+ "/eval/simulation/scenario/generate",
+ );
+ }
+
+ /**
+ * Returns the simulations for the authenticated organization.
+ *
+ * @param {Vapi.SimulationControllerFindAllRequest} request
+ * @param {SimulationsClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.simulations.simulationControllerFindAll()
+ */
+ public simulationControllerFindAll(
+ request: Vapi.SimulationControllerFindAllRequest = {},
+ requestOptions?: SimulationsClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__simulationControllerFindAll(request, requestOptions));
+ }
+
+ private async __simulationControllerFindAll(
+ request: Vapi.SimulationControllerFindAllRequest = {},
+ requestOptions?: SimulationsClient.RequestOptions,
+ ): Promise> {
+ const {
+ idAny,
+ standaloneOnly,
+ page,
+ sortOrder,
+ sortBy,
+ limit,
+ createdAtGt,
+ createdAtLt,
+ createdAtGe,
+ createdAtLe,
+ updatedAtGt,
+ updatedAtLt,
+ updatedAtGe,
+ updatedAtLe,
+ } = request;
+ const _queryParams: Record = {
+ idAny,
+ standaloneOnly,
+ page,
+ sortOrder: sortOrder != null ? sortOrder : undefined,
+ sortBy: sortBy != null ? sortBy : undefined,
+ limit,
+ createdAtGt: createdAtGt != null ? createdAtGt : undefined,
+ createdAtLt: createdAtLt != null ? createdAtLt : undefined,
+ createdAtGe: createdAtGe != null ? createdAtGe : undefined,
+ createdAtLe: createdAtLe != null ? createdAtLe : undefined,
+ updatedAtGt: updatedAtGt != null ? updatedAtGt : undefined,
+ updatedAtLt: updatedAtLt != null ? updatedAtLt : undefined,
+ updatedAtGe: updatedAtGe != null ? updatedAtGe : undefined,
+ updatedAtLe: updatedAtLe != null ? updatedAtLe : undefined,
+ };
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ "eval/simulation",
+ ),
+ method: "GET",
+ headers: _headers,
+ queryParameters: { ..._queryParams, ...requestOptions?.queryParams },
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.Simulation[], rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/eval/simulation");
+ }
+
+ /**
+ * Creates a simulation by pairing a scenario with a personality.
+ *
+ * @param {Vapi.CreateSimulationDto} request
+ * @param {SimulationsClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.simulations.simulationControllerCreate({
+ * scenarioId: "scenarioId",
+ * personalityId: "personalityId"
+ * })
+ */
+ public simulationControllerCreate(
+ request: Vapi.CreateSimulationDto,
+ requestOptions?: SimulationsClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__simulationControllerCreate(request, requestOptions));
+ }
+
+ private async __simulationControllerCreate(
+ request: Vapi.CreateSimulationDto,
+ requestOptions?: SimulationsClient.RequestOptions,
+ ): Promise> {
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ "eval/simulation",
+ ),
+ method: "POST",
+ headers: _headers,
+ contentType: "application/json",
+ queryParameters: requestOptions?.queryParams,
+ requestType: "json",
+ body: request,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.Simulation, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/eval/simulation");
+ }
+
+ /**
+ * Returns the specified simulation.
+ *
+ * @param {Vapi.SimulationControllerFindOneRequest} request
+ * @param {SimulationsClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.simulations.simulationControllerFindOne({
+ * id: "id"
+ * })
+ */
+ public simulationControllerFindOne(
+ request: Vapi.SimulationControllerFindOneRequest,
+ requestOptions?: SimulationsClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__simulationControllerFindOne(request, requestOptions));
+ }
+
+ private async __simulationControllerFindOne(
+ request: Vapi.SimulationControllerFindOneRequest,
+ requestOptions?: SimulationsClient.RequestOptions,
+ ): Promise> {
+ const { id } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `eval/simulation/${core.url.encodePathParam(id)}`,
+ ),
+ method: "GET",
+ headers: _headers,
+ queryParameters: requestOptions?.queryParams,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.Simulation, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/eval/simulation/{id}");
+ }
+
+ /**
+ * Deletes the specified simulation.
+ *
+ * @param {Vapi.SimulationControllerRemoveRequest} request
+ * @param {SimulationsClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.simulations.simulationControllerRemove({
+ * id: "id"
+ * })
+ */
+ public simulationControllerRemove(
+ request: Vapi.SimulationControllerRemoveRequest,
+ requestOptions?: SimulationsClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__simulationControllerRemove(request, requestOptions));
+ }
+
+ private async __simulationControllerRemove(
+ request: Vapi.SimulationControllerRemoveRequest,
+ requestOptions?: SimulationsClient.RequestOptions,
+ ): Promise> {
+ const { id } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `eval/simulation/${core.url.encodePathParam(id)}`,
+ ),
+ method: "DELETE",
+ headers: _headers,
+ queryParameters: requestOptions?.queryParams,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.Simulation, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/eval/simulation/{id}");
+ }
+
+ /**
+ * Updates the specified simulation.
+ *
+ * @param {Vapi.UpdateSimulationDto} request
+ * @param {SimulationsClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.simulations.simulationControllerUpdate({
+ * id: "id"
+ * })
+ */
+ public simulationControllerUpdate(
+ request: Vapi.UpdateSimulationDto,
+ requestOptions?: SimulationsClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__simulationControllerUpdate(request, requestOptions));
+ }
+
+ private async __simulationControllerUpdate(
+ request: Vapi.UpdateSimulationDto,
+ requestOptions?: SimulationsClient.RequestOptions,
+ ): Promise> {
+ const { id, ..._body } = request;
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ `eval/simulation/${core.url.encodePathParam(id)}`,
+ ),
+ method: "PATCH",
+ headers: _headers,
+ contentType: "application/json",
+ queryParameters: requestOptions?.queryParams,
+ requestType: "json",
+ body: _body,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.Simulation, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/eval/simulation/{id}");
+ }
+
+ /**
+ * Returns the organization's simulation concurrency limit, the number of active simulations, and how many more can start.
+ *
+ * @param {SimulationsClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @example
+ * await client.simulations.simulationControllerGetConcurrency()
+ */
+ public simulationControllerGetConcurrency(
+ requestOptions?: SimulationsClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__simulationControllerGetConcurrency(requestOptions));
+ }
+
+ private async __simulationControllerGetConcurrency(
+ requestOptions?: SimulationsClient.RequestOptions,
+ ): Promise> {
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.VapiEnvironment.Default,
+ "eval/simulation/concurrency",
+ ),
+ method: "GET",
+ headers: _headers,
+ queryParameters: requestOptions?.queryParams,
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ fetchFn: this._options?.fetch,
+ logging: this._options.logging,
+ });
+ if (_response.ok) {
+ return { data: _response.body as Vapi.SimulationConcurrencyResponse, rawResponse: _response.rawResponse };
+ }
+
+ if (_response.error.reason === "status-code") {
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/eval/simulation/concurrency");
+ }
+}
diff --git a/src/api/resources/simulations/client/index.ts b/src/api/resources/simulations/client/index.ts
new file mode 100644
index 00000000..195f9aa8
--- /dev/null
+++ b/src/api/resources/simulations/client/index.ts
@@ -0,0 +1 @@
+export * from "./requests/index.js";
diff --git a/src/api/types/CreateSimulationDto.ts b/src/api/resources/simulations/client/requests/CreateSimulationDto.ts
similarity index 52%
rename from src/api/types/CreateSimulationDto.ts
rename to src/api/resources/simulations/client/requests/CreateSimulationDto.ts
index d1e3c701..ed0e2e30 100644
--- a/src/api/types/CreateSimulationDto.ts
+++ b/src/api/resources/simulations/client/requests/CreateSimulationDto.ts
@@ -1,16 +1,23 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * @example
+ * {
+ * scenarioId: "scenarioId",
+ * personalityId: "personalityId"
+ * }
+ */
export interface CreateSimulationDto {
- /** This is an optional friendly name for the simulation. */
- name?: string | undefined;
- /** This is the ID of the scenario to use for this simulation. */
+ /** Optional display name for the simulation. */
+ name?: string;
+ /** The ID of the scenario to run. */
scenarioId: string;
- /** This is the ID of the personality to use for this simulation. */
+ /** The ID of the personality the AI tester uses. */
personalityId: string;
/**
* Optional folder path for organizing simulations.
* Supports up to 3 levels (e.g., "dept/feature/variant").
* Maps to GitOps resource folder structure.
*/
- path?: (string | null) | undefined;
+ path?: string | null;
}
diff --git a/src/api/types/GenerateScenariosDto.ts b/src/api/resources/simulations/client/requests/GenerateScenariosDto.ts
similarity index 73%
rename from src/api/types/GenerateScenariosDto.ts
rename to src/api/resources/simulations/client/requests/GenerateScenariosDto.ts
index 6108ebee..85e6ba7a 100644
--- a/src/api/types/GenerateScenariosDto.ts
+++ b/src/api/resources/simulations/client/requests/GenerateScenariosDto.ts
@@ -1,8 +1,12 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * @example
+ * {}
+ */
export interface GenerateScenariosDto {
/** ID of the assistant to generate scenarios for */
- assistantId?: string | undefined;
+ assistantId?: string;
/** ID of the squad to generate scenarios for */
- squadId?: string | undefined;
+ squadId?: string;
}
diff --git a/src/api/resources/simulations/client/requests/SimulationControllerFindAllRequest.ts b/src/api/resources/simulations/client/requests/SimulationControllerFindAllRequest.ts
new file mode 100644
index 00000000..98fa9b43
--- /dev/null
+++ b/src/api/resources/simulations/client/requests/SimulationControllerFindAllRequest.ts
@@ -0,0 +1,38 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../../../../index.js";
+
+/**
+ * @example
+ * {}
+ */
+export interface SimulationControllerFindAllRequest {
+ /** Return only simulations matching the provided ids */
+ idAny?: string | string[];
+ /** Only include simulations that are not part of a suite */
+ standaloneOnly?: boolean;
+ /** This is the page number to return. Defaults to 1. */
+ page?: number;
+ /** This is the sort order for pagination. Defaults to 'DESC'. */
+ sortOrder?: Vapi.SimulationControllerFindAllRequestSortOrder;
+ /** This is the column to sort by. Defaults to 'createdAt'. */
+ sortBy?: Vapi.SimulationControllerFindAllRequestSortBy;
+ /** This is the maximum number of items to return. Defaults to 100. */
+ limit?: number;
+ /** This will return items where the createdAt is greater than the specified value. */
+ createdAtGt?: string;
+ /** This will return items where the createdAt is less than the specified value. */
+ createdAtLt?: string;
+ /** This will return items where the createdAt is greater than or equal to the specified value. */
+ createdAtGe?: string;
+ /** This will return items where the createdAt is less than or equal to the specified value. */
+ createdAtLe?: string;
+ /** This will return items where the updatedAt is greater than the specified value. */
+ updatedAtGt?: string;
+ /** This will return items where the updatedAt is less than the specified value. */
+ updatedAtLt?: string;
+ /** This will return items where the updatedAt is greater than or equal to the specified value. */
+ updatedAtGe?: string;
+ /** This will return items where the updatedAt is less than or equal to the specified value. */
+ updatedAtLe?: string;
+}
diff --git a/src/api/resources/simulations/client/requests/SimulationControllerFindOneRequest.ts b/src/api/resources/simulations/client/requests/SimulationControllerFindOneRequest.ts
new file mode 100644
index 00000000..8907fef0
--- /dev/null
+++ b/src/api/resources/simulations/client/requests/SimulationControllerFindOneRequest.ts
@@ -0,0 +1,12 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
+export interface SimulationControllerFindOneRequest {
+ /** The unique identifier of the simulation. */
+ id: string;
+}
diff --git a/src/api/resources/simulations/client/requests/SimulationControllerRemoveRequest.ts b/src/api/resources/simulations/client/requests/SimulationControllerRemoveRequest.ts
new file mode 100644
index 00000000..ef122ca1
--- /dev/null
+++ b/src/api/resources/simulations/client/requests/SimulationControllerRemoveRequest.ts
@@ -0,0 +1,12 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
+export interface SimulationControllerRemoveRequest {
+ /** The unique identifier of the simulation. */
+ id: string;
+}
diff --git a/src/api/types/UpdateSimulationDto.ts b/src/api/resources/simulations/client/requests/UpdateSimulationDto.ts
similarity index 68%
rename from src/api/types/UpdateSimulationDto.ts
rename to src/api/resources/simulations/client/requests/UpdateSimulationDto.ts
index 3a45cb08..99c9fe14 100644
--- a/src/api/types/UpdateSimulationDto.ts
+++ b/src/api/resources/simulations/client/requests/UpdateSimulationDto.ts
@@ -1,16 +1,24 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * @example
+ * {
+ * id: "id"
+ * }
+ */
export interface UpdateSimulationDto {
+ /** The unique identifier of the simulation. */
+ id: string;
/** This is an optional friendly name for the simulation. */
- name?: string | undefined;
+ name?: string;
/** This is the ID of the scenario to use for this simulation. */
- scenarioId?: string | undefined;
+ scenarioId?: string;
/** This is the ID of the personality to use for this simulation. */
- personalityId?: string | undefined;
+ personalityId?: string;
/**
* Optional folder path for organizing simulations.
* Supports up to 3 levels (e.g., "dept/feature/variant").
* Set to null to remove from folder.
*/
- path?: (string | null) | undefined;
+ path?: string | null;
}
diff --git a/src/api/resources/simulations/client/requests/index.ts b/src/api/resources/simulations/client/requests/index.ts
new file mode 100644
index 00000000..0932b9e4
--- /dev/null
+++ b/src/api/resources/simulations/client/requests/index.ts
@@ -0,0 +1,6 @@
+export type { CreateSimulationDto } from "./CreateSimulationDto.js";
+export type { GenerateScenariosDto } from "./GenerateScenariosDto.js";
+export type { SimulationControllerFindAllRequest } from "./SimulationControllerFindAllRequest.js";
+export type { SimulationControllerFindOneRequest } from "./SimulationControllerFindOneRequest.js";
+export type { SimulationControllerRemoveRequest } from "./SimulationControllerRemoveRequest.js";
+export type { UpdateSimulationDto } from "./UpdateSimulationDto.js";
diff --git a/src/api/resources/simulations/exports.ts b/src/api/resources/simulations/exports.ts
new file mode 100644
index 00000000..11815c0b
--- /dev/null
+++ b/src/api/resources/simulations/exports.ts
@@ -0,0 +1,4 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export { SimulationsClient } from "./client/Client.js";
+export * from "./client/index.js";
diff --git a/src/api/resources/simulations/index.ts b/src/api/resources/simulations/index.ts
new file mode 100644
index 00000000..d9adb1af
--- /dev/null
+++ b/src/api/resources/simulations/index.ts
@@ -0,0 +1,2 @@
+export * from "./client/index.js";
+export * from "./types/index.js";
diff --git a/src/api/resources/simulations/types/SimulationControllerFindAllRequestSortBy.ts b/src/api/resources/simulations/types/SimulationControllerFindAllRequestSortBy.ts
new file mode 100644
index 00000000..e561eb3b
--- /dev/null
+++ b/src/api/resources/simulations/types/SimulationControllerFindAllRequestSortBy.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const SimulationControllerFindAllRequestSortBy = {
+ CreatedAt: "createdAt",
+ Duration: "duration",
+ Cost: "cost",
+} as const;
+export type SimulationControllerFindAllRequestSortBy =
+ (typeof SimulationControllerFindAllRequestSortBy)[keyof typeof SimulationControllerFindAllRequestSortBy];
diff --git a/src/api/resources/simulations/types/SimulationControllerFindAllRequestSortOrder.ts b/src/api/resources/simulations/types/SimulationControllerFindAllRequestSortOrder.ts
new file mode 100644
index 00000000..313ee0ed
--- /dev/null
+++ b/src/api/resources/simulations/types/SimulationControllerFindAllRequestSortOrder.ts
@@ -0,0 +1,8 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const SimulationControllerFindAllRequestSortOrder = {
+ Asc: "ASC",
+ Desc: "DESC",
+} as const;
+export type SimulationControllerFindAllRequestSortOrder =
+ (typeof SimulationControllerFindAllRequestSortOrder)[keyof typeof SimulationControllerFindAllRequestSortOrder];
diff --git a/src/api/resources/simulations/types/index.ts b/src/api/resources/simulations/types/index.ts
new file mode 100644
index 00000000..3c38458b
--- /dev/null
+++ b/src/api/resources/simulations/types/index.ts
@@ -0,0 +1,2 @@
+export * from "./SimulationControllerFindAllRequestSortBy.js";
+export * from "./SimulationControllerFindAllRequestSortOrder.js";
diff --git a/src/api/resources/squads/client/Client.ts b/src/api/resources/squads/client/Client.ts
index ebaed121..53994ac0 100644
--- a/src/api/resources/squads/client/Client.ts
+++ b/src/api/resources/squads/client/Client.ts
@@ -23,6 +23,8 @@ export class SquadsClient {
}
/**
+ * Returns squads for the authenticated organization. Filter results by creation or update timestamps and limit the number returned.
+ *
* @param {Vapi.ListSquadsRequest} request
* @param {SquadsClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -41,6 +43,7 @@ export class SquadsClient {
requestOptions?: SquadsClient.RequestOptions,
): Promise> {
const {
+ idAny,
limit,
createdAtGt,
createdAtLt,
@@ -52,6 +55,7 @@ export class SquadsClient {
updatedAtLe,
} = request;
const _queryParams: Record = {
+ idAny,
limit,
createdAtGt: createdAtGt != null ? createdAtGt : undefined,
createdAtLt: createdAtLt != null ? createdAtLt : undefined,
@@ -100,6 +104,8 @@ export class SquadsClient {
}
/**
+ * Creates a squad that coordinates multiple assistants and their handoffs during a conversation.
+ *
* @param {Vapi.CreateSquadDto} request
* @param {SquadsClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -160,6 +166,8 @@ export class SquadsClient {
}
/**
+ * Returns the squad identified by its ID.
+ *
* @param {Vapi.GetSquadsRequest} request
* @param {SquadsClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -218,6 +226,8 @@ export class SquadsClient {
}
/**
+ * Deletes the squad identified by its ID.
+ *
* @param {Vapi.DeleteSquadsRequest} request
* @param {SquadsClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -276,6 +286,8 @@ export class SquadsClient {
}
/**
+ * Updates the specified fields of the squad identified by its ID.
+ *
* @param {Vapi.UpdateSquadDto} request
* @param {SquadsClient.RequestOptions} requestOptions - Request-specific configuration.
*
diff --git a/src/api/resources/squads/client/requests/DeleteSquadsRequest.ts b/src/api/resources/squads/client/requests/DeleteSquadsRequest.ts
index 5cd563a5..d359a75d 100644
--- a/src/api/resources/squads/client/requests/DeleteSquadsRequest.ts
+++ b/src/api/resources/squads/client/requests/DeleteSquadsRequest.ts
@@ -7,5 +7,6 @@
* }
*/
export interface DeleteSquadsRequest {
+ /** The unique identifier of the squad. */
id: string;
}
diff --git a/src/api/resources/squads/client/requests/GetSquadsRequest.ts b/src/api/resources/squads/client/requests/GetSquadsRequest.ts
index 2f2b0acf..0c7e6b37 100644
--- a/src/api/resources/squads/client/requests/GetSquadsRequest.ts
+++ b/src/api/resources/squads/client/requests/GetSquadsRequest.ts
@@ -7,5 +7,6 @@
* }
*/
export interface GetSquadsRequest {
+ /** The unique identifier of the squad. */
id: string;
}
diff --git a/src/api/resources/squads/client/requests/ListSquadsRequest.ts b/src/api/resources/squads/client/requests/ListSquadsRequest.ts
index c28a1ef3..f81871d6 100644
--- a/src/api/resources/squads/client/requests/ListSquadsRequest.ts
+++ b/src/api/resources/squads/client/requests/ListSquadsRequest.ts
@@ -5,6 +5,8 @@
* {}
*/
export interface ListSquadsRequest {
+ /** Return only squads matching the provided ids */
+ idAny?: string | string[];
/** This is the maximum number of items to return. Defaults to 100. */
limit?: number;
/** This will return items where the createdAt is greater than the specified value. */
diff --git a/src/api/resources/squads/client/requests/UpdateSquadDto.ts b/src/api/resources/squads/client/requests/UpdateSquadDto.ts
index a32aa589..7880af58 100644
--- a/src/api/resources/squads/client/requests/UpdateSquadDto.ts
+++ b/src/api/resources/squads/client/requests/UpdateSquadDto.ts
@@ -10,6 +10,7 @@ import type * as Vapi from "../../../../index.js";
* }
*/
export interface UpdateSquadDto {
+ /** The unique identifier of the squad. */
id: string;
/** This is the name of the squad. */
name?: string;
diff --git a/src/api/resources/structuredOutputs/client/Client.ts b/src/api/resources/structuredOutputs/client/Client.ts
index 2e0677a2..4e1fb921 100644
--- a/src/api/resources/structuredOutputs/client/Client.ts
+++ b/src/api/resources/structuredOutputs/client/Client.ts
@@ -23,6 +23,8 @@ export class StructuredOutputsClient {
}
/**
+ * Returns structured-output definitions for the authenticated organization. Filter results by ID, name, or creation and update timestamps.
+ *
* @param {Vapi.StructuredOutputControllerFindAllRequest} request
* @param {StructuredOutputsClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -45,6 +47,7 @@ export class StructuredOutputsClient {
name,
page,
sortOrder,
+ sortBy,
limit,
createdAtGt,
createdAtLt,
@@ -60,6 +63,7 @@ export class StructuredOutputsClient {
name,
page,
sortOrder: sortOrder != null ? sortOrder : undefined,
+ sortBy: sortBy != null ? sortBy : undefined,
limit,
createdAtGt: createdAtGt != null ? createdAtGt : undefined,
createdAtLt: createdAtLt != null ? createdAtLt : undefined,
@@ -111,6 +115,8 @@ export class StructuredOutputsClient {
}
/**
+ * Creates a reusable definition for extracting validated data from conversations using an AI model or regular expression.
+ *
* @param {Vapi.CreateStructuredOutputDto} request
* @param {StructuredOutputsClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -174,6 +180,8 @@ export class StructuredOutputsClient {
}
/**
+ * Returns the structured-output definition identified by its ID.
+ *
* @param {Vapi.StructuredOutputControllerFindOneRequest} request
* @param {StructuredOutputsClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -232,6 +240,8 @@ export class StructuredOutputsClient {
}
/**
+ * Deletes the structured-output definition identified by its ID.
+ *
* @param {Vapi.StructuredOutputControllerRemoveRequest} request
* @param {StructuredOutputsClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -290,6 +300,8 @@ export class StructuredOutputsClient {
}
/**
+ * Updates the structured-output definition identified by its ID.
+ *
* @param {Vapi.UpdateStructuredOutputDto} request
* @param {StructuredOutputsClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -355,6 +367,8 @@ export class StructuredOutputsClient {
}
/**
+ * Runs a saved or transient structured-output definition against one or more calls, optionally returning a preview without updating call artifacts.
+ *
* @param {Vapi.StructuredOutputRunDto} request
* @param {StructuredOutputsClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -366,14 +380,14 @@ export class StructuredOutputsClient {
public structuredOutputControllerRun(
request: Vapi.StructuredOutputRunDto,
requestOptions?: StructuredOutputsClient.RequestOptions,
- ): core.HttpResponsePromise {
+ ): core.HttpResponsePromise {
return core.HttpResponsePromise.fromPromise(this.__structuredOutputControllerRun(request, requestOptions));
}
private async __structuredOutputControllerRun(
request: Vapi.StructuredOutputRunDto,
requestOptions?: StructuredOutputsClient.RequestOptions,
- ): Promise> {
+ ): Promise> {
const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
_authRequest.headers,
@@ -400,7 +414,10 @@ export class StructuredOutputsClient {
logging: this._options.logging,
});
if (_response.ok) {
- return { data: _response.body as Vapi.StructuredOutput, rawResponse: _response.rawResponse };
+ return {
+ data: _response.body as Vapi.StructuredOutputControllerRunResponse,
+ rawResponse: _response.rawResponse,
+ };
}
if (_response.error.reason === "status-code") {
diff --git a/src/api/resources/structuredOutputs/client/requests/StructuredOutputControllerFindAllRequest.ts b/src/api/resources/structuredOutputs/client/requests/StructuredOutputControllerFindAllRequest.ts
index 35b3658f..a1dc6c2b 100644
--- a/src/api/resources/structuredOutputs/client/requests/StructuredOutputControllerFindAllRequest.ts
+++ b/src/api/resources/structuredOutputs/client/requests/StructuredOutputControllerFindAllRequest.ts
@@ -15,6 +15,8 @@ export interface StructuredOutputControllerFindAllRequest {
page?: number;
/** This is the sort order for pagination. Defaults to 'DESC'. */
sortOrder?: Vapi.StructuredOutputControllerFindAllRequestSortOrder;
+ /** This is the column to sort by. Defaults to 'createdAt'. */
+ sortBy?: Vapi.StructuredOutputControllerFindAllRequestSortBy;
/** This is the maximum number of items to return. Defaults to 100. */
limit?: number;
/** This will return items where the createdAt is greater than the specified value. */
diff --git a/src/api/resources/structuredOutputs/client/requests/StructuredOutputControllerFindOneRequest.ts b/src/api/resources/structuredOutputs/client/requests/StructuredOutputControllerFindOneRequest.ts
index f5d98247..09db5467 100644
--- a/src/api/resources/structuredOutputs/client/requests/StructuredOutputControllerFindOneRequest.ts
+++ b/src/api/resources/structuredOutputs/client/requests/StructuredOutputControllerFindOneRequest.ts
@@ -7,5 +7,6 @@
* }
*/
export interface StructuredOutputControllerFindOneRequest {
+ /** The unique identifier of the structured output. */
id: string;
}
diff --git a/src/api/resources/structuredOutputs/client/requests/StructuredOutputControllerRemoveRequest.ts b/src/api/resources/structuredOutputs/client/requests/StructuredOutputControllerRemoveRequest.ts
index 9b6cb614..e3a46d10 100644
--- a/src/api/resources/structuredOutputs/client/requests/StructuredOutputControllerRemoveRequest.ts
+++ b/src/api/resources/structuredOutputs/client/requests/StructuredOutputControllerRemoveRequest.ts
@@ -7,5 +7,6 @@
* }
*/
export interface StructuredOutputControllerRemoveRequest {
+ /** The unique identifier of the structured output. */
id: string;
}
diff --git a/src/api/resources/structuredOutputs/client/requests/UpdateStructuredOutputDto.ts b/src/api/resources/structuredOutputs/client/requests/UpdateStructuredOutputDto.ts
index cba76e7e..1b39ca23 100644
--- a/src/api/resources/structuredOutputs/client/requests/UpdateStructuredOutputDto.ts
+++ b/src/api/resources/structuredOutputs/client/requests/UpdateStructuredOutputDto.ts
@@ -10,7 +10,9 @@ import type * as Vapi from "../../../../index.js";
* }
*/
export interface UpdateStructuredOutputDto {
+ /** The unique identifier of the structured output. */
id: string;
+ /** Set to the string `true` to allow changing the schema's top-level type. Other values do not enable schema type changes. */
schemaOverride: string;
/**
* This is the type of structured output.
@@ -50,6 +52,8 @@ export interface UpdateStructuredOutputDto {
model?: Vapi.UpdateStructuredOutputDtoModel;
/** Compliance configuration for this output. Only enable overrides if no sensitive data will be stored. */
compliancePlan?: Vapi.ComplianceOverride;
+ /** These are the conditions that gate the execution of this structured output. Every condition must pass for the structured output to run (AND semantics). When omitted or empty, no user-defined conditions gate this output. Send null to clear a previously saved gate. */
+ conditions?: Vapi.UpdateStructuredOutputDtoConditionsItem[] | null;
/** This is the name of the structured output. */
name?: string;
/**
diff --git a/src/api/resources/structuredOutputs/types/StructuredOutputControllerFindAllRequestSortBy.ts b/src/api/resources/structuredOutputs/types/StructuredOutputControllerFindAllRequestSortBy.ts
new file mode 100644
index 00000000..5cd94d2d
--- /dev/null
+++ b/src/api/resources/structuredOutputs/types/StructuredOutputControllerFindAllRequestSortBy.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const StructuredOutputControllerFindAllRequestSortBy = {
+ CreatedAt: "createdAt",
+ Duration: "duration",
+ Cost: "cost",
+} as const;
+export type StructuredOutputControllerFindAllRequestSortBy =
+ (typeof StructuredOutputControllerFindAllRequestSortBy)[keyof typeof StructuredOutputControllerFindAllRequestSortBy];
diff --git a/src/api/resources/structuredOutputs/types/StructuredOutputControllerRunResponse.ts b/src/api/resources/structuredOutputs/types/StructuredOutputControllerRunResponse.ts
new file mode 100644
index 00000000..1fef9a1e
--- /dev/null
+++ b/src/api/resources/structuredOutputs/types/StructuredOutputControllerRunResponse.ts
@@ -0,0 +1,7 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../../../index.js";
+
+export type StructuredOutputControllerRunResponse =
+ | Vapi.StructuredOutputControllerRunResponseZero
+ | Vapi.StructuredOutputRerunResponse;
diff --git a/src/api/resources/structuredOutputs/types/StructuredOutputControllerRunResponseZero.ts b/src/api/resources/structuredOutputs/types/StructuredOutputControllerRunResponseZero.ts
new file mode 100644
index 00000000..bf4b716d
--- /dev/null
+++ b/src/api/resources/structuredOutputs/types/StructuredOutputControllerRunResponseZero.ts
@@ -0,0 +1,12 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../../../index.js";
+
+export interface StructuredOutputControllerRunResponseZero {
+ /**
+ * These are the structured outputs whose conditions gated them, keyed by
+ * structured output id. Absent when nothing was skipped. An entry here means
+ * no extraction ran and no cost was incurred for that output.
+ */
+ skipped?: Record | undefined;
+}
diff --git a/src/api/resources/structuredOutputs/types/UpdateStructuredOutputDtoConditionsItem.ts b/src/api/resources/structuredOutputs/types/UpdateStructuredOutputDtoConditionsItem.ts
new file mode 100644
index 00000000..73b4efec
--- /dev/null
+++ b/src/api/resources/structuredOutputs/types/UpdateStructuredOutputDtoConditionsItem.ts
@@ -0,0 +1,22 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../../../index.js";
+
+export type UpdateStructuredOutputDtoConditionsItem =
+ | Vapi.UpdateStructuredOutputDtoConditionsItem.MinMessages
+ | Vapi.UpdateStructuredOutputDtoConditionsItem.MinCallDuration
+ | Vapi.UpdateStructuredOutputDtoConditionsItem.EndedReason;
+
+export namespace UpdateStructuredOutputDtoConditionsItem {
+ export interface MinMessages extends Vapi.MinMessagesCondition {
+ type: "minMessages";
+ }
+
+ export interface MinCallDuration extends Vapi.MinCallDurationCondition {
+ type: "minCallDuration";
+ }
+
+ export interface EndedReason extends Vapi.EndedReasonCondition {
+ type: "endedReason";
+ }
+}
diff --git a/src/api/resources/structuredOutputs/types/index.ts b/src/api/resources/structuredOutputs/types/index.ts
index 88f128ea..4ae8801c 100644
--- a/src/api/resources/structuredOutputs/types/index.ts
+++ b/src/api/resources/structuredOutputs/types/index.ts
@@ -1,3 +1,7 @@
+export * from "./StructuredOutputControllerFindAllRequestSortBy.js";
export * from "./StructuredOutputControllerFindAllRequestSortOrder.js";
+export * from "./StructuredOutputControllerRunResponse.js";
+export * from "./StructuredOutputControllerRunResponseZero.js";
+export * from "./UpdateStructuredOutputDtoConditionsItem.js";
export * from "./UpdateStructuredOutputDtoModel.js";
export * from "./UpdateStructuredOutputDtoType.js";
diff --git a/src/api/resources/tools/client/Client.ts b/src/api/resources/tools/client/Client.ts
index 8c20113a..67398118 100644
--- a/src/api/resources/tools/client/Client.ts
+++ b/src/api/resources/tools/client/Client.ts
@@ -7,7 +7,7 @@ import * as core from "../../../../core/index.js";
import * as environments from "../../../../environments.js";
import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js";
import * as errors from "../../../../errors/index.js";
-import type * as Vapi from "../../../index.js";
+import * as Vapi from "../../../index.js";
export declare namespace ToolsClient {
export type Options = BaseClientOptions;
@@ -23,6 +23,8 @@ export class ToolsClient {
}
/**
+ * Returns reusable tools for the authenticated organization. Filter results by creation or update timestamps and limit the number returned.
+ *
* @param {Vapi.ListToolsRequest} request
* @param {ToolsClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -100,6 +102,8 @@ export class ToolsClient {
}
/**
+ * Creates a reusable tool that assistants can invoke during conversations.
+ *
* @param {Vapi.CreateToolsRequest} request
* @param {ToolsClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -162,6 +166,8 @@ export class ToolsClient {
}
/**
+ * Returns the tool identified by its ID.
+ *
* @param {Vapi.GetToolsRequest} request
* @param {ToolsClient.RequestOptions} requestOptions - Request-specific configuration.
*
@@ -220,9 +226,13 @@ export class ToolsClient {
}
/**
+ * Deletes the tool identified by its ID.
+ *
* @param {Vapi.DeleteToolsRequest} request
* @param {ToolsClient.RequestOptions} requestOptions - Request-specific configuration.
*
+ * @throws {@link Vapi.ConflictError}
+ *
* @example
* await client.tools.delete({
* id: "id"
@@ -267,17 +277,24 @@ export class ToolsClient {
}
if (_response.error.reason === "status-code") {
- throw new errors.VapiError({
- statusCode: _response.error.statusCode,
- body: _response.error.body,
- rawResponse: _response.rawResponse,
- });
+ switch (_response.error.statusCode) {
+ case 409:
+ throw new Vapi.ConflictError(_response.error.body as unknown, _response.rawResponse);
+ default:
+ throw new errors.VapiError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
}
return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/tool/{id}");
}
/**
+ * Updates the specified fields of the tool identified by its ID.
+ *
* @param {Vapi.UpdateToolsRequest} request
* @param {ToolsClient.RequestOptions} requestOptions - Request-specific configuration.
*
diff --git a/src/api/resources/tools/client/requests/DeleteToolsRequest.ts b/src/api/resources/tools/client/requests/DeleteToolsRequest.ts
index 5e0c2ff4..ffc6eeb3 100644
--- a/src/api/resources/tools/client/requests/DeleteToolsRequest.ts
+++ b/src/api/resources/tools/client/requests/DeleteToolsRequest.ts
@@ -7,5 +7,6 @@
* }
*/
export interface DeleteToolsRequest {
+ /** The unique identifier of the tool. */
id: string;
}
diff --git a/src/api/resources/tools/client/requests/GetToolsRequest.ts b/src/api/resources/tools/client/requests/GetToolsRequest.ts
index 02a347cd..a8782a74 100644
--- a/src/api/resources/tools/client/requests/GetToolsRequest.ts
+++ b/src/api/resources/tools/client/requests/GetToolsRequest.ts
@@ -7,5 +7,6 @@
* }
*/
export interface GetToolsRequest {
+ /** The unique identifier of the tool. */
id: string;
}
diff --git a/src/api/resources/tools/client/requests/UpdateToolsRequest.ts b/src/api/resources/tools/client/requests/UpdateToolsRequest.ts
index 2d1633ca..a38b0c4c 100644
--- a/src/api/resources/tools/client/requests/UpdateToolsRequest.ts
+++ b/src/api/resources/tools/client/requests/UpdateToolsRequest.ts
@@ -12,6 +12,7 @@ import type * as Vapi from "../../../../index.js";
* }
*/
export interface UpdateToolsRequest {
+ /** The unique identifier of the tool. */
id: string;
body: Vapi.UpdateToolsRequestBody;
}
diff --git a/src/api/resources/tools/types/CreateToolsRequest.ts b/src/api/resources/tools/types/CreateToolsRequest.ts
index cd0ad6cb..bccbe360 100644
--- a/src/api/resources/tools/types/CreateToolsRequest.ts
+++ b/src/api/resources/tools/types/CreateToolsRequest.ts
@@ -114,4 +114,28 @@ export namespace CreateToolsRequest {
export interface Voicemail extends Vapi.CreateVoicemailToolDto {
type: "voicemail";
}
+
+ export type Response =
+ | Vapi.CreateToolsRequest.ApiRequest
+ | Vapi.CreateToolsRequest.Dtmf
+ | Vapi.CreateToolsRequest.EndCall
+ | Vapi.CreateToolsRequest.Function
+ | Vapi.CreateToolsRequest.TransferCall
+ | Vapi.CreateToolsRequest.Handoff
+ | Vapi.CreateToolsRequest.Bash
+ | Vapi.CreateToolsRequest.Computer
+ | Vapi.CreateToolsRequest.TextEditor
+ | Vapi.CreateToolsRequest.Query
+ | Vapi.CreateToolsRequest.GoogleCalendarEventCreate
+ | Vapi.CreateToolsRequest.GoogleSheetsRowAppend
+ | Vapi.CreateToolsRequest.GoogleCalendarAvailabilityCheck
+ | Vapi.CreateToolsRequest.SlackMessageSend
+ | Vapi.CreateToolsRequest.Sms
+ | Vapi.CreateToolsRequest.Mcp
+ | Vapi.CreateToolsRequest.GohighlevelCalendarAvailabilityCheck
+ | Vapi.CreateToolsRequest.GohighlevelCalendarEventCreate
+ | Vapi.CreateToolsRequest.GohighlevelContactCreate
+ | Vapi.CreateToolsRequest.GohighlevelContactGet
+ | Vapi.CreateToolsRequest.SipRequest
+ | Vapi.CreateToolsRequest.Voicemail;
}
diff --git a/src/api/resources/tools/types/CreateToolsResponse.ts b/src/api/resources/tools/types/CreateToolsResponse.ts
index bd48a316..fa91f326 100644
--- a/src/api/resources/tools/types/CreateToolsResponse.ts
+++ b/src/api/resources/tools/types/CreateToolsResponse.ts
@@ -8,6 +8,7 @@ export type CreateToolsResponse =
| Vapi.CreateToolsResponse.Dtmf
| Vapi.CreateToolsResponse.EndCall
| Vapi.CreateToolsResponse.Function
+ | Vapi.CreateToolsResponse.KnowledgeBase
| Vapi.CreateToolsResponse.TransferCall
| Vapi.CreateToolsResponse.Handoff
| Vapi.CreateToolsResponse.Bash
@@ -48,6 +49,10 @@ export namespace CreateToolsResponse {
type: "function";
}
+ export interface KnowledgeBase extends Vapi.KnowledgeBaseTool {
+ type: "knowledgeBase";
+ }
+
export interface TransferCall extends Vapi.TransferCallTool {
type: "transferCall";
}
@@ -119,4 +124,30 @@ export namespace CreateToolsResponse {
export interface Voicemail extends Vapi.VoicemailTool {
type: "voicemail";
}
+
+ export type Response =
+ | Vapi.CreateToolsResponse.ApiRequest
+ | Vapi.CreateToolsResponse.Code
+ | Vapi.CreateToolsResponse.Dtmf
+ | Vapi.CreateToolsResponse.EndCall
+ | Vapi.CreateToolsResponse.Function
+ | Vapi.CreateToolsResponse.KnowledgeBase
+ | Vapi.CreateToolsResponse.TransferCall
+ | Vapi.CreateToolsResponse.Handoff
+ | Vapi.CreateToolsResponse.Bash
+ | Vapi.CreateToolsResponse.Computer
+ | Vapi.CreateToolsResponse.TextEditor
+ | Vapi.CreateToolsResponse.Query
+ | Vapi.CreateToolsResponse.GoogleCalendarEventCreate
+ | Vapi.CreateToolsResponse.GoogleSheetsRowAppend
+ | Vapi.CreateToolsResponse.GoogleCalendarAvailabilityCheck
+ | Vapi.CreateToolsResponse.SlackMessageSend
+ | Vapi.CreateToolsResponse.Sms
+ | Vapi.CreateToolsResponse.Mcp
+ | Vapi.CreateToolsResponse.GohighlevelCalendarAvailabilityCheck
+ | Vapi.CreateToolsResponse.GohighlevelCalendarEventCreate
+ | Vapi.CreateToolsResponse.GohighlevelContactCreate
+ | Vapi.CreateToolsResponse.GohighlevelContactGet
+ | Vapi.CreateToolsResponse.SipRequest
+ | Vapi.CreateToolsResponse.Voicemail;
}
diff --git a/src/api/resources/tools/types/DeleteToolsResponse.ts b/src/api/resources/tools/types/DeleteToolsResponse.ts
index f403a865..76c4db0a 100644
--- a/src/api/resources/tools/types/DeleteToolsResponse.ts
+++ b/src/api/resources/tools/types/DeleteToolsResponse.ts
@@ -8,6 +8,7 @@ export type DeleteToolsResponse =
| Vapi.DeleteToolsResponse.Dtmf
| Vapi.DeleteToolsResponse.EndCall
| Vapi.DeleteToolsResponse.Function
+ | Vapi.DeleteToolsResponse.KnowledgeBase
| Vapi.DeleteToolsResponse.TransferCall
| Vapi.DeleteToolsResponse.Handoff
| Vapi.DeleteToolsResponse.Bash
@@ -48,6 +49,10 @@ export namespace DeleteToolsResponse {
type: "function";
}
+ export interface KnowledgeBase extends Vapi.KnowledgeBaseTool {
+ type: "knowledgeBase";
+ }
+
export interface TransferCall extends Vapi.TransferCallTool {
type: "transferCall";
}
@@ -119,4 +124,30 @@ export namespace DeleteToolsResponse {
export interface Voicemail extends Vapi.VoicemailTool {
type: "voicemail";
}
+
+ export type Response =
+ | Vapi.DeleteToolsResponse.ApiRequest
+ | Vapi.DeleteToolsResponse.Code
+ | Vapi.DeleteToolsResponse.Dtmf
+ | Vapi.DeleteToolsResponse.EndCall
+ | Vapi.DeleteToolsResponse.Function
+ | Vapi.DeleteToolsResponse.KnowledgeBase
+ | Vapi.DeleteToolsResponse.TransferCall
+ | Vapi.DeleteToolsResponse.Handoff
+ | Vapi.DeleteToolsResponse.Bash
+ | Vapi.DeleteToolsResponse.Computer
+ | Vapi.DeleteToolsResponse.TextEditor
+ | Vapi.DeleteToolsResponse.Query
+ | Vapi.DeleteToolsResponse.GoogleCalendarEventCreate
+ | Vapi.DeleteToolsResponse.GoogleSheetsRowAppend
+ | Vapi.DeleteToolsResponse.GoogleCalendarAvailabilityCheck
+ | Vapi.DeleteToolsResponse.SlackMessageSend
+ | Vapi.DeleteToolsResponse.Sms
+ | Vapi.DeleteToolsResponse.Mcp
+ | Vapi.DeleteToolsResponse.GohighlevelCalendarAvailabilityCheck
+ | Vapi.DeleteToolsResponse.GohighlevelCalendarEventCreate
+ | Vapi.DeleteToolsResponse.GohighlevelContactCreate
+ | Vapi.DeleteToolsResponse.GohighlevelContactGet
+ | Vapi.DeleteToolsResponse.SipRequest
+ | Vapi.DeleteToolsResponse.Voicemail;
}
diff --git a/src/api/resources/tools/types/GetToolsResponse.ts b/src/api/resources/tools/types/GetToolsResponse.ts
index 4c1300d0..2520e6cf 100644
--- a/src/api/resources/tools/types/GetToolsResponse.ts
+++ b/src/api/resources/tools/types/GetToolsResponse.ts
@@ -8,6 +8,7 @@ export type GetToolsResponse =
| Vapi.GetToolsResponse.Dtmf
| Vapi.GetToolsResponse.EndCall
| Vapi.GetToolsResponse.Function
+ | Vapi.GetToolsResponse.KnowledgeBase
| Vapi.GetToolsResponse.TransferCall
| Vapi.GetToolsResponse.Handoff
| Vapi.GetToolsResponse.Bash
@@ -48,6 +49,10 @@ export namespace GetToolsResponse {
type: "function";
}
+ export interface KnowledgeBase extends Vapi.KnowledgeBaseTool {
+ type: "knowledgeBase";
+ }
+
export interface TransferCall extends Vapi.TransferCallTool {
type: "transferCall";
}
@@ -119,4 +124,30 @@ export namespace GetToolsResponse {
export interface Voicemail extends Vapi.VoicemailTool {
type: "voicemail";
}
+
+ export type Response =
+ | Vapi.GetToolsResponse.ApiRequest
+ | Vapi.GetToolsResponse.Code
+ | Vapi.GetToolsResponse.Dtmf
+ | Vapi.GetToolsResponse.EndCall
+ | Vapi.GetToolsResponse.Function
+ | Vapi.GetToolsResponse.KnowledgeBase
+ | Vapi.GetToolsResponse.TransferCall
+ | Vapi.GetToolsResponse.Handoff
+ | Vapi.GetToolsResponse.Bash
+ | Vapi.GetToolsResponse.Computer
+ | Vapi.GetToolsResponse.TextEditor
+ | Vapi.GetToolsResponse.Query
+ | Vapi.GetToolsResponse.GoogleCalendarEventCreate
+ | Vapi.GetToolsResponse.GoogleSheetsRowAppend
+ | Vapi.GetToolsResponse.GoogleCalendarAvailabilityCheck
+ | Vapi.GetToolsResponse.SlackMessageSend
+ | Vapi.GetToolsResponse.Sms
+ | Vapi.GetToolsResponse.Mcp
+ | Vapi.GetToolsResponse.GohighlevelCalendarAvailabilityCheck
+ | Vapi.GetToolsResponse.GohighlevelCalendarEventCreate
+ | Vapi.GetToolsResponse.GohighlevelContactCreate
+ | Vapi.GetToolsResponse.GohighlevelContactGet
+ | Vapi.GetToolsResponse.SipRequest
+ | Vapi.GetToolsResponse.Voicemail;
}
diff --git a/src/api/resources/tools/types/ListToolsResponseItem.ts b/src/api/resources/tools/types/ListToolsResponseItem.ts
index 2ee2c8b3..2278cb28 100644
--- a/src/api/resources/tools/types/ListToolsResponseItem.ts
+++ b/src/api/resources/tools/types/ListToolsResponseItem.ts
@@ -8,6 +8,7 @@ export type ListToolsResponseItem =
| Vapi.ListToolsResponseItem.Dtmf
| Vapi.ListToolsResponseItem.EndCall
| Vapi.ListToolsResponseItem.Function
+ | Vapi.ListToolsResponseItem.KnowledgeBase
| Vapi.ListToolsResponseItem.TransferCall
| Vapi.ListToolsResponseItem.Handoff
| Vapi.ListToolsResponseItem.Bash
@@ -48,6 +49,10 @@ export namespace ListToolsResponseItem {
type: "function";
}
+ export interface KnowledgeBase extends Vapi.KnowledgeBaseTool {
+ type: "knowledgeBase";
+ }
+
export interface TransferCall extends Vapi.TransferCallTool {
type: "transferCall";
}
@@ -119,4 +124,30 @@ export namespace ListToolsResponseItem {
export interface Voicemail extends Vapi.VoicemailTool {
type: "voicemail";
}
+
+ export type Response =
+ | Vapi.ListToolsResponseItem.ApiRequest
+ | Vapi.ListToolsResponseItem.Code
+ | Vapi.ListToolsResponseItem.Dtmf
+ | Vapi.ListToolsResponseItem.EndCall
+ | Vapi.ListToolsResponseItem.Function
+ | Vapi.ListToolsResponseItem.KnowledgeBase
+ | Vapi.ListToolsResponseItem.TransferCall
+ | Vapi.ListToolsResponseItem.Handoff
+ | Vapi.ListToolsResponseItem.Bash
+ | Vapi.ListToolsResponseItem.Computer
+ | Vapi.ListToolsResponseItem.TextEditor
+ | Vapi.ListToolsResponseItem.Query
+ | Vapi.ListToolsResponseItem.GoogleCalendarEventCreate
+ | Vapi.ListToolsResponseItem.GoogleSheetsRowAppend
+ | Vapi.ListToolsResponseItem.GoogleCalendarAvailabilityCheck
+ | Vapi.ListToolsResponseItem.SlackMessageSend
+ | Vapi.ListToolsResponseItem.Sms
+ | Vapi.ListToolsResponseItem.Mcp
+ | Vapi.ListToolsResponseItem.GohighlevelCalendarAvailabilityCheck
+ | Vapi.ListToolsResponseItem.GohighlevelCalendarEventCreate
+ | Vapi.ListToolsResponseItem.GohighlevelContactCreate
+ | Vapi.ListToolsResponseItem.GohighlevelContactGet
+ | Vapi.ListToolsResponseItem.SipRequest
+ | Vapi.ListToolsResponseItem.Voicemail;
}
diff --git a/src/api/resources/tools/types/UpdateToolsRequestBody.ts b/src/api/resources/tools/types/UpdateToolsRequestBody.ts
index 909693a1..facf7f26 100644
--- a/src/api/resources/tools/types/UpdateToolsRequestBody.ts
+++ b/src/api/resources/tools/types/UpdateToolsRequestBody.ts
@@ -7,6 +7,7 @@ export type UpdateToolsRequestBody =
| Vapi.UpdateToolsRequestBody.Dtmf
| Vapi.UpdateToolsRequestBody.EndCall
| Vapi.UpdateToolsRequestBody.Function
+ | Vapi.UpdateToolsRequestBody.KnowledgeBase
| Vapi.UpdateToolsRequestBody.TransferCall
| Vapi.UpdateToolsRequestBody.Handoff
| Vapi.UpdateToolsRequestBody.Bash
@@ -43,6 +44,10 @@ export namespace UpdateToolsRequestBody {
type: "function";
}
+ export interface KnowledgeBase extends Vapi.UpdateKnowledgeBaseToolDto {
+ type: "knowledgeBase";
+ }
+
export interface TransferCall extends Vapi.UpdateTransferCallToolDto {
type: "transferCall";
}
@@ -114,4 +119,29 @@ export namespace UpdateToolsRequestBody {
export interface Voicemail extends Vapi.UpdateVoicemailToolDto {
type: "voicemail";
}
+
+ export type Response =
+ | Vapi.UpdateToolsRequestBody.ApiRequest
+ | Vapi.UpdateToolsRequestBody.Dtmf
+ | Vapi.UpdateToolsRequestBody.EndCall
+ | Vapi.UpdateToolsRequestBody.Function
+ | Vapi.UpdateToolsRequestBody.KnowledgeBase
+ | Vapi.UpdateToolsRequestBody.TransferCall
+ | Vapi.UpdateToolsRequestBody.Handoff
+ | Vapi.UpdateToolsRequestBody.Bash
+ | Vapi.UpdateToolsRequestBody.Computer
+ | Vapi.UpdateToolsRequestBody.TextEditor
+ | Vapi.UpdateToolsRequestBody.Query
+ | Vapi.UpdateToolsRequestBody.GoogleCalendarEventCreate
+ | Vapi.UpdateToolsRequestBody.GoogleSheetsRowAppend
+ | Vapi.UpdateToolsRequestBody.GoogleCalendarAvailabilityCheck
+ | Vapi.UpdateToolsRequestBody.SlackMessageSend
+ | Vapi.UpdateToolsRequestBody.Sms
+ | Vapi.UpdateToolsRequestBody.Mcp
+ | Vapi.UpdateToolsRequestBody.GohighlevelCalendarAvailabilityCheck
+ | Vapi.UpdateToolsRequestBody.GohighlevelCalendarEventCreate
+ | Vapi.UpdateToolsRequestBody.GohighlevelContactCreate
+ | Vapi.UpdateToolsRequestBody.GohighlevelContactGet
+ | Vapi.UpdateToolsRequestBody.SipRequest
+ | Vapi.UpdateToolsRequestBody.Voicemail;
}
diff --git a/src/api/resources/tools/types/UpdateToolsResponse.ts b/src/api/resources/tools/types/UpdateToolsResponse.ts
index 709e187d..7f94a98b 100644
--- a/src/api/resources/tools/types/UpdateToolsResponse.ts
+++ b/src/api/resources/tools/types/UpdateToolsResponse.ts
@@ -8,6 +8,7 @@ export type UpdateToolsResponse =
| Vapi.UpdateToolsResponse.Dtmf
| Vapi.UpdateToolsResponse.EndCall
| Vapi.UpdateToolsResponse.Function
+ | Vapi.UpdateToolsResponse.KnowledgeBase
| Vapi.UpdateToolsResponse.TransferCall
| Vapi.UpdateToolsResponse.Handoff
| Vapi.UpdateToolsResponse.Bash
@@ -48,6 +49,10 @@ export namespace UpdateToolsResponse {
type: "function";
}
+ export interface KnowledgeBase extends Vapi.KnowledgeBaseTool {
+ type: "knowledgeBase";
+ }
+
export interface TransferCall extends Vapi.TransferCallTool {
type: "transferCall";
}
@@ -119,4 +124,30 @@ export namespace UpdateToolsResponse {
export interface Voicemail extends Vapi.VoicemailTool {
type: "voicemail";
}
+
+ export type Response =
+ | Vapi.UpdateToolsResponse.ApiRequest
+ | Vapi.UpdateToolsResponse.Code
+ | Vapi.UpdateToolsResponse.Dtmf
+ | Vapi.UpdateToolsResponse.EndCall
+ | Vapi.UpdateToolsResponse.Function
+ | Vapi.UpdateToolsResponse.KnowledgeBase
+ | Vapi.UpdateToolsResponse.TransferCall
+ | Vapi.UpdateToolsResponse.Handoff
+ | Vapi.UpdateToolsResponse.Bash
+ | Vapi.UpdateToolsResponse.Computer
+ | Vapi.UpdateToolsResponse.TextEditor
+ | Vapi.UpdateToolsResponse.Query
+ | Vapi.UpdateToolsResponse.GoogleCalendarEventCreate
+ | Vapi.UpdateToolsResponse.GoogleSheetsRowAppend
+ | Vapi.UpdateToolsResponse.GoogleCalendarAvailabilityCheck
+ | Vapi.UpdateToolsResponse.SlackMessageSend
+ | Vapi.UpdateToolsResponse.Sms
+ | Vapi.UpdateToolsResponse.Mcp
+ | Vapi.UpdateToolsResponse.GohighlevelCalendarAvailabilityCheck
+ | Vapi.UpdateToolsResponse.GohighlevelCalendarEventCreate
+ | Vapi.UpdateToolsResponse.GohighlevelContactCreate
+ | Vapi.UpdateToolsResponse.GohighlevelContactGet
+ | Vapi.UpdateToolsResponse.SipRequest
+ | Vapi.UpdateToolsResponse.Voicemail;
}
diff --git a/src/api/types/AiEdgeCondition.ts b/src/api/types/AiEdgeCondition.ts
index 94a584f4..cf03796b 100644
--- a/src/api/types/AiEdgeCondition.ts
+++ b/src/api/types/AiEdgeCondition.ts
@@ -2,7 +2,11 @@
import type * as Vapi from "../index.js";
+/**
+ * An AI-evaluated boolean condition that determines whether a workflow follows an edge.
+ */
export interface AiEdgeCondition {
+ /** Selects an AI-evaluated workflow edge condition. */
type: Vapi.AiEdgeConditionType;
/** This is the prompt for the AI edge condition. It should evaluate to a boolean. */
prompt: string;
diff --git a/src/api/types/AiEdgeConditionType.ts b/src/api/types/AiEdgeConditionType.ts
index 1500e779..55ebb4c5 100644
--- a/src/api/types/AiEdgeConditionType.ts
+++ b/src/api/types/AiEdgeConditionType.ts
@@ -1,5 +1,6 @@
// This file was auto-generated by Fern from our API Definition.
+/** Selects an AI-evaluated workflow edge condition. */
export const AiEdgeConditionType = {
Ai: "ai",
} as const;
diff --git a/src/api/types/Analysis.ts b/src/api/types/Analysis.ts
index 787c6efb..aa34c0b0 100644
--- a/src/api/types/Analysis.ts
+++ b/src/api/types/Analysis.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Post-call analysis results, including summary, structured data, and success evaluation outputs.
+ */
export interface Analysis {
/** This is the summary of the call. Customize by setting `assistant.analysisPlan.summaryPrompt`. */
summary?: string | undefined;
diff --git a/src/api/types/AnalysisCost.ts b/src/api/types/AnalysisCost.ts
index 5bff038d..b0a31ec1 100644
--- a/src/api/types/AnalysisCost.ts
+++ b/src/api/types/AnalysisCost.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Cost for an individual analysis request, including analysis type, model, token usage, and amount.
+ */
export interface AnalysisCost {
/** This is the type of analysis performed. */
analysisType: Vapi.AnalysisCostAnalysisType;
@@ -13,6 +16,14 @@ export interface AnalysisCost {
completionTokens: number;
/** This is the number of cached prompt tokens used in the analysis. This is only applicable to certain providers (e.g., OpenAI, Azure OpenAI) that support prompt caching. Cached tokens are billed at a discounted rate. */
cachedPromptTokens?: number | undefined;
+ /**
+ * This is the per-structured-output breakdown of this cost. The `cost`, `promptTokens`, `completionTokens` and `cachedPromptTokens` above are the sums of these rows.
+ *
+ * This is only set when `analysisType` is `structuredOutput`, and it is omitted entirely rather than partially populated, so when it is present the rows always reconcile to the totals above.
+ *
+ * A structured output that was skipped, or that extracts via regex, makes no LLM call and so has no row here — this is not a complete list of the call's configured structured outputs. There is one row per evaluation, so a `structuredOutputId` can appear more than once if it was evaluated more than once; sum the rows rather than indexing them by id.
+ */
+ structuredOutputBreakdown?: Vapi.StructuredOutputCostBreakdown[] | undefined;
/** This is the cost of the component in USD. */
cost: number;
}
diff --git a/src/api/types/AnalysisCostBreakdown.ts b/src/api/types/AnalysisCostBreakdown.ts
index 1b219acd..b51a0d54 100644
--- a/src/api/types/AnalysisCostBreakdown.ts
+++ b/src/api/types/AnalysisCostBreakdown.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Analysis costs and token usage grouped by summary, structured data, success evaluation, and structured-output generation.
+ */
export interface AnalysisCostBreakdown {
/** This is the cost to summarize the call. */
summary?: number | undefined;
diff --git a/src/api/types/AnalysisPlan.ts b/src/api/types/AnalysisPlan.ts
index 816c2384..ebed9015 100644
--- a/src/api/types/AnalysisPlan.ts
+++ b/src/api/types/AnalysisPlan.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration for post-call analysis of summaries, structured-data extraction, success evaluation, and outcomes.
+ */
export interface AnalysisPlan {
/**
* The minimum number of messages required to run the analysis plan.
diff --git a/src/api/types/AnalyticsOperation.ts b/src/api/types/AnalyticsOperation.ts
index 2dd530d4..667cd9eb 100644
--- a/src/api/types/AnalyticsOperation.ts
+++ b/src/api/types/AnalyticsOperation.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * An aggregation or history operation applied to an analytics column, with an optional response alias.
+ */
export interface AnalyticsOperation {
/** This is the aggregation operation you want to perform. */
operation: Vapi.AnalyticsOperationOperation;
diff --git a/src/api/types/AnalyticsQuery.ts b/src/api/types/AnalyticsQuery.ts
index 200a48ea..3671b300 100644
--- a/src/api/types/AnalyticsQuery.ts
+++ b/src/api/types/AnalyticsQuery.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * A named analytics query against call or subscription data, including grouping, time range, and aggregation operations.
+ */
export interface AnalyticsQuery {
/** This is the table you want to query. */
table: Vapi.AnalyticsQueryTable;
diff --git a/src/api/types/AnalyticsQueryResult.ts b/src/api/types/AnalyticsQueryResult.ts
index 8889fb3a..8e0163d2 100644
--- a/src/api/types/AnalyticsQueryResult.ts
+++ b/src/api/types/AnalyticsQueryResult.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * The result of a named analytics query, including the evaluated time range and returned metric data.
+ */
export interface AnalyticsQueryResult {
/** This is the unique key for the query. */
name: string;
diff --git a/src/api/types/AnthropicBedrockCredentialRegion.ts b/src/api/types/AnthropicBedrockCredentialRegion.ts
index 22be2345..595e3f23 100644
--- a/src/api/types/AnthropicBedrockCredentialRegion.ts
+++ b/src/api/types/AnthropicBedrockCredentialRegion.ts
@@ -4,6 +4,7 @@
export const AnthropicBedrockCredentialRegion = {
UsEast1: "us-east-1",
UsWest2: "us-west-2",
+ EuCentral1: "eu-central-1",
EuWest1: "eu-west-1",
EuWest3: "eu-west-3",
ApNortheast1: "ap-northeast-1",
diff --git a/src/api/types/AnthropicBedrockModel.ts b/src/api/types/AnthropicBedrockModel.ts
index 4e6c2d03..c9a984f7 100644
--- a/src/api/types/AnthropicBedrockModel.ts
+++ b/src/api/types/AnthropicBedrockModel.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration for generating assistant responses with Anthropic models through Amazon Bedrock, including model, prompts, tools, knowledge-base access, reasoning, and generation settings.
+ */
export interface AnthropicBedrockModel {
/** This is the starting state for the conversation. */
messages?: Vapi.OpenAiMessage[] | undefined;
@@ -17,6 +20,13 @@ export interface AnthropicBedrockModel {
* Both `tools` and `toolIds` can be used together.
*/
toolIds?: string[] | undefined;
+ /**
+ * These are version-pinned references to tools. Each entry pins a specific
+ * version of a tool by `(toolId, version)`. When the same `toolId` appears
+ * in both `toolIds` and `toolRefs[]`, the `toolRefs` pin wins (the
+ * `toolIds` entry is dropped at write time).
+ */
+ toolRefs?: Vapi.ToolRef[] | undefined;
/** These are the options for the knowledge base. */
knowledgeBase?: Vapi.CreateCustomKnowledgeBaseDto | undefined;
/** The specific Anthropic/Claude model that will be used via Bedrock. */
@@ -27,7 +37,7 @@ export interface AnthropicBedrockModel {
* If provided, maxTokens must be greater than thinking.budgetTokens.
*/
thinking?: Vapi.AnthropicThinkingConfig | undefined;
- /** This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency. */
+ /** This is the temperature that will be used for calls. Default is 0.5. */
temperature?: number | undefined;
/** This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. */
maxTokens?: number | undefined;
diff --git a/src/api/types/AnthropicBedrockModelModel.ts b/src/api/types/AnthropicBedrockModelModel.ts
index d2ef7375..c3eaef66 100644
--- a/src/api/types/AnthropicBedrockModelModel.ts
+++ b/src/api/types/AnthropicBedrockModelModel.ts
@@ -16,5 +16,6 @@ export const AnthropicBedrockModelModel = {
ClaudeSonnet4520250929: "claude-sonnet-4-5-20250929",
ClaudeSonnet46: "claude-sonnet-4-6",
ClaudeHaiku4520251001: "claude-haiku-4-5-20251001",
+ GlobalAnthropicClaudeHaiku4520251001V10: "global.anthropic.claude-haiku-4-5-20251001-v1:0",
} as const;
export type AnthropicBedrockModelModel = (typeof AnthropicBedrockModelModel)[keyof typeof AnthropicBedrockModelModel];
diff --git a/src/api/types/AnthropicBedrockModelToolsItem.ts b/src/api/types/AnthropicBedrockModelToolsItem.ts
index f4e47353..602cc2cc 100644
--- a/src/api/types/AnthropicBedrockModelToolsItem.ts
+++ b/src/api/types/AnthropicBedrockModelToolsItem.ts
@@ -119,4 +119,29 @@ export namespace AnthropicBedrockModelToolsItem {
export interface Voicemail extends Vapi.CreateVoicemailToolDto {
type: "voicemail";
}
+
+ export type Response =
+ | Vapi.AnthropicBedrockModelToolsItem.ApiRequest
+ | Vapi.AnthropicBedrockModelToolsItem.Bash
+ | Vapi.AnthropicBedrockModelToolsItem.Code
+ | Vapi.AnthropicBedrockModelToolsItem.Computer
+ | Vapi.AnthropicBedrockModelToolsItem.Dtmf
+ | Vapi.AnthropicBedrockModelToolsItem.EndCall
+ | Vapi.AnthropicBedrockModelToolsItem.Function
+ | Vapi.AnthropicBedrockModelToolsItem.GohighlevelCalendarAvailabilityCheck
+ | Vapi.AnthropicBedrockModelToolsItem.GohighlevelCalendarEventCreate
+ | Vapi.AnthropicBedrockModelToolsItem.GohighlevelContactCreate
+ | Vapi.AnthropicBedrockModelToolsItem.GohighlevelContactGet
+ | Vapi.AnthropicBedrockModelToolsItem.GoogleCalendarAvailabilityCheck
+ | Vapi.AnthropicBedrockModelToolsItem.GoogleCalendarEventCreate
+ | Vapi.AnthropicBedrockModelToolsItem.GoogleSheetsRowAppend
+ | Vapi.AnthropicBedrockModelToolsItem.Handoff
+ | Vapi.AnthropicBedrockModelToolsItem.Mcp
+ | Vapi.AnthropicBedrockModelToolsItem.Query
+ | Vapi.AnthropicBedrockModelToolsItem.SlackMessageSend
+ | Vapi.AnthropicBedrockModelToolsItem.Sms
+ | Vapi.AnthropicBedrockModelToolsItem.TextEditor
+ | Vapi.AnthropicBedrockModelToolsItem.TransferCall
+ | Vapi.AnthropicBedrockModelToolsItem.SipRequest
+ | Vapi.AnthropicBedrockModelToolsItem.Voicemail;
}
diff --git a/src/api/types/AnthropicModel.ts b/src/api/types/AnthropicModel.ts
index acc371a8..c4ebc3c0 100644
--- a/src/api/types/AnthropicModel.ts
+++ b/src/api/types/AnthropicModel.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration for generating assistant responses with Anthropic, including model, prompts, tools, knowledge-base access, reasoning, and generation settings.
+ */
export interface AnthropicModel {
/** This is the starting state for the conversation. */
messages?: Vapi.OpenAiMessage[] | undefined;
@@ -17,6 +20,13 @@ export interface AnthropicModel {
* Both `tools` and `toolIds` can be used together.
*/
toolIds?: string[] | undefined;
+ /**
+ * These are version-pinned references to tools. Each entry pins a specific
+ * version of a tool by `(toolId, version)`. When the same `toolId` appears
+ * in both `toolIds` and `toolRefs[]`, the `toolRefs` pin wins (the
+ * `toolIds` entry is dropped at write time).
+ */
+ toolRefs?: Vapi.ToolRef[] | undefined;
/** These are the options for the knowledge base. */
knowledgeBase?: Vapi.CreateCustomKnowledgeBaseDto | undefined;
/** The specific Anthropic/Claude model that will be used. */
@@ -27,7 +37,7 @@ export interface AnthropicModel {
* If provided, maxTokens must be greater than thinking.budgetTokens.
*/
thinking?: Vapi.AnthropicThinkingConfig | undefined;
- /** This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency. */
+ /** This is the temperature that will be used for calls. Default is 0.5. */
temperature?: number | undefined;
/** This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. */
maxTokens?: number | undefined;
diff --git a/src/api/types/AnthropicModelModel.ts b/src/api/types/AnthropicModelModel.ts
index a932e338..2830cba8 100644
--- a/src/api/types/AnthropicModelModel.ts
+++ b/src/api/types/AnthropicModelModel.ts
@@ -15,6 +15,7 @@ export const AnthropicModelModel = {
ClaudeSonnet420250514: "claude-sonnet-4-20250514",
ClaudeSonnet4520250929: "claude-sonnet-4-5-20250929",
ClaudeSonnet46: "claude-sonnet-4-6",
+ ClaudeSonnet5: "claude-sonnet-5",
ClaudeHaiku4520251001: "claude-haiku-4-5-20251001",
} as const;
export type AnthropicModelModel = (typeof AnthropicModelModel)[keyof typeof AnthropicModelModel];
diff --git a/src/api/types/AnthropicModelToolsItem.ts b/src/api/types/AnthropicModelToolsItem.ts
index 1cb8c36f..c7e11866 100644
--- a/src/api/types/AnthropicModelToolsItem.ts
+++ b/src/api/types/AnthropicModelToolsItem.ts
@@ -119,4 +119,29 @@ export namespace AnthropicModelToolsItem {
export interface Voicemail extends Vapi.CreateVoicemailToolDto {
type: "voicemail";
}
+
+ export type Response =
+ | Vapi.AnthropicModelToolsItem.ApiRequest
+ | Vapi.AnthropicModelToolsItem.Bash
+ | Vapi.AnthropicModelToolsItem.Code
+ | Vapi.AnthropicModelToolsItem.Computer
+ | Vapi.AnthropicModelToolsItem.Dtmf
+ | Vapi.AnthropicModelToolsItem.EndCall
+ | Vapi.AnthropicModelToolsItem.Function
+ | Vapi.AnthropicModelToolsItem.GohighlevelCalendarAvailabilityCheck
+ | Vapi.AnthropicModelToolsItem.GohighlevelCalendarEventCreate
+ | Vapi.AnthropicModelToolsItem.GohighlevelContactCreate
+ | Vapi.AnthropicModelToolsItem.GohighlevelContactGet
+ | Vapi.AnthropicModelToolsItem.GoogleCalendarAvailabilityCheck
+ | Vapi.AnthropicModelToolsItem.GoogleCalendarEventCreate
+ | Vapi.AnthropicModelToolsItem.GoogleSheetsRowAppend
+ | Vapi.AnthropicModelToolsItem.Handoff
+ | Vapi.AnthropicModelToolsItem.Mcp
+ | Vapi.AnthropicModelToolsItem.Query
+ | Vapi.AnthropicModelToolsItem.SlackMessageSend
+ | Vapi.AnthropicModelToolsItem.Sms
+ | Vapi.AnthropicModelToolsItem.TextEditor
+ | Vapi.AnthropicModelToolsItem.TransferCall
+ | Vapi.AnthropicModelToolsItem.SipRequest
+ | Vapi.AnthropicModelToolsItem.Voicemail;
}
diff --git a/src/api/types/AnthropicThinkingConfig.ts b/src/api/types/AnthropicThinkingConfig.ts
index d8bebfad..58d7fc7d 100644
--- a/src/api/types/AnthropicThinkingConfig.ts
+++ b/src/api/types/AnthropicThinkingConfig.ts
@@ -2,7 +2,11 @@
import type * as Vapi from "../index.js";
+/**
+ * Enables Anthropic extended thinking with a maximum thinking-token budget.
+ */
export interface AnthropicThinkingConfig {
+ /** Enables Anthropic extended thinking. */
type: Vapi.AnthropicThinkingConfigType;
/**
* The maximum number of tokens to allocate for thinking.
diff --git a/src/api/types/AnthropicThinkingConfigType.ts b/src/api/types/AnthropicThinkingConfigType.ts
index 99b612f7..9c3ca10b 100644
--- a/src/api/types/AnthropicThinkingConfigType.ts
+++ b/src/api/types/AnthropicThinkingConfigType.ts
@@ -1,5 +1,6 @@
// This file was auto-generated by Fern from our API Definition.
+/** Enables Anthropic extended thinking. */
export const AnthropicThinkingConfigType = {
Enabled: "enabled",
} as const;
diff --git a/src/api/types/AnyscaleModel.ts b/src/api/types/AnyscaleModel.ts
index e681087f..db7dd7bc 100644
--- a/src/api/types/AnyscaleModel.ts
+++ b/src/api/types/AnyscaleModel.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration for generating assistant responses with Anyscale, including model, prompts, tools, knowledge-base access, and generation settings.
+ */
export interface AnyscaleModel {
/** This is the starting state for the conversation. */
messages?: Vapi.OpenAiMessage[] | undefined;
@@ -17,11 +20,18 @@ export interface AnyscaleModel {
* Both `tools` and `toolIds` can be used together.
*/
toolIds?: string[] | undefined;
+ /**
+ * These are version-pinned references to tools. Each entry pins a specific
+ * version of a tool by `(toolId, version)`. When the same `toolId` appears
+ * in both `toolIds` and `toolRefs[]`, the `toolRefs` pin wins (the
+ * `toolIds` entry is dropped at write time).
+ */
+ toolRefs?: Vapi.ToolRef[] | undefined;
/** These are the options for the knowledge base. */
knowledgeBase?: Vapi.CreateCustomKnowledgeBaseDto | undefined;
/** This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b */
model: string;
- /** This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency. */
+ /** This is the temperature that will be used for calls. Default is 0.5. */
temperature?: number | undefined;
/** This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. */
maxTokens?: number | undefined;
diff --git a/src/api/types/AnyscaleModelToolsItem.ts b/src/api/types/AnyscaleModelToolsItem.ts
index b646c187..8cf0c90b 100644
--- a/src/api/types/AnyscaleModelToolsItem.ts
+++ b/src/api/types/AnyscaleModelToolsItem.ts
@@ -119,4 +119,29 @@ export namespace AnyscaleModelToolsItem {
export interface Voicemail extends Vapi.CreateVoicemailToolDto {
type: "voicemail";
}
+
+ export type Response =
+ | Vapi.AnyscaleModelToolsItem.ApiRequest
+ | Vapi.AnyscaleModelToolsItem.Bash
+ | Vapi.AnyscaleModelToolsItem.Code
+ | Vapi.AnyscaleModelToolsItem.Computer
+ | Vapi.AnyscaleModelToolsItem.Dtmf
+ | Vapi.AnyscaleModelToolsItem.EndCall
+ | Vapi.AnyscaleModelToolsItem.Function
+ | Vapi.AnyscaleModelToolsItem.GohighlevelCalendarAvailabilityCheck
+ | Vapi.AnyscaleModelToolsItem.GohighlevelCalendarEventCreate
+ | Vapi.AnyscaleModelToolsItem.GohighlevelContactCreate
+ | Vapi.AnyscaleModelToolsItem.GohighlevelContactGet
+ | Vapi.AnyscaleModelToolsItem.GoogleCalendarAvailabilityCheck
+ | Vapi.AnyscaleModelToolsItem.GoogleCalendarEventCreate
+ | Vapi.AnyscaleModelToolsItem.GoogleSheetsRowAppend
+ | Vapi.AnyscaleModelToolsItem.Handoff
+ | Vapi.AnyscaleModelToolsItem.Mcp
+ | Vapi.AnyscaleModelToolsItem.Query
+ | Vapi.AnyscaleModelToolsItem.SlackMessageSend
+ | Vapi.AnyscaleModelToolsItem.Sms
+ | Vapi.AnyscaleModelToolsItem.TextEditor
+ | Vapi.AnyscaleModelToolsItem.TransferCall
+ | Vapi.AnyscaleModelToolsItem.SipRequest
+ | Vapi.AnyscaleModelToolsItem.Voicemail;
}
diff --git a/src/api/types/ApiRequestTool.ts b/src/api/types/ApiRequestTool.ts
index 1c8c03a8..895f76d5 100644
--- a/src/api/types/ApiRequestTool.ts
+++ b/src/api/types/ApiRequestTool.ts
@@ -2,13 +2,20 @@
import type * as Vapi from "../index.js";
+/**
+ * A reusable tool that sends HTTP requests to a configured API and can authenticate, retry failures, and extract variables from responses.
+ */
export interface ApiRequestTool {
+ latestVersion?: (string | null) | undefined;
+ /** Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. */
+ messages?: Vapi.ApiRequestToolMessagesItem[] | undefined;
/**
- * These are the messages that will be spoken to the user as the tool is running.
+ * This is the name of the tool. This will be passed to the model.
*
- * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
+ * Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 40.
*/
- messages?: Vapi.ApiRequestToolMessagesItem[] | undefined;
+ name?: string | undefined;
+ /** The HTTP method used for the API request. */
method: Vapi.ApiRequestToolMethod;
/**
* This is the timeout in seconds for the request. Defaults to 20 seconds.
@@ -111,12 +118,6 @@ export interface ApiRequestTool {
* ```
*/
rejectionPlan?: Vapi.ToolRejectionPlan | undefined;
- /**
- * This is the name of the tool. This will be passed to the model.
- *
- * Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 40.
- */
- name?: string | undefined;
/** This is the description of the tool. This will be passed to the model. */
description?: string | undefined;
/** This is where the request will be sent. */
diff --git a/src/api/types/ApiRequestToolMethod.ts b/src/api/types/ApiRequestToolMethod.ts
index 6538f40b..e36cc4e5 100644
--- a/src/api/types/ApiRequestToolMethod.ts
+++ b/src/api/types/ApiRequestToolMethod.ts
@@ -1,5 +1,6 @@
// This file was auto-generated by Fern from our API Definition.
+/** The HTTP method used for the API request. */
export const ApiRequestToolMethod = {
Post: "POST",
Get: "GET",
diff --git a/src/api/types/Artifact.ts b/src/api/types/Artifact.ts
index 18cd24f6..cdf0b925 100644
--- a/src/api/types/Artifact.ts
+++ b/src/api/types/Artifact.ts
@@ -2,11 +2,21 @@
import type * as Vapi from "../index.js";
+/**
+ * Artifacts generated during a call, including messages, recordings, transcript, logs, packet capture, workflow-node data, variables, performance metrics, structured outputs, scorecards, and transfers.
+ */
export interface Artifact {
/** These are the messages that were spoken during the call. */
messages?: Vapi.ArtifactMessagesItem[] | undefined;
/** These are the messages that were spoken during the call, formatted for OpenAI. */
messagesOpenAIFormatted?: Vapi.OpenAiMessage[] | undefined;
+ /** Structured outputs skipped because their conditions were not met, keyed by saved or runtime output ID. */
+ skippedStructuredOutputs?: Record | undefined;
+ /**
+ * These are the transfer records for the call's transfer attempts (warm and blind), including
+ * destination, mode, and status. Warm transfer records also include transcripts and messages.
+ */
+ transfers?: Vapi.TransferArtifact[] | undefined;
/** This is the recording url for the call. To enable, set `assistant.artifactPlan.recordingEnabled`. */
recordingUrl?: string | undefined;
/** This is the stereo recording url for the call. To enable, set `assistant.artifactPlan.recordingEnabled`. */
@@ -41,8 +51,52 @@ export interface Artifact {
* To enable, set `assistant.artifactPlan.scorecardIds` or `assistant.artifactPlan.scorecards` with the IDs or objects of the scorecards you want to evaluate.
*/
scorecards?: Record | undefined;
- /** These are the transfer records from warm transfers, including destinations, transcripts, and status. */
- transfers?: string[] | undefined;
/** This is when the structured outputs were last updated */
structuredOutputsLastUpdatedAt?: string | undefined;
+ /**
+ * This is a presigned URL to download the mono recording without
+ * authentication. Populated on API responses and server messages; never
+ * stored. Expires at `presignedUrlsExpiresAt` — after that, use
+ * `GET /call/{id}/mono-recording`.
+ */
+ presignedMonoUrl?: string | undefined;
+ /**
+ * This is a presigned URL to download the stereo recording without
+ * authentication. Expires at `presignedUrlsExpiresAt` — after that, use
+ * `GET /call/{id}/stereo-recording`.
+ */
+ presignedStereoUrl?: string | undefined;
+ /**
+ * This is a presigned URL to download the video recording without
+ * authentication. Expires at `presignedUrlsExpiresAt` — after that, use
+ * `GET /call/{id}/video-recording`.
+ */
+ presignedVideoUrl?: string | undefined;
+ /**
+ * This is a presigned URL to download the assistant-channel mono recording
+ * without authentication. Expires at `presignedUrlsExpiresAt`.
+ */
+ presignedAssistantUrl?: string | undefined;
+ /**
+ * This is a presigned URL to download the customer-channel mono recording
+ * without authentication. Expires at `presignedUrlsExpiresAt`.
+ */
+ presignedCustomerUrl?: string | undefined;
+ /**
+ * This is a presigned URL to download the packet capture without
+ * authentication. Expires at `presignedUrlsExpiresAt`.
+ */
+ presignedPcapUrl?: string | undefined;
+ /**
+ * This is a presigned URL to download the call logs without
+ * authentication. Expires at `presignedUrlsExpiresAt`.
+ */
+ presignedLogUrl?: string | undefined;
+ /**
+ * This is when the presigned URLs above expire, as an ISO 8601 timestamp.
+ * The raw `*Url` fields remain the stable identifiers and do not expire.
+ * Presigned URLs are regenerated per response and per webhook delivery, so
+ * values differ across retries.
+ */
+ presignedUrlsExpiresAt?: string | undefined;
}
diff --git a/src/api/types/ArtifactPlan.ts b/src/api/types/ArtifactPlan.ts
index bec58829..8fb4ba47 100644
--- a/src/api/types/ArtifactPlan.ts
+++ b/src/api/types/ArtifactPlan.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Controls artifacts generated and stored for calls, including recordings, packet captures, logs, transcripts, structured outputs, scorecards, and custom storage paths.
+ */
export interface ArtifactPlan {
/**
* This determines whether assistant's calls are recorded. Defaults to true.
@@ -30,6 +33,8 @@ export interface ArtifactPlan {
* - Set to false if you have custom storage configured but want to store recordings on Vapi's storage for this assistant.
* - Set to true (or leave unset) to use your custom storage for recordings when available.
*
+ * If your organization has ZDR (zero data retention) or PCI enabled, recordings are never written to Vapi storage. In that case, false means "do not use my custom storage", so nothing is stored at all.
+ *
* @default true
*/
recordingUseCustomStorageEnabled?: boolean | undefined;
@@ -72,6 +77,8 @@ export interface ArtifactPlan {
* - Set to false if you have custom storage configured but want to store packet captures on Vapi's storage for this assistant.
* - Set to true (or leave unset) to use your custom storage for packet captures when available.
*
+ * If your organization has ZDR (zero data retention) or PCI enabled, packet captures are never written to Vapi storage. In that case, false means "do not use my custom storage", so nothing is stored at all.
+ *
* @default true
*/
pcapUseCustomStorageEnabled?: boolean | undefined;
@@ -90,6 +97,8 @@ export interface ArtifactPlan {
* - Set to false if you have custom storage configured but want to store logs on Vapi's storage for this assistant.
* - Set to true (or leave unset) to use your custom storage for logs when available.
*
+ * If your organization has ZDR (zero data retention) or PCI enabled, logs are never written to Vapi storage. In that case, false means "do not use my custom storage", so nothing is stored at all.
+ *
* @default true
*/
loggingUseCustomStorageEnabled?: boolean | undefined;
diff --git a/src/api/types/AssemblyAiTranscriber.ts b/src/api/types/AssemblyAiTranscriber.ts
index 4447dfbb..350f4b5e 100644
--- a/src/api/types/AssemblyAiTranscriber.ts
+++ b/src/api/types/AssemblyAiTranscriber.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration for transcribing speech during assistant conversations with AssemblyAI, including language, streaming model, endpointing, vocabulary, and fallback settings.
+ */
export interface AssemblyAiTranscriber {
/** This is the language that will be set for the transcription. */
language?: Vapi.AssemblyAiTranscriberLanguage | undefined;
@@ -47,9 +50,22 @@ export interface AssemblyAiTranscriber {
* @default true
*/
vadAssistedEndpointingEnabled?: boolean | undefined;
+ /**
+ * This is the transcription mode used by the `universal-3-5-pro` speech model. Only applies to the `universal-3-5-pro` speech model.
+ *
+ * @default 'balanced'
+ */
+ mode?: Vapi.AssemblyAiTranscriberMode | undefined;
+ /** This is a prompt that provides additional context to the transcription model. Only applies to the `universal-3-5-pro` speech model. */
+ prompt?: string | undefined;
+ /** This is context about the voice agent that guides the transcription model. Only applies to the `universal-3-5-pro` speech model. */
+ agentContext?: string | undefined;
+ /** These are language codes used to steer automatic language detection. Only applies to the `universal-3-5-pro` speech model. */
+ languageCodes?: Vapi.AssemblyAiTranscriberLanguageCodesItem[] | undefined;
/**
* This is the speech model used for the streaming session.
- * Note: Keyterms prompting is not supported with multilingual streaming.
+ * Keyterms prompting is supported on universal-streaming-english and universal-3-5-pro.
+ * universal-3-5-pro is AssemblyAI's most accurate voice-agent model.
* @default 'universal-streaming-english'
*/
speechModel?: Vapi.AssemblyAiTranscriberSpeechModel | undefined;
@@ -60,7 +76,7 @@ export interface AssemblyAiTranscriber {
/**
* Keyterms prompting improves recognition accuracy for specific words and phrases.
* Can include up to 100 keyterms, each up to 50 characters.
- * Costs an additional $0.04/hour when enabled.
+ * Costs an additional $0.04/hour on universal-streaming-english and is included at no extra cost on universal-3-5-pro.
*/
keytermsPrompt?: string[] | undefined;
/** The duration of the end utterance silence threshold in milliseconds. */
diff --git a/src/api/types/AssemblyAiTranscriberLanguageCodesItem.ts b/src/api/types/AssemblyAiTranscriberLanguageCodesItem.ts
new file mode 100644
index 00000000..5d623a18
--- /dev/null
+++ b/src/api/types/AssemblyAiTranscriberLanguageCodesItem.ts
@@ -0,0 +1,24 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const AssemblyAiTranscriberLanguageCodesItem = {
+ En: "en",
+ Es: "es",
+ Fr: "fr",
+ De: "de",
+ It: "it",
+ Pt: "pt",
+ Tr: "tr",
+ Nl: "nl",
+ Sv: "sv",
+ No: "no",
+ Da: "da",
+ Fi: "fi",
+ Hi: "hi",
+ Vi: "vi",
+ Ar: "ar",
+ He: "he",
+ Ja: "ja",
+ Zh: "zh",
+} as const;
+export type AssemblyAiTranscriberLanguageCodesItem =
+ (typeof AssemblyAiTranscriberLanguageCodesItem)[keyof typeof AssemblyAiTranscriberLanguageCodesItem];
diff --git a/src/api/types/AssemblyAiTranscriberMode.ts b/src/api/types/AssemblyAiTranscriberMode.ts
new file mode 100644
index 00000000..02b87774
--- /dev/null
+++ b/src/api/types/AssemblyAiTranscriberMode.ts
@@ -0,0 +1,13 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * This is the transcription mode used by the `universal-3-5-pro` speech model. Only applies to the `universal-3-5-pro` speech model.
+ *
+ * @default 'balanced'
+ */
+export const AssemblyAiTranscriberMode = {
+ MaxAccuracy: "max_accuracy",
+ MinLatency: "min_latency",
+ Balanced: "balanced",
+} as const;
+export type AssemblyAiTranscriberMode = (typeof AssemblyAiTranscriberMode)[keyof typeof AssemblyAiTranscriberMode];
diff --git a/src/api/types/AssemblyAiTranscriberSpeechModel.ts b/src/api/types/AssemblyAiTranscriberSpeechModel.ts
index f91e289f..99791199 100644
--- a/src/api/types/AssemblyAiTranscriberSpeechModel.ts
+++ b/src/api/types/AssemblyAiTranscriberSpeechModel.ts
@@ -2,12 +2,14 @@
/**
* This is the speech model used for the streaming session.
- * Note: Keyterms prompting is not supported with multilingual streaming.
+ * Keyterms prompting is supported on universal-streaming-english and universal-3-5-pro.
+ * universal-3-5-pro is AssemblyAI's most accurate voice-agent model.
* @default 'universal-streaming-english'
*/
export const AssemblyAiTranscriberSpeechModel = {
UniversalStreamingEnglish: "universal-streaming-english",
UniversalStreamingMultilingual: "universal-streaming-multilingual",
+ Universal35Pro: "universal-3-5-pro",
} as const;
export type AssemblyAiTranscriberSpeechModel =
(typeof AssemblyAiTranscriberSpeechModel)[keyof typeof AssemblyAiTranscriberSpeechModel];
diff --git a/src/api/types/Assistant.ts b/src/api/types/Assistant.ts
index 68b5f5ec..f603787d 100644
--- a/src/api/types/Assistant.ts
+++ b/src/api/types/Assistant.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * A saved assistant configuration returned by the Vapi API. It defines how the assistant listens, reasons, speaks, handles conversations, sends events, and produces artifacts and analysis.
+ */
export interface Assistant {
/** These are the options for the assistant's transcriber. */
transcriber?: Vapi.AssistantTranscriber | undefined;
@@ -15,6 +18,7 @@ export interface Assistant {
* If unspecified, assistant will wait for user to speak and use the model to respond once they speak.
*/
firstMessage?: string | undefined;
+ /** Set to `true` to allow the user to interrupt the assistant while it speaks the first message. Default is `false`. */
firstMessageInterruptionsEnabled?: boolean | undefined;
/**
* This is the mode for the first message. Default is 'assistant-speaks-first'.
@@ -65,6 +69,13 @@ export interface Assistant {
credentials?: Vapi.AssistantCredentialsItem[] | undefined;
/** This is a set of actions that will be performed on certain events. */
hooks?: Vapi.AssistantHooksItem[] | undefined;
+ /**
+ * This is the latest version label (e.g. `v3`) of the assistant in the
+ * version history. `null` while the org is not yet
+ * onboarded to versioning, or for assistants that have not yet been
+ * published under it.
+ */
+ latestVersion?: (string | null) | undefined;
/**
* This is the name of the assistant.
*
@@ -85,6 +96,7 @@ export interface Assistant {
endCallMessage?: string | undefined;
/** This list contains phrases that, if spoken by the assistant, will trigger the call to be hung up. Case insensitive. */
endCallPhrases?: string[] | undefined;
+ /** Compliance settings for the assistant, including HIPAA and PCI behavior, security filtering, and recording consent. */
compliancePlan?: Vapi.CompliancePlan | undefined;
/** This is for metadata you want to store on the assistant. */
metadata?: Record | undefined;
@@ -147,6 +159,7 @@ export interface Assistant {
* 3. org.serverUrl
*/
server?: Vapi.Server | undefined;
+ /** Configuration for collecting and processing DTMF keypad input during calls. */
keypadInputPlan?: Vapi.KeypadInputPlan | undefined;
/** This is the unique identifier for the assistant. */
id: string;
diff --git a/src/api/types/AssistantActivation.ts b/src/api/types/AssistantActivation.ts
index 1b8aaf5c..2864d525 100644
--- a/src/api/types/AssistantActivation.ts
+++ b/src/api/types/AssistantActivation.ts
@@ -1,6 +1,16 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Identifies an assistant that became active during a call.
+ */
export interface AssistantActivation {
+ /**
+ * This is the version label (e.g. `v3`) of the assistant active when
+ * the activation row was recorded. `null` for inline assistants,
+ * orgs not on assistant versioning, and parent assistants that have
+ * not yet been published under it.
+ */
+ assistantVersion?: (string | null) | undefined;
/** This is the name of the assistant that was active during the call. */
assistantName: string;
/** This is the ID of the assistant that was active during the call. */
diff --git a/src/api/types/AssistantCredentialsItem.ts b/src/api/types/AssistantCredentialsItem.ts
index 38d67fba..857c036b 100644
--- a/src/api/types/AssistantCredentialsItem.ts
+++ b/src/api/types/AssistantCredentialsItem.ts
@@ -34,6 +34,7 @@ export type AssistantCredentialsItem =
| Vapi.AssistantCredentialsItem.RimeAi
| Vapi.AssistantCredentialsItem.Runpod
| Vapi.AssistantCredentialsItem.S3
+ | Vapi.AssistantCredentialsItem.S3Compatible
| Vapi.AssistantCredentialsItem.Supabase
| Vapi.AssistantCredentialsItem.SmallestAi
| Vapi.AssistantCredentialsItem.Tavus
@@ -43,12 +44,12 @@ export type AssistantCredentialsItem =
| Vapi.AssistantCredentialsItem.Webhook
| Vapi.AssistantCredentialsItem.CustomCredential
| Vapi.AssistantCredentialsItem.Xai
+ | Vapi.AssistantCredentialsItem.Microsoft
| Vapi.AssistantCredentialsItem.Neuphonic
| Vapi.AssistantCredentialsItem.Hume
| Vapi.AssistantCredentialsItem.Mistral
| Vapi.AssistantCredentialsItem.Speechmatics
| Vapi.AssistantCredentialsItem.Soniox
- | Vapi.AssistantCredentialsItem.Trieve
| Vapi.AssistantCredentialsItem.GoogleCalendarOauth2Client
| Vapi.AssistantCredentialsItem.GoogleCalendarOauth2Authorization
| Vapi.AssistantCredentialsItem.GoogleSheetsOauth2Authorization
@@ -185,6 +186,10 @@ export namespace AssistantCredentialsItem {
provider: "s3";
}
+ export interface S3Compatible extends Vapi.CreateS3CompatibleCredentialDto {
+ provider: "s3-compatible";
+ }
+
export interface Supabase extends Vapi.CreateSupabaseCredentialDto {
provider: "supabase";
}
@@ -221,6 +226,10 @@ export namespace AssistantCredentialsItem {
provider: "xai";
}
+ export interface Microsoft extends Vapi.CreateMicrosoftCredentialDto {
+ provider: "microsoft";
+ }
+
export interface Neuphonic extends Vapi.CreateNeuphonicCredentialDto {
provider: "neuphonic";
}
@@ -241,10 +250,6 @@ export namespace AssistantCredentialsItem {
provider: "soniox";
}
- export interface Trieve extends Vapi.CreateTrieveCredentialDto {
- provider: "trieve";
- }
-
export interface GoogleCalendarOauth2Client extends Vapi.CreateGoogleCalendarOAuth2ClientCredentialDto {
provider: "google.calendar.oauth2-client";
}
@@ -285,4 +290,63 @@ export namespace AssistantCredentialsItem {
export interface SlackWebhook extends Vapi.CreateSlackWebhookCredentialDto {
provider: "slack-webhook";
}
+
+ export type Response =
+ | Vapi.AssistantCredentialsItem._11Labs
+ | Vapi.AssistantCredentialsItem.Anthropic
+ | Vapi.AssistantCredentialsItem.AnthropicBedrock
+ | Vapi.AssistantCredentialsItem.Anyscale
+ | Vapi.AssistantCredentialsItem.AssemblyAi
+ | Vapi.AssistantCredentialsItem.AzureOpenai
+ | Vapi.AssistantCredentialsItem.Azure
+ | Vapi.AssistantCredentialsItem.ByoSipTrunk
+ | Vapi.AssistantCredentialsItem.Cartesia
+ | Vapi.AssistantCredentialsItem.Cerebras
+ | Vapi.AssistantCredentialsItem.Cloudflare
+ | Vapi.AssistantCredentialsItem.CustomLlm
+ | Vapi.AssistantCredentialsItem.Deepgram
+ | Vapi.AssistantCredentialsItem.Deepinfra
+ | Vapi.AssistantCredentialsItem.DeepSeek
+ | Vapi.AssistantCredentialsItem.Gcp
+ | Vapi.AssistantCredentialsItem.Gladia
+ | Vapi.AssistantCredentialsItem.Gohighlevel
+ | Vapi.AssistantCredentialsItem.Google
+ | Vapi.AssistantCredentialsItem.Groq
+ | Vapi.AssistantCredentialsItem.InflectionAi
+ | Vapi.AssistantCredentialsItem.Langfuse
+ | Vapi.AssistantCredentialsItem.Lmnt
+ | Vapi.AssistantCredentialsItem.Make
+ | Vapi.AssistantCredentialsItem.Openai
+ | Vapi.AssistantCredentialsItem.Openrouter
+ | Vapi.AssistantCredentialsItem.PerplexityAi
+ | Vapi.AssistantCredentialsItem.Playht
+ | Vapi.AssistantCredentialsItem.RimeAi
+ | Vapi.AssistantCredentialsItem.Runpod
+ | Vapi.AssistantCredentialsItem.S3
+ | Vapi.AssistantCredentialsItem.S3Compatible
+ | Vapi.AssistantCredentialsItem.Supabase
+ | Vapi.AssistantCredentialsItem.SmallestAi
+ | Vapi.AssistantCredentialsItem.Tavus
+ | Vapi.AssistantCredentialsItem.TogetherAi
+ | Vapi.AssistantCredentialsItem.Twilio
+ | Vapi.AssistantCredentialsItem.Vonage
+ | Vapi.AssistantCredentialsItem.Webhook
+ | Vapi.AssistantCredentialsItem.CustomCredential
+ | Vapi.AssistantCredentialsItem.Xai
+ | Vapi.AssistantCredentialsItem.Microsoft
+ | Vapi.AssistantCredentialsItem.Neuphonic
+ | Vapi.AssistantCredentialsItem.Hume
+ | Vapi.AssistantCredentialsItem.Mistral
+ | Vapi.AssistantCredentialsItem.Speechmatics
+ | Vapi.AssistantCredentialsItem.Soniox
+ | Vapi.AssistantCredentialsItem.GoogleCalendarOauth2Client
+ | Vapi.AssistantCredentialsItem.GoogleCalendarOauth2Authorization
+ | Vapi.AssistantCredentialsItem.GoogleSheetsOauth2Authorization
+ | Vapi.AssistantCredentialsItem.SlackOauth2Authorization
+ | Vapi.AssistantCredentialsItem.GhlOauth2Authorization
+ | Vapi.AssistantCredentialsItem.Inworld
+ | Vapi.AssistantCredentialsItem.Minimax
+ | Vapi.AssistantCredentialsItem.Wellsaid
+ | Vapi.AssistantCredentialsItem.Email
+ | Vapi.AssistantCredentialsItem.SlackWebhook;
}
diff --git a/src/api/types/AssistantCustomEndpointingRule.ts b/src/api/types/AssistantCustomEndpointingRule.ts
index 34ee2d38..643d72f2 100644
--- a/src/api/types/AssistantCustomEndpointingRule.ts
+++ b/src/api/types/AssistantCustomEndpointingRule.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * A custom endpointing rule that matches the assistant's last message and applies a configured timeout.
+ */
export interface AssistantCustomEndpointingRule {
/**
* This is the regex pattern to match.
diff --git a/src/api/types/AssistantDraft.ts b/src/api/types/AssistantDraft.ts
new file mode 100644
index 00000000..0b4a0a3a
--- /dev/null
+++ b/src/api/types/AssistantDraft.ts
@@ -0,0 +1,163 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+export interface AssistantDraft {
+ /** These are the options for the assistant's transcriber. */
+ transcriber?: Vapi.AssistantDraftTranscriber | undefined;
+ /** These are the options for the assistant's LLM. */
+ model?: Vapi.AssistantDraftModel | undefined;
+ /** These are the options for the assistant's voice. */
+ voice?: Vapi.AssistantDraftVoice | undefined;
+ /**
+ * This is the first message that the assistant will say. This can also be a URL to a containerized audio file (mp3, wav, etc.).
+ *
+ * If unspecified, assistant will wait for user to speak and use the model to respond once they speak.
+ */
+ firstMessage?: string | undefined;
+ firstMessageInterruptionsEnabled?: boolean | undefined;
+ /**
+ * This is the mode for the first message. Default is 'assistant-speaks-first'.
+ *
+ * Use:
+ * - 'assistant-speaks-first' to have the assistant speak first.
+ * - 'assistant-waits-for-user' to have the assistant wait for the user to speak first.
+ * - 'assistant-speaks-first-with-model-generated-message' to have the assistant speak first with a message generated by the model based on the conversation state. (`assistant.model.messages` at call start, `call.messages` at squad transfer points).
+ *
+ * @default 'assistant-speaks-first'
+ */
+ firstMessageMode?: Vapi.AssistantDraftFirstMessageMode | undefined;
+ /**
+ * These are the settings to configure or disable voicemail detection. Alternatively, voicemail detection can be configured using the model.tools=[VoicemailTool].
+ * By default, voicemail detection is disabled.
+ */
+ voicemailDetection?: Vapi.AssistantDraftVoicemailDetection | undefined;
+ /** These are the messages that will be sent to your Client SDKs. Default is conversation-update,function-call,hang,model-output,speech-update,status-update,transfer-update,transcript,tool-calls,user-interrupted,voice-input,workflow.node.started,assistant.started. You can check the shape of the messages in ClientMessage schema. */
+ clientMessages?: Vapi.AssistantDraftClientMessagesItem[] | undefined;
+ /** These are the messages that will be sent to your Server URL. Default is conversation-update,end-of-call-report,function-call,hang,speech-update,status-update,tool-calls,transfer-destination-request,handoff-destination-request,user-interrupted,assistant.started. You can check the shape of the messages in ServerMessage schema. */
+ serverMessages?: Vapi.AssistantDraftServerMessagesItem[] | undefined;
+ /**
+ * This is the maximum number of seconds that the call will last. When the call reaches this duration, it will be ended.
+ *
+ * @default 600 (10 minutes)
+ */
+ maxDurationSeconds?: number | undefined;
+ /**
+ * This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.
+ * You can also provide a custom sound by providing a URL to an audio file.
+ */
+ backgroundSound?: Vapi.AssistantDraftBackgroundSound | undefined;
+ /**
+ * This determines whether the model's output is used in conversation history rather than the transcription of assistant's speech.
+ *
+ * @default false
+ */
+ modelOutputInMessagesEnabled?: boolean | undefined;
+ /** These are the configurations to be passed to the transport providers of assistant's calls, like Twilio. You can store multiple configurations for different transport providers. For a call, only the configuration matching the call transport provider is used. */
+ transportConfigurations?: Vapi.TransportConfigurationTwilio[] | undefined;
+ /**
+ * This is the plan for observability of assistant's calls.
+ *
+ * Currently, only Langfuse is supported.
+ */
+ observabilityPlan?: Vapi.LangfuseObservabilityPlan | undefined;
+ /** These are dynamic credentials that will be used for the assistant calls. By default, all the credentials are available for use in the call but you can supplement an additional credentials using this. Dynamic credentials override existing credentials. */
+ credentials?: Vapi.AssistantDraftCredentialsItem[] | undefined;
+ /** This is a set of actions that will be performed on certain events. */
+ hooks?: Vapi.AssistantDraftHooksItem[] | undefined;
+ /**
+ * This is the name of the assistant.
+ *
+ * This is required when you want to transfer between assistants in a call.
+ */
+ name?: string | undefined;
+ /**
+ * This is the message that the assistant will say if the call is forwarded to voicemail.
+ *
+ * If unspecified, it will hang up.
+ */
+ voicemailMessage?: string | undefined;
+ /**
+ * This is the message that the assistant will say if it ends the call.
+ *
+ * If unspecified, it will hang up without saying anything.
+ */
+ endCallMessage?: string | undefined;
+ /** This list contains phrases that, if spoken by the assistant, will trigger the call to be hung up. Case insensitive. */
+ endCallPhrases?: string[] | undefined;
+ compliancePlan?: Vapi.CompliancePlan | undefined;
+ /** This is for metadata you want to store on the assistant. */
+ metadata?: Record | undefined;
+ /**
+ * This enables filtering of noise and background speech while the user is talking.
+ *
+ * Features:
+ * - Smart denoising using Krisp
+ * - Fourier denoising
+ *
+ * Smart denoising can be combined with or used independently of Fourier denoising.
+ *
+ * Order of precedence:
+ * - Smart denoising
+ * - Fourier denoising
+ */
+ backgroundSpeechDenoisingPlan?: Vapi.BackgroundSpeechDenoisingPlan | undefined;
+ /** This is the plan for analysis of assistant's calls. Stored in `call.analysis`. */
+ analysisPlan?: Vapi.AnalysisPlan | undefined;
+ /** This is the plan for artifacts generated during assistant's calls. Stored in `call.artifact`. */
+ artifactPlan?: Vapi.ArtifactPlan | undefined;
+ /**
+ * This is the plan for when the assistant should start talking.
+ *
+ * You should configure this if you're running into these issues:
+ * - The assistant is too slow to start talking after the customer is done speaking.
+ * - The assistant is too fast to start talking after the customer is done speaking.
+ * - The assistant is so fast that it's actually interrupting the customer.
+ */
+ startSpeakingPlan?: Vapi.StartSpeakingPlan | undefined;
+ /**
+ * This is the plan for when assistant should stop talking on customer interruption.
+ *
+ * You should configure this if you're running into these issues:
+ * - The assistant is too slow to recognize customer's interruption.
+ * - The assistant is too fast to recognize customer's interruption.
+ * - The assistant is getting interrupted by phrases that are just acknowledgments.
+ * - The assistant is getting interrupted by background noises.
+ * - The assistant is not properly stopping -- it starts talking right after getting interrupted.
+ */
+ stopSpeakingPlan?: Vapi.StopSpeakingPlan | undefined;
+ /**
+ * This is the plan for real-time monitoring of the assistant's calls.
+ *
+ * Usage:
+ * - To enable live listening of the assistant's calls, set `monitorPlan.listenEnabled` to `true`.
+ * - To enable live control of the assistant's calls, set `monitorPlan.controlEnabled` to `true`.
+ * - To attach monitors to the assistant, set `monitorPlan.monitorIds` to the set of monitor ids.
+ */
+ monitorPlan?: Vapi.MonitorPlan | undefined;
+ /** These are the credentials that will be used for the assistant calls. By default, all the credentials are available for use in the call but you can provide a subset using this. */
+ credentialIds?: string[] | undefined;
+ /**
+ * This is where Vapi will send webhooks. You can find all webhooks available along with their shape in ServerMessage schema.
+ *
+ * The order of precedence is:
+ *
+ * 1. assistant.server.url
+ * 2. phoneNumber.serverUrl
+ * 3. org.serverUrl
+ */
+ server?: Vapi.Server | undefined;
+ keypadInputPlan?: Vapi.KeypadInputPlan | undefined;
+ /** Server-resolved baseVersion (always set after POST). */
+ baseVersion: string;
+ /** Surrogate key used as `draftId` in URLs. */
+ id: string;
+ /** Org this draft belongs to. */
+ orgId: string;
+ /** Parent assistant the draft was forked from. FK to assistant.id ON DELETE CASCADE. */
+ assistantId: string;
+ /** Email when JWT, null when API or external JWT. Set on POST, never rewritten on PATCH. */
+ createdBy?: (string | null) | undefined;
+ createdAt: string;
+ updatedAt: string;
+}
diff --git a/src/api/types/AssistantDraftBackgroundSound.ts b/src/api/types/AssistantDraftBackgroundSound.ts
new file mode 100644
index 00000000..4c51401b
--- /dev/null
+++ b/src/api/types/AssistantDraftBackgroundSound.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+/**
+ * This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.
+ * You can also provide a custom sound by providing a URL to an audio file.
+ */
+export type AssistantDraftBackgroundSound = Vapi.AssistantDraftBackgroundSoundZero | string;
diff --git a/src/api/types/AssistantDraftBackgroundSoundZero.ts b/src/api/types/AssistantDraftBackgroundSoundZero.ts
new file mode 100644
index 00000000..ac889997
--- /dev/null
+++ b/src/api/types/AssistantDraftBackgroundSoundZero.ts
@@ -0,0 +1,8 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const AssistantDraftBackgroundSoundZero = {
+ Off: "off",
+ Office: "office",
+} as const;
+export type AssistantDraftBackgroundSoundZero =
+ (typeof AssistantDraftBackgroundSoundZero)[keyof typeof AssistantDraftBackgroundSoundZero];
diff --git a/src/api/types/AssistantDraftClientMessagesItem.ts b/src/api/types/AssistantDraftClientMessagesItem.ts
new file mode 100644
index 00000000..629c6884
--- /dev/null
+++ b/src/api/types/AssistantDraftClientMessagesItem.ts
@@ -0,0 +1,25 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const AssistantDraftClientMessagesItem = {
+ ConversationUpdate: "conversation-update",
+ AssistantSpeechStarted: "assistant.speechStarted",
+ FunctionCall: "function-call",
+ FunctionCallResult: "function-call-result",
+ Hang: "hang",
+ LanguageChanged: "language-changed",
+ Metadata: "metadata",
+ ModelOutput: "model-output",
+ SpeechUpdate: "speech-update",
+ StatusUpdate: "status-update",
+ Transcript: "transcript",
+ ToolCalls: "tool-calls",
+ ToolCallsResult: "tool-calls-result",
+ ToolCompleted: "tool.completed",
+ TransferUpdate: "transfer-update",
+ UserInterrupted: "user-interrupted",
+ VoiceInput: "voice-input",
+ WorkflowNodeStarted: "workflow.node.started",
+ AssistantStarted: "assistant.started",
+} as const;
+export type AssistantDraftClientMessagesItem =
+ (typeof AssistantDraftClientMessagesItem)[keyof typeof AssistantDraftClientMessagesItem];
diff --git a/src/api/types/AssistantDraftConflictResponseDto.ts b/src/api/types/AssistantDraftConflictResponseDto.ts
new file mode 100644
index 00000000..6b75c97e
--- /dev/null
+++ b/src/api/types/AssistantDraftConflictResponseDto.ts
@@ -0,0 +1,7 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export interface AssistantDraftConflictResponseDto {
+ existingDraftId: string | null;
+ error: string;
+ message: string;
+}
diff --git a/src/api/types/AssistantDraftCredentialsItem.ts b/src/api/types/AssistantDraftCredentialsItem.ts
new file mode 100644
index 00000000..51e2043d
--- /dev/null
+++ b/src/api/types/AssistantDraftCredentialsItem.ts
@@ -0,0 +1,352 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+export type AssistantDraftCredentialsItem =
+ | Vapi.AssistantDraftCredentialsItem._11Labs
+ | Vapi.AssistantDraftCredentialsItem.Anthropic
+ | Vapi.AssistantDraftCredentialsItem.AnthropicBedrock
+ | Vapi.AssistantDraftCredentialsItem.Anyscale
+ | Vapi.AssistantDraftCredentialsItem.AssemblyAi
+ | Vapi.AssistantDraftCredentialsItem.AzureOpenai
+ | Vapi.AssistantDraftCredentialsItem.Azure
+ | Vapi.AssistantDraftCredentialsItem.ByoSipTrunk
+ | Vapi.AssistantDraftCredentialsItem.Cartesia
+ | Vapi.AssistantDraftCredentialsItem.Cerebras
+ | Vapi.AssistantDraftCredentialsItem.Cloudflare
+ | Vapi.AssistantDraftCredentialsItem.CustomLlm
+ | Vapi.AssistantDraftCredentialsItem.Deepgram
+ | Vapi.AssistantDraftCredentialsItem.Deepinfra
+ | Vapi.AssistantDraftCredentialsItem.DeepSeek
+ | Vapi.AssistantDraftCredentialsItem.Gcp
+ | Vapi.AssistantDraftCredentialsItem.Gladia
+ | Vapi.AssistantDraftCredentialsItem.Gohighlevel
+ | Vapi.AssistantDraftCredentialsItem.Google
+ | Vapi.AssistantDraftCredentialsItem.Groq
+ | Vapi.AssistantDraftCredentialsItem.InflectionAi
+ | Vapi.AssistantDraftCredentialsItem.Langfuse
+ | Vapi.AssistantDraftCredentialsItem.Lmnt
+ | Vapi.AssistantDraftCredentialsItem.Make
+ | Vapi.AssistantDraftCredentialsItem.Openai
+ | Vapi.AssistantDraftCredentialsItem.Openrouter
+ | Vapi.AssistantDraftCredentialsItem.PerplexityAi
+ | Vapi.AssistantDraftCredentialsItem.Playht
+ | Vapi.AssistantDraftCredentialsItem.RimeAi
+ | Vapi.AssistantDraftCredentialsItem.Runpod
+ | Vapi.AssistantDraftCredentialsItem.S3
+ | Vapi.AssistantDraftCredentialsItem.S3Compatible
+ | Vapi.AssistantDraftCredentialsItem.Supabase
+ | Vapi.AssistantDraftCredentialsItem.SmallestAi
+ | Vapi.AssistantDraftCredentialsItem.Tavus
+ | Vapi.AssistantDraftCredentialsItem.TogetherAi
+ | Vapi.AssistantDraftCredentialsItem.Twilio
+ | Vapi.AssistantDraftCredentialsItem.Vonage
+ | Vapi.AssistantDraftCredentialsItem.Webhook
+ | Vapi.AssistantDraftCredentialsItem.CustomCredential
+ | Vapi.AssistantDraftCredentialsItem.Xai
+ | Vapi.AssistantDraftCredentialsItem.Microsoft
+ | Vapi.AssistantDraftCredentialsItem.Neuphonic
+ | Vapi.AssistantDraftCredentialsItem.Hume
+ | Vapi.AssistantDraftCredentialsItem.Mistral
+ | Vapi.AssistantDraftCredentialsItem.Speechmatics
+ | Vapi.AssistantDraftCredentialsItem.Soniox
+ | Vapi.AssistantDraftCredentialsItem.GoogleCalendarOauth2Client
+ | Vapi.AssistantDraftCredentialsItem.GoogleCalendarOauth2Authorization
+ | Vapi.AssistantDraftCredentialsItem.GoogleSheetsOauth2Authorization
+ | Vapi.AssistantDraftCredentialsItem.SlackOauth2Authorization
+ | Vapi.AssistantDraftCredentialsItem.GhlOauth2Authorization
+ | Vapi.AssistantDraftCredentialsItem.Inworld
+ | Vapi.AssistantDraftCredentialsItem.Minimax
+ | Vapi.AssistantDraftCredentialsItem.Wellsaid
+ | Vapi.AssistantDraftCredentialsItem.Email
+ | Vapi.AssistantDraftCredentialsItem.SlackWebhook;
+
+export namespace AssistantDraftCredentialsItem {
+ export interface _11Labs extends Vapi.CreateElevenLabsCredentialDto {
+ provider: "11labs";
+ }
+
+ export interface Anthropic extends Vapi.CreateAnthropicCredentialDto {
+ provider: "anthropic";
+ }
+
+ export interface AnthropicBedrock extends Vapi.CreateAnthropicBedrockCredentialDto {
+ provider: "anthropic-bedrock";
+ }
+
+ export interface Anyscale extends Vapi.CreateAnyscaleCredentialDto {
+ provider: "anyscale";
+ }
+
+ export interface AssemblyAi extends Vapi.CreateAssemblyAiCredentialDto {
+ provider: "assembly-ai";
+ }
+
+ export interface AzureOpenai extends Vapi.CreateAzureOpenAiCredentialDto {
+ provider: "azure-openai";
+ }
+
+ export interface Azure extends Vapi.CreateAzureCredentialDto {
+ provider: "azure";
+ }
+
+ export interface ByoSipTrunk extends Vapi.CreateByoSipTrunkCredentialDto {
+ provider: "byo-sip-trunk";
+ }
+
+ export interface Cartesia extends Vapi.CreateCartesiaCredentialDto {
+ provider: "cartesia";
+ }
+
+ export interface Cerebras extends Vapi.CreateCerebrasCredentialDto {
+ provider: "cerebras";
+ }
+
+ export interface Cloudflare extends Vapi.CreateCloudflareCredentialDto {
+ provider: "cloudflare";
+ }
+
+ export interface CustomLlm extends Vapi.CreateCustomLlmCredentialDto {
+ provider: "custom-llm";
+ }
+
+ export interface Deepgram extends Vapi.CreateDeepgramCredentialDto {
+ provider: "deepgram";
+ }
+
+ export interface Deepinfra extends Vapi.CreateDeepInfraCredentialDto {
+ provider: "deepinfra";
+ }
+
+ export interface DeepSeek extends Vapi.CreateDeepSeekCredentialDto {
+ provider: "deep-seek";
+ }
+
+ export interface Gcp extends Vapi.CreateGcpCredentialDto {
+ provider: "gcp";
+ }
+
+ export interface Gladia extends Vapi.CreateGladiaCredentialDto {
+ provider: "gladia";
+ }
+
+ export interface Gohighlevel extends Vapi.CreateGoHighLevelCredentialDto {
+ provider: "gohighlevel";
+ }
+
+ export interface Google extends Vapi.CreateGoogleCredentialDto {
+ provider: "google";
+ }
+
+ export interface Groq extends Vapi.CreateGroqCredentialDto {
+ provider: "groq";
+ }
+
+ export interface InflectionAi extends Vapi.CreateInflectionAiCredentialDto {
+ provider: "inflection-ai";
+ }
+
+ export interface Langfuse extends Vapi.CreateLangfuseCredentialDto {
+ provider: "langfuse";
+ }
+
+ export interface Lmnt extends Vapi.CreateLmntCredentialDto {
+ provider: "lmnt";
+ }
+
+ export interface Make extends Vapi.CreateMakeCredentialDto {
+ provider: "make";
+ }
+
+ export interface Openai extends Vapi.CreateOpenAiCredentialDto {
+ provider: "openai";
+ }
+
+ export interface Openrouter extends Vapi.CreateOpenRouterCredentialDto {
+ provider: "openrouter";
+ }
+
+ export interface PerplexityAi extends Vapi.CreatePerplexityAiCredentialDto {
+ provider: "perplexity-ai";
+ }
+
+ export interface Playht extends Vapi.CreatePlayHtCredentialDto {
+ provider: "playht";
+ }
+
+ export interface RimeAi extends Vapi.CreateRimeAiCredentialDto {
+ provider: "rime-ai";
+ }
+
+ export interface Runpod extends Vapi.CreateRunpodCredentialDto {
+ provider: "runpod";
+ }
+
+ export interface S3 extends Vapi.CreateS3CredentialDto {
+ provider: "s3";
+ }
+
+ export interface S3Compatible extends Vapi.CreateS3CompatibleCredentialDto {
+ provider: "s3-compatible";
+ }
+
+ export interface Supabase extends Vapi.CreateSupabaseCredentialDto {
+ provider: "supabase";
+ }
+
+ export interface SmallestAi extends Vapi.CreateSmallestAiCredentialDto {
+ provider: "smallest-ai";
+ }
+
+ export interface Tavus extends Vapi.CreateTavusCredentialDto {
+ provider: "tavus";
+ }
+
+ export interface TogetherAi extends Vapi.CreateTogetherAiCredentialDto {
+ provider: "together-ai";
+ }
+
+ export interface Twilio extends Vapi.CreateTwilioCredentialDto {
+ provider: "twilio";
+ }
+
+ export interface Vonage extends Vapi.CreateVonageCredentialDto {
+ provider: "vonage";
+ }
+
+ export interface Webhook extends Vapi.CreateWebhookCredentialDto {
+ provider: "webhook";
+ }
+
+ export interface CustomCredential extends Vapi.CreateCustomCredentialDto {
+ provider: "custom-credential";
+ }
+
+ export interface Xai extends Vapi.CreateXAiCredentialDto {
+ provider: "xai";
+ }
+
+ export interface Microsoft extends Vapi.CreateMicrosoftCredentialDto {
+ provider: "microsoft";
+ }
+
+ export interface Neuphonic extends Vapi.CreateNeuphonicCredentialDto {
+ provider: "neuphonic";
+ }
+
+ export interface Hume extends Vapi.CreateHumeCredentialDto {
+ provider: "hume";
+ }
+
+ export interface Mistral extends Vapi.CreateMistralCredentialDto {
+ provider: "mistral";
+ }
+
+ export interface Speechmatics extends Vapi.CreateSpeechmaticsCredentialDto {
+ provider: "speechmatics";
+ }
+
+ export interface Soniox extends Vapi.CreateSonioxCredentialDto {
+ provider: "soniox";
+ }
+
+ export interface GoogleCalendarOauth2Client extends Vapi.CreateGoogleCalendarOAuth2ClientCredentialDto {
+ provider: "google.calendar.oauth2-client";
+ }
+
+ export interface GoogleCalendarOauth2Authorization
+ extends Vapi.CreateGoogleCalendarOAuth2AuthorizationCredentialDto {
+ provider: "google.calendar.oauth2-authorization";
+ }
+
+ export interface GoogleSheetsOauth2Authorization extends Vapi.CreateGoogleSheetsOAuth2AuthorizationCredentialDto {
+ provider: "google.sheets.oauth2-authorization";
+ }
+
+ export interface SlackOauth2Authorization extends Vapi.CreateSlackOAuth2AuthorizationCredentialDto {
+ provider: "slack.oauth2-authorization";
+ }
+
+ export interface GhlOauth2Authorization extends Vapi.CreateGoHighLevelMcpCredentialDto {
+ provider: "ghl.oauth2-authorization";
+ }
+
+ export interface Inworld extends Vapi.CreateInworldCredentialDto {
+ provider: "inworld";
+ }
+
+ export interface Minimax extends Vapi.CreateMinimaxCredentialDto {
+ provider: "minimax";
+ }
+
+ export interface Wellsaid extends Vapi.CreateWellSaidCredentialDto {
+ provider: "wellsaid";
+ }
+
+ export interface Email extends Vapi.CreateEmailCredentialDto {
+ provider: "email";
+ }
+
+ export interface SlackWebhook extends Vapi.CreateSlackWebhookCredentialDto {
+ provider: "slack-webhook";
+ }
+
+ export type Response =
+ | Vapi.AssistantDraftCredentialsItem._11Labs
+ | Vapi.AssistantDraftCredentialsItem.Anthropic
+ | Vapi.AssistantDraftCredentialsItem.AnthropicBedrock
+ | Vapi.AssistantDraftCredentialsItem.Anyscale
+ | Vapi.AssistantDraftCredentialsItem.AssemblyAi
+ | Vapi.AssistantDraftCredentialsItem.AzureOpenai
+ | Vapi.AssistantDraftCredentialsItem.Azure
+ | Vapi.AssistantDraftCredentialsItem.ByoSipTrunk
+ | Vapi.AssistantDraftCredentialsItem.Cartesia
+ | Vapi.AssistantDraftCredentialsItem.Cerebras
+ | Vapi.AssistantDraftCredentialsItem.Cloudflare
+ | Vapi.AssistantDraftCredentialsItem.CustomLlm
+ | Vapi.AssistantDraftCredentialsItem.Deepgram
+ | Vapi.AssistantDraftCredentialsItem.Deepinfra
+ | Vapi.AssistantDraftCredentialsItem.DeepSeek
+ | Vapi.AssistantDraftCredentialsItem.Gcp
+ | Vapi.AssistantDraftCredentialsItem.Gladia
+ | Vapi.AssistantDraftCredentialsItem.Gohighlevel
+ | Vapi.AssistantDraftCredentialsItem.Google
+ | Vapi.AssistantDraftCredentialsItem.Groq
+ | Vapi.AssistantDraftCredentialsItem.InflectionAi
+ | Vapi.AssistantDraftCredentialsItem.Langfuse
+ | Vapi.AssistantDraftCredentialsItem.Lmnt
+ | Vapi.AssistantDraftCredentialsItem.Make
+ | Vapi.AssistantDraftCredentialsItem.Openai
+ | Vapi.AssistantDraftCredentialsItem.Openrouter
+ | Vapi.AssistantDraftCredentialsItem.PerplexityAi
+ | Vapi.AssistantDraftCredentialsItem.Playht
+ | Vapi.AssistantDraftCredentialsItem.RimeAi
+ | Vapi.AssistantDraftCredentialsItem.Runpod
+ | Vapi.AssistantDraftCredentialsItem.S3
+ | Vapi.AssistantDraftCredentialsItem.S3Compatible
+ | Vapi.AssistantDraftCredentialsItem.Supabase
+ | Vapi.AssistantDraftCredentialsItem.SmallestAi
+ | Vapi.AssistantDraftCredentialsItem.Tavus
+ | Vapi.AssistantDraftCredentialsItem.TogetherAi
+ | Vapi.AssistantDraftCredentialsItem.Twilio
+ | Vapi.AssistantDraftCredentialsItem.Vonage
+ | Vapi.AssistantDraftCredentialsItem.Webhook
+ | Vapi.AssistantDraftCredentialsItem.CustomCredential
+ | Vapi.AssistantDraftCredentialsItem.Xai
+ | Vapi.AssistantDraftCredentialsItem.Microsoft
+ | Vapi.AssistantDraftCredentialsItem.Neuphonic
+ | Vapi.AssistantDraftCredentialsItem.Hume
+ | Vapi.AssistantDraftCredentialsItem.Mistral
+ | Vapi.AssistantDraftCredentialsItem.Speechmatics
+ | Vapi.AssistantDraftCredentialsItem.Soniox
+ | Vapi.AssistantDraftCredentialsItem.GoogleCalendarOauth2Client
+ | Vapi.AssistantDraftCredentialsItem.GoogleCalendarOauth2Authorization
+ | Vapi.AssistantDraftCredentialsItem.GoogleSheetsOauth2Authorization
+ | Vapi.AssistantDraftCredentialsItem.SlackOauth2Authorization
+ | Vapi.AssistantDraftCredentialsItem.GhlOauth2Authorization
+ | Vapi.AssistantDraftCredentialsItem.Inworld
+ | Vapi.AssistantDraftCredentialsItem.Minimax
+ | Vapi.AssistantDraftCredentialsItem.Wellsaid
+ | Vapi.AssistantDraftCredentialsItem.Email
+ | Vapi.AssistantDraftCredentialsItem.SlackWebhook;
+}
diff --git a/src/api/types/AssistantDraftFirstMessageMode.ts b/src/api/types/AssistantDraftFirstMessageMode.ts
new file mode 100644
index 00000000..8926cda8
--- /dev/null
+++ b/src/api/types/AssistantDraftFirstMessageMode.ts
@@ -0,0 +1,19 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * This is the mode for the first message. Default is 'assistant-speaks-first'.
+ *
+ * Use:
+ * - 'assistant-speaks-first' to have the assistant speak first.
+ * - 'assistant-waits-for-user' to have the assistant wait for the user to speak first.
+ * - 'assistant-speaks-first-with-model-generated-message' to have the assistant speak first with a message generated by the model based on the conversation state. (`assistant.model.messages` at call start, `call.messages` at squad transfer points).
+ *
+ * @default 'assistant-speaks-first'
+ */
+export const AssistantDraftFirstMessageMode = {
+ AssistantSpeaksFirst: "assistant-speaks-first",
+ AssistantSpeaksFirstWithModelGeneratedMessage: "assistant-speaks-first-with-model-generated-message",
+ AssistantWaitsForUser: "assistant-waits-for-user",
+} as const;
+export type AssistantDraftFirstMessageMode =
+ (typeof AssistantDraftFirstMessageMode)[keyof typeof AssistantDraftFirstMessageMode];
diff --git a/src/api/types/AssistantDraftHooksItem.ts b/src/api/types/AssistantDraftHooksItem.ts
new file mode 100644
index 00000000..da1a096c
--- /dev/null
+++ b/src/api/types/AssistantDraftHooksItem.ts
@@ -0,0 +1,10 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+export type AssistantDraftHooksItem =
+ | Vapi.CallHookCallEnding
+ | Vapi.CallHookAssistantSpeechInterrupted
+ | Vapi.CallHookCustomerSpeechInterrupted
+ | Vapi.CallHookCustomerSpeechTimeout
+ | Vapi.SessionCreatedHook;
diff --git a/src/api/types/AssistantDraftModel.ts b/src/api/types/AssistantDraftModel.ts
new file mode 100644
index 00000000..8e514aa7
--- /dev/null
+++ b/src/api/types/AssistantDraftModel.ts
@@ -0,0 +1,117 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+/**
+ * These are the options for the assistant's LLM.
+ */
+export type AssistantDraftModel =
+ | Vapi.AssistantDraftModel.Anthropic
+ | Vapi.AssistantDraftModel.AnthropicBedrock
+ | Vapi.AssistantDraftModel.Anyscale
+ | Vapi.AssistantDraftModel.Cerebras
+ | Vapi.AssistantDraftModel.CustomLlm
+ | Vapi.AssistantDraftModel.Deepinfra
+ | Vapi.AssistantDraftModel.DeepSeek
+ | Vapi.AssistantDraftModel.Google
+ | Vapi.AssistantDraftModel.Groq
+ | Vapi.AssistantDraftModel.InflectionAi
+ | Vapi.AssistantDraftModel.Minimax
+ | Vapi.AssistantDraftModel.Openai
+ | Vapi.AssistantDraftModel.Openrouter
+ | Vapi.AssistantDraftModel.PerplexityAi
+ | Vapi.AssistantDraftModel.TogetherAi
+ | Vapi.AssistantDraftModel.Xai
+ | Vapi.AssistantDraftModel.Vapi;
+
+export namespace AssistantDraftModel {
+ export interface Anthropic extends Vapi.AnthropicModel {
+ provider: "anthropic";
+ }
+
+ export interface AnthropicBedrock extends Vapi.AnthropicBedrockModel {
+ provider: "anthropic-bedrock";
+ }
+
+ export interface Anyscale extends Vapi.AnyscaleModel {
+ provider: "anyscale";
+ }
+
+ export interface Cerebras extends Vapi.CerebrasModel {
+ provider: "cerebras";
+ }
+
+ export interface CustomLlm extends Vapi.CustomLlmModel {
+ provider: "custom-llm";
+ }
+
+ export interface Deepinfra extends Vapi.DeepInfraModel {
+ provider: "deepinfra";
+ }
+
+ export interface DeepSeek extends Vapi.DeepSeekModel {
+ provider: "deep-seek";
+ }
+
+ export interface Google extends Vapi.GoogleModel {
+ provider: "google";
+ }
+
+ export interface Groq extends Vapi.GroqModel {
+ provider: "groq";
+ }
+
+ export interface InflectionAi extends Vapi.InflectionAiModel {
+ provider: "inflection-ai";
+ }
+
+ export interface Minimax extends Vapi.MinimaxLlmModel {
+ provider: "minimax";
+ }
+
+ export interface Openai extends Vapi.OpenAiModel {
+ provider: "openai";
+ }
+
+ export interface Openrouter extends Vapi.OpenRouterModel {
+ provider: "openrouter";
+ }
+
+ export interface PerplexityAi extends Vapi.PerplexityAiModel {
+ provider: "perplexity-ai";
+ }
+
+ export interface TogetherAi extends Vapi.TogetherAiModel {
+ provider: "together-ai";
+ }
+
+ export interface Xai extends Vapi.XaiModel {
+ provider: "xai";
+ }
+
+ export interface Vapi extends Vapi.VapiModel {
+ provider: "vapi";
+ }
+
+ /**
+ * These are the options for the assistant's LLM.
+ */
+ export type Response =
+ | Vapi.AssistantDraftModel.Anthropic
+ | Vapi.AssistantDraftModel.AnthropicBedrock
+ | Vapi.AssistantDraftModel.Anyscale
+ | Vapi.AssistantDraftModel.Cerebras
+ | Vapi.AssistantDraftModel.CustomLlm
+ | Vapi.AssistantDraftModel.Deepinfra
+ | Vapi.AssistantDraftModel.DeepSeek
+ | Vapi.AssistantDraftModel.Google
+ | Vapi.AssistantDraftModel.Groq
+ | Vapi.AssistantDraftModel.InflectionAi
+ | Vapi.AssistantDraftModel.Minimax
+ | Vapi.AssistantDraftModel.Openai
+ | Vapi.AssistantDraftModel.Openrouter
+ | Vapi.AssistantDraftModel.PerplexityAi
+ | Vapi.AssistantDraftModel.TogetherAi
+ | Vapi.AssistantDraftModel.Xai
+ | Vapi.AssistantDraftModel.Vapi;
+}
diff --git a/src/api/types/AssistantDraftPaginatedMetadata.ts b/src/api/types/AssistantDraftPaginatedMetadata.ts
new file mode 100644
index 00000000..f18b01d8
--- /dev/null
+++ b/src/api/types/AssistantDraftPaginatedMetadata.ts
@@ -0,0 +1,7 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export interface AssistantDraftPaginatedMetadata {
+ nextCursor: string | null;
+ hasNextPage: boolean;
+ limit: number;
+}
diff --git a/src/api/types/AssistantDraftPaginatedResponse.ts b/src/api/types/AssistantDraftPaginatedResponse.ts
new file mode 100644
index 00000000..a4024390
--- /dev/null
+++ b/src/api/types/AssistantDraftPaginatedResponse.ts
@@ -0,0 +1,8 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+export interface AssistantDraftPaginatedResponse {
+ results: Vapi.AssistantDraft[];
+ metadata: Vapi.AssistantDraftPaginatedMetadata;
+}
diff --git a/src/api/types/AssistantDraftServerMessagesItem.ts b/src/api/types/AssistantDraftServerMessagesItem.ts
new file mode 100644
index 00000000..39086d2d
--- /dev/null
+++ b/src/api/types/AssistantDraftServerMessagesItem.ts
@@ -0,0 +1,34 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const AssistantDraftServerMessagesItem = {
+ AssistantStarted: "assistant.started",
+ AssistantSpeechStarted: "assistant.speechStarted",
+ ConversationUpdate: "conversation-update",
+ EndOfCallReport: "end-of-call-report",
+ FunctionCall: "function-call",
+ Hang: "hang",
+ LanguageChanged: "language-changed",
+ LanguageChangeDetected: "language-change-detected",
+ ModelOutput: "model-output",
+ PhoneCallControl: "phone-call-control",
+ SpeechUpdate: "speech-update",
+ StatusUpdate: "status-update",
+ Transcript: "transcript",
+ TranscriptTranscriptTypeFinal: 'transcript[transcriptType="final"]',
+ ToolCalls: "tool-calls",
+ TransferDestinationRequest: "transfer-destination-request",
+ HandoffDestinationRequest: "handoff-destination-request",
+ TransferUpdate: "transfer-update",
+ UserInterrupted: "user-interrupted",
+ VoiceInput: "voice-input",
+ ChatCreated: "chat.created",
+ ChatDeleted: "chat.deleted",
+ SessionCreated: "session.created",
+ SessionUpdated: "session.updated",
+ SessionDeleted: "session.deleted",
+ CallDeleted: "call.deleted",
+ CallDeleteFailed: "call.delete.failed",
+ CallArtifactUpload: "call.artifact.upload",
+} as const;
+export type AssistantDraftServerMessagesItem =
+ (typeof AssistantDraftServerMessagesItem)[keyof typeof AssistantDraftServerMessagesItem];
diff --git a/src/api/types/AssistantDraftTranscriber.ts b/src/api/types/AssistantDraftTranscriber.ts
new file mode 100644
index 00000000..777baed7
--- /dev/null
+++ b/src/api/types/AssistantDraftTranscriber.ts
@@ -0,0 +1,80 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+/**
+ * These are the options for the assistant's transcriber.
+ */
+export type AssistantDraftTranscriber =
+ | Vapi.AssistantDraftTranscriber.AssemblyAi
+ | Vapi.AssistantDraftTranscriber.Azure
+ | Vapi.AssistantDraftTranscriber.CustomTranscriber
+ | Vapi.AssistantDraftTranscriber.Deepgram
+ | Vapi.AssistantDraftTranscriber._11Labs
+ | Vapi.AssistantDraftTranscriber.Gladia
+ | Vapi.AssistantDraftTranscriber.Google
+ | Vapi.AssistantDraftTranscriber.Speechmatics
+ | Vapi.AssistantDraftTranscriber.Talkscriber
+ | Vapi.AssistantDraftTranscriber.Openai
+ | Vapi.AssistantDraftTranscriber.Cartesia
+ | Vapi.AssistantDraftTranscriber.Soniox
+ | Vapi.AssistantDraftTranscriber.Xai
+ | Vapi.AssistantDraftTranscriber.Vapi;
+
+export namespace AssistantDraftTranscriber {
+ export interface AssemblyAi extends Vapi.AssemblyAiTranscriber {
+ provider: "assembly-ai";
+ }
+
+ export interface Azure extends Vapi.AzureSpeechTranscriber {
+ provider: "azure";
+ }
+
+ export interface CustomTranscriber extends Vapi.CustomTranscriber {
+ provider: "custom-transcriber";
+ }
+
+ export interface Deepgram extends Vapi.DeepgramTranscriber {
+ provider: "deepgram";
+ }
+
+ export interface _11Labs extends Vapi.ElevenLabsTranscriber {
+ provider: "11labs";
+ }
+
+ export interface Gladia extends Vapi.GladiaTranscriber {
+ provider: "gladia";
+ }
+
+ export interface Google extends Vapi.GoogleTranscriber {
+ provider: "google";
+ }
+
+ export interface Speechmatics extends Vapi.SpeechmaticsTranscriber {
+ provider: "speechmatics";
+ }
+
+ export interface Talkscriber extends Vapi.TalkscriberTranscriber {
+ provider: "talkscriber";
+ }
+
+ export interface Openai extends Vapi.OpenAiTranscriber {
+ provider: "openai";
+ }
+
+ export interface Cartesia extends Vapi.CartesiaTranscriber {
+ provider: "cartesia";
+ }
+
+ export interface Soniox extends Vapi.SonioxTranscriber {
+ provider: "soniox";
+ }
+
+ export interface Xai extends Vapi.XaiTranscriber {
+ provider: "xai";
+ }
+
+ export interface Vapi extends Vapi.VapiTranscriber {
+ provider: "vapi";
+ }
+}
diff --git a/src/api/types/AssistantDraftVoice.ts b/src/api/types/AssistantDraftVoice.ts
new file mode 100644
index 00000000..7067276b
--- /dev/null
+++ b/src/api/types/AssistantDraftVoice.ts
@@ -0,0 +1,110 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+/**
+ * These are the options for the assistant's voice.
+ */
+export type AssistantDraftVoice =
+ | Vapi.AssistantDraftVoice.Azure
+ | Vapi.AssistantDraftVoice.Cartesia
+ | Vapi.AssistantDraftVoice.CustomVoice
+ | Vapi.AssistantDraftVoice.Deepgram
+ | Vapi.AssistantDraftVoice._11Labs
+ | Vapi.AssistantDraftVoice.Hume
+ | Vapi.AssistantDraftVoice.Lmnt
+ | Vapi.AssistantDraftVoice.Neuphonic
+ | Vapi.AssistantDraftVoice.Openai
+ | Vapi.AssistantDraftVoice.Playht
+ | Vapi.AssistantDraftVoice.Wellsaid
+ | Vapi.AssistantDraftVoice.RimeAi
+ | Vapi.AssistantDraftVoice.SmallestAi
+ | Vapi.AssistantDraftVoice.Tavus
+ | Vapi.AssistantDraftVoice.Vapi
+ | Vapi.AssistantDraftVoice.Sesame
+ | Vapi.AssistantDraftVoice.Inworld
+ | Vapi.AssistantDraftVoice.Minimax
+ | Vapi.AssistantDraftVoice.Xai
+ | Vapi.AssistantDraftVoice.Microsoft;
+
+export namespace AssistantDraftVoice {
+ export interface Azure extends Vapi.AzureVoice {
+ provider: "azure";
+ }
+
+ export interface Cartesia extends Vapi.CartesiaVoice {
+ provider: "cartesia";
+ }
+
+ export interface CustomVoice extends Vapi.CustomVoice {
+ provider: "custom-voice";
+ }
+
+ export interface Deepgram extends Vapi.DeepgramVoice {
+ provider: "deepgram";
+ }
+
+ export interface _11Labs extends Vapi.ElevenLabsVoice {
+ provider: "11labs";
+ }
+
+ export interface Hume extends Vapi.HumeVoice {
+ provider: "hume";
+ }
+
+ export interface Lmnt extends Vapi.LmntVoice {
+ provider: "lmnt";
+ }
+
+ export interface Neuphonic extends Vapi.NeuphonicVoice {
+ provider: "neuphonic";
+ }
+
+ export interface Openai extends Vapi.OpenAiVoice {
+ provider: "openai";
+ }
+
+ export interface Playht extends Vapi.PlayHtVoice {
+ provider: "playht";
+ }
+
+ export interface Wellsaid extends Vapi.WellSaidVoice {
+ provider: "wellsaid";
+ }
+
+ export interface RimeAi extends Vapi.RimeAiVoice {
+ provider: "rime-ai";
+ }
+
+ export interface SmallestAi extends Vapi.SmallestAiVoice {
+ provider: "smallest-ai";
+ }
+
+ export interface Tavus extends Vapi.TavusVoice {
+ provider: "tavus";
+ }
+
+ export interface Vapi extends Vapi.VapiVoice {
+ provider: "vapi";
+ }
+
+ export interface Sesame extends Vapi.SesameVoice {
+ provider: "sesame";
+ }
+
+ export interface Inworld extends Vapi.InworldVoice {
+ provider: "inworld";
+ }
+
+ export interface Minimax extends Vapi.MinimaxVoice {
+ provider: "minimax";
+ }
+
+ export interface Xai extends Vapi.XaiVoice {
+ provider: "xai";
+ }
+
+ export interface Microsoft extends Vapi.MicrosoftVoice {
+ provider: "microsoft";
+ }
+}
diff --git a/src/api/types/AssistantDraftVoicemailDetection.ts b/src/api/types/AssistantDraftVoicemailDetection.ts
new file mode 100644
index 00000000..e4c432af
--- /dev/null
+++ b/src/api/types/AssistantDraftVoicemailDetection.ts
@@ -0,0 +1,14 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+/**
+ * These are the settings to configure or disable voicemail detection. Alternatively, voicemail detection can be configured using the model.tools=[VoicemailTool].
+ * By default, voicemail detection is disabled.
+ */
+export type AssistantDraftVoicemailDetection =
+ | Vapi.AssistantDraftVoicemailDetectionZero
+ | Vapi.GoogleVoicemailDetectionPlan
+ | Vapi.OpenAiVoicemailDetectionPlan
+ | Vapi.TwilioVoicemailDetectionPlan
+ | Vapi.VapiVoicemailDetectionPlan;
diff --git a/src/api/types/AssistantDraftVoicemailDetectionZero.ts b/src/api/types/AssistantDraftVoicemailDetectionZero.ts
new file mode 100644
index 00000000..cdb428b6
--- /dev/null
+++ b/src/api/types/AssistantDraftVoicemailDetectionZero.ts
@@ -0,0 +1,7 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const AssistantDraftVoicemailDetectionZero = {
+ Off: "off",
+} as const;
+export type AssistantDraftVoicemailDetectionZero =
+ (typeof AssistantDraftVoicemailDetectionZero)[keyof typeof AssistantDraftVoicemailDetectionZero];
diff --git a/src/api/types/AssistantMessage.ts b/src/api/types/AssistantMessage.ts
index afdc616a..f504ec8d 100644
--- a/src/api/types/AssistantMessage.ts
+++ b/src/api/types/AssistantMessage.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * An assistant-authored message, including content, refusal text, tool calls, participant name, and metadata.
+ */
export interface AssistantMessage {
/** This is the role of the message author */
role: Vapi.AssistantMessageRole;
diff --git a/src/api/types/AssistantMessageEvaluationContinuePlan.ts b/src/api/types/AssistantMessageEvaluationContinuePlan.ts
index 229f7aea..e18caa0c 100644
--- a/src/api/types/AssistantMessageEvaluationContinuePlan.ts
+++ b/src/api/types/AssistantMessageEvaluationContinuePlan.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Controls how an evaluation proceeds after judging an assistant message, including failure handling and optional message overrides.
+ */
export interface AssistantMessageEvaluationContinuePlan {
/**
* This is whether the evaluation should exit if the assistant message evaluates to false.
diff --git a/src/api/types/AssistantMessageJudgePlanAi.ts b/src/api/types/AssistantMessageJudgePlanAi.ts
index 712a2bc0..8384e48a 100644
--- a/src/api/types/AssistantMessageJudgePlanAi.ts
+++ b/src/api/types/AssistantMessageJudgePlanAi.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Evaluates an assistant message with an LLM judge and a configured evaluation model.
+ */
export interface AssistantMessageJudgePlanAi {
/**
* This is the model to use for the LLM-as-a-judge.
diff --git a/src/api/types/AssistantMessageJudgePlanExact.ts b/src/api/types/AssistantMessageJudgePlanExact.ts
index 0a1a19e8..1c450074 100644
--- a/src/api/types/AssistantMessageJudgePlanExact.ts
+++ b/src/api/types/AssistantMessageJudgePlanExact.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Evaluates an assistant message using case-insensitive exact content matching and expected tool calls.
+ */
export interface AssistantMessageJudgePlanExact {
/**
* This is what that will be used to evaluate the model's message content.
diff --git a/src/api/types/AssistantMessageJudgePlanRegex.ts b/src/api/types/AssistantMessageJudgePlanRegex.ts
index c0e52e95..d5c28d32 100644
--- a/src/api/types/AssistantMessageJudgePlanRegex.ts
+++ b/src/api/types/AssistantMessageJudgePlanRegex.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Evaluates assistant-message content and tool-call arguments using regular-expression patterns.
+ */
export interface AssistantMessageJudgePlanRegex {
/**
* This is what that will be used to evaluate the model's message content.
diff --git a/src/api/types/AssistantModel.ts b/src/api/types/AssistantModel.ts
index 09c595f5..b07a162c 100644
--- a/src/api/types/AssistantModel.ts
+++ b/src/api/types/AssistantModel.ts
@@ -21,7 +21,8 @@ export type AssistantModel =
| Vapi.AssistantModel.Openrouter
| Vapi.AssistantModel.PerplexityAi
| Vapi.AssistantModel.TogetherAi
- | Vapi.AssistantModel.Xai;
+ | Vapi.AssistantModel.Xai
+ | Vapi.AssistantModel.Vapi;
export namespace AssistantModel {
export interface Anthropic extends Vapi.AnthropicModel {
@@ -87,4 +88,30 @@ export namespace AssistantModel {
export interface Xai extends Vapi.XaiModel {
provider: "xai";
}
+
+ export interface Vapi extends Vapi.VapiModel {
+ provider: "vapi";
+ }
+
+ /**
+ * These are the options for the assistant's LLM.
+ */
+ export type Response =
+ | Vapi.AssistantModel.Anthropic
+ | Vapi.AssistantModel.AnthropicBedrock
+ | Vapi.AssistantModel.Anyscale
+ | Vapi.AssistantModel.Cerebras
+ | Vapi.AssistantModel.CustomLlm
+ | Vapi.AssistantModel.Deepinfra
+ | Vapi.AssistantModel.DeepSeek
+ | Vapi.AssistantModel.Google
+ | Vapi.AssistantModel.Groq
+ | Vapi.AssistantModel.InflectionAi
+ | Vapi.AssistantModel.Minimax
+ | Vapi.AssistantModel.Openai
+ | Vapi.AssistantModel.Openrouter
+ | Vapi.AssistantModel.PerplexityAi
+ | Vapi.AssistantModel.TogetherAi
+ | Vapi.AssistantModel.Xai
+ | Vapi.AssistantModel.Vapi;
}
diff --git a/src/api/types/AssistantOverrides.ts b/src/api/types/AssistantOverrides.ts
index adce6309..7ad8d157 100644
--- a/src/api/types/AssistantOverrides.ts
+++ b/src/api/types/AssistantOverrides.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Per-call or handoff overrides for an assistant's providers, messages, tools, credentials, call behavior, and server configuration.
+ */
export interface AssistantOverrides {
/** These are the options for the assistant's transcriber. */
transcriber?: Vapi.AssistantOverridesTranscriber | undefined;
@@ -15,6 +18,7 @@ export interface AssistantOverrides {
* If unspecified, assistant will wait for user to speak and use the model to respond once they speak.
*/
firstMessage?: string | undefined;
+ /** Set to `true` to allow the user to interrupt the assistant while it speaks the first message. Default is `false`. */
firstMessageInterruptionsEnabled?: boolean | undefined;
/**
* This is the mode for the first message. Default is 'assistant-speaks-first'.
@@ -65,6 +69,7 @@ export interface AssistantOverrides {
credentials?: Vapi.AssistantOverridesCredentialsItem[] | undefined;
/** This is a set of actions that will be performed on certain events. */
hooks?: Vapi.AssistantOverridesHooksItem[] | undefined;
+ /** Tools to append to the assistant's existing tool configuration. */
"tools:append"?: Vapi.AssistantOverridesToolsAppendItem[] | undefined;
/**
* These are values that will be used to replace the template variables in the assistant messages and other text-based fields.
@@ -96,6 +101,7 @@ export interface AssistantOverrides {
endCallMessage?: string | undefined;
/** This list contains phrases that, if spoken by the assistant, will trigger the call to be hung up. Case insensitive. */
endCallPhrases?: string[] | undefined;
+ /** Compliance settings to apply, including HIPAA and PCI behavior, security filtering, and recording consent. */
compliancePlan?: Vapi.CompliancePlan | undefined;
/** This is for metadata you want to store on the assistant. */
metadata?: Record | undefined;
@@ -158,5 +164,6 @@ export interface AssistantOverrides {
* 3. org.serverUrl
*/
server?: Vapi.Server | undefined;
+ /** Configuration for collecting and processing DTMF keypad input. */
keypadInputPlan?: Vapi.KeypadInputPlan | undefined;
}
diff --git a/src/api/types/AssistantOverridesCredentialsItem.ts b/src/api/types/AssistantOverridesCredentialsItem.ts
index 5ef8d958..d0c4d478 100644
--- a/src/api/types/AssistantOverridesCredentialsItem.ts
+++ b/src/api/types/AssistantOverridesCredentialsItem.ts
@@ -34,6 +34,7 @@ export type AssistantOverridesCredentialsItem =
| Vapi.AssistantOverridesCredentialsItem.RimeAi
| Vapi.AssistantOverridesCredentialsItem.Runpod
| Vapi.AssistantOverridesCredentialsItem.S3
+ | Vapi.AssistantOverridesCredentialsItem.S3Compatible
| Vapi.AssistantOverridesCredentialsItem.Supabase
| Vapi.AssistantOverridesCredentialsItem.SmallestAi
| Vapi.AssistantOverridesCredentialsItem.Tavus
@@ -43,12 +44,12 @@ export type AssistantOverridesCredentialsItem =
| Vapi.AssistantOverridesCredentialsItem.Webhook
| Vapi.AssistantOverridesCredentialsItem.CustomCredential
| Vapi.AssistantOverridesCredentialsItem.Xai
+ | Vapi.AssistantOverridesCredentialsItem.Microsoft
| Vapi.AssistantOverridesCredentialsItem.Neuphonic
| Vapi.AssistantOverridesCredentialsItem.Hume
| Vapi.AssistantOverridesCredentialsItem.Mistral
| Vapi.AssistantOverridesCredentialsItem.Speechmatics
| Vapi.AssistantOverridesCredentialsItem.Soniox
- | Vapi.AssistantOverridesCredentialsItem.Trieve
| Vapi.AssistantOverridesCredentialsItem.GoogleCalendarOauth2Client
| Vapi.AssistantOverridesCredentialsItem.GoogleCalendarOauth2Authorization
| Vapi.AssistantOverridesCredentialsItem.GoogleSheetsOauth2Authorization
@@ -185,6 +186,10 @@ export namespace AssistantOverridesCredentialsItem {
provider: "s3";
}
+ export interface S3Compatible extends Vapi.CreateS3CompatibleCredentialDto {
+ provider: "s3-compatible";
+ }
+
export interface Supabase extends Vapi.CreateSupabaseCredentialDto {
provider: "supabase";
}
@@ -221,6 +226,10 @@ export namespace AssistantOverridesCredentialsItem {
provider: "xai";
}
+ export interface Microsoft extends Vapi.CreateMicrosoftCredentialDto {
+ provider: "microsoft";
+ }
+
export interface Neuphonic extends Vapi.CreateNeuphonicCredentialDto {
provider: "neuphonic";
}
@@ -241,10 +250,6 @@ export namespace AssistantOverridesCredentialsItem {
provider: "soniox";
}
- export interface Trieve extends Vapi.CreateTrieveCredentialDto {
- provider: "trieve";
- }
-
export interface GoogleCalendarOauth2Client extends Vapi.CreateGoogleCalendarOAuth2ClientCredentialDto {
provider: "google.calendar.oauth2-client";
}
@@ -285,4 +290,63 @@ export namespace AssistantOverridesCredentialsItem {
export interface SlackWebhook extends Vapi.CreateSlackWebhookCredentialDto {
provider: "slack-webhook";
}
+
+ export type Response =
+ | Vapi.AssistantOverridesCredentialsItem._11Labs
+ | Vapi.AssistantOverridesCredentialsItem.Anthropic
+ | Vapi.AssistantOverridesCredentialsItem.AnthropicBedrock
+ | Vapi.AssistantOverridesCredentialsItem.Anyscale
+ | Vapi.AssistantOverridesCredentialsItem.AssemblyAi
+ | Vapi.AssistantOverridesCredentialsItem.AzureOpenai
+ | Vapi.AssistantOverridesCredentialsItem.Azure
+ | Vapi.AssistantOverridesCredentialsItem.ByoSipTrunk
+ | Vapi.AssistantOverridesCredentialsItem.Cartesia
+ | Vapi.AssistantOverridesCredentialsItem.Cerebras
+ | Vapi.AssistantOverridesCredentialsItem.Cloudflare
+ | Vapi.AssistantOverridesCredentialsItem.CustomLlm
+ | Vapi.AssistantOverridesCredentialsItem.Deepgram
+ | Vapi.AssistantOverridesCredentialsItem.Deepinfra
+ | Vapi.AssistantOverridesCredentialsItem.DeepSeek
+ | Vapi.AssistantOverridesCredentialsItem.Gcp
+ | Vapi.AssistantOverridesCredentialsItem.Gladia
+ | Vapi.AssistantOverridesCredentialsItem.Gohighlevel
+ | Vapi.AssistantOverridesCredentialsItem.Google
+ | Vapi.AssistantOverridesCredentialsItem.Groq
+ | Vapi.AssistantOverridesCredentialsItem.InflectionAi
+ | Vapi.AssistantOverridesCredentialsItem.Langfuse
+ | Vapi.AssistantOverridesCredentialsItem.Lmnt
+ | Vapi.AssistantOverridesCredentialsItem.Make
+ | Vapi.AssistantOverridesCredentialsItem.Openai
+ | Vapi.AssistantOverridesCredentialsItem.Openrouter
+ | Vapi.AssistantOverridesCredentialsItem.PerplexityAi
+ | Vapi.AssistantOverridesCredentialsItem.Playht
+ | Vapi.AssistantOverridesCredentialsItem.RimeAi
+ | Vapi.AssistantOverridesCredentialsItem.Runpod
+ | Vapi.AssistantOverridesCredentialsItem.S3
+ | Vapi.AssistantOverridesCredentialsItem.S3Compatible
+ | Vapi.AssistantOverridesCredentialsItem.Supabase
+ | Vapi.AssistantOverridesCredentialsItem.SmallestAi
+ | Vapi.AssistantOverridesCredentialsItem.Tavus
+ | Vapi.AssistantOverridesCredentialsItem.TogetherAi
+ | Vapi.AssistantOverridesCredentialsItem.Twilio
+ | Vapi.AssistantOverridesCredentialsItem.Vonage
+ | Vapi.AssistantOverridesCredentialsItem.Webhook
+ | Vapi.AssistantOverridesCredentialsItem.CustomCredential
+ | Vapi.AssistantOverridesCredentialsItem.Xai
+ | Vapi.AssistantOverridesCredentialsItem.Microsoft
+ | Vapi.AssistantOverridesCredentialsItem.Neuphonic
+ | Vapi.AssistantOverridesCredentialsItem.Hume
+ | Vapi.AssistantOverridesCredentialsItem.Mistral
+ | Vapi.AssistantOverridesCredentialsItem.Speechmatics
+ | Vapi.AssistantOverridesCredentialsItem.Soniox
+ | Vapi.AssistantOverridesCredentialsItem.GoogleCalendarOauth2Client
+ | Vapi.AssistantOverridesCredentialsItem.GoogleCalendarOauth2Authorization
+ | Vapi.AssistantOverridesCredentialsItem.GoogleSheetsOauth2Authorization
+ | Vapi.AssistantOverridesCredentialsItem.SlackOauth2Authorization
+ | Vapi.AssistantOverridesCredentialsItem.GhlOauth2Authorization
+ | Vapi.AssistantOverridesCredentialsItem.Inworld
+ | Vapi.AssistantOverridesCredentialsItem.Minimax
+ | Vapi.AssistantOverridesCredentialsItem.Wellsaid
+ | Vapi.AssistantOverridesCredentialsItem.Email
+ | Vapi.AssistantOverridesCredentialsItem.SlackWebhook;
}
diff --git a/src/api/types/AssistantOverridesModel.ts b/src/api/types/AssistantOverridesModel.ts
index 3cbc715f..94e0f8a1 100644
--- a/src/api/types/AssistantOverridesModel.ts
+++ b/src/api/types/AssistantOverridesModel.ts
@@ -21,7 +21,8 @@ export type AssistantOverridesModel =
| Vapi.AssistantOverridesModel.Openrouter
| Vapi.AssistantOverridesModel.PerplexityAi
| Vapi.AssistantOverridesModel.TogetherAi
- | Vapi.AssistantOverridesModel.Xai;
+ | Vapi.AssistantOverridesModel.Xai
+ | Vapi.AssistantOverridesModel.Vapi;
export namespace AssistantOverridesModel {
export interface Anthropic extends Vapi.AnthropicModel {
@@ -87,4 +88,30 @@ export namespace AssistantOverridesModel {
export interface Xai extends Vapi.XaiModel {
provider: "xai";
}
+
+ export interface Vapi extends Vapi.VapiModel {
+ provider: "vapi";
+ }
+
+ /**
+ * These are the options for the assistant's LLM.
+ */
+ export type Response =
+ | Vapi.AssistantOverridesModel.Anthropic
+ | Vapi.AssistantOverridesModel.AnthropicBedrock
+ | Vapi.AssistantOverridesModel.Anyscale
+ | Vapi.AssistantOverridesModel.Cerebras
+ | Vapi.AssistantOverridesModel.CustomLlm
+ | Vapi.AssistantOverridesModel.Deepinfra
+ | Vapi.AssistantOverridesModel.DeepSeek
+ | Vapi.AssistantOverridesModel.Google
+ | Vapi.AssistantOverridesModel.Groq
+ | Vapi.AssistantOverridesModel.InflectionAi
+ | Vapi.AssistantOverridesModel.Minimax
+ | Vapi.AssistantOverridesModel.Openai
+ | Vapi.AssistantOverridesModel.Openrouter
+ | Vapi.AssistantOverridesModel.PerplexityAi
+ | Vapi.AssistantOverridesModel.TogetherAi
+ | Vapi.AssistantOverridesModel.Xai
+ | Vapi.AssistantOverridesModel.Vapi;
}
diff --git a/src/api/types/AssistantOverridesServerMessagesItem.ts b/src/api/types/AssistantOverridesServerMessagesItem.ts
index f69e9467..b6d401f2 100644
--- a/src/api/types/AssistantOverridesServerMessagesItem.ts
+++ b/src/api/types/AssistantOverridesServerMessagesItem.ts
@@ -28,6 +28,7 @@ export const AssistantOverridesServerMessagesItem = {
SessionDeleted: "session.deleted",
CallDeleted: "call.deleted",
CallDeleteFailed: "call.delete.failed",
+ CallArtifactUpload: "call.artifact.upload",
} as const;
export type AssistantOverridesServerMessagesItem =
(typeof AssistantOverridesServerMessagesItem)[keyof typeof AssistantOverridesServerMessagesItem];
diff --git a/src/api/types/AssistantOverridesToolsAppendItem.ts b/src/api/types/AssistantOverridesToolsAppendItem.ts
index d6ece9df..ac56be7a 100644
--- a/src/api/types/AssistantOverridesToolsAppendItem.ts
+++ b/src/api/types/AssistantOverridesToolsAppendItem.ts
@@ -119,4 +119,29 @@ export namespace AssistantOverridesToolsAppendItem {
export interface Voicemail extends Vapi.CreateVoicemailToolDto {
type: "voicemail";
}
+
+ export type Response =
+ | Vapi.AssistantOverridesToolsAppendItem.ApiRequest
+ | Vapi.AssistantOverridesToolsAppendItem.Bash
+ | Vapi.AssistantOverridesToolsAppendItem.Code
+ | Vapi.AssistantOverridesToolsAppendItem.Computer
+ | Vapi.AssistantOverridesToolsAppendItem.Dtmf
+ | Vapi.AssistantOverridesToolsAppendItem.EndCall
+ | Vapi.AssistantOverridesToolsAppendItem.Function
+ | Vapi.AssistantOverridesToolsAppendItem.GohighlevelCalendarAvailabilityCheck
+ | Vapi.AssistantOverridesToolsAppendItem.GohighlevelCalendarEventCreate
+ | Vapi.AssistantOverridesToolsAppendItem.GohighlevelContactCreate
+ | Vapi.AssistantOverridesToolsAppendItem.GohighlevelContactGet
+ | Vapi.AssistantOverridesToolsAppendItem.GoogleCalendarAvailabilityCheck
+ | Vapi.AssistantOverridesToolsAppendItem.GoogleCalendarEventCreate
+ | Vapi.AssistantOverridesToolsAppendItem.GoogleSheetsRowAppend
+ | Vapi.AssistantOverridesToolsAppendItem.Handoff
+ | Vapi.AssistantOverridesToolsAppendItem.Mcp
+ | Vapi.AssistantOverridesToolsAppendItem.Query
+ | Vapi.AssistantOverridesToolsAppendItem.SlackMessageSend
+ | Vapi.AssistantOverridesToolsAppendItem.Sms
+ | Vapi.AssistantOverridesToolsAppendItem.TextEditor
+ | Vapi.AssistantOverridesToolsAppendItem.TransferCall
+ | Vapi.AssistantOverridesToolsAppendItem.SipRequest
+ | Vapi.AssistantOverridesToolsAppendItem.Voicemail;
}
diff --git a/src/api/types/AssistantOverridesTranscriber.ts b/src/api/types/AssistantOverridesTranscriber.ts
index e2cfc62f..6a1abbde 100644
--- a/src/api/types/AssistantOverridesTranscriber.ts
+++ b/src/api/types/AssistantOverridesTranscriber.ts
@@ -17,7 +17,9 @@ export type AssistantOverridesTranscriber =
| Vapi.AssistantOverridesTranscriber.Talkscriber
| Vapi.AssistantOverridesTranscriber.Openai
| Vapi.AssistantOverridesTranscriber.Cartesia
- | Vapi.AssistantOverridesTranscriber.Soniox;
+ | Vapi.AssistantOverridesTranscriber.Soniox
+ | Vapi.AssistantOverridesTranscriber.Xai
+ | Vapi.AssistantOverridesTranscriber.Vapi;
export namespace AssistantOverridesTranscriber {
export interface AssemblyAi extends Vapi.AssemblyAiTranscriber {
@@ -67,4 +69,12 @@ export namespace AssistantOverridesTranscriber {
export interface Soniox extends Vapi.SonioxTranscriber {
provider: "soniox";
}
+
+ export interface Xai extends Vapi.XaiTranscriber {
+ provider: "xai";
+ }
+
+ export interface Vapi extends Vapi.VapiTranscriber {
+ provider: "vapi";
+ }
}
diff --git a/src/api/types/AssistantOverridesVoice.ts b/src/api/types/AssistantOverridesVoice.ts
index 36a78e9f..cc442137 100644
--- a/src/api/types/AssistantOverridesVoice.ts
+++ b/src/api/types/AssistantOverridesVoice.ts
@@ -23,7 +23,9 @@ export type AssistantOverridesVoice =
| Vapi.AssistantOverridesVoice.Vapi
| Vapi.AssistantOverridesVoice.Sesame
| Vapi.AssistantOverridesVoice.Inworld
- | Vapi.AssistantOverridesVoice.Minimax;
+ | Vapi.AssistantOverridesVoice.Minimax
+ | Vapi.AssistantOverridesVoice.Xai
+ | Vapi.AssistantOverridesVoice.Microsoft;
export namespace AssistantOverridesVoice {
export interface Azure extends Vapi.AzureVoice {
@@ -97,4 +99,12 @@ export namespace AssistantOverridesVoice {
export interface Minimax extends Vapi.MinimaxVoice {
provider: "minimax";
}
+
+ export interface Xai extends Vapi.XaiVoice {
+ provider: "xai";
+ }
+
+ export interface Microsoft extends Vapi.MicrosoftVoice {
+ provider: "microsoft";
+ }
}
diff --git a/src/api/types/AssistantPinnedConflictResponseDto.ts b/src/api/types/AssistantPinnedConflictResponseDto.ts
new file mode 100644
index 00000000..adfbe6e7
--- /dev/null
+++ b/src/api/types/AssistantPinnedConflictResponseDto.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+export interface AssistantPinnedConflictResponseDto {
+ error: Vapi.AssistantPinnedConflictResponseDtoError;
+ /** Human-readable reason the parent-assistant delete was rejected. */
+ message: string;
+}
diff --git a/src/api/types/AssistantPinnedConflictResponseDtoError.ts b/src/api/types/AssistantPinnedConflictResponseDtoError.ts
new file mode 100644
index 00000000..a5a93deb
--- /dev/null
+++ b/src/api/types/AssistantPinnedConflictResponseDtoError.ts
@@ -0,0 +1,7 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const AssistantPinnedConflictResponseDtoError = {
+ AssistantPinned: "assistant_pinned",
+} as const;
+export type AssistantPinnedConflictResponseDtoError =
+ (typeof AssistantPinnedConflictResponseDtoError)[keyof typeof AssistantPinnedConflictResponseDtoError];
diff --git a/src/api/types/AssistantServerMessagesItem.ts b/src/api/types/AssistantServerMessagesItem.ts
index 8037a807..f83b752a 100644
--- a/src/api/types/AssistantServerMessagesItem.ts
+++ b/src/api/types/AssistantServerMessagesItem.ts
@@ -28,6 +28,7 @@ export const AssistantServerMessagesItem = {
SessionDeleted: "session.deleted",
CallDeleted: "call.deleted",
CallDeleteFailed: "call.delete.failed",
+ CallArtifactUpload: "call.artifact.upload",
} as const;
export type AssistantServerMessagesItem =
(typeof AssistantServerMessagesItem)[keyof typeof AssistantServerMessagesItem];
diff --git a/src/api/types/AssistantTranscriber.ts b/src/api/types/AssistantTranscriber.ts
index 893bde55..4dff57c5 100644
--- a/src/api/types/AssistantTranscriber.ts
+++ b/src/api/types/AssistantTranscriber.ts
@@ -17,7 +17,9 @@ export type AssistantTranscriber =
| Vapi.AssistantTranscriber.Talkscriber
| Vapi.AssistantTranscriber.Openai
| Vapi.AssistantTranscriber.Cartesia
- | Vapi.AssistantTranscriber.Soniox;
+ | Vapi.AssistantTranscriber.Soniox
+ | Vapi.AssistantTranscriber.Xai
+ | Vapi.AssistantTranscriber.Vapi;
export namespace AssistantTranscriber {
export interface AssemblyAi extends Vapi.AssemblyAiTranscriber {
@@ -67,4 +69,12 @@ export namespace AssistantTranscriber {
export interface Soniox extends Vapi.SonioxTranscriber {
provider: "soniox";
}
+
+ export interface Xai extends Vapi.XaiTranscriber {
+ provider: "xai";
+ }
+
+ export interface Vapi extends Vapi.VapiTranscriber {
+ provider: "vapi";
+ }
}
diff --git a/src/api/types/AssistantVersion.ts b/src/api/types/AssistantVersion.ts
new file mode 100644
index 00000000..c1d1cb9d
--- /dev/null
+++ b/src/api/types/AssistantVersion.ts
@@ -0,0 +1,178 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+export interface AssistantVersion {
+ /** These are the options for the assistant's transcriber. */
+ transcriber?: Vapi.AssistantVersionTranscriber | undefined;
+ /** These are the options for the assistant's LLM. */
+ model?: Vapi.AssistantVersionModel | undefined;
+ /** These are the options for the assistant's voice. */
+ voice?: Vapi.AssistantVersionVoice | undefined;
+ /**
+ * This is the first message that the assistant will say. This can also be a URL to a containerized audio file (mp3, wav, etc.).
+ *
+ * If unspecified, assistant will wait for user to speak and use the model to respond once they speak.
+ */
+ firstMessage?: string | undefined;
+ firstMessageInterruptionsEnabled?: boolean | undefined;
+ /**
+ * This is the mode for the first message. Default is 'assistant-speaks-first'.
+ *
+ * Use:
+ * - 'assistant-speaks-first' to have the assistant speak first.
+ * - 'assistant-waits-for-user' to have the assistant wait for the user to speak first.
+ * - 'assistant-speaks-first-with-model-generated-message' to have the assistant speak first with a message generated by the model based on the conversation state. (`assistant.model.messages` at call start, `call.messages` at squad transfer points).
+ *
+ * @default 'assistant-speaks-first'
+ */
+ firstMessageMode?: Vapi.AssistantVersionFirstMessageMode | undefined;
+ /**
+ * These are the settings to configure or disable voicemail detection. Alternatively, voicemail detection can be configured using the model.tools=[VoicemailTool].
+ * By default, voicemail detection is disabled.
+ */
+ voicemailDetection?: Vapi.AssistantVersionVoicemailDetection | undefined;
+ /** These are the messages that will be sent to your Client SDKs. Default is conversation-update,function-call,hang,model-output,speech-update,status-update,transfer-update,transcript,tool-calls,user-interrupted,voice-input,workflow.node.started,assistant.started. You can check the shape of the messages in ClientMessage schema. */
+ clientMessages?: Vapi.AssistantVersionClientMessagesItem[] | undefined;
+ /** These are the messages that will be sent to your Server URL. Default is conversation-update,end-of-call-report,function-call,hang,speech-update,status-update,tool-calls,transfer-destination-request,handoff-destination-request,user-interrupted,assistant.started. You can check the shape of the messages in ServerMessage schema. */
+ serverMessages?: Vapi.AssistantVersionServerMessagesItem[] | undefined;
+ /**
+ * This is the maximum number of seconds that the call will last. When the call reaches this duration, it will be ended.
+ *
+ * @default 600 (10 minutes)
+ */
+ maxDurationSeconds?: number | undefined;
+ /**
+ * This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.
+ * You can also provide a custom sound by providing a URL to an audio file.
+ */
+ backgroundSound?: Vapi.AssistantVersionBackgroundSound | undefined;
+ /**
+ * This determines whether the model's output is used in conversation history rather than the transcription of assistant's speech.
+ *
+ * @default false
+ */
+ modelOutputInMessagesEnabled?: boolean | undefined;
+ /** These are the configurations to be passed to the transport providers of assistant's calls, like Twilio. You can store multiple configurations for different transport providers. For a call, only the configuration matching the call transport provider is used. */
+ transportConfigurations?: Vapi.TransportConfigurationTwilio[] | undefined;
+ /**
+ * This is the plan for observability of assistant's calls.
+ *
+ * Currently, only Langfuse is supported.
+ */
+ observabilityPlan?: Vapi.LangfuseObservabilityPlan | undefined;
+ /** These are dynamic credentials that will be used for the assistant calls. By default, all the credentials are available for use in the call but you can supplement an additional credentials using this. Dynamic credentials override existing credentials. */
+ credentials?: Vapi.AssistantVersionCredentialsItem[] | undefined;
+ /** This is a set of actions that will be performed on certain events. */
+ hooks?: Vapi.AssistantVersionHooksItem[] | undefined;
+ /** Optional human-readable label for this version. Pass `null` to clear. */
+ versionName?: (string | null) | undefined;
+ /** Optional description for this version. Pass `null` to clear. */
+ versionDescription?: (string | null) | undefined;
+ /** This is the unique identifier for the version row. */
+ id: string;
+ /** This is the unique identifier for the org that owns this version. */
+ orgId: string;
+ /** This is the unique identifier for the assistant this version was snapshotted from. */
+ assistantId: string;
+ /**
+ * This is the public monotonic version label, e.g. "v1".
+ * System-owned and incremented per assistant; never user-supplied.
+ */
+ version: string;
+ /** This is the SHA-256 hex of the snapshotted content used for no-op detection. */
+ configHash: string;
+ /** This is the prior version label (vN-1). Null on v1 or for branch roots. */
+ parentVersion?: (string | null) | undefined;
+ /** The version this version was restored from. Null when it was not restored. */
+ restoredFromVersion?: (string | null) | undefined;
+ /** This is the actor that wrote this version. Email when created via JWT, null when created via API. */
+ createdBy?: (string | null) | undefined;
+ /** This is the soft-delete timestamp. Null when active. */
+ deletedAt?: (string | null) | undefined;
+ /** This is the ISO 8601 date-time string of when the version was created. */
+ createdAt: string;
+ /**
+ * This is the name of the assistant.
+ *
+ * This is required when you want to transfer between assistants in a call.
+ */
+ name?: string | undefined;
+ /**
+ * This is the message that the assistant will say if the call is forwarded to voicemail.
+ *
+ * If unspecified, it will hang up.
+ */
+ voicemailMessage?: string | undefined;
+ /**
+ * This is the message that the assistant will say if it ends the call.
+ *
+ * If unspecified, it will hang up without saying anything.
+ */
+ endCallMessage?: string | undefined;
+ /** This list contains phrases that, if spoken by the assistant, will trigger the call to be hung up. Case insensitive. */
+ endCallPhrases?: string[] | undefined;
+ compliancePlan?: Vapi.CompliancePlan | undefined;
+ /** This is for metadata you want to store on the assistant. */
+ metadata?: Record | undefined;
+ /**
+ * This enables filtering of noise and background speech while the user is talking.
+ *
+ * Features:
+ * - Smart denoising using Krisp
+ * - Fourier denoising
+ *
+ * Smart denoising can be combined with or used independently of Fourier denoising.
+ *
+ * Order of precedence:
+ * - Smart denoising
+ * - Fourier denoising
+ */
+ backgroundSpeechDenoisingPlan?: Vapi.BackgroundSpeechDenoisingPlan | undefined;
+ /** This is the plan for analysis of assistant's calls. Stored in `call.analysis`. */
+ analysisPlan?: Vapi.AnalysisPlan | undefined;
+ /** This is the plan for artifacts generated during assistant's calls. Stored in `call.artifact`. */
+ artifactPlan?: Vapi.ArtifactPlan | undefined;
+ /**
+ * This is the plan for when the assistant should start talking.
+ *
+ * You should configure this if you're running into these issues:
+ * - The assistant is too slow to start talking after the customer is done speaking.
+ * - The assistant is too fast to start talking after the customer is done speaking.
+ * - The assistant is so fast that it's actually interrupting the customer.
+ */
+ startSpeakingPlan?: Vapi.StartSpeakingPlan | undefined;
+ /**
+ * This is the plan for when assistant should stop talking on customer interruption.
+ *
+ * You should configure this if you're running into these issues:
+ * - The assistant is too slow to recognize customer's interruption.
+ * - The assistant is too fast to recognize customer's interruption.
+ * - The assistant is getting interrupted by phrases that are just acknowledgments.
+ * - The assistant is getting interrupted by background noises.
+ * - The assistant is not properly stopping -- it starts talking right after getting interrupted.
+ */
+ stopSpeakingPlan?: Vapi.StopSpeakingPlan | undefined;
+ /**
+ * This is the plan for real-time monitoring of the assistant's calls.
+ *
+ * Usage:
+ * - To enable live listening of the assistant's calls, set `monitorPlan.listenEnabled` to `true`.
+ * - To enable live control of the assistant's calls, set `monitorPlan.controlEnabled` to `true`.
+ * - To attach monitors to the assistant, set `monitorPlan.monitorIds` to the set of monitor ids.
+ */
+ monitorPlan?: Vapi.MonitorPlan | undefined;
+ /** These are the credentials that will be used for the assistant calls. By default, all the credentials are available for use in the call but you can provide a subset using this. */
+ credentialIds?: string[] | undefined;
+ /**
+ * This is where Vapi will send webhooks. You can find all webhooks available along with their shape in ServerMessage schema.
+ *
+ * The order of precedence is:
+ *
+ * 1. assistant.server.url
+ * 2. phoneNumber.serverUrl
+ * 3. org.serverUrl
+ */
+ server?: Vapi.Server | undefined;
+ keypadInputPlan?: Vapi.KeypadInputPlan | undefined;
+}
diff --git a/src/api/types/AssistantVersionBackgroundSound.ts b/src/api/types/AssistantVersionBackgroundSound.ts
new file mode 100644
index 00000000..4cc995a1
--- /dev/null
+++ b/src/api/types/AssistantVersionBackgroundSound.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+/**
+ * This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.
+ * You can also provide a custom sound by providing a URL to an audio file.
+ */
+export type AssistantVersionBackgroundSound = Vapi.AssistantVersionBackgroundSoundZero | string;
diff --git a/src/api/types/AssistantVersionBackgroundSoundZero.ts b/src/api/types/AssistantVersionBackgroundSoundZero.ts
new file mode 100644
index 00000000..f7182d9a
--- /dev/null
+++ b/src/api/types/AssistantVersionBackgroundSoundZero.ts
@@ -0,0 +1,8 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const AssistantVersionBackgroundSoundZero = {
+ Off: "off",
+ Office: "office",
+} as const;
+export type AssistantVersionBackgroundSoundZero =
+ (typeof AssistantVersionBackgroundSoundZero)[keyof typeof AssistantVersionBackgroundSoundZero];
diff --git a/src/api/types/AssistantVersionClientMessagesItem.ts b/src/api/types/AssistantVersionClientMessagesItem.ts
new file mode 100644
index 00000000..645f291f
--- /dev/null
+++ b/src/api/types/AssistantVersionClientMessagesItem.ts
@@ -0,0 +1,25 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const AssistantVersionClientMessagesItem = {
+ ConversationUpdate: "conversation-update",
+ AssistantSpeechStarted: "assistant.speechStarted",
+ FunctionCall: "function-call",
+ FunctionCallResult: "function-call-result",
+ Hang: "hang",
+ LanguageChanged: "language-changed",
+ Metadata: "metadata",
+ ModelOutput: "model-output",
+ SpeechUpdate: "speech-update",
+ StatusUpdate: "status-update",
+ Transcript: "transcript",
+ ToolCalls: "tool-calls",
+ ToolCallsResult: "tool-calls-result",
+ ToolCompleted: "tool.completed",
+ TransferUpdate: "transfer-update",
+ UserInterrupted: "user-interrupted",
+ VoiceInput: "voice-input",
+ WorkflowNodeStarted: "workflow.node.started",
+ AssistantStarted: "assistant.started",
+} as const;
+export type AssistantVersionClientMessagesItem =
+ (typeof AssistantVersionClientMessagesItem)[keyof typeof AssistantVersionClientMessagesItem];
diff --git a/src/api/types/AssistantVersionCredentialsItem.ts b/src/api/types/AssistantVersionCredentialsItem.ts
new file mode 100644
index 00000000..f30dcc78
--- /dev/null
+++ b/src/api/types/AssistantVersionCredentialsItem.ts
@@ -0,0 +1,352 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+export type AssistantVersionCredentialsItem =
+ | Vapi.AssistantVersionCredentialsItem._11Labs
+ | Vapi.AssistantVersionCredentialsItem.Anthropic
+ | Vapi.AssistantVersionCredentialsItem.AnthropicBedrock
+ | Vapi.AssistantVersionCredentialsItem.Anyscale
+ | Vapi.AssistantVersionCredentialsItem.AssemblyAi
+ | Vapi.AssistantVersionCredentialsItem.AzureOpenai
+ | Vapi.AssistantVersionCredentialsItem.Azure
+ | Vapi.AssistantVersionCredentialsItem.ByoSipTrunk
+ | Vapi.AssistantVersionCredentialsItem.Cartesia
+ | Vapi.AssistantVersionCredentialsItem.Cerebras
+ | Vapi.AssistantVersionCredentialsItem.Cloudflare
+ | Vapi.AssistantVersionCredentialsItem.CustomLlm
+ | Vapi.AssistantVersionCredentialsItem.Deepgram
+ | Vapi.AssistantVersionCredentialsItem.Deepinfra
+ | Vapi.AssistantVersionCredentialsItem.DeepSeek
+ | Vapi.AssistantVersionCredentialsItem.Gcp
+ | Vapi.AssistantVersionCredentialsItem.Gladia
+ | Vapi.AssistantVersionCredentialsItem.Gohighlevel
+ | Vapi.AssistantVersionCredentialsItem.Google
+ | Vapi.AssistantVersionCredentialsItem.Groq
+ | Vapi.AssistantVersionCredentialsItem.InflectionAi
+ | Vapi.AssistantVersionCredentialsItem.Langfuse
+ | Vapi.AssistantVersionCredentialsItem.Lmnt
+ | Vapi.AssistantVersionCredentialsItem.Make
+ | Vapi.AssistantVersionCredentialsItem.Openai
+ | Vapi.AssistantVersionCredentialsItem.Openrouter
+ | Vapi.AssistantVersionCredentialsItem.PerplexityAi
+ | Vapi.AssistantVersionCredentialsItem.Playht
+ | Vapi.AssistantVersionCredentialsItem.RimeAi
+ | Vapi.AssistantVersionCredentialsItem.Runpod
+ | Vapi.AssistantVersionCredentialsItem.S3
+ | Vapi.AssistantVersionCredentialsItem.S3Compatible
+ | Vapi.AssistantVersionCredentialsItem.Supabase
+ | Vapi.AssistantVersionCredentialsItem.SmallestAi
+ | Vapi.AssistantVersionCredentialsItem.Tavus
+ | Vapi.AssistantVersionCredentialsItem.TogetherAi
+ | Vapi.AssistantVersionCredentialsItem.Twilio
+ | Vapi.AssistantVersionCredentialsItem.Vonage
+ | Vapi.AssistantVersionCredentialsItem.Webhook
+ | Vapi.AssistantVersionCredentialsItem.CustomCredential
+ | Vapi.AssistantVersionCredentialsItem.Xai
+ | Vapi.AssistantVersionCredentialsItem.Microsoft
+ | Vapi.AssistantVersionCredentialsItem.Neuphonic
+ | Vapi.AssistantVersionCredentialsItem.Hume
+ | Vapi.AssistantVersionCredentialsItem.Mistral
+ | Vapi.AssistantVersionCredentialsItem.Speechmatics
+ | Vapi.AssistantVersionCredentialsItem.Soniox
+ | Vapi.AssistantVersionCredentialsItem.GoogleCalendarOauth2Client
+ | Vapi.AssistantVersionCredentialsItem.GoogleCalendarOauth2Authorization
+ | Vapi.AssistantVersionCredentialsItem.GoogleSheetsOauth2Authorization
+ | Vapi.AssistantVersionCredentialsItem.SlackOauth2Authorization
+ | Vapi.AssistantVersionCredentialsItem.GhlOauth2Authorization
+ | Vapi.AssistantVersionCredentialsItem.Inworld
+ | Vapi.AssistantVersionCredentialsItem.Minimax
+ | Vapi.AssistantVersionCredentialsItem.Wellsaid
+ | Vapi.AssistantVersionCredentialsItem.Email
+ | Vapi.AssistantVersionCredentialsItem.SlackWebhook;
+
+export namespace AssistantVersionCredentialsItem {
+ export interface _11Labs extends Vapi.CreateElevenLabsCredentialDto {
+ provider: "11labs";
+ }
+
+ export interface Anthropic extends Vapi.CreateAnthropicCredentialDto {
+ provider: "anthropic";
+ }
+
+ export interface AnthropicBedrock extends Vapi.CreateAnthropicBedrockCredentialDto {
+ provider: "anthropic-bedrock";
+ }
+
+ export interface Anyscale extends Vapi.CreateAnyscaleCredentialDto {
+ provider: "anyscale";
+ }
+
+ export interface AssemblyAi extends Vapi.CreateAssemblyAiCredentialDto {
+ provider: "assembly-ai";
+ }
+
+ export interface AzureOpenai extends Vapi.CreateAzureOpenAiCredentialDto {
+ provider: "azure-openai";
+ }
+
+ export interface Azure extends Vapi.CreateAzureCredentialDto {
+ provider: "azure";
+ }
+
+ export interface ByoSipTrunk extends Vapi.CreateByoSipTrunkCredentialDto {
+ provider: "byo-sip-trunk";
+ }
+
+ export interface Cartesia extends Vapi.CreateCartesiaCredentialDto {
+ provider: "cartesia";
+ }
+
+ export interface Cerebras extends Vapi.CreateCerebrasCredentialDto {
+ provider: "cerebras";
+ }
+
+ export interface Cloudflare extends Vapi.CreateCloudflareCredentialDto {
+ provider: "cloudflare";
+ }
+
+ export interface CustomLlm extends Vapi.CreateCustomLlmCredentialDto {
+ provider: "custom-llm";
+ }
+
+ export interface Deepgram extends Vapi.CreateDeepgramCredentialDto {
+ provider: "deepgram";
+ }
+
+ export interface Deepinfra extends Vapi.CreateDeepInfraCredentialDto {
+ provider: "deepinfra";
+ }
+
+ export interface DeepSeek extends Vapi.CreateDeepSeekCredentialDto {
+ provider: "deep-seek";
+ }
+
+ export interface Gcp extends Vapi.CreateGcpCredentialDto {
+ provider: "gcp";
+ }
+
+ export interface Gladia extends Vapi.CreateGladiaCredentialDto {
+ provider: "gladia";
+ }
+
+ export interface Gohighlevel extends Vapi.CreateGoHighLevelCredentialDto {
+ provider: "gohighlevel";
+ }
+
+ export interface Google extends Vapi.CreateGoogleCredentialDto {
+ provider: "google";
+ }
+
+ export interface Groq extends Vapi.CreateGroqCredentialDto {
+ provider: "groq";
+ }
+
+ export interface InflectionAi extends Vapi.CreateInflectionAiCredentialDto {
+ provider: "inflection-ai";
+ }
+
+ export interface Langfuse extends Vapi.CreateLangfuseCredentialDto {
+ provider: "langfuse";
+ }
+
+ export interface Lmnt extends Vapi.CreateLmntCredentialDto {
+ provider: "lmnt";
+ }
+
+ export interface Make extends Vapi.CreateMakeCredentialDto {
+ provider: "make";
+ }
+
+ export interface Openai extends Vapi.CreateOpenAiCredentialDto {
+ provider: "openai";
+ }
+
+ export interface Openrouter extends Vapi.CreateOpenRouterCredentialDto {
+ provider: "openrouter";
+ }
+
+ export interface PerplexityAi extends Vapi.CreatePerplexityAiCredentialDto {
+ provider: "perplexity-ai";
+ }
+
+ export interface Playht extends Vapi.CreatePlayHtCredentialDto {
+ provider: "playht";
+ }
+
+ export interface RimeAi extends Vapi.CreateRimeAiCredentialDto {
+ provider: "rime-ai";
+ }
+
+ export interface Runpod extends Vapi.CreateRunpodCredentialDto {
+ provider: "runpod";
+ }
+
+ export interface S3 extends Vapi.CreateS3CredentialDto {
+ provider: "s3";
+ }
+
+ export interface S3Compatible extends Vapi.CreateS3CompatibleCredentialDto {
+ provider: "s3-compatible";
+ }
+
+ export interface Supabase extends Vapi.CreateSupabaseCredentialDto {
+ provider: "supabase";
+ }
+
+ export interface SmallestAi extends Vapi.CreateSmallestAiCredentialDto {
+ provider: "smallest-ai";
+ }
+
+ export interface Tavus extends Vapi.CreateTavusCredentialDto {
+ provider: "tavus";
+ }
+
+ export interface TogetherAi extends Vapi.CreateTogetherAiCredentialDto {
+ provider: "together-ai";
+ }
+
+ export interface Twilio extends Vapi.CreateTwilioCredentialDto {
+ provider: "twilio";
+ }
+
+ export interface Vonage extends Vapi.CreateVonageCredentialDto {
+ provider: "vonage";
+ }
+
+ export interface Webhook extends Vapi.CreateWebhookCredentialDto {
+ provider: "webhook";
+ }
+
+ export interface CustomCredential extends Vapi.CreateCustomCredentialDto {
+ provider: "custom-credential";
+ }
+
+ export interface Xai extends Vapi.CreateXAiCredentialDto {
+ provider: "xai";
+ }
+
+ export interface Microsoft extends Vapi.CreateMicrosoftCredentialDto {
+ provider: "microsoft";
+ }
+
+ export interface Neuphonic extends Vapi.CreateNeuphonicCredentialDto {
+ provider: "neuphonic";
+ }
+
+ export interface Hume extends Vapi.CreateHumeCredentialDto {
+ provider: "hume";
+ }
+
+ export interface Mistral extends Vapi.CreateMistralCredentialDto {
+ provider: "mistral";
+ }
+
+ export interface Speechmatics extends Vapi.CreateSpeechmaticsCredentialDto {
+ provider: "speechmatics";
+ }
+
+ export interface Soniox extends Vapi.CreateSonioxCredentialDto {
+ provider: "soniox";
+ }
+
+ export interface GoogleCalendarOauth2Client extends Vapi.CreateGoogleCalendarOAuth2ClientCredentialDto {
+ provider: "google.calendar.oauth2-client";
+ }
+
+ export interface GoogleCalendarOauth2Authorization
+ extends Vapi.CreateGoogleCalendarOAuth2AuthorizationCredentialDto {
+ provider: "google.calendar.oauth2-authorization";
+ }
+
+ export interface GoogleSheetsOauth2Authorization extends Vapi.CreateGoogleSheetsOAuth2AuthorizationCredentialDto {
+ provider: "google.sheets.oauth2-authorization";
+ }
+
+ export interface SlackOauth2Authorization extends Vapi.CreateSlackOAuth2AuthorizationCredentialDto {
+ provider: "slack.oauth2-authorization";
+ }
+
+ export interface GhlOauth2Authorization extends Vapi.CreateGoHighLevelMcpCredentialDto {
+ provider: "ghl.oauth2-authorization";
+ }
+
+ export interface Inworld extends Vapi.CreateInworldCredentialDto {
+ provider: "inworld";
+ }
+
+ export interface Minimax extends Vapi.CreateMinimaxCredentialDto {
+ provider: "minimax";
+ }
+
+ export interface Wellsaid extends Vapi.CreateWellSaidCredentialDto {
+ provider: "wellsaid";
+ }
+
+ export interface Email extends Vapi.CreateEmailCredentialDto {
+ provider: "email";
+ }
+
+ export interface SlackWebhook extends Vapi.CreateSlackWebhookCredentialDto {
+ provider: "slack-webhook";
+ }
+
+ export type Response =
+ | Vapi.AssistantVersionCredentialsItem._11Labs
+ | Vapi.AssistantVersionCredentialsItem.Anthropic
+ | Vapi.AssistantVersionCredentialsItem.AnthropicBedrock
+ | Vapi.AssistantVersionCredentialsItem.Anyscale
+ | Vapi.AssistantVersionCredentialsItem.AssemblyAi
+ | Vapi.AssistantVersionCredentialsItem.AzureOpenai
+ | Vapi.AssistantVersionCredentialsItem.Azure
+ | Vapi.AssistantVersionCredentialsItem.ByoSipTrunk
+ | Vapi.AssistantVersionCredentialsItem.Cartesia
+ | Vapi.AssistantVersionCredentialsItem.Cerebras
+ | Vapi.AssistantVersionCredentialsItem.Cloudflare
+ | Vapi.AssistantVersionCredentialsItem.CustomLlm
+ | Vapi.AssistantVersionCredentialsItem.Deepgram
+ | Vapi.AssistantVersionCredentialsItem.Deepinfra
+ | Vapi.AssistantVersionCredentialsItem.DeepSeek
+ | Vapi.AssistantVersionCredentialsItem.Gcp
+ | Vapi.AssistantVersionCredentialsItem.Gladia
+ | Vapi.AssistantVersionCredentialsItem.Gohighlevel
+ | Vapi.AssistantVersionCredentialsItem.Google
+ | Vapi.AssistantVersionCredentialsItem.Groq
+ | Vapi.AssistantVersionCredentialsItem.InflectionAi
+ | Vapi.AssistantVersionCredentialsItem.Langfuse
+ | Vapi.AssistantVersionCredentialsItem.Lmnt
+ | Vapi.AssistantVersionCredentialsItem.Make
+ | Vapi.AssistantVersionCredentialsItem.Openai
+ | Vapi.AssistantVersionCredentialsItem.Openrouter
+ | Vapi.AssistantVersionCredentialsItem.PerplexityAi
+ | Vapi.AssistantVersionCredentialsItem.Playht
+ | Vapi.AssistantVersionCredentialsItem.RimeAi
+ | Vapi.AssistantVersionCredentialsItem.Runpod
+ | Vapi.AssistantVersionCredentialsItem.S3
+ | Vapi.AssistantVersionCredentialsItem.S3Compatible
+ | Vapi.AssistantVersionCredentialsItem.Supabase
+ | Vapi.AssistantVersionCredentialsItem.SmallestAi
+ | Vapi.AssistantVersionCredentialsItem.Tavus
+ | Vapi.AssistantVersionCredentialsItem.TogetherAi
+ | Vapi.AssistantVersionCredentialsItem.Twilio
+ | Vapi.AssistantVersionCredentialsItem.Vonage
+ | Vapi.AssistantVersionCredentialsItem.Webhook
+ | Vapi.AssistantVersionCredentialsItem.CustomCredential
+ | Vapi.AssistantVersionCredentialsItem.Xai
+ | Vapi.AssistantVersionCredentialsItem.Microsoft
+ | Vapi.AssistantVersionCredentialsItem.Neuphonic
+ | Vapi.AssistantVersionCredentialsItem.Hume
+ | Vapi.AssistantVersionCredentialsItem.Mistral
+ | Vapi.AssistantVersionCredentialsItem.Speechmatics
+ | Vapi.AssistantVersionCredentialsItem.Soniox
+ | Vapi.AssistantVersionCredentialsItem.GoogleCalendarOauth2Client
+ | Vapi.AssistantVersionCredentialsItem.GoogleCalendarOauth2Authorization
+ | Vapi.AssistantVersionCredentialsItem.GoogleSheetsOauth2Authorization
+ | Vapi.AssistantVersionCredentialsItem.SlackOauth2Authorization
+ | Vapi.AssistantVersionCredentialsItem.GhlOauth2Authorization
+ | Vapi.AssistantVersionCredentialsItem.Inworld
+ | Vapi.AssistantVersionCredentialsItem.Minimax
+ | Vapi.AssistantVersionCredentialsItem.Wellsaid
+ | Vapi.AssistantVersionCredentialsItem.Email
+ | Vapi.AssistantVersionCredentialsItem.SlackWebhook;
+}
diff --git a/src/api/types/AssistantVersionFirstMessageMode.ts b/src/api/types/AssistantVersionFirstMessageMode.ts
new file mode 100644
index 00000000..4f1aa565
--- /dev/null
+++ b/src/api/types/AssistantVersionFirstMessageMode.ts
@@ -0,0 +1,19 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * This is the mode for the first message. Default is 'assistant-speaks-first'.
+ *
+ * Use:
+ * - 'assistant-speaks-first' to have the assistant speak first.
+ * - 'assistant-waits-for-user' to have the assistant wait for the user to speak first.
+ * - 'assistant-speaks-first-with-model-generated-message' to have the assistant speak first with a message generated by the model based on the conversation state. (`assistant.model.messages` at call start, `call.messages` at squad transfer points).
+ *
+ * @default 'assistant-speaks-first'
+ */
+export const AssistantVersionFirstMessageMode = {
+ AssistantSpeaksFirst: "assistant-speaks-first",
+ AssistantSpeaksFirstWithModelGeneratedMessage: "assistant-speaks-first-with-model-generated-message",
+ AssistantWaitsForUser: "assistant-waits-for-user",
+} as const;
+export type AssistantVersionFirstMessageMode =
+ (typeof AssistantVersionFirstMessageMode)[keyof typeof AssistantVersionFirstMessageMode];
diff --git a/src/api/types/AssistantVersionHooksItem.ts b/src/api/types/AssistantVersionHooksItem.ts
new file mode 100644
index 00000000..4faa0028
--- /dev/null
+++ b/src/api/types/AssistantVersionHooksItem.ts
@@ -0,0 +1,10 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+export type AssistantVersionHooksItem =
+ | Vapi.CallHookCallEnding
+ | Vapi.CallHookAssistantSpeechInterrupted
+ | Vapi.CallHookCustomerSpeechInterrupted
+ | Vapi.CallHookCustomerSpeechTimeout
+ | Vapi.SessionCreatedHook;
diff --git a/src/api/types/AssistantVersionModel.ts b/src/api/types/AssistantVersionModel.ts
new file mode 100644
index 00000000..ce4ad547
--- /dev/null
+++ b/src/api/types/AssistantVersionModel.ts
@@ -0,0 +1,117 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+/**
+ * These are the options for the assistant's LLM.
+ */
+export type AssistantVersionModel =
+ | Vapi.AssistantVersionModel.Anthropic
+ | Vapi.AssistantVersionModel.AnthropicBedrock
+ | Vapi.AssistantVersionModel.Anyscale
+ | Vapi.AssistantVersionModel.Cerebras
+ | Vapi.AssistantVersionModel.CustomLlm
+ | Vapi.AssistantVersionModel.Deepinfra
+ | Vapi.AssistantVersionModel.DeepSeek
+ | Vapi.AssistantVersionModel.Google
+ | Vapi.AssistantVersionModel.Groq
+ | Vapi.AssistantVersionModel.InflectionAi
+ | Vapi.AssistantVersionModel.Minimax
+ | Vapi.AssistantVersionModel.Openai
+ | Vapi.AssistantVersionModel.Openrouter
+ | Vapi.AssistantVersionModel.PerplexityAi
+ | Vapi.AssistantVersionModel.TogetherAi
+ | Vapi.AssistantVersionModel.Xai
+ | Vapi.AssistantVersionModel.Vapi;
+
+export namespace AssistantVersionModel {
+ export interface Anthropic extends Vapi.AnthropicModel {
+ provider: "anthropic";
+ }
+
+ export interface AnthropicBedrock extends Vapi.AnthropicBedrockModel {
+ provider: "anthropic-bedrock";
+ }
+
+ export interface Anyscale extends Vapi.AnyscaleModel {
+ provider: "anyscale";
+ }
+
+ export interface Cerebras extends Vapi.CerebrasModel {
+ provider: "cerebras";
+ }
+
+ export interface CustomLlm extends Vapi.CustomLlmModel {
+ provider: "custom-llm";
+ }
+
+ export interface Deepinfra extends Vapi.DeepInfraModel {
+ provider: "deepinfra";
+ }
+
+ export interface DeepSeek extends Vapi.DeepSeekModel {
+ provider: "deep-seek";
+ }
+
+ export interface Google extends Vapi.GoogleModel {
+ provider: "google";
+ }
+
+ export interface Groq extends Vapi.GroqModel {
+ provider: "groq";
+ }
+
+ export interface InflectionAi extends Vapi.InflectionAiModel {
+ provider: "inflection-ai";
+ }
+
+ export interface Minimax extends Vapi.MinimaxLlmModel {
+ provider: "minimax";
+ }
+
+ export interface Openai extends Vapi.OpenAiModel {
+ provider: "openai";
+ }
+
+ export interface Openrouter extends Vapi.OpenRouterModel {
+ provider: "openrouter";
+ }
+
+ export interface PerplexityAi extends Vapi.PerplexityAiModel {
+ provider: "perplexity-ai";
+ }
+
+ export interface TogetherAi extends Vapi.TogetherAiModel {
+ provider: "together-ai";
+ }
+
+ export interface Xai extends Vapi.XaiModel {
+ provider: "xai";
+ }
+
+ export interface Vapi extends Vapi.VapiModel {
+ provider: "vapi";
+ }
+
+ /**
+ * These are the options for the assistant's LLM.
+ */
+ export type Response =
+ | Vapi.AssistantVersionModel.Anthropic
+ | Vapi.AssistantVersionModel.AnthropicBedrock
+ | Vapi.AssistantVersionModel.Anyscale
+ | Vapi.AssistantVersionModel.Cerebras
+ | Vapi.AssistantVersionModel.CustomLlm
+ | Vapi.AssistantVersionModel.Deepinfra
+ | Vapi.AssistantVersionModel.DeepSeek
+ | Vapi.AssistantVersionModel.Google
+ | Vapi.AssistantVersionModel.Groq
+ | Vapi.AssistantVersionModel.InflectionAi
+ | Vapi.AssistantVersionModel.Minimax
+ | Vapi.AssistantVersionModel.Openai
+ | Vapi.AssistantVersionModel.Openrouter
+ | Vapi.AssistantVersionModel.PerplexityAi
+ | Vapi.AssistantVersionModel.TogetherAi
+ | Vapi.AssistantVersionModel.Xai
+ | Vapi.AssistantVersionModel.Vapi;
+}
diff --git a/src/api/types/AssistantVersionPaginatedMetadata.ts b/src/api/types/AssistantVersionPaginatedMetadata.ts
new file mode 100644
index 00000000..06b9e65b
--- /dev/null
+++ b/src/api/types/AssistantVersionPaginatedMetadata.ts
@@ -0,0 +1,7 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export interface AssistantVersionPaginatedMetadata {
+ nextCursor?: (string | null) | undefined;
+ hasNextPage: boolean;
+ limit: number;
+}
diff --git a/src/api/types/AssistantVersionPaginatedResponse.ts b/src/api/types/AssistantVersionPaginatedResponse.ts
index 16d25a71..1e1a2515 100644
--- a/src/api/types/AssistantVersionPaginatedResponse.ts
+++ b/src/api/types/AssistantVersionPaginatedResponse.ts
@@ -3,7 +3,6 @@
import type * as Vapi from "../index.js";
export interface AssistantVersionPaginatedResponse {
- results: unknown[];
- metadata: Vapi.PaginationMeta;
- nextPageState?: string | undefined;
+ results: Vapi.AssistantVersion[];
+ metadata: Vapi.AssistantVersionPaginatedMetadata;
}
diff --git a/src/api/types/AssistantVersionServerMessagesItem.ts b/src/api/types/AssistantVersionServerMessagesItem.ts
new file mode 100644
index 00000000..6cc9de1b
--- /dev/null
+++ b/src/api/types/AssistantVersionServerMessagesItem.ts
@@ -0,0 +1,34 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const AssistantVersionServerMessagesItem = {
+ AssistantStarted: "assistant.started",
+ AssistantSpeechStarted: "assistant.speechStarted",
+ ConversationUpdate: "conversation-update",
+ EndOfCallReport: "end-of-call-report",
+ FunctionCall: "function-call",
+ Hang: "hang",
+ LanguageChanged: "language-changed",
+ LanguageChangeDetected: "language-change-detected",
+ ModelOutput: "model-output",
+ PhoneCallControl: "phone-call-control",
+ SpeechUpdate: "speech-update",
+ StatusUpdate: "status-update",
+ Transcript: "transcript",
+ TranscriptTranscriptTypeFinal: 'transcript[transcriptType="final"]',
+ ToolCalls: "tool-calls",
+ TransferDestinationRequest: "transfer-destination-request",
+ HandoffDestinationRequest: "handoff-destination-request",
+ TransferUpdate: "transfer-update",
+ UserInterrupted: "user-interrupted",
+ VoiceInput: "voice-input",
+ ChatCreated: "chat.created",
+ ChatDeleted: "chat.deleted",
+ SessionCreated: "session.created",
+ SessionUpdated: "session.updated",
+ SessionDeleted: "session.deleted",
+ CallDeleted: "call.deleted",
+ CallDeleteFailed: "call.delete.failed",
+ CallArtifactUpload: "call.artifact.upload",
+} as const;
+export type AssistantVersionServerMessagesItem =
+ (typeof AssistantVersionServerMessagesItem)[keyof typeof AssistantVersionServerMessagesItem];
diff --git a/src/api/types/AssistantVersionTranscriber.ts b/src/api/types/AssistantVersionTranscriber.ts
new file mode 100644
index 00000000..9558afb2
--- /dev/null
+++ b/src/api/types/AssistantVersionTranscriber.ts
@@ -0,0 +1,80 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+/**
+ * These are the options for the assistant's transcriber.
+ */
+export type AssistantVersionTranscriber =
+ | Vapi.AssistantVersionTranscriber.AssemblyAi
+ | Vapi.AssistantVersionTranscriber.Azure
+ | Vapi.AssistantVersionTranscriber.CustomTranscriber
+ | Vapi.AssistantVersionTranscriber.Deepgram
+ | Vapi.AssistantVersionTranscriber._11Labs
+ | Vapi.AssistantVersionTranscriber.Gladia
+ | Vapi.AssistantVersionTranscriber.Google
+ | Vapi.AssistantVersionTranscriber.Speechmatics
+ | Vapi.AssistantVersionTranscriber.Talkscriber
+ | Vapi.AssistantVersionTranscriber.Openai
+ | Vapi.AssistantVersionTranscriber.Cartesia
+ | Vapi.AssistantVersionTranscriber.Soniox
+ | Vapi.AssistantVersionTranscriber.Xai
+ | Vapi.AssistantVersionTranscriber.Vapi;
+
+export namespace AssistantVersionTranscriber {
+ export interface AssemblyAi extends Vapi.AssemblyAiTranscriber {
+ provider: "assembly-ai";
+ }
+
+ export interface Azure extends Vapi.AzureSpeechTranscriber {
+ provider: "azure";
+ }
+
+ export interface CustomTranscriber extends Vapi.CustomTranscriber {
+ provider: "custom-transcriber";
+ }
+
+ export interface Deepgram extends Vapi.DeepgramTranscriber {
+ provider: "deepgram";
+ }
+
+ export interface _11Labs extends Vapi.ElevenLabsTranscriber {
+ provider: "11labs";
+ }
+
+ export interface Gladia extends Vapi.GladiaTranscriber {
+ provider: "gladia";
+ }
+
+ export interface Google extends Vapi.GoogleTranscriber {
+ provider: "google";
+ }
+
+ export interface Speechmatics extends Vapi.SpeechmaticsTranscriber {
+ provider: "speechmatics";
+ }
+
+ export interface Talkscriber extends Vapi.TalkscriberTranscriber {
+ provider: "talkscriber";
+ }
+
+ export interface Openai extends Vapi.OpenAiTranscriber {
+ provider: "openai";
+ }
+
+ export interface Cartesia extends Vapi.CartesiaTranscriber {
+ provider: "cartesia";
+ }
+
+ export interface Soniox extends Vapi.SonioxTranscriber {
+ provider: "soniox";
+ }
+
+ export interface Xai extends Vapi.XaiTranscriber {
+ provider: "xai";
+ }
+
+ export interface Vapi extends Vapi.VapiTranscriber {
+ provider: "vapi";
+ }
+}
diff --git a/src/api/types/AssistantVersionVoice.ts b/src/api/types/AssistantVersionVoice.ts
new file mode 100644
index 00000000..be56debb
--- /dev/null
+++ b/src/api/types/AssistantVersionVoice.ts
@@ -0,0 +1,110 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+/**
+ * These are the options for the assistant's voice.
+ */
+export type AssistantVersionVoice =
+ | Vapi.AssistantVersionVoice.Azure
+ | Vapi.AssistantVersionVoice.Cartesia
+ | Vapi.AssistantVersionVoice.CustomVoice
+ | Vapi.AssistantVersionVoice.Deepgram
+ | Vapi.AssistantVersionVoice._11Labs
+ | Vapi.AssistantVersionVoice.Hume
+ | Vapi.AssistantVersionVoice.Lmnt
+ | Vapi.AssistantVersionVoice.Neuphonic
+ | Vapi.AssistantVersionVoice.Openai
+ | Vapi.AssistantVersionVoice.Playht
+ | Vapi.AssistantVersionVoice.Wellsaid
+ | Vapi.AssistantVersionVoice.RimeAi
+ | Vapi.AssistantVersionVoice.SmallestAi
+ | Vapi.AssistantVersionVoice.Tavus
+ | Vapi.AssistantVersionVoice.Vapi
+ | Vapi.AssistantVersionVoice.Sesame
+ | Vapi.AssistantVersionVoice.Inworld
+ | Vapi.AssistantVersionVoice.Minimax
+ | Vapi.AssistantVersionVoice.Xai
+ | Vapi.AssistantVersionVoice.Microsoft;
+
+export namespace AssistantVersionVoice {
+ export interface Azure extends Vapi.AzureVoice {
+ provider: "azure";
+ }
+
+ export interface Cartesia extends Vapi.CartesiaVoice {
+ provider: "cartesia";
+ }
+
+ export interface CustomVoice extends Vapi.CustomVoice {
+ provider: "custom-voice";
+ }
+
+ export interface Deepgram extends Vapi.DeepgramVoice {
+ provider: "deepgram";
+ }
+
+ export interface _11Labs extends Vapi.ElevenLabsVoice {
+ provider: "11labs";
+ }
+
+ export interface Hume extends Vapi.HumeVoice {
+ provider: "hume";
+ }
+
+ export interface Lmnt extends Vapi.LmntVoice {
+ provider: "lmnt";
+ }
+
+ export interface Neuphonic extends Vapi.NeuphonicVoice {
+ provider: "neuphonic";
+ }
+
+ export interface Openai extends Vapi.OpenAiVoice {
+ provider: "openai";
+ }
+
+ export interface Playht extends Vapi.PlayHtVoice {
+ provider: "playht";
+ }
+
+ export interface Wellsaid extends Vapi.WellSaidVoice {
+ provider: "wellsaid";
+ }
+
+ export interface RimeAi extends Vapi.RimeAiVoice {
+ provider: "rime-ai";
+ }
+
+ export interface SmallestAi extends Vapi.SmallestAiVoice {
+ provider: "smallest-ai";
+ }
+
+ export interface Tavus extends Vapi.TavusVoice {
+ provider: "tavus";
+ }
+
+ export interface Vapi extends Vapi.VapiVoice {
+ provider: "vapi";
+ }
+
+ export interface Sesame extends Vapi.SesameVoice {
+ provider: "sesame";
+ }
+
+ export interface Inworld extends Vapi.InworldVoice {
+ provider: "inworld";
+ }
+
+ export interface Minimax extends Vapi.MinimaxVoice {
+ provider: "minimax";
+ }
+
+ export interface Xai extends Vapi.XaiVoice {
+ provider: "xai";
+ }
+
+ export interface Microsoft extends Vapi.MicrosoftVoice {
+ provider: "microsoft";
+ }
+}
diff --git a/src/api/types/AssistantVersionVoicemailDetection.ts b/src/api/types/AssistantVersionVoicemailDetection.ts
new file mode 100644
index 00000000..fdeb931a
--- /dev/null
+++ b/src/api/types/AssistantVersionVoicemailDetection.ts
@@ -0,0 +1,14 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+/**
+ * These are the settings to configure or disable voicemail detection. Alternatively, voicemail detection can be configured using the model.tools=[VoicemailTool].
+ * By default, voicemail detection is disabled.
+ */
+export type AssistantVersionVoicemailDetection =
+ | Vapi.AssistantVersionVoicemailDetectionZero
+ | Vapi.GoogleVoicemailDetectionPlan
+ | Vapi.OpenAiVoicemailDetectionPlan
+ | Vapi.TwilioVoicemailDetectionPlan
+ | Vapi.VapiVoicemailDetectionPlan;
diff --git a/src/api/types/AssistantVersionVoicemailDetectionZero.ts b/src/api/types/AssistantVersionVoicemailDetectionZero.ts
new file mode 100644
index 00000000..587729ed
--- /dev/null
+++ b/src/api/types/AssistantVersionVoicemailDetectionZero.ts
@@ -0,0 +1,7 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const AssistantVersionVoicemailDetectionZero = {
+ Off: "off",
+} as const;
+export type AssistantVersionVoicemailDetectionZero =
+ (typeof AssistantVersionVoicemailDetectionZero)[keyof typeof AssistantVersionVoicemailDetectionZero];
diff --git a/src/api/types/AssistantVoice.ts b/src/api/types/AssistantVoice.ts
index 33b47cbc..7f7dd28c 100644
--- a/src/api/types/AssistantVoice.ts
+++ b/src/api/types/AssistantVoice.ts
@@ -23,7 +23,9 @@ export type AssistantVoice =
| Vapi.AssistantVoice.Vapi
| Vapi.AssistantVoice.Sesame
| Vapi.AssistantVoice.Inworld
- | Vapi.AssistantVoice.Minimax;
+ | Vapi.AssistantVoice.Minimax
+ | Vapi.AssistantVoice.Xai
+ | Vapi.AssistantVoice.Microsoft;
export namespace AssistantVoice {
export interface Azure extends Vapi.AzureVoice {
@@ -97,4 +99,12 @@ export namespace AssistantVoice {
export interface Minimax extends Vapi.MinimaxVoice {
provider: "minimax";
}
+
+ export interface Xai extends Vapi.XaiVoice {
+ provider: "xai";
+ }
+
+ export interface Microsoft extends Vapi.MicrosoftVoice {
+ provider: "microsoft";
+ }
}
diff --git a/src/api/types/AudioFormat.ts b/src/api/types/AudioFormat.ts
new file mode 100644
index 00000000..009af6d0
--- /dev/null
+++ b/src/api/types/AudioFormat.ts
@@ -0,0 +1,24 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+export interface AudioFormat {
+ /**
+ * This is the sample rate of the call.
+ *
+ * @default 16000
+ */
+ sampleRate: number;
+ /**
+ * This is the audio format of the call.
+ *
+ * @default 'pcm_s16le'
+ */
+ format: Record;
+ /**
+ * This is the container format of the call.
+ *
+ * @default 'raw'
+ */
+ container?: Vapi.AudioFormatContainer | undefined;
+}
diff --git a/src/api/types/AudioFormatContainer.ts b/src/api/types/AudioFormatContainer.ts
new file mode 100644
index 00000000..bb3f40ca
--- /dev/null
+++ b/src/api/types/AudioFormatContainer.ts
@@ -0,0 +1,11 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * This is the container format of the call.
+ *
+ * @default 'raw'
+ */
+export const AudioFormatContainer = {
+ Raw: "raw",
+} as const;
+export type AudioFormatContainer = (typeof AudioFormatContainer)[keyof typeof AudioFormatContainer];
diff --git a/src/api/types/AwsStsAuthenticationPlan.ts b/src/api/types/AwsStsAuthenticationPlan.ts
index 92265580..55bec9a6 100644
--- a/src/api/types/AwsStsAuthenticationPlan.ts
+++ b/src/api/types/AwsStsAuthenticationPlan.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * AWS Security Token Service role-assumption configuration used to authenticate requests.
+ */
export interface AwsStsAuthenticationPlan {
/** This is the role ARN for the AWS credential */
roleArn: string;
diff --git a/src/api/types/AwsiamCredentialsAuthenticationPlan.ts b/src/api/types/AwsiamCredentialsAuthenticationPlan.ts
index cb7a2474..713e5a4e 100644
--- a/src/api/types/AwsiamCredentialsAuthenticationPlan.ts
+++ b/src/api/types/AwsiamCredentialsAuthenticationPlan.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Direct AWS IAM credentials used to authenticate requests.
+ */
export interface AwsiamCredentialsAuthenticationPlan {
/** AWS Access Key ID. This is not returned in the API. */
awsAccessKeyId: string;
diff --git a/src/api/types/AzureBlobStorageBucketPlan.ts b/src/api/types/AzureBlobStorageBucketPlan.ts
index 387d857f..d9f62c49 100644
--- a/src/api/types/AzureBlobStorageBucketPlan.ts
+++ b/src/api/types/AzureBlobStorageBucketPlan.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Azure Blob Storage container configuration for call artifacts, including its connection string, container name, and storage path.
+ */
export interface AzureBlobStorageBucketPlan {
/** This is the blob storage connection string for the Azure resource. */
connectionString: string;
diff --git a/src/api/types/AzureCredentialRegion.ts b/src/api/types/AzureCredentialRegion.ts
index 94517fad..845f8f10 100644
--- a/src/api/types/AzureCredentialRegion.ts
+++ b/src/api/types/AzureCredentialRegion.ts
@@ -20,6 +20,8 @@ export const AzureCredentialRegion = {
Spaincentral: "spaincentral",
Swedencentral: "swedencentral",
Switzerland: "switzerland",
+ Switzerlandnorth: "switzerlandnorth",
+ Switzerlandwest: "switzerlandwest",
Uaenorth: "uaenorth",
Uk: "uk",
Westeurope: "westeurope",
diff --git a/src/api/types/AzureOpenAiCredentialModelsItem.ts b/src/api/types/AzureOpenAiCredentialModelsItem.ts
index 6c02b1ff..435e1846 100644
--- a/src/api/types/AzureOpenAiCredentialModelsItem.ts
+++ b/src/api/types/AzureOpenAiCredentialModelsItem.ts
@@ -1,6 +1,9 @@
// This file was auto-generated by Fern from our API Definition.
export const AzureOpenAiCredentialModelsItem = {
+ Gpt56Luna20260709: "gpt-5.6-luna-2026-07-09",
+ Gpt56Terra20260709: "gpt-5.6-terra-2026-07-09",
+ Gpt56Sol20260709: "gpt-5.6-sol-2026-07-09",
Gpt54: "gpt-5.4",
Gpt54Mini: "gpt-5.4-mini",
Gpt54Nano: "gpt-5.4-nano",
@@ -24,6 +27,9 @@ export const AzureOpenAiCredentialModelsItem = {
Gpt40613: "gpt-4-0613",
Gpt35Turbo0125: "gpt-35-turbo-0125",
Gpt35Turbo1106: "gpt-35-turbo-1106",
+ Gpt4O: "gpt-4o",
+ Gpt41: "gpt-4.1",
+ Gpt54Mini20260317: "gpt-5.4-mini-2026-03-17",
} as const;
export type AzureOpenAiCredentialModelsItem =
(typeof AzureOpenAiCredentialModelsItem)[keyof typeof AzureOpenAiCredentialModelsItem];
diff --git a/src/api/types/AzureOpenAiCredentialRegion.ts b/src/api/types/AzureOpenAiCredentialRegion.ts
index a879350f..a64f5654 100644
--- a/src/api/types/AzureOpenAiCredentialRegion.ts
+++ b/src/api/types/AzureOpenAiCredentialRegion.ts
@@ -19,6 +19,8 @@ export const AzureOpenAiCredentialRegion = {
Spaincentral: "spaincentral",
Swedencentral: "swedencentral",
Switzerland: "switzerland",
+ Switzerlandnorth: "switzerlandnorth",
+ Switzerlandwest: "switzerlandwest",
Uaenorth: "uaenorth",
Uk: "uk",
Westeurope: "westeurope",
diff --git a/src/api/types/AzureSpeechTranscriber.ts b/src/api/types/AzureSpeechTranscriber.ts
index 87868250..e7e00a7f 100644
--- a/src/api/types/AzureSpeechTranscriber.ts
+++ b/src/api/types/AzureSpeechTranscriber.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration for transcribing speech during assistant conversations with Azure Speech, including language, segmentation, and fallback settings.
+ */
export interface AzureSpeechTranscriber {
/** This is the language that will be set for the transcription. The list of languages Azure supports can be found here: https://learn.microsoft.com/en-us/azure/ai-services/speech-service/language-support?tabs=stt */
language?: Vapi.AzureSpeechTranscriberLanguage | undefined;
diff --git a/src/api/types/AzureVoice.ts b/src/api/types/AzureVoice.ts
index f28e516b..3fc4b156 100644
--- a/src/api/types/AzureVoice.ts
+++ b/src/api/types/AzureVoice.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration for synthesizing assistant speech with Azure, including voice selection, speed, chunking, caching, and fallback settings.
+ */
export interface AzureVoice {
/** This is the flag to toggle voice caching for the assistant. */
cachingEnabled?: boolean | undefined;
diff --git a/src/api/types/BackgroundSpeechDenoisingPlan.ts b/src/api/types/BackgroundSpeechDenoisingPlan.ts
index fbfbca1a..f0b37f08 100644
--- a/src/api/types/BackgroundSpeechDenoisingPlan.ts
+++ b/src/api/types/BackgroundSpeechDenoisingPlan.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Controls smart and Fourier denoising applied to customer audio before transcription.
+ */
export interface BackgroundSpeechDenoisingPlan {
/** Whether smart denoising using Krisp is enabled. */
smartDenoisingPlan?: Vapi.SmartDenoisingPlan | undefined;
diff --git a/src/api/types/BackoffPlan.ts b/src/api/types/BackoffPlan.ts
index ae617e1d..2d951867 100644
--- a/src/api/types/BackoffPlan.ts
+++ b/src/api/types/BackoffPlan.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Controls retry behavior for failed server requests, including strategy, maximum retries, base delay, and status codes excluded from retries.
+ */
export interface BackoffPlan {
/**
* This is the type of backoff plan to use. Defaults to fixed.
@@ -13,11 +16,8 @@ export interface BackoffPlan {
* @default 0
*/
maxRetries: number;
- /** This is the base delay in seconds. For linear backoff, this is the delay between each retry. For exponential backoff, this is the initial delay. */
+ /** Base delay in seconds. For fixed backoff, this is the delay between retries. For exponential backoff, this is the initial delay. */
baseDelaySeconds: number;
- /**
- * This is the excluded status codes. If the response status code is in this list, the request will not be retried.
- * By default, the request will be retried for any non-2xx status code.
- */
+ /** HTTP status codes that should not trigger a retry. By default, any non-2xx status code not listed here can be retried. */
excludedStatusCodes?: Record[] | undefined;
}
diff --git a/src/api/types/BarInsight.ts b/src/api/types/BarInsight.ts
index 6d2cb765..27d5967e 100644
--- a/src/api/types/BarInsight.ts
+++ b/src/api/types/BarInsight.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * A saved bar-chart insight containing its call-data queries, formulas, grouping, stepped time range, metadata, and lifecycle information.
+ */
export interface BarInsight {
/** This is the name of the Insight. */
name?: string | undefined;
@@ -25,6 +28,7 @@ export interface BarInsight {
formulas?: Vapi.InsightFormula[] | undefined;
/** This is the metadata for the insight. */
metadata?: Vapi.BarInsightMetadata | undefined;
+ /** The time range and interval used to aggregate the bar-chart data. */
timeRange?: Vapi.InsightTimeRangeWithStep | undefined;
/**
* This is the group by column for the insight when table is `call`.
@@ -42,4 +46,6 @@ export interface BarInsight {
createdAt: string;
/** This is the ISO 8601 date-time string of when the Insight was last updated. */
updatedAt: string;
+ /** Stable server-owned identifier for system-created insights. */
+ systemKey?: string | undefined;
}
diff --git a/src/api/types/BarInsightMetadata.ts b/src/api/types/BarInsightMetadata.ts
index 9b44b3d6..228e661b 100644
--- a/src/api/types/BarInsightMetadata.ts
+++ b/src/api/types/BarInsightMetadata.ts
@@ -1,9 +1,17 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Display settings for a bar insight, including chart name, axis labels, and optional y-axis bounds.
+ */
export interface BarInsightMetadata {
+ /** Label displayed on the chart's x-axis. */
xAxisLabel?: string | undefined;
+ /** Label displayed on the chart's y-axis. */
yAxisLabel?: string | undefined;
+ /** Minimum value displayed on the chart's y-axis. */
yAxisMin?: number | undefined;
+ /** Maximum value displayed on the chart's y-axis. */
yAxisMax?: number | undefined;
+ /** Display name for the insight chart. */
name?: string | undefined;
}
diff --git a/src/api/types/BashTool.ts b/src/api/types/BashTool.ts
index 5c1044ba..ff9b8a4c 100644
--- a/src/api/types/BashTool.ts
+++ b/src/api/types/BashTool.ts
@@ -2,12 +2,12 @@
import type * as Vapi from "../index.js";
+/**
+ * A reusable tool that executes shell commands in a configured environment.
+ */
export interface BashTool {
- /**
- * These are the messages that will be spoken to the user as the tool is running.
- *
- * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
- */
+ latestVersion?: (string | null) | undefined;
+ /** Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. */
messages?: Vapi.BashToolMessagesItem[] | undefined;
/** The sub type of tool. */
subType: Vapi.BashToolSubType;
diff --git a/src/api/types/BashToolWithToolCall.ts b/src/api/types/BashToolWithToolCall.ts
index 8e60e2b9..0a711213 100644
--- a/src/api/types/BashToolWithToolCall.ts
+++ b/src/api/types/BashToolWithToolCall.ts
@@ -3,11 +3,7 @@
import type * as Vapi from "../index.js";
export interface BashToolWithToolCall {
- /**
- * These are the messages that will be spoken to the user as the tool is running.
- *
- * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
- */
+ /** Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. */
messages?: Vapi.BashToolWithToolCallMessagesItem[] | undefined;
/** The sub type of tool. */
subType: Vapi.BashToolWithToolCallSubType;
diff --git a/src/api/types/BearerAuthenticationPlan.ts b/src/api/types/BearerAuthenticationPlan.ts
index 48a069ff..15f8e8ef 100644
--- a/src/api/types/BearerAuthenticationPlan.ts
+++ b/src/api/types/BearerAuthenticationPlan.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Configuration for authenticating outbound requests with a bearer token, including header name and optional `Bearer` prefix.
+ */
export interface BearerAuthenticationPlan {
/** This is the bearer token value. */
token: string;
diff --git a/src/api/types/Board.ts b/src/api/types/Board.ts
new file mode 100644
index 00000000..76fc8e7e
--- /dev/null
+++ b/src/api/types/Board.ts
@@ -0,0 +1,31 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+export interface Board {
+ /** This is the contents of the Board, which is an array of objects defining the type, contents, and position of the widgets on the Board. */
+ items?: Vapi.BoardItemsItem[] | undefined;
+ /** This is the unique identifier for the Board. */
+ id: string;
+ /** This is the unique identifier for the org that this Board belongs to. */
+ orgId: string;
+ /** This is the ISO 8601 date-time string of when the Board was created. */
+ createdAt: string;
+ /** This is the ISO 8601 date-time string of when the Board was last updated. */
+ updatedAt: string;
+ /**
+ * Server-owned key for system-provisioned boards. User create/update DTOs do
+ * not accept this field.
+ */
+ systemKey?: string | undefined;
+ /** This is the name of the Board. */
+ name: string;
+ /** This is the layout of the Board. */
+ layout: Vapi.BoardLayout;
+ /**
+ * This is the timerange override for the board.
+ * By default, individual insights have their own timerange.
+ * This is a global override for the board which will be passed to all insights on the board.
+ */
+ timeRangeOverride?: Vapi.InsightTimeRangeWithStep | undefined;
+}
diff --git a/src/api/types/BoardInsightItem.ts b/src/api/types/BoardInsightItem.ts
new file mode 100644
index 00000000..d902da00
--- /dev/null
+++ b/src/api/types/BoardInsightItem.ts
@@ -0,0 +1,11 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+export interface BoardInsightItem {
+ type: Vapi.BoardInsightItemType;
+ insightId: string;
+ systemKey?: string | undefined;
+ position: Vapi.BoardItemPosition;
+ size: Vapi.BoardItemSize;
+}
diff --git a/src/api/types/BoardInsightItemType.ts b/src/api/types/BoardInsightItemType.ts
new file mode 100644
index 00000000..4e662f63
--- /dev/null
+++ b/src/api/types/BoardInsightItemType.ts
@@ -0,0 +1,6 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const BoardInsightItemType = {
+ Insight: "insight",
+} as const;
+export type BoardInsightItemType = (typeof BoardInsightItemType)[keyof typeof BoardInsightItemType];
diff --git a/src/api/types/BoardItemPosition.ts b/src/api/types/BoardItemPosition.ts
new file mode 100644
index 00000000..f52a81a4
--- /dev/null
+++ b/src/api/types/BoardItemPosition.ts
@@ -0,0 +1,6 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export interface BoardItemPosition {
+ x: number;
+ y: number;
+}
diff --git a/src/api/types/BoardItemSize.ts b/src/api/types/BoardItemSize.ts
new file mode 100644
index 00000000..a74c7b80
--- /dev/null
+++ b/src/api/types/BoardItemSize.ts
@@ -0,0 +1,6 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export interface BoardItemSize {
+ width: number;
+ height: number;
+}
diff --git a/src/api/types/BoardItemsItem.ts b/src/api/types/BoardItemsItem.ts
new file mode 100644
index 00000000..1c9ee67f
--- /dev/null
+++ b/src/api/types/BoardItemsItem.ts
@@ -0,0 +1,5 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+export type BoardItemsItem = Vapi.BoardInsightItem | Vapi.BoardMetricWidgetItem;
diff --git a/src/api/types/BoardLayout.ts b/src/api/types/BoardLayout.ts
new file mode 100644
index 00000000..9b8fcb70
--- /dev/null
+++ b/src/api/types/BoardLayout.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export interface BoardLayout {
+ /**
+ * This is the number of columns in the Board.
+ * For now, it is fixed to 6.
+ */
+ columns: number;
+}
diff --git a/src/api/types/BoardMetricWidgetItem.ts b/src/api/types/BoardMetricWidgetItem.ts
new file mode 100644
index 00000000..b20729e1
--- /dev/null
+++ b/src/api/types/BoardMetricWidgetItem.ts
@@ -0,0 +1,11 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+export interface BoardMetricWidgetItem {
+ type: Vapi.BoardMetricWidgetItemType;
+ position: Vapi.BoardItemPosition;
+ size: Vapi.BoardItemSize;
+ insightId?: string | undefined;
+ systemKey?: string | undefined;
+}
diff --git a/src/api/types/BoardMetricWidgetItemType.ts b/src/api/types/BoardMetricWidgetItemType.ts
new file mode 100644
index 00000000..4593f6f8
--- /dev/null
+++ b/src/api/types/BoardMetricWidgetItemType.ts
@@ -0,0 +1,8 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const BoardMetricWidgetItemType = {
+ FailedCallsList: "failed_calls_list",
+ ConcurrencyChart: "concurrency_chart",
+ AverageCostBreakdownChart: "average_cost_breakdown_chart",
+} as const;
+export type BoardMetricWidgetItemType = (typeof BoardMetricWidgetItemType)[keyof typeof BoardMetricWidgetItemType];
diff --git a/src/api/types/BoardPaginatedResponse.ts b/src/api/types/BoardPaginatedResponse.ts
new file mode 100644
index 00000000..284d660e
--- /dev/null
+++ b/src/api/types/BoardPaginatedResponse.ts
@@ -0,0 +1,8 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+export interface BoardPaginatedResponse {
+ results: Vapi.Board[];
+ metadata: Vapi.PaginationMeta;
+}
diff --git a/src/api/types/BooleanComparatorScorecardMetricCondition.ts b/src/api/types/BooleanComparatorScorecardMetricCondition.ts
new file mode 100644
index 00000000..6ea7dfc7
--- /dev/null
+++ b/src/api/types/BooleanComparatorScorecardMetricCondition.ts
@@ -0,0 +1,20 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+export interface BooleanComparatorScorecardMetricCondition {
+ /** This is the type of the condition. Currently only 'comparator' is supported. */
+ type: Vapi.BooleanComparatorScorecardMetricConditionType;
+ /** The comparator can only be '=' for boolean conditions. */
+ comparator: Vapi.BooleanComparatorScorecardMetricConditionComparator;
+ /**
+ * This is the value that will be used to compare the result of the structured output with the comparator.
+ * If the result of the comparison is true, the points will be added to the overall score.
+ */
+ value: boolean;
+ /**
+ * These are the points that will be added to the overall score if the condition is met.
+ * The points must be between 0 and 100.
+ */
+ points: number;
+}
diff --git a/src/api/types/BooleanComparatorScorecardMetricConditionComparator.ts b/src/api/types/BooleanComparatorScorecardMetricConditionComparator.ts
new file mode 100644
index 00000000..d64c0ac8
--- /dev/null
+++ b/src/api/types/BooleanComparatorScorecardMetricConditionComparator.ts
@@ -0,0 +1,8 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/** The comparator can only be '=' for boolean conditions. */
+export const BooleanComparatorScorecardMetricConditionComparator = {
+ EqualTo: "=",
+} as const;
+export type BooleanComparatorScorecardMetricConditionComparator =
+ (typeof BooleanComparatorScorecardMetricConditionComparator)[keyof typeof BooleanComparatorScorecardMetricConditionComparator];
diff --git a/src/api/types/BooleanComparatorScorecardMetricConditionType.ts b/src/api/types/BooleanComparatorScorecardMetricConditionType.ts
new file mode 100644
index 00000000..1235bf36
--- /dev/null
+++ b/src/api/types/BooleanComparatorScorecardMetricConditionType.ts
@@ -0,0 +1,8 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/** This is the type of the condition. Currently only 'comparator' is supported. */
+export const BooleanComparatorScorecardMetricConditionType = {
+ Comparator: "comparator",
+} as const;
+export type BooleanComparatorScorecardMetricConditionType =
+ (typeof BooleanComparatorScorecardMetricConditionType)[keyof typeof BooleanComparatorScorecardMetricConditionType];
diff --git a/src/api/types/BotMessage.ts b/src/api/types/BotMessage.ts
index b7f4a632..59ada8ea 100644
--- a/src/api/types/BotMessage.ts
+++ b/src/api/types/BotMessage.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * An assistant-authored entry in the call message history, including content, timing, source, and duration.
+ */
export interface BotMessage {
/** The role of the bot in the conversation. */
role: string;
@@ -15,4 +18,15 @@ export interface BotMessage {
source?: string | undefined;
/** The duration of the message in seconds. */
duration?: number | undefined;
+ /**
+ * The name of the assistant that produced this message. In a squad or
+ * handoff call this is the specific sub-agent active when the message was
+ * spoken, letting the transcript label each message by speaker.
+ */
+ assistantName?: string | undefined;
+ /**
+ * The ID of the assistant that produced this message. Stable reference for
+ * the assistant named in `assistantName`.
+ */
+ assistantId?: string | undefined;
}
diff --git a/src/api/types/BothCustomEndpointingRule.ts b/src/api/types/BothCustomEndpointingRule.ts
index 32bca870..a7aa48b1 100644
--- a/src/api/types/BothCustomEndpointingRule.ts
+++ b/src/api/types/BothCustomEndpointingRule.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * A custom endpointing rule that matches both the assistant's last message and the customer's current speech before applying a configured timeout.
+ */
export interface BothCustomEndpointingRule {
/**
* This is the regex pattern to match the assistant's message.
@@ -20,6 +23,7 @@ export interface BothCustomEndpointingRule {
* @default []
*/
assistantRegexOptions?: Vapi.RegexOption[] | undefined;
+ /** The regular expression pattern matched against the customer's speech. */
customerRegex: string;
/**
* These are the options for the customer's message regex match. Defaults to all disabled.
diff --git a/src/api/types/BucketPlan.ts b/src/api/types/BucketPlan.ts
index 7b3e5406..65ace125 100644
--- a/src/api/types/BucketPlan.ts
+++ b/src/api/types/BucketPlan.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Google Cloud Storage bucket configuration for call artifacts, including bucket name, region, path, and optional HMAC credentials.
+ */
export interface BucketPlan {
/** This is the name of the bucket. */
name: string;
diff --git a/src/api/types/ByoPhoneNumber.ts b/src/api/types/ByoPhoneNumber.ts
index e0d5f314..7c48d283 100644
--- a/src/api/types/ByoPhoneNumber.ts
+++ b/src/api/types/ByoPhoneNumber.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * A phone number connected to Vapi through a bring-your-own telephony provider, including its credential, routing, hooks, server settings, and lifecycle metadata.
+ */
export interface ByoPhoneNumber {
/**
* This is the fallback destination an inbound call will be transferred to if:
diff --git a/src/api/types/ByoSipTrunkCredential.ts b/src/api/types/ByoSipTrunkCredential.ts
index d8911a34..52130ea2 100644
--- a/src/api/types/ByoSipTrunkCredential.ts
+++ b/src/api/types/ByoSipTrunkCredential.ts
@@ -32,6 +32,4 @@ export interface ByoSipTrunkCredential {
techPrefix?: string | undefined;
/** This can be used to enable the SIP diversion header for authenticating the calling number if the SIP trunk supports it. This is an advanced property. */
sipDiversionHeader?: string | undefined;
- /** This is an advanced configuration for enterprise deployments. This uses the onprem SBC to trunk into the SIP trunk's `gateways`, rather than the managed SBC provided by Vapi. */
- sbcConfiguration?: Vapi.SbcConfiguration | undefined;
}
diff --git a/src/api/types/Call.ts b/src/api/types/Call.ts
index e30089e6..8896a4e4 100644
--- a/src/api/types/Call.ts
+++ b/src/api/types/Call.ts
@@ -2,11 +2,15 @@
import type * as Vapi from "../index.js";
+/**
+ * A call record returned by Vapi. It contains the configuration and resources used for the call, its lifecycle status and timestamps, conversation messages, artifacts, analysis, and costs.
+ */
export interface Call {
/** This is the type of call. */
type?: Vapi.CallType | undefined;
/** These are the costs of individual components of the call in USD. */
costs?: Vapi.CallCostsItem[] | undefined;
+ /** Messages exchanged during the call, including user, assistant, system, tool-call, and tool-result messages. */
messages?: Vapi.CallMessagesItem[] | undefined;
/**
* This is the provider of the call.
@@ -28,6 +32,13 @@ export interface Call {
endedMessage?: string | undefined;
/** This is the destination where the call ended up being transferred to. If the call was not transferred, this will be empty. */
destination?: Vapi.CallDestination | undefined;
+ /**
+ * This is the assistant version to use for this call. Supported only with
+ * direct `assistantId`. Omit to follow the latest version.
+ */
+ assistantVersion?: (string | null) | undefined;
+ /** This is the transport of the call. */
+ transport?: Vapi.CallTransport | undefined;
/** This is the unique identifier for the call. */
id: string;
/** This is the unique identifier for the org that this call belongs to. */
@@ -153,8 +164,4 @@ export interface Call {
name?: string | undefined;
/** This is the schedule plan of the call. */
schedulePlan?: Vapi.SchedulePlan | undefined;
- /** This is the transport of the call. */
- transport?: Record | undefined;
- /** These are the subscription limits for the org at the time of the call. Includes concurrency limit information. */
- subscriptionLimits?: Vapi.SubscriptionLimits | undefined;
}
diff --git a/src/api/types/CallArtifactUploadItem.ts b/src/api/types/CallArtifactUploadItem.ts
new file mode 100644
index 00000000..a2ba5052
--- /dev/null
+++ b/src/api/types/CallArtifactUploadItem.ts
@@ -0,0 +1,10 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+export interface CallArtifactUploadItem {
+ /** The artifact this result refers to. */
+ type: Vapi.CallArtifactUploadItemType;
+ /** Whether this artifact was stored successfully in your own configured storage. */
+ success: boolean;
+}
diff --git a/src/api/types/CallArtifactUploadItemType.ts b/src/api/types/CallArtifactUploadItemType.ts
new file mode 100644
index 00000000..a48b8054
--- /dev/null
+++ b/src/api/types/CallArtifactUploadItemType.ts
@@ -0,0 +1,13 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/** The artifact this result refers to. */
+export const CallArtifactUploadItemType = {
+ EndOfCallReport: "end-of-call-report",
+ RecordingMono: "recording-mono",
+ RecordingStereo: "recording-stereo",
+ RecordingAssistant: "recording-assistant",
+ RecordingCustomer: "recording-customer",
+ Log: "log",
+ Pcap: "pcap",
+} as const;
+export type CallArtifactUploadItemType = (typeof CallArtifactUploadItemType)[keyof typeof CallArtifactUploadItemType];
diff --git a/src/api/types/CallBatchError.ts b/src/api/types/CallBatchError.ts
index 7a1021bd..6356ef2f 100644
--- a/src/api/types/CallBatchError.ts
+++ b/src/api/types/CallBatchError.ts
@@ -2,7 +2,12 @@
import type * as Vapi from "../index.js";
+/**
+ * Error returned for one customer entry in a batch call request.
+ */
export interface CallBatchError {
+ /** Customer configuration associated with the failed call. */
customer: Vapi.CreateCustomerDto;
+ /** Error message explaining why the call could not be created. */
error: string;
}
diff --git a/src/api/types/CallBatchResponse.ts b/src/api/types/CallBatchResponse.ts
index bd746dd1..27dc63fc 100644
--- a/src/api/types/CallBatchResponse.ts
+++ b/src/api/types/CallBatchResponse.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * The result of a batch call creation request, containing successfully created calls, per-call failures, and subscription limits recorded at the end of the batch.
+ */
export interface CallBatchResponse {
/** Subscription limits at the end of this batch */
subscriptionLimits?: Vapi.SubscriptionLimits | undefined;
diff --git a/src/api/types/CallEndedReason.ts b/src/api/types/CallEndedReason.ts
index 04973817..16d9e75e 100644
--- a/src/api/types/CallEndedReason.ts
+++ b/src/api/types/CallEndedReason.ts
@@ -27,6 +27,7 @@ export const CallEndedReason = {
CallStartErrorSubscriptionConcurrencyLimitReached: "call.start.error-subscription-concurrency-limit-reached",
CallStartErrorEnterpriseFeatureNotAvailableRecordingConsent:
"call.start.error-enterprise-feature-not-available-recording-consent",
+ CallStartAssistantVersionErrorValidation: "call.start.assistant-version-error-validation",
AssistantNotValid: "assistant-not-valid",
CallStartErrorVapifaultDatabaseError: "call.start.error-vapifault-database-error",
AssistantNotFound: "assistant-not-found",
@@ -46,6 +47,9 @@ export const CallEndedReason = {
PipelineErrorInworldVoiceFailed: "pipeline-error-inworld-voice-failed",
PipelineErrorMinimaxVoiceFailed: "pipeline-error-minimax-voice-failed",
PipelineErrorWellsaidVoiceFailed: "pipeline-error-wellsaid-voice-failed",
+ PipelineErrorXaiVoiceFailed: "pipeline-error-xai-voice-failed",
+ PipelineErrorMicrosoftVoiceFailed: "pipeline-error-microsoft-voice-failed",
+ PipelineErrorMicrosoftVoiceRequestCanceled: "pipeline-error-microsoft-voice-request-canceled",
PipelineErrorTavusVideoFailed: "pipeline-error-tavus-video-failed",
CallInProgressErrorVapifaultOpenaiVoiceFailed: "call.in-progress.error-vapifault-openai-voice-failed",
CallInProgressErrorVapifaultCartesiaVoiceFailed: "call.in-progress.error-vapifault-cartesia-voice-failed",
@@ -63,6 +67,8 @@ export const CallEndedReason = {
CallInProgressErrorVapifaultInworldVoiceFailed: "call.in-progress.error-vapifault-inworld-voice-failed",
CallInProgressErrorVapifaultMinimaxVoiceFailed: "call.in-progress.error-vapifault-minimax-voice-failed",
CallInProgressErrorVapifaultWellsaidVoiceFailed: "call.in-progress.error-vapifault-wellsaid-voice-failed",
+ CallInProgressErrorVapifaultXaiVoiceFailed: "call.in-progress.error-vapifault-xai-voice-failed",
+ CallInProgressErrorVapifaultMicrosoftVoiceFailed: "call.in-progress.error-vapifault-microsoft-voice-failed",
CallInProgressErrorVapifaultTavusVideoFailed: "call.in-progress.error-vapifault-tavus-video-failed",
PipelineErrorVapiLlmFailed: "pipeline-error-vapi-llm-failed",
PipelineErrorVapi400BadRequestValidationFailed: "pipeline-error-vapi-400-bad-request-validation-failed",
@@ -72,6 +78,7 @@ export const CallEndedReason = {
PipelineErrorVapi500ServerError: "pipeline-error-vapi-500-server-error",
PipelineErrorVapi503ServerOverloadedError: "pipeline-error-vapi-503-server-overloaded-error",
CallInProgressErrorProviderfaultVapiLlmFailed: "call.in-progress.error-providerfault-vapi-llm-failed",
+ CallInProgressErrorVapifaultVapiLlmFailed: "call.in-progress.error-vapifault-vapi-llm-failed",
CallInProgressErrorVapifaultVapi400BadRequestValidationFailed:
"call.in-progress.error-vapifault-vapi-400-bad-request-validation-failed",
CallInProgressErrorVapifaultVapi401Unauthorized: "call.in-progress.error-vapifault-vapi-401-unauthorized",
@@ -81,6 +88,11 @@ export const CallEndedReason = {
CallInProgressErrorProviderfaultVapi500ServerError: "call.in-progress.error-providerfault-vapi-500-server-error",
CallInProgressErrorProviderfaultVapi503ServerOverloadedError:
"call.in-progress.error-providerfault-vapi-503-server-overloaded-error",
+ PipelineErrorVapiTranscriberFailed: "pipeline-error-vapi-transcriber-failed",
+ CallInProgressErrorVapifaultVapiTranscriberFailed: "call.in-progress.error-vapifault-vapi-transcriber-failed",
+ CallInProgressErrorProviderfaultVapiTranscriberFailed:
+ "call.in-progress.error-providerfault-vapi-transcriber-failed",
+ CallInProgressErrorProviderfaultVapiVoiceFailed: "call.in-progress.error-providerfault-vapi-voice-failed",
PipelineErrorDeepgramTranscriberFailed: "pipeline-error-deepgram-transcriber-failed",
PipelineErrorDeepgramTranscriberApiKeyMissing: "pipeline-error-deepgram-transcriber-api-key-missing",
CallInProgressErrorVapifaultDeepgramTranscriberFailed:
@@ -137,6 +149,23 @@ export const CallEndedReason = {
CallInProgressErrorVapifaultSonioxTranscriberServerError:
"call.in-progress.error-vapifault-soniox-transcriber-server-error",
CallInProgressErrorVapifaultSonioxTranscriberFailed: "call.in-progress.error-vapifault-soniox-transcriber-failed",
+ PipelineErrorXaiTranscriberAuthFailed: "pipeline-error-xai-transcriber-auth-failed",
+ PipelineErrorXaiTranscriberRateLimited: "pipeline-error-xai-transcriber-rate-limited",
+ PipelineErrorXaiTranscriberInvalidConfig: "pipeline-error-xai-transcriber-invalid-config",
+ PipelineErrorXaiTranscriberServerError: "pipeline-error-xai-transcriber-server-error",
+ PipelineErrorXaiTranscriberFailed: "pipeline-error-xai-transcriber-failed",
+ CallInProgressErrorVapifaultXaiTranscriberAuthFailed:
+ "call.in-progress.error-vapifault-xai-transcriber-auth-failed",
+ CallInProgressErrorVapifaultXaiTranscriberRateLimited:
+ "call.in-progress.error-vapifault-xai-transcriber-rate-limited",
+ CallInProgressErrorVapifaultXaiTranscriberInvalidConfig:
+ "call.in-progress.error-vapifault-xai-transcriber-invalid-config",
+ CallInProgressErrorVapifaultXaiTranscriberServerError:
+ "call.in-progress.error-vapifault-xai-transcriber-server-error",
+ CallInProgressErrorVapifaultXaiTranscriberFailed: "call.in-progress.error-vapifault-xai-transcriber-failed",
+ PipelineErrorCartesiaTranscriberFailed: "pipeline-error-cartesia-transcriber-failed",
+ CallInProgressErrorVapifaultCartesiaTranscriberFailed:
+ "call.in-progress.error-vapifault-cartesia-transcriber-failed",
CallInProgressErrorPipelineNoAvailableLlmModel: "call.in-progress.error-pipeline-no-available-llm-model",
WorkerShutdown: "worker-shutdown",
VonageDisconnected: "vonage-disconnected",
@@ -749,6 +778,7 @@ export const CallEndedReason = {
ManuallyCanceled: "manually-canceled",
PhoneCallProviderClosedWebsocket: "phone-call-provider-closed-websocket",
CallForwardingOperatorBusy: "call.forwarding.operator-busy",
+ CallForwardingNoAnswer: "call.forwarding.no-answer",
SilenceTimedOut: "silence-timed-out",
CallInProgressErrorProviderfaultOutboundSip403Forbidden:
"call.in-progress.error-providerfault-outbound-sip-403-forbidden",
diff --git a/src/api/types/CallHookAssistantSpeechInterrupted.ts b/src/api/types/CallHookAssistantSpeechInterrupted.ts
index 5798c755..74814f39 100644
--- a/src/api/types/CallHookAssistantSpeechInterrupted.ts
+++ b/src/api/types/CallHookAssistantSpeechInterrupted.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Runs configured actions when the customer's speech interrupts the assistant.
+ */
export interface CallHookAssistantSpeechInterrupted {
/** This is the event that triggers this hook */
on: Vapi.CallHookAssistantSpeechInterruptedOn;
diff --git a/src/api/types/CallHookAssistantSpeechInterruptedDoItem.ts b/src/api/types/CallHookAssistantSpeechInterruptedDoItem.ts
index 324db7a7..8616e496 100644
--- a/src/api/types/CallHookAssistantSpeechInterruptedDoItem.ts
+++ b/src/api/types/CallHookAssistantSpeechInterruptedDoItem.ts
@@ -19,4 +19,9 @@ export namespace CallHookAssistantSpeechInterruptedDoItem {
export interface MessageAdd extends Vapi.MessageAddHookAction {
type: "message.add";
}
+
+ export type Response =
+ | Vapi.CallHookAssistantSpeechInterruptedDoItem.Say
+ | Vapi.CallHookAssistantSpeechInterruptedDoItem.Tool
+ | Vapi.CallHookAssistantSpeechInterruptedDoItem.MessageAdd;
}
diff --git a/src/api/types/CallHookCallEnding.ts b/src/api/types/CallHookCallEnding.ts
index aae89795..e968fa34 100644
--- a/src/api/types/CallHookCallEnding.ts
+++ b/src/api/types/CallHookCallEnding.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Runs configured actions when a call is ending, optionally only when its filters match.
+ */
export interface CallHookCallEnding {
/** This is the event that triggers this hook */
on: Vapi.CallHookCallEndingOn;
diff --git a/src/api/types/CallHookCallEndingDoItem.ts b/src/api/types/CallHookCallEndingDoItem.ts
index 7da2d7c7..2d3afa86 100644
--- a/src/api/types/CallHookCallEndingDoItem.ts
+++ b/src/api/types/CallHookCallEndingDoItem.ts
@@ -12,4 +12,6 @@ export namespace CallHookCallEndingDoItem {
export interface MessageAdd extends Vapi.MessageAddHookAction {
type: "message.add";
}
+
+ export type Response = Vapi.CallHookCallEndingDoItem.Tool | Vapi.CallHookCallEndingDoItem.MessageAdd;
}
diff --git a/src/api/types/CallHookCustomerSpeechInterrupted.ts b/src/api/types/CallHookCustomerSpeechInterrupted.ts
index 1a821565..9c237116 100644
--- a/src/api/types/CallHookCustomerSpeechInterrupted.ts
+++ b/src/api/types/CallHookCustomerSpeechInterrupted.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Runs configured actions when the assistant interrupts the customer's speech.
+ */
export interface CallHookCustomerSpeechInterrupted {
/** This is the event that triggers this hook */
on: Vapi.CallHookCustomerSpeechInterruptedOn;
diff --git a/src/api/types/CallHookCustomerSpeechInterruptedDoItem.ts b/src/api/types/CallHookCustomerSpeechInterruptedDoItem.ts
index 393095d3..96b7d9b0 100644
--- a/src/api/types/CallHookCustomerSpeechInterruptedDoItem.ts
+++ b/src/api/types/CallHookCustomerSpeechInterruptedDoItem.ts
@@ -19,4 +19,9 @@ export namespace CallHookCustomerSpeechInterruptedDoItem {
export interface MessageAdd extends Vapi.MessageAddHookAction {
type: "message.add";
}
+
+ export type Response =
+ | Vapi.CallHookCustomerSpeechInterruptedDoItem.Say
+ | Vapi.CallHookCustomerSpeechInterruptedDoItem.Tool
+ | Vapi.CallHookCustomerSpeechInterruptedDoItem.MessageAdd;
}
diff --git a/src/api/types/CallHookCustomerSpeechTimeout.ts b/src/api/types/CallHookCustomerSpeechTimeout.ts
index 1a625aa6..22bceaf9 100644
--- a/src/api/types/CallHookCustomerSpeechTimeout.ts
+++ b/src/api/types/CallHookCustomerSpeechTimeout.ts
@@ -2,12 +2,15 @@
import type * as Vapi from "../index.js";
+/**
+ * Runs configured actions when the customer does not speak before the configured timeout, with support for trigger limits and named instances.
+ */
export interface CallHookCustomerSpeechTimeout {
/** Must be either "customer.speech.timeout" or match the pattern "customer.speech.timeout[property=value]" */
on: string;
/** This is the set of actions to perform when the hook triggers */
do: Vapi.CallHookCustomerSpeechTimeoutDoItem[];
- /** This is the set of filters that must match for the hook to trigger */
+ /** Controls the speech timeout, maximum trigger count, and counter reset behavior for this hook. */
options?: Vapi.CustomerSpeechTimeoutOptions | undefined;
/**
* This is the name of the hook, it can be set by the user to identify the hook.
diff --git a/src/api/types/CallHookCustomerSpeechTimeoutDoItem.ts b/src/api/types/CallHookCustomerSpeechTimeoutDoItem.ts
index 536186d7..7d392d8c 100644
--- a/src/api/types/CallHookCustomerSpeechTimeoutDoItem.ts
+++ b/src/api/types/CallHookCustomerSpeechTimeoutDoItem.ts
@@ -19,4 +19,9 @@ export namespace CallHookCustomerSpeechTimeoutDoItem {
export interface MessageAdd extends Vapi.MessageAddHookAction {
type: "message.add";
}
+
+ export type Response =
+ | Vapi.CallHookCustomerSpeechTimeoutDoItem.Say
+ | Vapi.CallHookCustomerSpeechTimeoutDoItem.Tool
+ | Vapi.CallHookCustomerSpeechTimeoutDoItem.MessageAdd;
}
diff --git a/src/api/types/CallHookFilter.ts b/src/api/types/CallHookFilter.ts
index c89c5bbb..27e6bb9e 100644
--- a/src/api/types/CallHookFilter.ts
+++ b/src/api/types/CallHookFilter.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Matches a call field against one or more allowed values to determine whether a hook runs.
+ */
export interface CallHookFilter {
/** This is the type of filter - currently only "oneOf" is supported */
type: Vapi.CallHookFilterType;
diff --git a/src/api/types/CallHookModelResponseTimeout.ts b/src/api/types/CallHookModelResponseTimeout.ts
index 69c400c8..60c6d2c0 100644
--- a/src/api/types/CallHookModelResponseTimeout.ts
+++ b/src/api/types/CallHookModelResponseTimeout.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Runs configured actions when the language model does not respond before its timeout.
+ */
export interface CallHookModelResponseTimeout {
/** This is the event that triggers this hook */
on: Vapi.CallHookModelResponseTimeoutOn;
diff --git a/src/api/types/CallHookModelResponseTimeoutDoItem.ts b/src/api/types/CallHookModelResponseTimeoutDoItem.ts
index fe6b1d40..20db95b6 100644
--- a/src/api/types/CallHookModelResponseTimeoutDoItem.ts
+++ b/src/api/types/CallHookModelResponseTimeoutDoItem.ts
@@ -19,4 +19,9 @@ export namespace CallHookModelResponseTimeoutDoItem {
export interface MessageAdd extends Vapi.MessageAddHookAction {
type: "message.add";
}
+
+ export type Response =
+ | Vapi.CallHookModelResponseTimeoutDoItem.Say
+ | Vapi.CallHookModelResponseTimeoutDoItem.Tool
+ | Vapi.CallHookModelResponseTimeoutDoItem.MessageAdd;
}
diff --git a/src/api/types/CallHookTranscriberEndpointedSpeechLowConfidenceDoItem.ts b/src/api/types/CallHookTranscriberEndpointedSpeechLowConfidenceDoItem.ts
index 6b916997..e5afdd1d 100644
--- a/src/api/types/CallHookTranscriberEndpointedSpeechLowConfidenceDoItem.ts
+++ b/src/api/types/CallHookTranscriberEndpointedSpeechLowConfidenceDoItem.ts
@@ -19,4 +19,9 @@ export namespace CallHookTranscriberEndpointedSpeechLowConfidenceDoItem {
export interface MessageAdd extends Vapi.MessageAddHookAction {
type: "message.add";
}
+
+ export type Response =
+ | Vapi.CallHookTranscriberEndpointedSpeechLowConfidenceDoItem.Say
+ | Vapi.CallHookTranscriberEndpointedSpeechLowConfidenceDoItem.Tool
+ | Vapi.CallHookTranscriberEndpointedSpeechLowConfidenceDoItem.MessageAdd;
}
diff --git a/src/api/types/CallTransport.ts b/src/api/types/CallTransport.ts
new file mode 100644
index 00000000..d7804107
--- /dev/null
+++ b/src/api/types/CallTransport.ts
@@ -0,0 +1,40 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+/**
+ * This is the transport of the call.
+ */
+export type CallTransport =
+ | Vapi.CallTransport.VapiWebsocket
+ | Vapi.CallTransport.Vonage
+ | Vapi.CallTransport.Twilio
+ | Vapi.CallTransport.VapiSip
+ | Vapi.CallTransport.Telnyx
+ | Vapi.CallTransport.Daily;
+
+export namespace CallTransport {
+ export interface VapiWebsocket extends Vapi.VapiWebsocketTransport {
+ provider: "vapi.websocket";
+ }
+
+ export interface Vonage extends Vapi.VonageTransport {
+ provider: "vonage";
+ }
+
+ export interface Twilio extends Vapi.TwilioTransport {
+ provider: "twilio";
+ }
+
+ export interface VapiSip extends Vapi.VapiSipTransport {
+ provider: "vapi.sip";
+ }
+
+ export interface Telnyx extends Vapi.TelnyxTransport {
+ provider: "telnyx";
+ }
+
+ export interface Daily extends Vapi.VapiWebCallTransport {
+ provider: "daily";
+ }
+}
diff --git a/src/api/types/Campaign.ts b/src/api/types/Campaign.ts
index c7d1aa6a..7df3efb1 100644
--- a/src/api/types/Campaign.ts
+++ b/src/api/types/Campaign.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * A saved outbound calling campaign, including its calling configuration, schedule, status, customers, calls, and call-progress counters.
+ */
export interface Campaign {
/** This is the status of the campaign. */
status: Vapi.CampaignStatus;
@@ -21,8 +24,20 @@ export interface Campaign {
dialPlan?: Vapi.DialPlanEntry[] | undefined;
/** This is the schedule plan for the campaign. Calls will start at startedAt and continue until your organization’s concurrency limit is reached. Any remaining calls will be retried for up to one hour as capacity becomes available. After that hour or after latestAt, whichever comes first, any calls that couldn’t be placed won’t be retried. */
schedulePlan?: Vapi.SchedulePlan | undefined;
- /** These are the customers that will be called in the campaign. Required if dialPlan is not provided. */
+ /** These are the customers that will be called in the campaign. Required if dialPlan is not provided. Maximum of 10000 customers per campaign. */
customers?: Vapi.CreateCustomerDto[] | undefined;
+ /** This is the maximum number of concurrent calls that will be made for the campaign. Defaults to 10. */
+ maxConcurrency?: number | undefined;
+ /** These are the overrides for the assistant's settings and template variables for the campaign. Use this when the campaign targets an `assistantId`. */
+ assistantOverrides?: Vapi.AssistantOverrides | undefined;
+ /** These are the overrides for the squad and template variables for the campaign. Use this when the campaign targets a `squadId`. Per-contact `squadOverrides` are deep-merged on top of this at dispatch time. */
+ squadOverrides?: Vapi.AssistantOverrides | undefined;
+ /** This is the server (URL, auth headers, timeout, etc.) for the campaign webhooks. */
+ server?: Vapi.Server | undefined;
+ /** These are the messages that will be sent to your Server URL. */
+ serverMessages?: Vapi.CampaignServerMessagesItem[] | undefined;
+ /** This opts the campaign into the blocking `campaign.predial` eligibility webhook. When set, every contact triggers a `campaign.predial` POST to the Server URL before dialing, and the response `{ eligible: boolean }` decides whether the call is placed. Requires `server`. When unset, no pre-dial webhook is sent. */
+ predialPlan?: Vapi.CampaignPredialPlan | undefined;
/** This is the unique identifier for the campaign. */
id: string;
/** This is the unique identifier for the org that this campaign belongs to. */
diff --git a/src/api/types/CampaignCallMetrics.ts b/src/api/types/CampaignCallMetrics.ts
new file mode 100644
index 00000000..af2858da
--- /dev/null
+++ b/src/api/types/CampaignCallMetrics.ts
@@ -0,0 +1,15 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export interface CampaignCallMetrics {
+ /**
+ * This is the number of contacts a call was actually placed for. Contacts
+ * that were skipped, rejected before dialing, or failed to dispatch are not
+ * counted — no call existed, so there was nothing to answer.
+ */
+ dialed: number;
+ /**
+ * This is the number of those calls a human picked up. Voicemail does not
+ * count. Divide by `dialed` for the pick-up rate.
+ */
+ connected: number;
+}
diff --git a/src/api/types/CampaignContact.ts b/src/api/types/CampaignContact.ts
new file mode 100644
index 00000000..cb7ce732
--- /dev/null
+++ b/src/api/types/CampaignContact.ts
@@ -0,0 +1,16 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+export interface CampaignContact {
+ id: string;
+ campaignId: string;
+ orgId: string;
+ customerId?: string | undefined;
+ number: string;
+ name?: string | undefined;
+ assistantOverrides?: Vapi.AssistantOverrides | undefined;
+ /** Use this when the campaign targets a `squadId`. Mirrors the call-level `squadOverrides` field. Merged with the campaign-level squadOverrides at dispatch time. */
+ squadOverrides?: Vapi.AssistantOverrides | undefined;
+ createdAt: string;
+}
diff --git a/src/api/types/CampaignContactCounters.ts b/src/api/types/CampaignContactCounters.ts
new file mode 100644
index 00000000..e0710902
--- /dev/null
+++ b/src/api/types/CampaignContactCounters.ts
@@ -0,0 +1,10 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export interface CampaignContactCounters {
+ pending: number;
+ dispatched: number;
+ completed: number;
+ failed: number;
+ skipped: number;
+ predialFailed: number;
+}
diff --git a/src/api/types/CampaignContactPaginatedResponse.ts b/src/api/types/CampaignContactPaginatedResponse.ts
new file mode 100644
index 00000000..cdfc8a88
--- /dev/null
+++ b/src/api/types/CampaignContactPaginatedResponse.ts
@@ -0,0 +1,8 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+export interface CampaignContactPaginatedResponse {
+ results: Vapi.CampaignContactWithOutcome[];
+ metadata: Vapi.PaginationMeta;
+}
diff --git a/src/api/types/CampaignContactWithOutcome.ts b/src/api/types/CampaignContactWithOutcome.ts
new file mode 100644
index 00000000..43e6f897
--- /dev/null
+++ b/src/api/types/CampaignContactWithOutcome.ts
@@ -0,0 +1,13 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+export interface CampaignContactWithOutcome {
+ id: string;
+ number: string;
+ name?: string | undefined;
+ status: Vapi.CampaignContactWithOutcomeStatus;
+ callId?: string | undefined;
+ dispatchedAt?: string | undefined;
+ endedReason?: string | undefined;
+}
diff --git a/src/api/types/CampaignContactWithOutcomeStatus.ts b/src/api/types/CampaignContactWithOutcomeStatus.ts
new file mode 100644
index 00000000..b43cc367
--- /dev/null
+++ b/src/api/types/CampaignContactWithOutcomeStatus.ts
@@ -0,0 +1,12 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const CampaignContactWithOutcomeStatus = {
+ ContactPending: "contact.pending",
+ ContactDispatched: "contact.dispatched",
+ ContactCompleted: "contact.completed",
+ ContactFailed: "contact.failed",
+ ContactSkipped: "contact.skipped",
+ ContactPredialFailed: "contact.predial-failed",
+} as const;
+export type CampaignContactWithOutcomeStatus =
+ (typeof CampaignContactWithOutcomeStatus)[keyof typeof CampaignContactWithOutcomeStatus];
diff --git a/src/api/types/CampaignPaginatedResponse.ts b/src/api/types/CampaignPaginatedResponse.ts
index 316e3c75..51a2d4cd 100644
--- a/src/api/types/CampaignPaginatedResponse.ts
+++ b/src/api/types/CampaignPaginatedResponse.ts
@@ -2,7 +2,12 @@
import type * as Vapi from "../index.js";
+/**
+ * A paginated collection of outbound calling campaigns and metadata describing the result set.
+ */
export interface CampaignPaginatedResponse {
+ /** The campaigns returned for the current page. */
results: Vapi.Campaign[];
+ /** Pagination metadata for the campaign result set. */
metadata: Vapi.PaginationMeta;
}
diff --git a/src/api/types/CampaignPredialPlan.ts b/src/api/types/CampaignPredialPlan.ts
new file mode 100644
index 00000000..f5f051cd
--- /dev/null
+++ b/src/api/types/CampaignPredialPlan.ts
@@ -0,0 +1,6 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export interface CampaignPredialPlan {
+ /** Whether the pre-dial eligibility webhook is active. Defaults to true when `predialPlan` is set. Set to false to keep the plan without running the webhook (useful when duplicating a campaign). */
+ enabled?: boolean | undefined;
+}
diff --git a/src/api/types/CampaignServerMessagesItem.ts b/src/api/types/CampaignServerMessagesItem.ts
new file mode 100644
index 00000000..8ef11a31
--- /dev/null
+++ b/src/api/types/CampaignServerMessagesItem.ts
@@ -0,0 +1,16 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const CampaignServerMessagesItem = {
+ CampaignStarted: "campaign.started",
+ CampaignCancelled: "campaign.cancelled",
+ CampaignEnded: "campaign.ended",
+ CampaignArchived: "campaign.archived",
+ CampaignUnarchived: "campaign.unarchived",
+ ContactDispatched: "contact.dispatched",
+ ContactCompleted: "contact.completed",
+ ContactFailed: "contact.failed",
+ ContactSkipped: "contact.skipped",
+ ContactPredialFailed: "contact.predial-failed",
+ CampaignJobContinued: "campaign.job.continued",
+} as const;
+export type CampaignServerMessagesItem = (typeof CampaignServerMessagesItem)[keyof typeof CampaignServerMessagesItem];
diff --git a/src/api/types/CampaignStatus.ts b/src/api/types/CampaignStatus.ts
index 2a28f3b2..e8e08069 100644
--- a/src/api/types/CampaignStatus.ts
+++ b/src/api/types/CampaignStatus.ts
@@ -5,5 +5,7 @@ export const CampaignStatus = {
Scheduled: "scheduled",
InProgress: "in-progress",
Ended: "ended",
+ Cancelled: "cancelled",
+ Archived: "archived",
} as const;
export type CampaignStatus = (typeof CampaignStatus)[keyof typeof CampaignStatus];
diff --git a/src/api/types/CampaignSummary.ts b/src/api/types/CampaignSummary.ts
new file mode 100644
index 00000000..e4290b69
--- /dev/null
+++ b/src/api/types/CampaignSummary.ts
@@ -0,0 +1,51 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+export interface CampaignSummary {
+ /** This is the status of the campaign. */
+ status: Vapi.CampaignSummaryStatus;
+ /** This is the explanation for how the campaign ended. */
+ endedReason?: Vapi.CampaignSummaryEndedReason | undefined;
+ /** This is the name of the campaign. This is just for your own reference. */
+ name: string;
+ /** This is the assistant ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used. */
+ assistantId?: string | undefined;
+ /** This is the squad ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used. */
+ squadId?: string | undefined;
+ /** This is the phone number ID that will be used for the campaign calls. Required if dialPlan is not provided. Note: phoneNumberId and dialPlan are mutually exclusive. */
+ phoneNumberId?: string | undefined;
+ /** This is the schedule plan for the campaign. Calls will start at startedAt and continue until your organization’s concurrency limit is reached. Any remaining calls will be retried for up to one hour as capacity becomes available. After that hour or after latestAt, whichever comes first, any calls that couldn’t be placed won’t be retried. */
+ schedulePlan?: Vapi.SchedulePlan | undefined;
+ /** This is the maximum number of concurrent calls that will be made for the campaign. Defaults to 10. */
+ maxConcurrency?: number | undefined;
+ /** These are the overrides for the assistant's settings and template variables for the campaign. Use this when the campaign targets an `assistantId`. */
+ assistantOverrides?: Vapi.AssistantOverrides | undefined;
+ /** These are the overrides for the squad and template variables for the campaign. Use this when the campaign targets a `squadId`. Per-contact `squadOverrides` are deep-merged on top of this at dispatch time. */
+ squadOverrides?: Vapi.AssistantOverrides | undefined;
+ /** This is the server (URL, auth headers, timeout, etc.) for the campaign webhooks. */
+ server?: Vapi.Server | undefined;
+ /** These are the messages that will be sent to your Server URL. */
+ serverMessages?: Vapi.CampaignSummaryServerMessagesItem[] | undefined;
+ /** This opts the campaign into the blocking `campaign.predial` eligibility webhook. When set, every contact triggers a `campaign.predial` POST to the Server URL before dialing, and the response `{ eligible: boolean }` decides whether the call is placed. Requires `server`. When unset, no pre-dial webhook is sent. */
+ predialPlan?: Vapi.CampaignPredialPlan | undefined;
+ /**
+ * These are the per-status contact counts for this campaign. Sum them for the
+ * campaign's total audience; `pending` plus `dispatched` is what is left to
+ * complete.
+ */
+ contactCounters?: Vapi.CampaignContactCounters | undefined;
+ /**
+ * These are the call-level outcomes for this campaign — how many contacts
+ * were actually dialed, and how many of those a human picked up.
+ */
+ callMetrics?: Vapi.CampaignCallMetrics | undefined;
+ /** This is the unique identifier for the campaign. */
+ id: string;
+ /** This is the unique identifier for the org that this campaign belongs to. */
+ orgId: string;
+ /** This is the ISO 8601 date-time string of when the campaign was created. */
+ createdAt: string;
+ /** This is the ISO 8601 date-time string of when the campaign was last updated. */
+ updatedAt: string;
+}
diff --git a/src/api/types/CampaignSummaryEndedReason.ts b/src/api/types/CampaignSummaryEndedReason.ts
new file mode 100644
index 00000000..d258ace3
--- /dev/null
+++ b/src/api/types/CampaignSummaryEndedReason.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/** This is the explanation for how the campaign ended. */
+export const CampaignSummaryEndedReason = {
+ CampaignScheduledEndedByUser: "campaign.scheduled.ended-by-user",
+ CampaignInProgressEndedByUser: "campaign.in-progress.ended-by-user",
+ CampaignEndedSuccess: "campaign.ended.success",
+} as const;
+export type CampaignSummaryEndedReason = (typeof CampaignSummaryEndedReason)[keyof typeof CampaignSummaryEndedReason];
diff --git a/src/api/types/CampaignSummaryPaginatedResponse.ts b/src/api/types/CampaignSummaryPaginatedResponse.ts
new file mode 100644
index 00000000..cd4b8a65
--- /dev/null
+++ b/src/api/types/CampaignSummaryPaginatedResponse.ts
@@ -0,0 +1,8 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+export interface CampaignSummaryPaginatedResponse {
+ results: Vapi.CampaignSummary[];
+ metadata: Vapi.PaginationMeta;
+}
diff --git a/src/api/types/CampaignSummaryServerMessagesItem.ts b/src/api/types/CampaignSummaryServerMessagesItem.ts
new file mode 100644
index 00000000..ac8f4360
--- /dev/null
+++ b/src/api/types/CampaignSummaryServerMessagesItem.ts
@@ -0,0 +1,17 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const CampaignSummaryServerMessagesItem = {
+ CampaignStarted: "campaign.started",
+ CampaignCancelled: "campaign.cancelled",
+ CampaignEnded: "campaign.ended",
+ CampaignArchived: "campaign.archived",
+ CampaignUnarchived: "campaign.unarchived",
+ ContactDispatched: "contact.dispatched",
+ ContactCompleted: "contact.completed",
+ ContactFailed: "contact.failed",
+ ContactSkipped: "contact.skipped",
+ ContactPredialFailed: "contact.predial-failed",
+ CampaignJobContinued: "campaign.job.continued",
+} as const;
+export type CampaignSummaryServerMessagesItem =
+ (typeof CampaignSummaryServerMessagesItem)[keyof typeof CampaignSummaryServerMessagesItem];
diff --git a/src/api/types/CampaignSummaryStatus.ts b/src/api/types/CampaignSummaryStatus.ts
new file mode 100644
index 00000000..d0a80bb7
--- /dev/null
+++ b/src/api/types/CampaignSummaryStatus.ts
@@ -0,0 +1,11 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/** This is the status of the campaign. */
+export const CampaignSummaryStatus = {
+ Scheduled: "scheduled",
+ InProgress: "in-progress",
+ Ended: "ended",
+ Cancelled: "cancelled",
+ Archived: "archived",
+} as const;
+export type CampaignSummaryStatus = (typeof CampaignSummaryStatus)[keyof typeof CampaignSummaryStatus];
diff --git a/src/api/types/CartesiaCredential.ts b/src/api/types/CartesiaCredential.ts
index 7dbe4c9f..eef6ad89 100644
--- a/src/api/types/CartesiaCredential.ts
+++ b/src/api/types/CartesiaCredential.ts
@@ -16,4 +16,6 @@ export interface CartesiaCredential {
updatedAt: string;
/** This is the name of credential. This is just for your reference. */
name?: string | undefined;
+ /** This can be used to point to an onprem Cartesia instance. Defaults to api.cartesia.ai. */
+ apiUrl?: string | undefined;
}
diff --git a/src/api/types/CartesiaExperimentalControls.ts b/src/api/types/CartesiaExperimentalControls.ts
index 90cdef79..a43f8b64 100644
--- a/src/api/types/CartesiaExperimentalControls.ts
+++ b/src/api/types/CartesiaExperimentalControls.ts
@@ -2,7 +2,12 @@
import type * as Vapi from "../index.js";
+/**
+ * Cartesia voice controls for speed and emotion.
+ */
export interface CartesiaExperimentalControls {
+ /** Speaking-speed control expressed as a preset or a value from -1 to 1. */
speed?: Vapi.CartesiaSpeedControl | undefined;
+ /** Emotion and intensity applied to the Cartesia voice. */
emotion?: Vapi.CartesiaExperimentalControlsEmotion | undefined;
}
diff --git a/src/api/types/CartesiaExperimentalControlsEmotion.ts b/src/api/types/CartesiaExperimentalControlsEmotion.ts
index 50e0ecd3..74c62d28 100644
--- a/src/api/types/CartesiaExperimentalControlsEmotion.ts
+++ b/src/api/types/CartesiaExperimentalControlsEmotion.ts
@@ -1,5 +1,6 @@
// This file was auto-generated by Fern from our API Definition.
+/** Emotion and intensity applied to the Cartesia voice. */
export const CartesiaExperimentalControlsEmotion = {
AngerLowest: "anger:lowest",
AngerLow: "anger:low",
diff --git a/src/api/types/CartesiaGenerationConfig.ts b/src/api/types/CartesiaGenerationConfig.ts
index ed93001a..01b66a8b 100644
--- a/src/api/types/CartesiaGenerationConfig.ts
+++ b/src/api/types/CartesiaGenerationConfig.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Generation controls for Cartesia Sonic 3 voices, including speed, volume, and accent localization.
+ */
export interface CartesiaGenerationConfig {
/** Fine-grained speed control for sonic-3. Only available for sonic-3 model. */
speed?: number | undefined;
diff --git a/src/api/types/CartesiaGenerationConfigExperimental.ts b/src/api/types/CartesiaGenerationConfigExperimental.ts
index 4d1a4a3f..304eb00f 100644
--- a/src/api/types/CartesiaGenerationConfigExperimental.ts
+++ b/src/api/types/CartesiaGenerationConfigExperimental.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Cartesia Sonic 3 generation controls, including accent localization.
+ */
export interface CartesiaGenerationConfigExperimental {
/** Toggle accent localization for sonic-3: 0 (disabled, default) or 1 (enabled). When enabled, the voice adapts to match the transcript language accent while preserving vocal characteristics. */
accentLocalization?: number | undefined;
diff --git a/src/api/types/CartesiaSpeedControl.ts b/src/api/types/CartesiaSpeedControl.ts
index acaee582..7857983b 100644
--- a/src/api/types/CartesiaSpeedControl.ts
+++ b/src/api/types/CartesiaSpeedControl.ts
@@ -2,4 +2,7 @@
import type * as Vapi from "../index.js";
+/**
+ * Speaking-speed control expressed as a preset or a value from -1 to 1.
+ */
export type CartesiaSpeedControl = Vapi.CartesiaSpeedControlZero | number;
diff --git a/src/api/types/CartesiaTranscriber.ts b/src/api/types/CartesiaTranscriber.ts
index f95def21..09a08b04 100644
--- a/src/api/types/CartesiaTranscriber.ts
+++ b/src/api/types/CartesiaTranscriber.ts
@@ -2,8 +2,13 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration for transcribing speech during assistant conversations with Cartesia, including model, language, and fallback settings.
+ */
export interface CartesiaTranscriber {
+ /** The Cartesia speech-to-text model used for transcription. */
model?: Vapi.CartesiaTranscriberModel | undefined;
+ /** The language code used for transcription. */
language?: Vapi.CartesiaTranscriberLanguage | undefined;
/** This is the plan for transcriber provider fallbacks in the event that the primary transcriber provider fails. */
fallbackPlan?: Vapi.FallbackTranscriberPlan | undefined;
diff --git a/src/api/types/CartesiaTranscriberLanguage.ts b/src/api/types/CartesiaTranscriberLanguage.ts
index 439cc84e..cbb85d59 100644
--- a/src/api/types/CartesiaTranscriberLanguage.ts
+++ b/src/api/types/CartesiaTranscriberLanguage.ts
@@ -1,5 +1,6 @@
// This file was auto-generated by Fern from our API Definition.
+/** The language code used for transcription. */
export const CartesiaTranscriberLanguage = {
Aa: "aa",
Ab: "ab",
diff --git a/src/api/types/CartesiaTranscriberModel.ts b/src/api/types/CartesiaTranscriberModel.ts
index 031175c5..bd23bbcf 100644
--- a/src/api/types/CartesiaTranscriberModel.ts
+++ b/src/api/types/CartesiaTranscriberModel.ts
@@ -1,6 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/** The Cartesia speech-to-text model used for transcription. */
export const CartesiaTranscriberModel = {
InkWhisper: "ink-whisper",
+ Ink2: "ink-2",
} as const;
export type CartesiaTranscriberModel = (typeof CartesiaTranscriberModel)[keyof typeof CartesiaTranscriberModel];
diff --git a/src/api/types/CartesiaVoice.ts b/src/api/types/CartesiaVoice.ts
index 0c31ea83..2ab9abfa 100644
--- a/src/api/types/CartesiaVoice.ts
+++ b/src/api/types/CartesiaVoice.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration for synthesizing assistant speech with Cartesia, including voice and model selection, language, generation controls, pronunciation dictionaries, chunking, caching, and fallback settings.
+ */
export interface CartesiaVoice {
/** This is the flag to toggle voice caching for the assistant. */
cachingEnabled?: boolean | undefined;
diff --git a/src/api/types/CartesiaVoiceModel.ts b/src/api/types/CartesiaVoiceModel.ts
index fc18936e..94b8dc3d 100644
--- a/src/api/types/CartesiaVoiceModel.ts
+++ b/src/api/types/CartesiaVoiceModel.ts
@@ -2,6 +2,8 @@
/** This is the model that will be used. This is optional and will default to the correct model for the voiceId. */
export const CartesiaVoiceModel = {
+ Sonic35: "sonic-3.5",
+ Sonic3520260504: "sonic-3.5-2026-05-04",
Sonic3: "sonic-3",
Sonic320260112: "sonic-3-2026-01-12",
Sonic320251027: "sonic-3-2025-10-27",
diff --git a/src/api/types/CerebrasModel.ts b/src/api/types/CerebrasModel.ts
index cb48fbcd..753e503c 100644
--- a/src/api/types/CerebrasModel.ts
+++ b/src/api/types/CerebrasModel.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration for generating assistant responses with Cerebras, including model, prompts, tools, knowledge-base access, and generation settings.
+ */
export interface CerebrasModel {
/** This is the starting state for the conversation. */
messages?: Vapi.OpenAiMessage[] | undefined;
@@ -17,11 +20,18 @@ export interface CerebrasModel {
* Both `tools` and `toolIds` can be used together.
*/
toolIds?: string[] | undefined;
+ /**
+ * These are version-pinned references to tools. Each entry pins a specific
+ * version of a tool by `(toolId, version)`. When the same `toolId` appears
+ * in both `toolIds` and `toolRefs[]`, the `toolRefs` pin wins (the
+ * `toolIds` entry is dropped at write time).
+ */
+ toolRefs?: Vapi.ToolRef[] | undefined;
/** These are the options for the knowledge base. */
knowledgeBase?: Vapi.CreateCustomKnowledgeBaseDto | undefined;
/** This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b */
model: Vapi.CerebrasModelModel;
- /** This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency. */
+ /** This is the temperature that will be used for calls. Default is 0.5. */
temperature?: number | undefined;
/** This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250. */
maxTokens?: number | undefined;
diff --git a/src/api/types/CerebrasModelToolsItem.ts b/src/api/types/CerebrasModelToolsItem.ts
index 47a300b0..77c68ea5 100644
--- a/src/api/types/CerebrasModelToolsItem.ts
+++ b/src/api/types/CerebrasModelToolsItem.ts
@@ -119,4 +119,29 @@ export namespace CerebrasModelToolsItem {
export interface Voicemail extends Vapi.CreateVoicemailToolDto {
type: "voicemail";
}
+
+ export type Response =
+ | Vapi.CerebrasModelToolsItem.ApiRequest
+ | Vapi.CerebrasModelToolsItem.Bash
+ | Vapi.CerebrasModelToolsItem.Code
+ | Vapi.CerebrasModelToolsItem.Computer
+ | Vapi.CerebrasModelToolsItem.Dtmf
+ | Vapi.CerebrasModelToolsItem.EndCall
+ | Vapi.CerebrasModelToolsItem.Function
+ | Vapi.CerebrasModelToolsItem.GohighlevelCalendarAvailabilityCheck
+ | Vapi.CerebrasModelToolsItem.GohighlevelCalendarEventCreate
+ | Vapi.CerebrasModelToolsItem.GohighlevelContactCreate
+ | Vapi.CerebrasModelToolsItem.GohighlevelContactGet
+ | Vapi.CerebrasModelToolsItem.GoogleCalendarAvailabilityCheck
+ | Vapi.CerebrasModelToolsItem.GoogleCalendarEventCreate
+ | Vapi.CerebrasModelToolsItem.GoogleSheetsRowAppend
+ | Vapi.CerebrasModelToolsItem.Handoff
+ | Vapi.CerebrasModelToolsItem.Mcp
+ | Vapi.CerebrasModelToolsItem.Query
+ | Vapi.CerebrasModelToolsItem.SlackMessageSend
+ | Vapi.CerebrasModelToolsItem.Sms
+ | Vapi.CerebrasModelToolsItem.TextEditor
+ | Vapi.CerebrasModelToolsItem.TransferCall
+ | Vapi.CerebrasModelToolsItem.SipRequest
+ | Vapi.CerebrasModelToolsItem.Voicemail;
}
diff --git a/src/api/types/ChatEvalAssistantMessageEvaluation.ts b/src/api/types/ChatEvalAssistantMessageEvaluation.ts
index 7251f430..2e9db6f1 100644
--- a/src/api/types/ChatEvalAssistantMessageEvaluation.ts
+++ b/src/api/types/ChatEvalAssistantMessageEvaluation.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * An expected assistant turn in an evaluation, including the judge plan and how the evaluation should continue afterward.
+ */
export interface ChatEvalAssistantMessageEvaluation {
/**
* This is the role of the message author.
diff --git a/src/api/types/ChatEvalAssistantMessageMock.ts b/src/api/types/ChatEvalAssistantMessageMock.ts
index 65aae701..6e96c11e 100644
--- a/src/api/types/ChatEvalAssistantMessageMock.ts
+++ b/src/api/types/ChatEvalAssistantMessageMock.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * A simulated assistant turn in an evaluation conversation, with optional message content and tool calls.
+ */
export interface ChatEvalAssistantMessageMock {
/**
* This is the role of the message author.
diff --git a/src/api/types/ChatEvalAssistantMessageMockToolCall.ts b/src/api/types/ChatEvalAssistantMessageMockToolCall.ts
index 247946c3..875435ed 100644
--- a/src/api/types/ChatEvalAssistantMessageMockToolCall.ts
+++ b/src/api/types/ChatEvalAssistantMessageMockToolCall.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * A simulated assistant tool call with the tool name and optional arguments.
+ */
export interface ChatEvalAssistantMessageMockToolCall {
/**
* This is the name of the tool that will be called.
diff --git a/src/api/types/ChatEvalSystemMessageMock.ts b/src/api/types/ChatEvalSystemMessageMock.ts
index 4af1e411..ded983ac 100644
--- a/src/api/types/ChatEvalSystemMessageMock.ts
+++ b/src/api/types/ChatEvalSystemMessageMock.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * A simulated system message in an evaluation conversation.
+ */
export interface ChatEvalSystemMessageMock {
/**
* This is the role of the message author.
diff --git a/src/api/types/ChatEvalToolResponseMessageEvaluation.ts b/src/api/types/ChatEvalToolResponseMessageEvaluation.ts
index cdbfead3..74b1beac 100644
--- a/src/api/types/ChatEvalToolResponseMessageEvaluation.ts
+++ b/src/api/types/ChatEvalToolResponseMessageEvaluation.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * An expected tool-response turn evaluated by a configured LLM judge.
+ */
export interface ChatEvalToolResponseMessageEvaluation {
/**
* This is the role of the message author.
diff --git a/src/api/types/ChatEvalToolResponseMessageMock.ts b/src/api/types/ChatEvalToolResponseMessageMock.ts
index 9f998645..feeeed9a 100644
--- a/src/api/types/ChatEvalToolResponseMessageMock.ts
+++ b/src/api/types/ChatEvalToolResponseMessageMock.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * A simulated tool response in an evaluation conversation.
+ */
export interface ChatEvalToolResponseMessageMock {
/**
* This is the role of the message author.
diff --git a/src/api/types/ChatEvalUserMessageMock.ts b/src/api/types/ChatEvalUserMessageMock.ts
index 5639fc6c..896f52b8 100644
--- a/src/api/types/ChatEvalUserMessageMock.ts
+++ b/src/api/types/ChatEvalUserMessageMock.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * A simulated user message in an evaluation conversation.
+ */
export interface ChatEvalUserMessageMock {
/**
* This is the role of the message author.
diff --git a/src/api/types/ChunkPlan.ts b/src/api/types/ChunkPlan.ts
index 9ec75b8f..e5fac399 100644
--- a/src/api/types/ChunkPlan.ts
+++ b/src/api/types/ChunkPlan.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Controls how model output is split into chunks before voice synthesis, including minimum length, punctuation boundaries, and formatting.
+ */
export interface ChunkPlan {
/**
* This determines whether the model output is chunked before being sent to the voice provider. Default `true`.
diff --git a/src/api/types/ClientMessageAssistantSpeech.ts b/src/api/types/ClientMessageAssistantSpeech.ts
index aeb1c36f..6e5ef12b 100644
--- a/src/api/types/ClientMessageAssistantSpeech.ts
+++ b/src/api/types/ClientMessageAssistantSpeech.ts
@@ -5,6 +5,13 @@ import type * as Vapi from "../index.js";
export interface ClientMessageAssistantSpeech {
/** This is the phone number that the message is associated with. */
phoneNumber?: Vapi.ClientMessageAssistantSpeechPhoneNumber | undefined;
+ /**
+ * This is the version label (e.g. `v3`) of the assistant the call was
+ * configured with. `null` for inline assistants, squad/workflow calls,
+ * pre-resolution assistant-request messages, and orgs not on
+ * assistant versioning.
+ */
+ assistantVersion?: (string | null) | undefined;
/** This is the type of the message. "assistant-speech" is sent as assistant audio is being played. */
type: Vapi.ClientMessageAssistantSpeechType;
/**
diff --git a/src/api/types/ClientMessageAssistantStarted.ts b/src/api/types/ClientMessageAssistantStarted.ts
index da70f9b2..7c2128ab 100644
--- a/src/api/types/ClientMessageAssistantStarted.ts
+++ b/src/api/types/ClientMessageAssistantStarted.ts
@@ -5,6 +5,13 @@ import type * as Vapi from "../index.js";
export interface ClientMessageAssistantStarted {
/** This is the phone number that the message is associated with. */
phoneNumber?: Vapi.ClientMessageAssistantStartedPhoneNumber | undefined;
+ /**
+ * This is the version label (e.g. `v3`) of the assistant the call was
+ * configured with. `null` for inline assistants, squad/workflow calls,
+ * pre-resolution assistant-request messages, and orgs not on
+ * assistant versioning.
+ */
+ assistantVersion?: (string | null) | undefined;
/** This is the type of the message. "assistant.started" is sent when the assistant is started. */
type: Vapi.ClientMessageAssistantStartedType;
/** This is the timestamp of the message. */
diff --git a/src/api/types/ClientMessageCallDeleteFailed.ts b/src/api/types/ClientMessageCallDeleteFailed.ts
index a51d6357..6725fa2c 100644
--- a/src/api/types/ClientMessageCallDeleteFailed.ts
+++ b/src/api/types/ClientMessageCallDeleteFailed.ts
@@ -5,6 +5,13 @@ import type * as Vapi from "../index.js";
export interface ClientMessageCallDeleteFailed {
/** This is the phone number that the message is associated with. */
phoneNumber?: Vapi.ClientMessageCallDeleteFailedPhoneNumber | undefined;
+ /**
+ * This is the version label (e.g. `v3`) of the assistant the call was
+ * configured with. `null` for inline assistants, squad/workflow calls,
+ * pre-resolution assistant-request messages, and orgs not on
+ * assistant versioning.
+ */
+ assistantVersion?: (string | null) | undefined;
/** This is the type of the message. "call.deleted" is sent when a call is deleted. */
type: Vapi.ClientMessageCallDeleteFailedType;
/** This is the timestamp of the message. */
diff --git a/src/api/types/ClientMessageCallDeleted.ts b/src/api/types/ClientMessageCallDeleted.ts
index a59ef6bb..b8872052 100644
--- a/src/api/types/ClientMessageCallDeleted.ts
+++ b/src/api/types/ClientMessageCallDeleted.ts
@@ -5,6 +5,13 @@ import type * as Vapi from "../index.js";
export interface ClientMessageCallDeleted {
/** This is the phone number that the message is associated with. */
phoneNumber?: Vapi.ClientMessageCallDeletedPhoneNumber | undefined;
+ /**
+ * This is the version label (e.g. `v3`) of the assistant the call was
+ * configured with. `null` for inline assistants, squad/workflow calls,
+ * pre-resolution assistant-request messages, and orgs not on
+ * assistant versioning.
+ */
+ assistantVersion?: (string | null) | undefined;
/** This is the type of the message. "call.deleted" is sent when a call is deleted. */
type: Vapi.ClientMessageCallDeletedType;
/** This is the timestamp of the message. */
diff --git a/src/api/types/ClientMessageChatCreated.ts b/src/api/types/ClientMessageChatCreated.ts
index e204f16b..41f1674e 100644
--- a/src/api/types/ClientMessageChatCreated.ts
+++ b/src/api/types/ClientMessageChatCreated.ts
@@ -5,6 +5,13 @@ import type * as Vapi from "../index.js";
export interface ClientMessageChatCreated {
/** This is the phone number that the message is associated with. */
phoneNumber?: Vapi.ClientMessageChatCreatedPhoneNumber | undefined;
+ /**
+ * This is the version label (e.g. `v3`) of the assistant the call was
+ * configured with. `null` for inline assistants, squad/workflow calls,
+ * pre-resolution assistant-request messages, and orgs not on
+ * assistant versioning.
+ */
+ assistantVersion?: (string | null) | undefined;
/** This is the type of the message. "chat.created" is sent when a new chat is created. */
type: Vapi.ClientMessageChatCreatedType;
/** This is the timestamp of the message. */
diff --git a/src/api/types/ClientMessageChatDeleted.ts b/src/api/types/ClientMessageChatDeleted.ts
index 34b28f4d..2904ca83 100644
--- a/src/api/types/ClientMessageChatDeleted.ts
+++ b/src/api/types/ClientMessageChatDeleted.ts
@@ -5,6 +5,13 @@ import type * as Vapi from "../index.js";
export interface ClientMessageChatDeleted {
/** This is the phone number that the message is associated with. */
phoneNumber?: Vapi.ClientMessageChatDeletedPhoneNumber | undefined;
+ /**
+ * This is the version label (e.g. `v3`) of the assistant the call was
+ * configured with. `null` for inline assistants, squad/workflow calls,
+ * pre-resolution assistant-request messages, and orgs not on
+ * assistant versioning.
+ */
+ assistantVersion?: (string | null) | undefined;
/** This is the type of the message. "chat.deleted" is sent when a chat is deleted. */
type: Vapi.ClientMessageChatDeletedType;
/** This is the timestamp of the message. */
diff --git a/src/api/types/ClientMessageConversationUpdate.ts b/src/api/types/ClientMessageConversationUpdate.ts
index d2bd6484..0079dda9 100644
--- a/src/api/types/ClientMessageConversationUpdate.ts
+++ b/src/api/types/ClientMessageConversationUpdate.ts
@@ -5,6 +5,13 @@ import type * as Vapi from "../index.js";
export interface ClientMessageConversationUpdate {
/** This is the phone number that the message is associated with. */
phoneNumber?: Vapi.ClientMessageConversationUpdatePhoneNumber | undefined;
+ /**
+ * This is the version label (e.g. `v3`) of the assistant the call was
+ * configured with. `null` for inline assistants, squad/workflow calls,
+ * pre-resolution assistant-request messages, and orgs not on
+ * assistant versioning.
+ */
+ assistantVersion?: (string | null) | undefined;
/** This is the type of the message. "conversation-update" is sent when an update is committed to the conversation history. */
type: Vapi.ClientMessageConversationUpdateType;
/** This is the most up-to-date conversation history at the time the message is sent. */
diff --git a/src/api/types/ClientMessageHang.ts b/src/api/types/ClientMessageHang.ts
index 5cfecf25..b64f6124 100644
--- a/src/api/types/ClientMessageHang.ts
+++ b/src/api/types/ClientMessageHang.ts
@@ -5,6 +5,13 @@ import type * as Vapi from "../index.js";
export interface ClientMessageHang {
/** This is the phone number that the message is associated with. */
phoneNumber?: Vapi.ClientMessageHangPhoneNumber | undefined;
+ /**
+ * This is the version label (e.g. `v3`) of the assistant the call was
+ * configured with. `null` for inline assistants, squad/workflow calls,
+ * pre-resolution assistant-request messages, and orgs not on
+ * assistant versioning.
+ */
+ assistantVersion?: (string | null) | undefined;
/**
* This is the type of the message. "hang" is sent when the assistant is hanging due to a delay. The delay can be caused by many factors, such as:
* - the model is too slow to respond
diff --git a/src/api/types/ClientMessageLanguageChangeDetected.ts b/src/api/types/ClientMessageLanguageChangeDetected.ts
index e9724a68..ce3f0f18 100644
--- a/src/api/types/ClientMessageLanguageChangeDetected.ts
+++ b/src/api/types/ClientMessageLanguageChangeDetected.ts
@@ -5,6 +5,13 @@ import type * as Vapi from "../index.js";
export interface ClientMessageLanguageChangeDetected {
/** This is the phone number that the message is associated with. */
phoneNumber?: Vapi.ClientMessageLanguageChangeDetectedPhoneNumber | undefined;
+ /**
+ * This is the version label (e.g. `v3`) of the assistant the call was
+ * configured with. `null` for inline assistants, squad/workflow calls,
+ * pre-resolution assistant-request messages, and orgs not on
+ * assistant versioning.
+ */
+ assistantVersion?: (string | null) | undefined;
/** This is the type of the message. "language-change-detected" is sent when the transcriber is automatically switched based on the detected language. */
type: Vapi.ClientMessageLanguageChangeDetectedType;
/** This is the timestamp of the message. */
diff --git a/src/api/types/ClientMessageMetadata.ts b/src/api/types/ClientMessageMetadata.ts
index 4c0c6ca1..65510dae 100644
--- a/src/api/types/ClientMessageMetadata.ts
+++ b/src/api/types/ClientMessageMetadata.ts
@@ -5,6 +5,13 @@ import type * as Vapi from "../index.js";
export interface ClientMessageMetadata {
/** This is the phone number that the message is associated with. */
phoneNumber?: Vapi.ClientMessageMetadataPhoneNumber | undefined;
+ /**
+ * This is the version label (e.g. `v3`) of the assistant the call was
+ * configured with. `null` for inline assistants, squad/workflow calls,
+ * pre-resolution assistant-request messages, and orgs not on
+ * assistant versioning.
+ */
+ assistantVersion?: (string | null) | undefined;
/** This is the type of the message. "metadata" is sent to forward metadata to the client. */
type: Vapi.ClientMessageMetadataType;
/** This is the timestamp of the message. */
diff --git a/src/api/types/ClientMessageModelOutput.ts b/src/api/types/ClientMessageModelOutput.ts
index 4dd12ce4..5dfe7d1b 100644
--- a/src/api/types/ClientMessageModelOutput.ts
+++ b/src/api/types/ClientMessageModelOutput.ts
@@ -5,6 +5,13 @@ import type * as Vapi from "../index.js";
export interface ClientMessageModelOutput {
/** This is the phone number that the message is associated with. */
phoneNumber?: Vapi.ClientMessageModelOutputPhoneNumber | undefined;
+ /**
+ * This is the version label (e.g. `v3`) of the assistant the call was
+ * configured with. `null` for inline assistants, squad/workflow calls,
+ * pre-resolution assistant-request messages, and orgs not on
+ * assistant versioning.
+ */
+ assistantVersion?: (string | null) | undefined;
/** This is the type of the message. "model-output" is sent as the model outputs tokens. */
type: Vapi.ClientMessageModelOutputType;
/**
diff --git a/src/api/types/ClientMessageSessionCreated.ts b/src/api/types/ClientMessageSessionCreated.ts
index a2198c57..0112d76b 100644
--- a/src/api/types/ClientMessageSessionCreated.ts
+++ b/src/api/types/ClientMessageSessionCreated.ts
@@ -5,6 +5,13 @@ import type * as Vapi from "../index.js";
export interface ClientMessageSessionCreated {
/** This is the phone number that the message is associated with. */
phoneNumber?: Vapi.ClientMessageSessionCreatedPhoneNumber | undefined;
+ /**
+ * This is the version label (e.g. `v3`) of the assistant the call was
+ * configured with. `null` for inline assistants, squad/workflow calls,
+ * pre-resolution assistant-request messages, and orgs not on
+ * assistant versioning.
+ */
+ assistantVersion?: (string | null) | undefined;
/** This is the type of the message. "session.created" is sent when a new session is created. */
type: Vapi.ClientMessageSessionCreatedType;
/** This is the timestamp of the message. */
diff --git a/src/api/types/ClientMessageSessionDeleted.ts b/src/api/types/ClientMessageSessionDeleted.ts
index 4879e2e3..787d63fd 100644
--- a/src/api/types/ClientMessageSessionDeleted.ts
+++ b/src/api/types/ClientMessageSessionDeleted.ts
@@ -5,6 +5,13 @@ import type * as Vapi from "../index.js";
export interface ClientMessageSessionDeleted {
/** This is the phone number that the message is associated with. */
phoneNumber?: Vapi.ClientMessageSessionDeletedPhoneNumber | undefined;
+ /**
+ * This is the version label (e.g. `v3`) of the assistant the call was
+ * configured with. `null` for inline assistants, squad/workflow calls,
+ * pre-resolution assistant-request messages, and orgs not on
+ * assistant versioning.
+ */
+ assistantVersion?: (string | null) | undefined;
/** This is the type of the message. "session.deleted" is sent when a session is deleted. */
type: Vapi.ClientMessageSessionDeletedType;
/** This is the timestamp of the message. */
diff --git a/src/api/types/ClientMessageSessionUpdated.ts b/src/api/types/ClientMessageSessionUpdated.ts
index a3005cf0..0c425259 100644
--- a/src/api/types/ClientMessageSessionUpdated.ts
+++ b/src/api/types/ClientMessageSessionUpdated.ts
@@ -5,6 +5,13 @@ import type * as Vapi from "../index.js";
export interface ClientMessageSessionUpdated {
/** This is the phone number that the message is associated with. */
phoneNumber?: Vapi.ClientMessageSessionUpdatedPhoneNumber | undefined;
+ /**
+ * This is the version label (e.g. `v3`) of the assistant the call was
+ * configured with. `null` for inline assistants, squad/workflow calls,
+ * pre-resolution assistant-request messages, and orgs not on
+ * assistant versioning.
+ */
+ assistantVersion?: (string | null) | undefined;
/** This is the type of the message. "session.updated" is sent when a session is updated. */
type: Vapi.ClientMessageSessionUpdatedType;
/** This is the timestamp of the message. */
diff --git a/src/api/types/ClientMessageSpeechUpdate.ts b/src/api/types/ClientMessageSpeechUpdate.ts
index fdafdcdf..4d0a02ea 100644
--- a/src/api/types/ClientMessageSpeechUpdate.ts
+++ b/src/api/types/ClientMessageSpeechUpdate.ts
@@ -5,6 +5,13 @@ import type * as Vapi from "../index.js";
export interface ClientMessageSpeechUpdate {
/** This is the phone number that the message is associated with. */
phoneNumber?: Vapi.ClientMessageSpeechUpdatePhoneNumber | undefined;
+ /**
+ * This is the version label (e.g. `v3`) of the assistant the call was
+ * configured with. `null` for inline assistants, squad/workflow calls,
+ * pre-resolution assistant-request messages, and orgs not on
+ * assistant versioning.
+ */
+ assistantVersion?: (string | null) | undefined;
/** This is the type of the message. "speech-update" is sent whenever assistant or user start or stop speaking. */
type: Vapi.ClientMessageSpeechUpdateType;
/** This is the status of the speech update. */
diff --git a/src/api/types/ClientMessageToolCalls.ts b/src/api/types/ClientMessageToolCalls.ts
index cb6b7b34..d993698e 100644
--- a/src/api/types/ClientMessageToolCalls.ts
+++ b/src/api/types/ClientMessageToolCalls.ts
@@ -5,6 +5,13 @@ import type * as Vapi from "../index.js";
export interface ClientMessageToolCalls {
/** This is the phone number that the message is associated with. */
phoneNumber?: Vapi.ClientMessageToolCallsPhoneNumber | undefined;
+ /**
+ * This is the version label (e.g. `v3`) of the assistant the call was
+ * configured with. `null` for inline assistants, squad/workflow calls,
+ * pre-resolution assistant-request messages, and orgs not on
+ * assistant versioning.
+ */
+ assistantVersion?: (string | null) | undefined;
/** This is the type of the message. "tool-calls" is sent to call a tool. */
type?: Vapi.ClientMessageToolCallsType | undefined;
/** This is the list of tools calls that the model is requesting along with the original tool configuration. */
diff --git a/src/api/types/ClientMessageToolCallsResult.ts b/src/api/types/ClientMessageToolCallsResult.ts
index 49429de0..1872a6ed 100644
--- a/src/api/types/ClientMessageToolCallsResult.ts
+++ b/src/api/types/ClientMessageToolCallsResult.ts
@@ -5,6 +5,13 @@ import type * as Vapi from "../index.js";
export interface ClientMessageToolCallsResult {
/** This is the phone number that the message is associated with. */
phoneNumber?: Vapi.ClientMessageToolCallsResultPhoneNumber | undefined;
+ /**
+ * This is the version label (e.g. `v3`) of the assistant the call was
+ * configured with. `null` for inline assistants, squad/workflow calls,
+ * pre-resolution assistant-request messages, and orgs not on
+ * assistant versioning.
+ */
+ assistantVersion?: (string | null) | undefined;
/** This is the type of the message. "tool-calls-result" is sent to forward the result of a tool call to the client. */
type: Vapi.ClientMessageToolCallsResultType;
/** This is the timestamp of the message. */
diff --git a/src/api/types/ClientMessageTranscript.ts b/src/api/types/ClientMessageTranscript.ts
index 73258131..0bcc638f 100644
--- a/src/api/types/ClientMessageTranscript.ts
+++ b/src/api/types/ClientMessageTranscript.ts
@@ -5,6 +5,13 @@ import type * as Vapi from "../index.js";
export interface ClientMessageTranscript {
/** This is the phone number that the message is associated with. */
phoneNumber?: Vapi.ClientMessageTranscriptPhoneNumber | undefined;
+ /**
+ * This is the version label (e.g. `v3`) of the assistant the call was
+ * configured with. `null` for inline assistants, squad/workflow calls,
+ * pre-resolution assistant-request messages, and orgs not on
+ * assistant versioning.
+ */
+ assistantVersion?: (string | null) | undefined;
/** This is the type of the message. "transcript" is sent as transcriber outputs partial or final transcript. */
type: Vapi.ClientMessageTranscriptType;
/** This is the timestamp of the message. */
@@ -21,6 +28,16 @@ export interface ClientMessageTranscript {
transcriptType: Vapi.ClientMessageTranscriptTranscriptType;
/** This is the transcript content. */
transcript: string;
+ /**
+ * The ID of the assistant that produced this transcript. Present on
+ * assistant-role events when an active assistant ID is available.
+ */
+ assistantId?: string | undefined;
+ /**
+ * The name of the assistant that produced this transcript. Present on
+ * assistant-role events when an active assistant name is available.
+ */
+ assistantName?: string | undefined;
/** Indicates if the transcript was filtered for security reasons. */
isFiltered?: boolean | undefined;
/** List of detected security threats if the transcript was filtered. */
diff --git a/src/api/types/ClientMessageTransferUpdate.ts b/src/api/types/ClientMessageTransferUpdate.ts
index a8b69780..cdabc7fd 100644
--- a/src/api/types/ClientMessageTransferUpdate.ts
+++ b/src/api/types/ClientMessageTransferUpdate.ts
@@ -5,6 +5,13 @@ import type * as Vapi from "../index.js";
export interface ClientMessageTransferUpdate {
/** This is the phone number that the message is associated with. */
phoneNumber?: Vapi.ClientMessageTransferUpdatePhoneNumber | undefined;
+ /**
+ * This is the version label (e.g. `v3`) of the assistant the call was
+ * configured with. `null` for inline assistants, squad/workflow calls,
+ * pre-resolution assistant-request messages, and orgs not on
+ * assistant versioning.
+ */
+ assistantVersion?: (string | null) | undefined;
/** This is the type of the message. "transfer-update" is sent whenever a transfer happens. */
type: Vapi.ClientMessageTransferUpdateType;
/** This is the destination of the transfer. */
diff --git a/src/api/types/ClientMessageUserInterrupted.ts b/src/api/types/ClientMessageUserInterrupted.ts
index 2781040e..ff558eaa 100644
--- a/src/api/types/ClientMessageUserInterrupted.ts
+++ b/src/api/types/ClientMessageUserInterrupted.ts
@@ -5,6 +5,13 @@ import type * as Vapi from "../index.js";
export interface ClientMessageUserInterrupted {
/** This is the phone number that the message is associated with. */
phoneNumber?: Vapi.ClientMessageUserInterruptedPhoneNumber | undefined;
+ /**
+ * This is the version label (e.g. `v3`) of the assistant the call was
+ * configured with. `null` for inline assistants, squad/workflow calls,
+ * pre-resolution assistant-request messages, and orgs not on
+ * assistant versioning.
+ */
+ assistantVersion?: (string | null) | undefined;
/** This is the type of the message. "user-interrupted" is sent when the user interrupts the assistant. */
type: Vapi.ClientMessageUserInterruptedType;
/**
diff --git a/src/api/types/ClientMessageVoiceInput.ts b/src/api/types/ClientMessageVoiceInput.ts
index c8c44d74..2d3b2520 100644
--- a/src/api/types/ClientMessageVoiceInput.ts
+++ b/src/api/types/ClientMessageVoiceInput.ts
@@ -5,6 +5,13 @@ import type * as Vapi from "../index.js";
export interface ClientMessageVoiceInput {
/** This is the phone number that the message is associated with. */
phoneNumber?: Vapi.ClientMessageVoiceInputPhoneNumber | undefined;
+ /**
+ * This is the version label (e.g. `v3`) of the assistant the call was
+ * configured with. `null` for inline assistants, squad/workflow calls,
+ * pre-resolution assistant-request messages, and orgs not on
+ * assistant versioning.
+ */
+ assistantVersion?: (string | null) | undefined;
/** This is the type of the message. "voice-input" is sent when a generation is requested from voice provider. */
type: Vapi.ClientMessageVoiceInputType;
/** This is the timestamp of the message. */
diff --git a/src/api/types/ClientMessageWorkflowNodeStarted.ts b/src/api/types/ClientMessageWorkflowNodeStarted.ts
index beb4c177..40ad543f 100644
--- a/src/api/types/ClientMessageWorkflowNodeStarted.ts
+++ b/src/api/types/ClientMessageWorkflowNodeStarted.ts
@@ -5,6 +5,13 @@ import type * as Vapi from "../index.js";
export interface ClientMessageWorkflowNodeStarted {
/** This is the phone number that the message is associated with. */
phoneNumber?: Vapi.ClientMessageWorkflowNodeStartedPhoneNumber | undefined;
+ /**
+ * This is the version label (e.g. `v3`) of the assistant the call was
+ * configured with. `null` for inline assistants, squad/workflow calls,
+ * pre-resolution assistant-request messages, and orgs not on
+ * assistant versioning.
+ */
+ assistantVersion?: (string | null) | undefined;
/** This is the type of the message. "workflow.node.started" is sent when the active node changes. */
type: Vapi.ClientMessageWorkflowNodeStartedType;
/** This is the timestamp of the message. */
diff --git a/src/api/types/CloudflareR2BucketPlan.ts b/src/api/types/CloudflareR2BucketPlan.ts
index 72dfada2..1f276a2d 100644
--- a/src/api/types/CloudflareR2BucketPlan.ts
+++ b/src/api/types/CloudflareR2BucketPlan.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Cloudflare R2 bucket configuration for call-artifact storage, including access keys, base URL, bucket name, and path.
+ */
export interface CloudflareR2BucketPlan {
/** Cloudflare R2 Access key ID. */
accessKeyId?: string | undefined;
diff --git a/src/api/types/CodeTool.ts b/src/api/types/CodeTool.ts
index 8736f172..c1d9ee1d 100644
--- a/src/api/types/CodeTool.ts
+++ b/src/api/types/CodeTool.ts
@@ -2,12 +2,12 @@
import type * as Vapi from "../index.js";
+/**
+ * A reusable tool that executes TypeScript code with configured credentials, environment variables, and timeout.
+ */
export interface CodeTool {
- /**
- * These are the messages that will be spoken to the user as the tool is running.
- *
- * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
- */
+ latestVersion?: (string | null) | undefined;
+ /** Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. */
messages?: Vapi.CodeToolMessagesItem[] | undefined;
/**
* This determines if the tool is async.
diff --git a/src/api/types/CodeToolEnvironmentVariable.ts b/src/api/types/CodeToolEnvironmentVariable.ts
index 75f78883..ccfd862b 100644
--- a/src/api/types/CodeToolEnvironmentVariable.ts
+++ b/src/api/types/CodeToolEnvironmentVariable.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * An environment variable supplied to code-tool execution, with support for Liquid templates in its value.
+ */
export interface CodeToolEnvironmentVariable {
/** Name of the environment variable */
name: string;
diff --git a/src/api/types/Compliance.ts b/src/api/types/Compliance.ts
index ae8ea4ed..bcef4ba6 100644
--- a/src/api/types/Compliance.ts
+++ b/src/api/types/Compliance.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Compliance information captured for a call, including recording consent.
+ */
export interface Compliance {
/** This is the recording consent of the call. Configure in `assistant.compliancePlan.recordingConsentPlan`. */
recordingConsent?: Vapi.RecordingConsent | undefined;
diff --git a/src/api/types/ComplianceOverride.ts b/src/api/types/ComplianceOverride.ts
index 941b3635..e800dd0e 100644
--- a/src/api/types/ComplianceOverride.ts
+++ b/src/api/types/ComplianceOverride.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Overrides storage behavior for an output when HIPAA compliance is enabled.
+ */
export interface ComplianceOverride {
/** Force storage for this output under HIPAA. Only enable if output contains no sensitive data. */
forceStoreOnHipaaEnabled?: boolean | undefined;
diff --git a/src/api/types/CompliancePlan.ts b/src/api/types/CompliancePlan.ts
index aff989ce..3d0eff1d 100644
--- a/src/api/types/CompliancePlan.ts
+++ b/src/api/types/CompliancePlan.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Controls HIPAA and PCI requirements, transcript security filtering, and recording-consent handling for assistant calls.
+ */
export interface CompliancePlan {
/** When this is enabled, logs, recordings, and transcriptions will be stored in HIPAA-compliant storage. Defaults to false. Only HIPAA-compliant providers will be available for LLM, Voice, and Transcriber respectively. This setting is only honored if the organization is on an Enterprise subscription or has purchased the HIPAA add-on. */
hipaaEnabled?: boolean | undefined;
@@ -12,5 +15,6 @@ export interface CompliancePlan {
pciEnabled?: boolean | undefined;
/** This is the security filter plan for the assistant. It allows filtering of transcripts for security threats before sending to LLM. */
securityFilterPlan?: Vapi.SecurityFilterPlan | undefined;
+ /** Controls how recording consent is requested before the assistant joins the call. */
recordingConsentPlan?: Vapi.CompliancePlanRecordingConsentPlan | undefined;
}
diff --git a/src/api/types/CompliancePlanRecordingConsentPlan.ts b/src/api/types/CompliancePlanRecordingConsentPlan.ts
index b186b48a..a8195fe8 100644
--- a/src/api/types/CompliancePlanRecordingConsentPlan.ts
+++ b/src/api/types/CompliancePlanRecordingConsentPlan.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Controls how recording consent is requested before the assistant joins the call.
+ */
export type CompliancePlanRecordingConsentPlan =
| Vapi.CompliancePlanRecordingConsentPlan.StayOnLine
| Vapi.CompliancePlanRecordingConsentPlan.Verbal;
diff --git a/src/api/types/ComputerTool.ts b/src/api/types/ComputerTool.ts
index 19f18a15..df28ec05 100644
--- a/src/api/types/ComputerTool.ts
+++ b/src/api/types/ComputerTool.ts
@@ -2,12 +2,12 @@
import type * as Vapi from "../index.js";
+/**
+ * A reusable tool that lets the model interact with a computer display through screen, pointer, and keyboard actions.
+ */
export interface ComputerTool {
- /**
- * These are the messages that will be spoken to the user as the tool is running.
- *
- * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
- */
+ latestVersion?: (string | null) | undefined;
+ /** Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. */
messages?: Vapi.ComputerToolMessagesItem[] | undefined;
/** The sub type of tool. */
subType: Vapi.ComputerToolSubType;
diff --git a/src/api/types/ComputerToolWithToolCall.ts b/src/api/types/ComputerToolWithToolCall.ts
index ba2afa14..203030d3 100644
--- a/src/api/types/ComputerToolWithToolCall.ts
+++ b/src/api/types/ComputerToolWithToolCall.ts
@@ -3,11 +3,7 @@
import type * as Vapi from "../index.js";
export interface ComputerToolWithToolCall {
- /**
- * These are the messages that will be spoken to the user as the tool is running.
- *
- * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
- */
+ /** Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. */
messages?: Vapi.ComputerToolWithToolCallMessagesItem[] | undefined;
/** The sub type of tool. */
subType: Vapi.ComputerToolWithToolCallSubType;
diff --git a/src/api/types/Condition.ts b/src/api/types/Condition.ts
index 66d1d180..5312322c 100644
--- a/src/api/types/Condition.ts
+++ b/src/api/types/Condition.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Compares a named parameter with a value using the selected comparison operator.
+ */
export interface Condition {
/** This is the operator you want to use to compare the parameter and value. */
operator: Vapi.ConditionOperator;
diff --git a/src/api/types/ContextEngineeringPlanAll.ts b/src/api/types/ContextEngineeringPlanAll.ts
index 7ed31385..682818b6 100644
--- a/src/api/types/ContextEngineeringPlanAll.ts
+++ b/src/api/types/ContextEngineeringPlanAll.ts
@@ -1,3 +1,6 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Includes all available messages when constructing context for a handoff.
+ */
export type ContextEngineeringPlanAll = {};
diff --git a/src/api/types/ContextEngineeringPlanLastNMessages.ts b/src/api/types/ContextEngineeringPlanLastNMessages.ts
index d03df6bf..71ac3e14 100644
--- a/src/api/types/ContextEngineeringPlanLastNMessages.ts
+++ b/src/api/types/ContextEngineeringPlanLastNMessages.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Includes a configured number of the most recent messages when constructing context for a handoff.
+ */
export interface ContextEngineeringPlanLastNMessages {
/** This is the maximum number of messages to include in the context engineering plan. */
maxMessages: number;
diff --git a/src/api/types/ContextEngineeringPlanNone.ts b/src/api/types/ContextEngineeringPlanNone.ts
index efd7c1f4..88e23076 100644
--- a/src/api/types/ContextEngineeringPlanNone.ts
+++ b/src/api/types/ContextEngineeringPlanNone.ts
@@ -1,3 +1,6 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Excludes prior conversation messages when constructing context for a handoff.
+ */
export type ContextEngineeringPlanNone = {};
diff --git a/src/api/types/ContextEngineeringPlanPreviousAssistantMessages.ts b/src/api/types/ContextEngineeringPlanPreviousAssistantMessages.ts
new file mode 100644
index 00000000..0996a060
--- /dev/null
+++ b/src/api/types/ContextEngineeringPlanPreviousAssistantMessages.ts
@@ -0,0 +1,3 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export type ContextEngineeringPlanPreviousAssistantMessages = {};
diff --git a/src/api/types/ContextEngineeringPlanUserAndAssistantMessages.ts b/src/api/types/ContextEngineeringPlanUserAndAssistantMessages.ts
index bc4cddbc..1343b439 100644
--- a/src/api/types/ContextEngineeringPlanUserAndAssistantMessages.ts
+++ b/src/api/types/ContextEngineeringPlanUserAndAssistantMessages.ts
@@ -1,3 +1,6 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Includes only user and assistant messages when constructing context for a handoff.
+ */
export type ContextEngineeringPlanUserAndAssistantMessages = {};
diff --git a/src/api/types/ConversationNode.ts b/src/api/types/ConversationNode.ts
index 1bc05e74..c8bd3926 100644
--- a/src/api/types/ConversationNode.ts
+++ b/src/api/types/ConversationNode.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * A workflow node where the assistant conducts a conversation using optional node-specific providers, tools, prompt, and variable extraction.
+ */
export interface ConversationNode {
/**
* This is the model for the node.
@@ -33,6 +36,7 @@ export interface ConversationNode {
* Both `tools` and `toolIds` can be used together.
*/
toolIds?: string[] | undefined;
+ /** Prompt that guides the assistant while this node is active. */
prompt?: string | undefined;
/** This is the plan for the global node. */
globalNodePlan?: Vapi.GlobalNodePlan | undefined;
@@ -86,6 +90,7 @@ export interface ConversationNode {
* Note: The `schema` field is required for Conversation nodes if you want to extract variables from the user's responses. `aliases` is just a convenience.
*/
variableExtractionPlan?: Vapi.VariableExtractionPlan | undefined;
+ /** Unique name used to identify this workflow node. */
name: string;
/** This is whether or not the node is the start of the workflow. */
isStart?: boolean | undefined;
diff --git a/src/api/types/ConversationNodeToolsItem.ts b/src/api/types/ConversationNodeToolsItem.ts
index 128f6cc3..0798d658 100644
--- a/src/api/types/ConversationNodeToolsItem.ts
+++ b/src/api/types/ConversationNodeToolsItem.ts
@@ -119,4 +119,29 @@ export namespace ConversationNodeToolsItem {
export interface Voicemail extends Vapi.CreateVoicemailToolDto {
type: "voicemail";
}
+
+ export type Response =
+ | Vapi.ConversationNodeToolsItem.ApiRequest
+ | Vapi.ConversationNodeToolsItem.Bash
+ | Vapi.ConversationNodeToolsItem.Code
+ | Vapi.ConversationNodeToolsItem.Computer
+ | Vapi.ConversationNodeToolsItem.Dtmf
+ | Vapi.ConversationNodeToolsItem.EndCall
+ | Vapi.ConversationNodeToolsItem.Function
+ | Vapi.ConversationNodeToolsItem.GohighlevelCalendarAvailabilityCheck
+ | Vapi.ConversationNodeToolsItem.GohighlevelCalendarEventCreate
+ | Vapi.ConversationNodeToolsItem.GohighlevelContactCreate
+ | Vapi.ConversationNodeToolsItem.GohighlevelContactGet
+ | Vapi.ConversationNodeToolsItem.GoogleCalendarAvailabilityCheck
+ | Vapi.ConversationNodeToolsItem.GoogleCalendarEventCreate
+ | Vapi.ConversationNodeToolsItem.GoogleSheetsRowAppend
+ | Vapi.ConversationNodeToolsItem.Handoff
+ | Vapi.ConversationNodeToolsItem.Mcp
+ | Vapi.ConversationNodeToolsItem.Query
+ | Vapi.ConversationNodeToolsItem.SlackMessageSend
+ | Vapi.ConversationNodeToolsItem.Sms
+ | Vapi.ConversationNodeToolsItem.TextEditor
+ | Vapi.ConversationNodeToolsItem.TransferCall
+ | Vapi.ConversationNodeToolsItem.SipRequest
+ | Vapi.ConversationNodeToolsItem.Voicemail;
}
diff --git a/src/api/types/ConversationNodeTranscriber.ts b/src/api/types/ConversationNodeTranscriber.ts
index 3bd5ffca..3d048b76 100644
--- a/src/api/types/ConversationNodeTranscriber.ts
+++ b/src/api/types/ConversationNodeTranscriber.ts
@@ -19,7 +19,9 @@ export type ConversationNodeTranscriber =
| Vapi.ConversationNodeTranscriber.Talkscriber
| Vapi.ConversationNodeTranscriber.Openai
| Vapi.ConversationNodeTranscriber.Cartesia
- | Vapi.ConversationNodeTranscriber.Soniox;
+ | Vapi.ConversationNodeTranscriber.Soniox
+ | Vapi.ConversationNodeTranscriber.Xai
+ | Vapi.ConversationNodeTranscriber.Vapi;
export namespace ConversationNodeTranscriber {
export interface AssemblyAi extends Vapi.AssemblyAiTranscriber {
@@ -69,4 +71,12 @@ export namespace ConversationNodeTranscriber {
export interface Soniox extends Vapi.SonioxTranscriber {
provider: "soniox";
}
+
+ export interface Xai extends Vapi.XaiTranscriber {
+ provider: "xai";
+ }
+
+ export interface Vapi extends Vapi.VapiTranscriber {
+ provider: "vapi";
+ }
}
diff --git a/src/api/types/ConversationNodeVoice.ts b/src/api/types/ConversationNodeVoice.ts
index 52a1b44e..feb7ad91 100644
--- a/src/api/types/ConversationNodeVoice.ts
+++ b/src/api/types/ConversationNodeVoice.ts
@@ -25,7 +25,9 @@ export type ConversationNodeVoice =
| Vapi.ConversationNodeVoice.Vapi
| Vapi.ConversationNodeVoice.Sesame
| Vapi.ConversationNodeVoice.Inworld
- | Vapi.ConversationNodeVoice.Minimax;
+ | Vapi.ConversationNodeVoice.Minimax
+ | Vapi.ConversationNodeVoice.Xai
+ | Vapi.ConversationNodeVoice.Microsoft;
export namespace ConversationNodeVoice {
export interface Azure extends Vapi.AzureVoice {
@@ -99,4 +101,12 @@ export namespace ConversationNodeVoice {
export interface Minimax extends Vapi.MinimaxVoice {
provider: "minimax";
}
+
+ export interface Xai extends Vapi.XaiVoice {
+ provider: "xai";
+ }
+
+ export interface Microsoft extends Vapi.MicrosoftVoice {
+ provider: "microsoft";
+ }
}
diff --git a/src/api/types/CostBreakdown.ts b/src/api/types/CostBreakdown.ts
index 9f9e469b..586813d4 100644
--- a/src/api/types/CostBreakdown.ts
+++ b/src/api/types/CostBreakdown.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Aggregated call costs and usage, including transport, transcription, model, voice, Vapi, analysis, token, and character totals.
+ */
export interface CostBreakdown {
/** This is the cost of the transport provider, like Twilio or Vonage. */
transport?: number | undefined;
diff --git a/src/api/types/CreateAnthropicBedrockCredentialDto.ts b/src/api/types/CreateAnthropicBedrockCredentialDto.ts
index 47cb1b3e..42e886e1 100644
--- a/src/api/types/CreateAnthropicBedrockCredentialDto.ts
+++ b/src/api/types/CreateAnthropicBedrockCredentialDto.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Credentials for authenticating Anthropic model requests through Amazon Bedrock, including AWS region and authentication method.
+ */
export interface CreateAnthropicBedrockCredentialDto {
/** AWS region where Bedrock is configured. */
region: Vapi.CreateAnthropicBedrockCredentialDtoRegion;
diff --git a/src/api/types/CreateAnthropicBedrockCredentialDtoRegion.ts b/src/api/types/CreateAnthropicBedrockCredentialDtoRegion.ts
index b92ed783..a74361c0 100644
--- a/src/api/types/CreateAnthropicBedrockCredentialDtoRegion.ts
+++ b/src/api/types/CreateAnthropicBedrockCredentialDtoRegion.ts
@@ -4,6 +4,7 @@
export const CreateAnthropicBedrockCredentialDtoRegion = {
UsEast1: "us-east-1",
UsWest2: "us-west-2",
+ EuCentral1: "eu-central-1",
EuWest1: "eu-west-1",
EuWest3: "eu-west-3",
ApNortheast1: "ap-northeast-1",
diff --git a/src/api/types/CreateAnthropicCredentialDto.ts b/src/api/types/CreateAnthropicCredentialDto.ts
index f2f7c470..5c377968 100644
--- a/src/api/types/CreateAnthropicCredentialDto.ts
+++ b/src/api/types/CreateAnthropicCredentialDto.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Credentials for authenticating assistant model requests with Anthropic.
+ */
export interface CreateAnthropicCredentialDto {
/** This is not returned in the API. */
apiKey: string;
diff --git a/src/api/types/CreateAnyscaleCredentialDto.ts b/src/api/types/CreateAnyscaleCredentialDto.ts
index af1d780d..ce630bd3 100644
--- a/src/api/types/CreateAnyscaleCredentialDto.ts
+++ b/src/api/types/CreateAnyscaleCredentialDto.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Credentials for authenticating assistant model requests with Anyscale.
+ */
export interface CreateAnyscaleCredentialDto {
/** This is not returned in the API. */
apiKey: string;
diff --git a/src/api/types/CreateApiRequestToolDto.ts b/src/api/types/CreateApiRequestToolDto.ts
index 1e524283..a56ead07 100644
--- a/src/api/types/CreateApiRequestToolDto.ts
+++ b/src/api/types/CreateApiRequestToolDto.ts
@@ -2,13 +2,19 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration used to create a reusable tool that sends HTTP requests to a configured API and can authenticate, retry failures, and extract variables from responses.
+ */
export interface CreateApiRequestToolDto {
+ /** Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. */
+ messages?: Vapi.CreateApiRequestToolDtoMessagesItem[] | undefined;
/**
- * These are the messages that will be spoken to the user as the tool is running.
+ * This is the name of the tool. This will be passed to the model.
*
- * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
+ * Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 40.
*/
- messages?: Vapi.CreateApiRequestToolDtoMessagesItem[] | undefined;
+ name?: string | undefined;
+ /** The HTTP method used for the API request. */
method: Vapi.CreateApiRequestToolDtoMethod;
/**
* This is the timeout in seconds for the request. Defaults to 20 seconds.
@@ -22,12 +28,6 @@ export interface CreateApiRequestToolDto {
encryptedPaths?: string[] | undefined;
/** Static key-value pairs merged into the request body. Values support Liquid templates. */
parameters?: Vapi.ToolParameter[] | undefined;
- /**
- * This is the name of the tool. This will be passed to the model.
- *
- * Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 40.
- */
- name?: string | undefined;
/** This is the description of the tool. This will be passed to the model. */
description?: string | undefined;
/** This is where the request will be sent. */
diff --git a/src/api/types/CreateApiRequestToolDtoMethod.ts b/src/api/types/CreateApiRequestToolDtoMethod.ts
index f9a682c5..15c52325 100644
--- a/src/api/types/CreateApiRequestToolDtoMethod.ts
+++ b/src/api/types/CreateApiRequestToolDtoMethod.ts
@@ -1,5 +1,6 @@
// This file was auto-generated by Fern from our API Definition.
+/** The HTTP method used for the API request. */
export const CreateApiRequestToolDtoMethod = {
Post: "POST",
Get: "GET",
diff --git a/src/api/types/CreateAssemblyAiCredentialDto.ts b/src/api/types/CreateAssemblyAiCredentialDto.ts
index e03c9866..ef25dcb7 100644
--- a/src/api/types/CreateAssemblyAiCredentialDto.ts
+++ b/src/api/types/CreateAssemblyAiCredentialDto.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Credentials for authenticating transcription requests with AssemblyAI.
+ */
export interface CreateAssemblyAiCredentialDto {
/** This is not returned in the API. */
apiKey: string;
diff --git a/src/api/types/CreateAssistantDraftDto.ts b/src/api/types/CreateAssistantDraftDto.ts
new file mode 100644
index 00000000..32c267d5
--- /dev/null
+++ b/src/api/types/CreateAssistantDraftDto.ts
@@ -0,0 +1,159 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+export interface CreateAssistantDraftDto {
+ /** These are the options for the assistant's transcriber. */
+ transcriber?: Vapi.CreateAssistantDraftDtoTranscriber | undefined;
+ /** These are the options for the assistant's LLM. */
+ model?: Vapi.CreateAssistantDraftDtoModel | undefined;
+ /** These are the options for the assistant's voice. */
+ voice?: Vapi.CreateAssistantDraftDtoVoice | undefined;
+ /**
+ * This is the first message that the assistant will say. This can also be a URL to a containerized audio file (mp3, wav, etc.).
+ *
+ * If unspecified, assistant will wait for user to speak and use the model to respond once they speak.
+ */
+ firstMessage?: string | undefined;
+ firstMessageInterruptionsEnabled?: boolean | undefined;
+ /**
+ * This is the mode for the first message. Default is 'assistant-speaks-first'.
+ *
+ * Use:
+ * - 'assistant-speaks-first' to have the assistant speak first.
+ * - 'assistant-waits-for-user' to have the assistant wait for the user to speak first.
+ * - 'assistant-speaks-first-with-model-generated-message' to have the assistant speak first with a message generated by the model based on the conversation state. (`assistant.model.messages` at call start, `call.messages` at squad transfer points).
+ *
+ * @default 'assistant-speaks-first'
+ */
+ firstMessageMode?: Vapi.CreateAssistantDraftDtoFirstMessageMode | undefined;
+ /**
+ * These are the settings to configure or disable voicemail detection. Alternatively, voicemail detection can be configured using the model.tools=[VoicemailTool].
+ * By default, voicemail detection is disabled.
+ */
+ voicemailDetection?: Vapi.CreateAssistantDraftDtoVoicemailDetection | undefined;
+ /** These are the messages that will be sent to your Client SDKs. Default is conversation-update,function-call,hang,model-output,speech-update,status-update,transfer-update,transcript,tool-calls,user-interrupted,voice-input,workflow.node.started,assistant.started. You can check the shape of the messages in ClientMessage schema. */
+ clientMessages?: Vapi.CreateAssistantDraftDtoClientMessagesItem[] | undefined;
+ /** These are the messages that will be sent to your Server URL. Default is conversation-update,end-of-call-report,function-call,hang,speech-update,status-update,tool-calls,transfer-destination-request,handoff-destination-request,user-interrupted,assistant.started. You can check the shape of the messages in ServerMessage schema. */
+ serverMessages?: Vapi.CreateAssistantDraftDtoServerMessagesItem[] | undefined;
+ /**
+ * This is the maximum number of seconds that the call will last. When the call reaches this duration, it will be ended.
+ *
+ * @default 600 (10 minutes)
+ */
+ maxDurationSeconds?: number | undefined;
+ /**
+ * This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.
+ * You can also provide a custom sound by providing a URL to an audio file.
+ */
+ backgroundSound?: Vapi.CreateAssistantDraftDtoBackgroundSound | undefined;
+ /**
+ * This determines whether the model's output is used in conversation history rather than the transcription of assistant's speech.
+ *
+ * @default false
+ */
+ modelOutputInMessagesEnabled?: boolean | undefined;
+ /** These are the configurations to be passed to the transport providers of assistant's calls, like Twilio. You can store multiple configurations for different transport providers. For a call, only the configuration matching the call transport provider is used. */
+ transportConfigurations?: Vapi.TransportConfigurationTwilio[] | undefined;
+ /**
+ * This is the plan for observability of assistant's calls.
+ *
+ * Currently, only Langfuse is supported.
+ */
+ observabilityPlan?: Vapi.LangfuseObservabilityPlan | undefined;
+ /** These are dynamic credentials that will be used for the assistant calls. By default, all the credentials are available for use in the call but you can supplement an additional credentials using this. Dynamic credentials override existing credentials. */
+ credentials?: Vapi.CreateAssistantDraftDtoCredentialsItem[] | undefined;
+ /** This is a set of actions that will be performed on certain events. */
+ hooks?: Vapi.CreateAssistantDraftDtoHooksItem[] | undefined;
+ /**
+ * This is the name of the assistant.
+ *
+ * This is required when you want to transfer between assistants in a call.
+ */
+ name?: string | undefined;
+ /**
+ * This is the message that the assistant will say if the call is forwarded to voicemail.
+ *
+ * If unspecified, it will hang up.
+ */
+ voicemailMessage?: string | undefined;
+ /**
+ * This is the message that the assistant will say if it ends the call.
+ *
+ * If unspecified, it will hang up without saying anything.
+ */
+ endCallMessage?: string | undefined;
+ /** This list contains phrases that, if spoken by the assistant, will trigger the call to be hung up. Case insensitive. */
+ endCallPhrases?: string[] | undefined;
+ compliancePlan?: Vapi.CompliancePlan | undefined;
+ /** This is for metadata you want to store on the assistant. */
+ metadata?: Record | undefined;
+ /**
+ * This enables filtering of noise and background speech while the user is talking.
+ *
+ * Features:
+ * - Smart denoising using Krisp
+ * - Fourier denoising
+ *
+ * Smart denoising can be combined with or used independently of Fourier denoising.
+ *
+ * Order of precedence:
+ * - Smart denoising
+ * - Fourier denoising
+ */
+ backgroundSpeechDenoisingPlan?: Vapi.BackgroundSpeechDenoisingPlan | undefined;
+ /** This is the plan for analysis of assistant's calls. Stored in `call.analysis`. */
+ analysisPlan?: Vapi.AnalysisPlan | undefined;
+ /** This is the plan for artifacts generated during assistant's calls. Stored in `call.artifact`. */
+ artifactPlan?: Vapi.ArtifactPlan | undefined;
+ /**
+ * This is the plan for when the assistant should start talking.
+ *
+ * You should configure this if you're running into these issues:
+ * - The assistant is too slow to start talking after the customer is done speaking.
+ * - The assistant is too fast to start talking after the customer is done speaking.
+ * - The assistant is so fast that it's actually interrupting the customer.
+ */
+ startSpeakingPlan?: Vapi.StartSpeakingPlan | undefined;
+ /**
+ * This is the plan for when assistant should stop talking on customer interruption.
+ *
+ * You should configure this if you're running into these issues:
+ * - The assistant is too slow to recognize customer's interruption.
+ * - The assistant is too fast to recognize customer's interruption.
+ * - The assistant is getting interrupted by phrases that are just acknowledgments.
+ * - The assistant is getting interrupted by background noises.
+ * - The assistant is not properly stopping -- it starts talking right after getting interrupted.
+ */
+ stopSpeakingPlan?: Vapi.StopSpeakingPlan | undefined;
+ /**
+ * This is the plan for real-time monitoring of the assistant's calls.
+ *
+ * Usage:
+ * - To enable live listening of the assistant's calls, set `monitorPlan.listenEnabled` to `true`.
+ * - To enable live control of the assistant's calls, set `monitorPlan.controlEnabled` to `true`.
+ * - To attach monitors to the assistant, set `monitorPlan.monitorIds` to the set of monitor ids.
+ */
+ monitorPlan?: Vapi.MonitorPlan | undefined;
+ /** These are the credentials that will be used for the assistant calls. By default, all the credentials are available for use in the call but you can provide a subset using this. */
+ credentialIds?: string[] | undefined;
+ /**
+ * This is where Vapi will send webhooks. You can find all webhooks available along with their shape in ServerMessage schema.
+ *
+ * The order of precedence is:
+ *
+ * 1. assistant.server.url
+ * 2. phoneNumber.serverUrl
+ * 3. org.serverUrl
+ */
+ server?: Vapi.Server | undefined;
+ keypadInputPlan?: Vapi.KeypadInputPlan | undefined;
+ /**
+ * Optional pointer to the published version this draft was forked from.
+ * When omitted on `POST /assistant/:id/draft`, defaults server-side to the
+ * parent assistant's current `latestVersion` (which is lazy-created via
+ * `assistantBaselineVersionEnsureInTx` if the parent has never been
+ * versioned). Immutable for the lifetime of the draft.
+ */
+ baseVersion?: string | undefined;
+}
diff --git a/src/api/types/CreateAssistantDraftDtoBackgroundSound.ts b/src/api/types/CreateAssistantDraftDtoBackgroundSound.ts
new file mode 100644
index 00000000..fc4f1cf6
--- /dev/null
+++ b/src/api/types/CreateAssistantDraftDtoBackgroundSound.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+/**
+ * This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.
+ * You can also provide a custom sound by providing a URL to an audio file.
+ */
+export type CreateAssistantDraftDtoBackgroundSound = Vapi.CreateAssistantDraftDtoBackgroundSoundZero | string;
diff --git a/src/api/types/CreateAssistantDraftDtoBackgroundSoundZero.ts b/src/api/types/CreateAssistantDraftDtoBackgroundSoundZero.ts
new file mode 100644
index 00000000..55a74e93
--- /dev/null
+++ b/src/api/types/CreateAssistantDraftDtoBackgroundSoundZero.ts
@@ -0,0 +1,8 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const CreateAssistantDraftDtoBackgroundSoundZero = {
+ Off: "off",
+ Office: "office",
+} as const;
+export type CreateAssistantDraftDtoBackgroundSoundZero =
+ (typeof CreateAssistantDraftDtoBackgroundSoundZero)[keyof typeof CreateAssistantDraftDtoBackgroundSoundZero];
diff --git a/src/api/types/CreateAssistantDraftDtoClientMessagesItem.ts b/src/api/types/CreateAssistantDraftDtoClientMessagesItem.ts
new file mode 100644
index 00000000..3e4fcbee
--- /dev/null
+++ b/src/api/types/CreateAssistantDraftDtoClientMessagesItem.ts
@@ -0,0 +1,25 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const CreateAssistantDraftDtoClientMessagesItem = {
+ ConversationUpdate: "conversation-update",
+ AssistantSpeechStarted: "assistant.speechStarted",
+ FunctionCall: "function-call",
+ FunctionCallResult: "function-call-result",
+ Hang: "hang",
+ LanguageChanged: "language-changed",
+ Metadata: "metadata",
+ ModelOutput: "model-output",
+ SpeechUpdate: "speech-update",
+ StatusUpdate: "status-update",
+ Transcript: "transcript",
+ ToolCalls: "tool-calls",
+ ToolCallsResult: "tool-calls-result",
+ ToolCompleted: "tool.completed",
+ TransferUpdate: "transfer-update",
+ UserInterrupted: "user-interrupted",
+ VoiceInput: "voice-input",
+ WorkflowNodeStarted: "workflow.node.started",
+ AssistantStarted: "assistant.started",
+} as const;
+export type CreateAssistantDraftDtoClientMessagesItem =
+ (typeof CreateAssistantDraftDtoClientMessagesItem)[keyof typeof CreateAssistantDraftDtoClientMessagesItem];
diff --git a/src/api/types/CreateAssistantDraftDtoCredentialsItem.ts b/src/api/types/CreateAssistantDraftDtoCredentialsItem.ts
new file mode 100644
index 00000000..061a6839
--- /dev/null
+++ b/src/api/types/CreateAssistantDraftDtoCredentialsItem.ts
@@ -0,0 +1,352 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+export type CreateAssistantDraftDtoCredentialsItem =
+ | Vapi.CreateAssistantDraftDtoCredentialsItem._11Labs
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Anthropic
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.AnthropicBedrock
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Anyscale
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.AssemblyAi
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.AzureOpenai
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Azure
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.ByoSipTrunk
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Cartesia
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Cerebras
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Cloudflare
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.CustomLlm
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Deepgram
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Deepinfra
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.DeepSeek
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Gcp
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Gladia
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Gohighlevel
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Google
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Groq
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.InflectionAi
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Langfuse
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Lmnt
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Make
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Openai
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Openrouter
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.PerplexityAi
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Playht
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.RimeAi
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Runpod
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.S3
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.S3Compatible
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Supabase
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.SmallestAi
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Tavus
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.TogetherAi
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Twilio
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Vonage
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Webhook
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.CustomCredential
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Xai
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Microsoft
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Neuphonic
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Hume
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Mistral
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Speechmatics
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Soniox
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.GoogleCalendarOauth2Client
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.GoogleCalendarOauth2Authorization
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.GoogleSheetsOauth2Authorization
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.SlackOauth2Authorization
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.GhlOauth2Authorization
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Inworld
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Minimax
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Wellsaid
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Email
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.SlackWebhook;
+
+export namespace CreateAssistantDraftDtoCredentialsItem {
+ export interface _11Labs extends Vapi.CreateElevenLabsCredentialDto {
+ provider: "11labs";
+ }
+
+ export interface Anthropic extends Vapi.CreateAnthropicCredentialDto {
+ provider: "anthropic";
+ }
+
+ export interface AnthropicBedrock extends Vapi.CreateAnthropicBedrockCredentialDto {
+ provider: "anthropic-bedrock";
+ }
+
+ export interface Anyscale extends Vapi.CreateAnyscaleCredentialDto {
+ provider: "anyscale";
+ }
+
+ export interface AssemblyAi extends Vapi.CreateAssemblyAiCredentialDto {
+ provider: "assembly-ai";
+ }
+
+ export interface AzureOpenai extends Vapi.CreateAzureOpenAiCredentialDto {
+ provider: "azure-openai";
+ }
+
+ export interface Azure extends Vapi.CreateAzureCredentialDto {
+ provider: "azure";
+ }
+
+ export interface ByoSipTrunk extends Vapi.CreateByoSipTrunkCredentialDto {
+ provider: "byo-sip-trunk";
+ }
+
+ export interface Cartesia extends Vapi.CreateCartesiaCredentialDto {
+ provider: "cartesia";
+ }
+
+ export interface Cerebras extends Vapi.CreateCerebrasCredentialDto {
+ provider: "cerebras";
+ }
+
+ export interface Cloudflare extends Vapi.CreateCloudflareCredentialDto {
+ provider: "cloudflare";
+ }
+
+ export interface CustomLlm extends Vapi.CreateCustomLlmCredentialDto {
+ provider: "custom-llm";
+ }
+
+ export interface Deepgram extends Vapi.CreateDeepgramCredentialDto {
+ provider: "deepgram";
+ }
+
+ export interface Deepinfra extends Vapi.CreateDeepInfraCredentialDto {
+ provider: "deepinfra";
+ }
+
+ export interface DeepSeek extends Vapi.CreateDeepSeekCredentialDto {
+ provider: "deep-seek";
+ }
+
+ export interface Gcp extends Vapi.CreateGcpCredentialDto {
+ provider: "gcp";
+ }
+
+ export interface Gladia extends Vapi.CreateGladiaCredentialDto {
+ provider: "gladia";
+ }
+
+ export interface Gohighlevel extends Vapi.CreateGoHighLevelCredentialDto {
+ provider: "gohighlevel";
+ }
+
+ export interface Google extends Vapi.CreateGoogleCredentialDto {
+ provider: "google";
+ }
+
+ export interface Groq extends Vapi.CreateGroqCredentialDto {
+ provider: "groq";
+ }
+
+ export interface InflectionAi extends Vapi.CreateInflectionAiCredentialDto {
+ provider: "inflection-ai";
+ }
+
+ export interface Langfuse extends Vapi.CreateLangfuseCredentialDto {
+ provider: "langfuse";
+ }
+
+ export interface Lmnt extends Vapi.CreateLmntCredentialDto {
+ provider: "lmnt";
+ }
+
+ export interface Make extends Vapi.CreateMakeCredentialDto {
+ provider: "make";
+ }
+
+ export interface Openai extends Vapi.CreateOpenAiCredentialDto {
+ provider: "openai";
+ }
+
+ export interface Openrouter extends Vapi.CreateOpenRouterCredentialDto {
+ provider: "openrouter";
+ }
+
+ export interface PerplexityAi extends Vapi.CreatePerplexityAiCredentialDto {
+ provider: "perplexity-ai";
+ }
+
+ export interface Playht extends Vapi.CreatePlayHtCredentialDto {
+ provider: "playht";
+ }
+
+ export interface RimeAi extends Vapi.CreateRimeAiCredentialDto {
+ provider: "rime-ai";
+ }
+
+ export interface Runpod extends Vapi.CreateRunpodCredentialDto {
+ provider: "runpod";
+ }
+
+ export interface S3 extends Vapi.CreateS3CredentialDto {
+ provider: "s3";
+ }
+
+ export interface S3Compatible extends Vapi.CreateS3CompatibleCredentialDto {
+ provider: "s3-compatible";
+ }
+
+ export interface Supabase extends Vapi.CreateSupabaseCredentialDto {
+ provider: "supabase";
+ }
+
+ export interface SmallestAi extends Vapi.CreateSmallestAiCredentialDto {
+ provider: "smallest-ai";
+ }
+
+ export interface Tavus extends Vapi.CreateTavusCredentialDto {
+ provider: "tavus";
+ }
+
+ export interface TogetherAi extends Vapi.CreateTogetherAiCredentialDto {
+ provider: "together-ai";
+ }
+
+ export interface Twilio extends Vapi.CreateTwilioCredentialDto {
+ provider: "twilio";
+ }
+
+ export interface Vonage extends Vapi.CreateVonageCredentialDto {
+ provider: "vonage";
+ }
+
+ export interface Webhook extends Vapi.CreateWebhookCredentialDto {
+ provider: "webhook";
+ }
+
+ export interface CustomCredential extends Vapi.CreateCustomCredentialDto {
+ provider: "custom-credential";
+ }
+
+ export interface Xai extends Vapi.CreateXAiCredentialDto {
+ provider: "xai";
+ }
+
+ export interface Microsoft extends Vapi.CreateMicrosoftCredentialDto {
+ provider: "microsoft";
+ }
+
+ export interface Neuphonic extends Vapi.CreateNeuphonicCredentialDto {
+ provider: "neuphonic";
+ }
+
+ export interface Hume extends Vapi.CreateHumeCredentialDto {
+ provider: "hume";
+ }
+
+ export interface Mistral extends Vapi.CreateMistralCredentialDto {
+ provider: "mistral";
+ }
+
+ export interface Speechmatics extends Vapi.CreateSpeechmaticsCredentialDto {
+ provider: "speechmatics";
+ }
+
+ export interface Soniox extends Vapi.CreateSonioxCredentialDto {
+ provider: "soniox";
+ }
+
+ export interface GoogleCalendarOauth2Client extends Vapi.CreateGoogleCalendarOAuth2ClientCredentialDto {
+ provider: "google.calendar.oauth2-client";
+ }
+
+ export interface GoogleCalendarOauth2Authorization
+ extends Vapi.CreateGoogleCalendarOAuth2AuthorizationCredentialDto {
+ provider: "google.calendar.oauth2-authorization";
+ }
+
+ export interface GoogleSheetsOauth2Authorization extends Vapi.CreateGoogleSheetsOAuth2AuthorizationCredentialDto {
+ provider: "google.sheets.oauth2-authorization";
+ }
+
+ export interface SlackOauth2Authorization extends Vapi.CreateSlackOAuth2AuthorizationCredentialDto {
+ provider: "slack.oauth2-authorization";
+ }
+
+ export interface GhlOauth2Authorization extends Vapi.CreateGoHighLevelMcpCredentialDto {
+ provider: "ghl.oauth2-authorization";
+ }
+
+ export interface Inworld extends Vapi.CreateInworldCredentialDto {
+ provider: "inworld";
+ }
+
+ export interface Minimax extends Vapi.CreateMinimaxCredentialDto {
+ provider: "minimax";
+ }
+
+ export interface Wellsaid extends Vapi.CreateWellSaidCredentialDto {
+ provider: "wellsaid";
+ }
+
+ export interface Email extends Vapi.CreateEmailCredentialDto {
+ provider: "email";
+ }
+
+ export interface SlackWebhook extends Vapi.CreateSlackWebhookCredentialDto {
+ provider: "slack-webhook";
+ }
+
+ export type Response =
+ | Vapi.CreateAssistantDraftDtoCredentialsItem._11Labs
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Anthropic
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.AnthropicBedrock
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Anyscale
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.AssemblyAi
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.AzureOpenai
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Azure
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.ByoSipTrunk
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Cartesia
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Cerebras
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Cloudflare
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.CustomLlm
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Deepgram
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Deepinfra
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.DeepSeek
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Gcp
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Gladia
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Gohighlevel
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Google
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Groq
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.InflectionAi
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Langfuse
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Lmnt
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Make
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Openai
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Openrouter
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.PerplexityAi
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Playht
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.RimeAi
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Runpod
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.S3
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.S3Compatible
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Supabase
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.SmallestAi
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Tavus
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.TogetherAi
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Twilio
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Vonage
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Webhook
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.CustomCredential
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Xai
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Microsoft
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Neuphonic
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Hume
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Mistral
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Speechmatics
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Soniox
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.GoogleCalendarOauth2Client
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.GoogleCalendarOauth2Authorization
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.GoogleSheetsOauth2Authorization
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.SlackOauth2Authorization
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.GhlOauth2Authorization
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Inworld
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Minimax
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Wellsaid
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.Email
+ | Vapi.CreateAssistantDraftDtoCredentialsItem.SlackWebhook;
+}
diff --git a/src/api/types/CreateAssistantDraftDtoFirstMessageMode.ts b/src/api/types/CreateAssistantDraftDtoFirstMessageMode.ts
new file mode 100644
index 00000000..21722235
--- /dev/null
+++ b/src/api/types/CreateAssistantDraftDtoFirstMessageMode.ts
@@ -0,0 +1,19 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * This is the mode for the first message. Default is 'assistant-speaks-first'.
+ *
+ * Use:
+ * - 'assistant-speaks-first' to have the assistant speak first.
+ * - 'assistant-waits-for-user' to have the assistant wait for the user to speak first.
+ * - 'assistant-speaks-first-with-model-generated-message' to have the assistant speak first with a message generated by the model based on the conversation state. (`assistant.model.messages` at call start, `call.messages` at squad transfer points).
+ *
+ * @default 'assistant-speaks-first'
+ */
+export const CreateAssistantDraftDtoFirstMessageMode = {
+ AssistantSpeaksFirst: "assistant-speaks-first",
+ AssistantSpeaksFirstWithModelGeneratedMessage: "assistant-speaks-first-with-model-generated-message",
+ AssistantWaitsForUser: "assistant-waits-for-user",
+} as const;
+export type CreateAssistantDraftDtoFirstMessageMode =
+ (typeof CreateAssistantDraftDtoFirstMessageMode)[keyof typeof CreateAssistantDraftDtoFirstMessageMode];
diff --git a/src/api/types/CreateAssistantDraftDtoHooksItem.ts b/src/api/types/CreateAssistantDraftDtoHooksItem.ts
new file mode 100644
index 00000000..8824ab82
--- /dev/null
+++ b/src/api/types/CreateAssistantDraftDtoHooksItem.ts
@@ -0,0 +1,10 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+export type CreateAssistantDraftDtoHooksItem =
+ | Vapi.CallHookCallEnding
+ | Vapi.CallHookAssistantSpeechInterrupted
+ | Vapi.CallHookCustomerSpeechInterrupted
+ | Vapi.CallHookCustomerSpeechTimeout
+ | Vapi.SessionCreatedHook;
diff --git a/src/api/types/CreateAssistantDraftDtoModel.ts b/src/api/types/CreateAssistantDraftDtoModel.ts
new file mode 100644
index 00000000..631665e3
--- /dev/null
+++ b/src/api/types/CreateAssistantDraftDtoModel.ts
@@ -0,0 +1,117 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+/**
+ * These are the options for the assistant's LLM.
+ */
+export type CreateAssistantDraftDtoModel =
+ | Vapi.CreateAssistantDraftDtoModel.Anthropic
+ | Vapi.CreateAssistantDraftDtoModel.AnthropicBedrock
+ | Vapi.CreateAssistantDraftDtoModel.Anyscale
+ | Vapi.CreateAssistantDraftDtoModel.Cerebras
+ | Vapi.CreateAssistantDraftDtoModel.CustomLlm
+ | Vapi.CreateAssistantDraftDtoModel.Deepinfra
+ | Vapi.CreateAssistantDraftDtoModel.DeepSeek
+ | Vapi.CreateAssistantDraftDtoModel.Google
+ | Vapi.CreateAssistantDraftDtoModel.Groq
+ | Vapi.CreateAssistantDraftDtoModel.InflectionAi
+ | Vapi.CreateAssistantDraftDtoModel.Minimax
+ | Vapi.CreateAssistantDraftDtoModel.Openai
+ | Vapi.CreateAssistantDraftDtoModel.Openrouter
+ | Vapi.CreateAssistantDraftDtoModel.PerplexityAi
+ | Vapi.CreateAssistantDraftDtoModel.TogetherAi
+ | Vapi.CreateAssistantDraftDtoModel.Xai
+ | Vapi.CreateAssistantDraftDtoModel.Vapi;
+
+export namespace CreateAssistantDraftDtoModel {
+ export interface Anthropic extends Vapi.AnthropicModel {
+ provider: "anthropic";
+ }
+
+ export interface AnthropicBedrock extends Vapi.AnthropicBedrockModel {
+ provider: "anthropic-bedrock";
+ }
+
+ export interface Anyscale extends Vapi.AnyscaleModel {
+ provider: "anyscale";
+ }
+
+ export interface Cerebras extends Vapi.CerebrasModel {
+ provider: "cerebras";
+ }
+
+ export interface CustomLlm extends Vapi.CustomLlmModel {
+ provider: "custom-llm";
+ }
+
+ export interface Deepinfra extends Vapi.DeepInfraModel {
+ provider: "deepinfra";
+ }
+
+ export interface DeepSeek extends Vapi.DeepSeekModel {
+ provider: "deep-seek";
+ }
+
+ export interface Google extends Vapi.GoogleModel {
+ provider: "google";
+ }
+
+ export interface Groq extends Vapi.GroqModel {
+ provider: "groq";
+ }
+
+ export interface InflectionAi extends Vapi.InflectionAiModel {
+ provider: "inflection-ai";
+ }
+
+ export interface Minimax extends Vapi.MinimaxLlmModel {
+ provider: "minimax";
+ }
+
+ export interface Openai extends Vapi.OpenAiModel {
+ provider: "openai";
+ }
+
+ export interface Openrouter extends Vapi.OpenRouterModel {
+ provider: "openrouter";
+ }
+
+ export interface PerplexityAi extends Vapi.PerplexityAiModel {
+ provider: "perplexity-ai";
+ }
+
+ export interface TogetherAi extends Vapi.TogetherAiModel {
+ provider: "together-ai";
+ }
+
+ export interface Xai extends Vapi.XaiModel {
+ provider: "xai";
+ }
+
+ export interface Vapi extends Vapi.VapiModel {
+ provider: "vapi";
+ }
+
+ /**
+ * These are the options for the assistant's LLM.
+ */
+ export type Response =
+ | Vapi.CreateAssistantDraftDtoModel.Anthropic
+ | Vapi.CreateAssistantDraftDtoModel.AnthropicBedrock
+ | Vapi.CreateAssistantDraftDtoModel.Anyscale
+ | Vapi.CreateAssistantDraftDtoModel.Cerebras
+ | Vapi.CreateAssistantDraftDtoModel.CustomLlm
+ | Vapi.CreateAssistantDraftDtoModel.Deepinfra
+ | Vapi.CreateAssistantDraftDtoModel.DeepSeek
+ | Vapi.CreateAssistantDraftDtoModel.Google
+ | Vapi.CreateAssistantDraftDtoModel.Groq
+ | Vapi.CreateAssistantDraftDtoModel.InflectionAi
+ | Vapi.CreateAssistantDraftDtoModel.Minimax
+ | Vapi.CreateAssistantDraftDtoModel.Openai
+ | Vapi.CreateAssistantDraftDtoModel.Openrouter
+ | Vapi.CreateAssistantDraftDtoModel.PerplexityAi
+ | Vapi.CreateAssistantDraftDtoModel.TogetherAi
+ | Vapi.CreateAssistantDraftDtoModel.Xai
+ | Vapi.CreateAssistantDraftDtoModel.Vapi;
+}
diff --git a/src/api/types/CreateAssistantDraftDtoServerMessagesItem.ts b/src/api/types/CreateAssistantDraftDtoServerMessagesItem.ts
new file mode 100644
index 00000000..25f3a7d8
--- /dev/null
+++ b/src/api/types/CreateAssistantDraftDtoServerMessagesItem.ts
@@ -0,0 +1,34 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const CreateAssistantDraftDtoServerMessagesItem = {
+ AssistantStarted: "assistant.started",
+ AssistantSpeechStarted: "assistant.speechStarted",
+ ConversationUpdate: "conversation-update",
+ EndOfCallReport: "end-of-call-report",
+ FunctionCall: "function-call",
+ Hang: "hang",
+ LanguageChanged: "language-changed",
+ LanguageChangeDetected: "language-change-detected",
+ ModelOutput: "model-output",
+ PhoneCallControl: "phone-call-control",
+ SpeechUpdate: "speech-update",
+ StatusUpdate: "status-update",
+ Transcript: "transcript",
+ TranscriptTranscriptTypeFinal: 'transcript[transcriptType="final"]',
+ ToolCalls: "tool-calls",
+ TransferDestinationRequest: "transfer-destination-request",
+ HandoffDestinationRequest: "handoff-destination-request",
+ TransferUpdate: "transfer-update",
+ UserInterrupted: "user-interrupted",
+ VoiceInput: "voice-input",
+ ChatCreated: "chat.created",
+ ChatDeleted: "chat.deleted",
+ SessionCreated: "session.created",
+ SessionUpdated: "session.updated",
+ SessionDeleted: "session.deleted",
+ CallDeleted: "call.deleted",
+ CallDeleteFailed: "call.delete.failed",
+ CallArtifactUpload: "call.artifact.upload",
+} as const;
+export type CreateAssistantDraftDtoServerMessagesItem =
+ (typeof CreateAssistantDraftDtoServerMessagesItem)[keyof typeof CreateAssistantDraftDtoServerMessagesItem];
diff --git a/src/api/types/CreateAssistantDraftDtoTranscriber.ts b/src/api/types/CreateAssistantDraftDtoTranscriber.ts
new file mode 100644
index 00000000..6b7807f7
--- /dev/null
+++ b/src/api/types/CreateAssistantDraftDtoTranscriber.ts
@@ -0,0 +1,80 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+/**
+ * These are the options for the assistant's transcriber.
+ */
+export type CreateAssistantDraftDtoTranscriber =
+ | Vapi.CreateAssistantDraftDtoTranscriber.AssemblyAi
+ | Vapi.CreateAssistantDraftDtoTranscriber.Azure
+ | Vapi.CreateAssistantDraftDtoTranscriber.CustomTranscriber
+ | Vapi.CreateAssistantDraftDtoTranscriber.Deepgram
+ | Vapi.CreateAssistantDraftDtoTranscriber._11Labs
+ | Vapi.CreateAssistantDraftDtoTranscriber.Gladia
+ | Vapi.CreateAssistantDraftDtoTranscriber.Google
+ | Vapi.CreateAssistantDraftDtoTranscriber.Speechmatics
+ | Vapi.CreateAssistantDraftDtoTranscriber.Talkscriber
+ | Vapi.CreateAssistantDraftDtoTranscriber.Openai
+ | Vapi.CreateAssistantDraftDtoTranscriber.Cartesia
+ | Vapi.CreateAssistantDraftDtoTranscriber.Soniox
+ | Vapi.CreateAssistantDraftDtoTranscriber.Xai
+ | Vapi.CreateAssistantDraftDtoTranscriber.Vapi;
+
+export namespace CreateAssistantDraftDtoTranscriber {
+ export interface AssemblyAi extends Vapi.AssemblyAiTranscriber {
+ provider: "assembly-ai";
+ }
+
+ export interface Azure extends Vapi.AzureSpeechTranscriber {
+ provider: "azure";
+ }
+
+ export interface CustomTranscriber extends Vapi.CustomTranscriber {
+ provider: "custom-transcriber";
+ }
+
+ export interface Deepgram extends Vapi.DeepgramTranscriber {
+ provider: "deepgram";
+ }
+
+ export interface _11Labs extends Vapi.ElevenLabsTranscriber {
+ provider: "11labs";
+ }
+
+ export interface Gladia extends Vapi.GladiaTranscriber {
+ provider: "gladia";
+ }
+
+ export interface Google extends Vapi.GoogleTranscriber {
+ provider: "google";
+ }
+
+ export interface Speechmatics extends Vapi.SpeechmaticsTranscriber {
+ provider: "speechmatics";
+ }
+
+ export interface Talkscriber extends Vapi.TalkscriberTranscriber {
+ provider: "talkscriber";
+ }
+
+ export interface Openai extends Vapi.OpenAiTranscriber {
+ provider: "openai";
+ }
+
+ export interface Cartesia extends Vapi.CartesiaTranscriber {
+ provider: "cartesia";
+ }
+
+ export interface Soniox extends Vapi.SonioxTranscriber {
+ provider: "soniox";
+ }
+
+ export interface Xai extends Vapi.XaiTranscriber {
+ provider: "xai";
+ }
+
+ export interface Vapi extends Vapi.VapiTranscriber {
+ provider: "vapi";
+ }
+}
diff --git a/src/api/types/CreateAssistantDraftDtoVoice.ts b/src/api/types/CreateAssistantDraftDtoVoice.ts
new file mode 100644
index 00000000..ffcb0cc9
--- /dev/null
+++ b/src/api/types/CreateAssistantDraftDtoVoice.ts
@@ -0,0 +1,110 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+/**
+ * These are the options for the assistant's voice.
+ */
+export type CreateAssistantDraftDtoVoice =
+ | Vapi.CreateAssistantDraftDtoVoice.Azure
+ | Vapi.CreateAssistantDraftDtoVoice.Cartesia
+ | Vapi.CreateAssistantDraftDtoVoice.CustomVoice
+ | Vapi.CreateAssistantDraftDtoVoice.Deepgram
+ | Vapi.CreateAssistantDraftDtoVoice._11Labs
+ | Vapi.CreateAssistantDraftDtoVoice.Hume
+ | Vapi.CreateAssistantDraftDtoVoice.Lmnt
+ | Vapi.CreateAssistantDraftDtoVoice.Neuphonic
+ | Vapi.CreateAssistantDraftDtoVoice.Openai
+ | Vapi.CreateAssistantDraftDtoVoice.Playht
+ | Vapi.CreateAssistantDraftDtoVoice.Wellsaid
+ | Vapi.CreateAssistantDraftDtoVoice.RimeAi
+ | Vapi.CreateAssistantDraftDtoVoice.SmallestAi
+ | Vapi.CreateAssistantDraftDtoVoice.Tavus
+ | Vapi.CreateAssistantDraftDtoVoice.Vapi
+ | Vapi.CreateAssistantDraftDtoVoice.Sesame
+ | Vapi.CreateAssistantDraftDtoVoice.Inworld
+ | Vapi.CreateAssistantDraftDtoVoice.Minimax
+ | Vapi.CreateAssistantDraftDtoVoice.Xai
+ | Vapi.CreateAssistantDraftDtoVoice.Microsoft;
+
+export namespace CreateAssistantDraftDtoVoice {
+ export interface Azure extends Vapi.AzureVoice {
+ provider: "azure";
+ }
+
+ export interface Cartesia extends Vapi.CartesiaVoice {
+ provider: "cartesia";
+ }
+
+ export interface CustomVoice extends Vapi.CustomVoice {
+ provider: "custom-voice";
+ }
+
+ export interface Deepgram extends Vapi.DeepgramVoice {
+ provider: "deepgram";
+ }
+
+ export interface _11Labs extends Vapi.ElevenLabsVoice {
+ provider: "11labs";
+ }
+
+ export interface Hume extends Vapi.HumeVoice {
+ provider: "hume";
+ }
+
+ export interface Lmnt extends Vapi.LmntVoice {
+ provider: "lmnt";
+ }
+
+ export interface Neuphonic extends Vapi.NeuphonicVoice {
+ provider: "neuphonic";
+ }
+
+ export interface Openai extends Vapi.OpenAiVoice {
+ provider: "openai";
+ }
+
+ export interface Playht extends Vapi.PlayHtVoice {
+ provider: "playht";
+ }
+
+ export interface Wellsaid extends Vapi.WellSaidVoice {
+ provider: "wellsaid";
+ }
+
+ export interface RimeAi extends Vapi.RimeAiVoice {
+ provider: "rime-ai";
+ }
+
+ export interface SmallestAi extends Vapi.SmallestAiVoice {
+ provider: "smallest-ai";
+ }
+
+ export interface Tavus extends Vapi.TavusVoice {
+ provider: "tavus";
+ }
+
+ export interface Vapi extends Vapi.VapiVoice {
+ provider: "vapi";
+ }
+
+ export interface Sesame extends Vapi.SesameVoice {
+ provider: "sesame";
+ }
+
+ export interface Inworld extends Vapi.InworldVoice {
+ provider: "inworld";
+ }
+
+ export interface Minimax extends Vapi.MinimaxVoice {
+ provider: "minimax";
+ }
+
+ export interface Xai extends Vapi.XaiVoice {
+ provider: "xai";
+ }
+
+ export interface Microsoft extends Vapi.MicrosoftVoice {
+ provider: "microsoft";
+ }
+}
diff --git a/src/api/types/CreateAssistantDraftDtoVoicemailDetection.ts b/src/api/types/CreateAssistantDraftDtoVoicemailDetection.ts
new file mode 100644
index 00000000..512dec9e
--- /dev/null
+++ b/src/api/types/CreateAssistantDraftDtoVoicemailDetection.ts
@@ -0,0 +1,14 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+/**
+ * These are the settings to configure or disable voicemail detection. Alternatively, voicemail detection can be configured using the model.tools=[VoicemailTool].
+ * By default, voicemail detection is disabled.
+ */
+export type CreateAssistantDraftDtoVoicemailDetection =
+ | Vapi.CreateAssistantDraftDtoVoicemailDetectionZero
+ | Vapi.GoogleVoicemailDetectionPlan
+ | Vapi.OpenAiVoicemailDetectionPlan
+ | Vapi.TwilioVoicemailDetectionPlan
+ | Vapi.VapiVoicemailDetectionPlan;
diff --git a/src/api/types/CreateAssistantDraftDtoVoicemailDetectionZero.ts b/src/api/types/CreateAssistantDraftDtoVoicemailDetectionZero.ts
new file mode 100644
index 00000000..a4425307
--- /dev/null
+++ b/src/api/types/CreateAssistantDraftDtoVoicemailDetectionZero.ts
@@ -0,0 +1,7 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const CreateAssistantDraftDtoVoicemailDetectionZero = {
+ Off: "off",
+} as const;
+export type CreateAssistantDraftDtoVoicemailDetectionZero =
+ (typeof CreateAssistantDraftDtoVoicemailDetectionZero)[keyof typeof CreateAssistantDraftDtoVoicemailDetectionZero];
diff --git a/src/api/types/CreateAssistantDto.ts b/src/api/types/CreateAssistantDto.ts
index d9c9a164..5f0285a2 100644
--- a/src/api/types/CreateAssistantDto.ts
+++ b/src/api/types/CreateAssistantDto.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration used to create an assistant, including its model, voice, transcriber, prompts, tools, messaging, and conversation behavior.
+ */
export interface CreateAssistantDto {
/** These are the options for the assistant's transcriber. */
transcriber?: Vapi.CreateAssistantDtoTranscriber | undefined;
@@ -15,6 +18,7 @@ export interface CreateAssistantDto {
* If unspecified, assistant will wait for user to speak and use the model to respond once they speak.
*/
firstMessage?: string | undefined;
+ /** Set to `true` to allow the user to interrupt the assistant while it speaks the first message. Default is `false`. */
firstMessageInterruptionsEnabled?: boolean | undefined;
/**
* This is the mode for the first message. Default is 'assistant-speaks-first'.
@@ -85,6 +89,7 @@ export interface CreateAssistantDto {
endCallMessage?: string | undefined;
/** This list contains phrases that, if spoken by the assistant, will trigger the call to be hung up. Case insensitive. */
endCallPhrases?: string[] | undefined;
+ /** Compliance settings for the assistant, including HIPAA and PCI behavior, security filtering, and recording consent. */
compliancePlan?: Vapi.CompliancePlan | undefined;
/** This is for metadata you want to store on the assistant. */
metadata?: Record | undefined;
@@ -147,5 +152,6 @@ export interface CreateAssistantDto {
* 3. org.serverUrl
*/
server?: Vapi.Server | undefined;
+ /** Configuration for collecting and processing DTMF keypad input during calls. */
keypadInputPlan?: Vapi.KeypadInputPlan | undefined;
}
diff --git a/src/api/types/CreateAssistantDtoCredentialsItem.ts b/src/api/types/CreateAssistantDtoCredentialsItem.ts
index 78f039f4..b1cf2c14 100644
--- a/src/api/types/CreateAssistantDtoCredentialsItem.ts
+++ b/src/api/types/CreateAssistantDtoCredentialsItem.ts
@@ -34,6 +34,7 @@ export type CreateAssistantDtoCredentialsItem =
| Vapi.CreateAssistantDtoCredentialsItem.RimeAi
| Vapi.CreateAssistantDtoCredentialsItem.Runpod
| Vapi.CreateAssistantDtoCredentialsItem.S3
+ | Vapi.CreateAssistantDtoCredentialsItem.S3Compatible
| Vapi.CreateAssistantDtoCredentialsItem.Supabase
| Vapi.CreateAssistantDtoCredentialsItem.SmallestAi
| Vapi.CreateAssistantDtoCredentialsItem.Tavus
@@ -43,12 +44,12 @@ export type CreateAssistantDtoCredentialsItem =
| Vapi.CreateAssistantDtoCredentialsItem.Webhook
| Vapi.CreateAssistantDtoCredentialsItem.CustomCredential
| Vapi.CreateAssistantDtoCredentialsItem.Xai
+ | Vapi.CreateAssistantDtoCredentialsItem.Microsoft
| Vapi.CreateAssistantDtoCredentialsItem.Neuphonic
| Vapi.CreateAssistantDtoCredentialsItem.Hume
| Vapi.CreateAssistantDtoCredentialsItem.Mistral
| Vapi.CreateAssistantDtoCredentialsItem.Speechmatics
| Vapi.CreateAssistantDtoCredentialsItem.Soniox
- | Vapi.CreateAssistantDtoCredentialsItem.Trieve
| Vapi.CreateAssistantDtoCredentialsItem.GoogleCalendarOauth2Client
| Vapi.CreateAssistantDtoCredentialsItem.GoogleCalendarOauth2Authorization
| Vapi.CreateAssistantDtoCredentialsItem.GoogleSheetsOauth2Authorization
@@ -185,6 +186,10 @@ export namespace CreateAssistantDtoCredentialsItem {
provider: "s3";
}
+ export interface S3Compatible extends Vapi.CreateS3CompatibleCredentialDto {
+ provider: "s3-compatible";
+ }
+
export interface Supabase extends Vapi.CreateSupabaseCredentialDto {
provider: "supabase";
}
@@ -221,6 +226,10 @@ export namespace CreateAssistantDtoCredentialsItem {
provider: "xai";
}
+ export interface Microsoft extends Vapi.CreateMicrosoftCredentialDto {
+ provider: "microsoft";
+ }
+
export interface Neuphonic extends Vapi.CreateNeuphonicCredentialDto {
provider: "neuphonic";
}
@@ -241,10 +250,6 @@ export namespace CreateAssistantDtoCredentialsItem {
provider: "soniox";
}
- export interface Trieve extends Vapi.CreateTrieveCredentialDto {
- provider: "trieve";
- }
-
export interface GoogleCalendarOauth2Client extends Vapi.CreateGoogleCalendarOAuth2ClientCredentialDto {
provider: "google.calendar.oauth2-client";
}
@@ -285,4 +290,63 @@ export namespace CreateAssistantDtoCredentialsItem {
export interface SlackWebhook extends Vapi.CreateSlackWebhookCredentialDto {
provider: "slack-webhook";
}
+
+ export type Response =
+ | Vapi.CreateAssistantDtoCredentialsItem._11Labs
+ | Vapi.CreateAssistantDtoCredentialsItem.Anthropic
+ | Vapi.CreateAssistantDtoCredentialsItem.AnthropicBedrock
+ | Vapi.CreateAssistantDtoCredentialsItem.Anyscale
+ | Vapi.CreateAssistantDtoCredentialsItem.AssemblyAi
+ | Vapi.CreateAssistantDtoCredentialsItem.AzureOpenai
+ | Vapi.CreateAssistantDtoCredentialsItem.Azure
+ | Vapi.CreateAssistantDtoCredentialsItem.ByoSipTrunk
+ | Vapi.CreateAssistantDtoCredentialsItem.Cartesia
+ | Vapi.CreateAssistantDtoCredentialsItem.Cerebras
+ | Vapi.CreateAssistantDtoCredentialsItem.Cloudflare
+ | Vapi.CreateAssistantDtoCredentialsItem.CustomLlm
+ | Vapi.CreateAssistantDtoCredentialsItem.Deepgram
+ | Vapi.CreateAssistantDtoCredentialsItem.Deepinfra
+ | Vapi.CreateAssistantDtoCredentialsItem.DeepSeek
+ | Vapi.CreateAssistantDtoCredentialsItem.Gcp
+ | Vapi.CreateAssistantDtoCredentialsItem.Gladia
+ | Vapi.CreateAssistantDtoCredentialsItem.Gohighlevel
+ | Vapi.CreateAssistantDtoCredentialsItem.Google
+ | Vapi.CreateAssistantDtoCredentialsItem.Groq
+ | Vapi.CreateAssistantDtoCredentialsItem.InflectionAi
+ | Vapi.CreateAssistantDtoCredentialsItem.Langfuse
+ | Vapi.CreateAssistantDtoCredentialsItem.Lmnt
+ | Vapi.CreateAssistantDtoCredentialsItem.Make
+ | Vapi.CreateAssistantDtoCredentialsItem.Openai
+ | Vapi.CreateAssistantDtoCredentialsItem.Openrouter
+ | Vapi.CreateAssistantDtoCredentialsItem.PerplexityAi
+ | Vapi.CreateAssistantDtoCredentialsItem.Playht
+ | Vapi.CreateAssistantDtoCredentialsItem.RimeAi
+ | Vapi.CreateAssistantDtoCredentialsItem.Runpod
+ | Vapi.CreateAssistantDtoCredentialsItem.S3
+ | Vapi.CreateAssistantDtoCredentialsItem.S3Compatible
+ | Vapi.CreateAssistantDtoCredentialsItem.Supabase
+ | Vapi.CreateAssistantDtoCredentialsItem.SmallestAi
+ | Vapi.CreateAssistantDtoCredentialsItem.Tavus
+ | Vapi.CreateAssistantDtoCredentialsItem.TogetherAi
+ | Vapi.CreateAssistantDtoCredentialsItem.Twilio
+ | Vapi.CreateAssistantDtoCredentialsItem.Vonage
+ | Vapi.CreateAssistantDtoCredentialsItem.Webhook
+ | Vapi.CreateAssistantDtoCredentialsItem.CustomCredential
+ | Vapi.CreateAssistantDtoCredentialsItem.Xai
+ | Vapi.CreateAssistantDtoCredentialsItem.Microsoft
+ | Vapi.CreateAssistantDtoCredentialsItem.Neuphonic
+ | Vapi.CreateAssistantDtoCredentialsItem.Hume
+ | Vapi.CreateAssistantDtoCredentialsItem.Mistral
+ | Vapi.CreateAssistantDtoCredentialsItem.Speechmatics
+ | Vapi.CreateAssistantDtoCredentialsItem.Soniox
+ | Vapi.CreateAssistantDtoCredentialsItem.GoogleCalendarOauth2Client
+ | Vapi.CreateAssistantDtoCredentialsItem.GoogleCalendarOauth2Authorization
+ | Vapi.CreateAssistantDtoCredentialsItem.GoogleSheetsOauth2Authorization
+ | Vapi.CreateAssistantDtoCredentialsItem.SlackOauth2Authorization
+ | Vapi.CreateAssistantDtoCredentialsItem.GhlOauth2Authorization
+ | Vapi.CreateAssistantDtoCredentialsItem.Inworld
+ | Vapi.CreateAssistantDtoCredentialsItem.Minimax
+ | Vapi.CreateAssistantDtoCredentialsItem.Wellsaid
+ | Vapi.CreateAssistantDtoCredentialsItem.Email
+ | Vapi.CreateAssistantDtoCredentialsItem.SlackWebhook;
}
diff --git a/src/api/types/CreateAssistantDtoModel.ts b/src/api/types/CreateAssistantDtoModel.ts
index 4295c9c6..63ce4b83 100644
--- a/src/api/types/CreateAssistantDtoModel.ts
+++ b/src/api/types/CreateAssistantDtoModel.ts
@@ -21,7 +21,8 @@ export type CreateAssistantDtoModel =
| Vapi.CreateAssistantDtoModel.Openrouter
| Vapi.CreateAssistantDtoModel.PerplexityAi
| Vapi.CreateAssistantDtoModel.TogetherAi
- | Vapi.CreateAssistantDtoModel.Xai;
+ | Vapi.CreateAssistantDtoModel.Xai
+ | Vapi.CreateAssistantDtoModel.Vapi;
export namespace CreateAssistantDtoModel {
export interface Anthropic extends Vapi.AnthropicModel {
@@ -87,4 +88,30 @@ export namespace CreateAssistantDtoModel {
export interface Xai extends Vapi.XaiModel {
provider: "xai";
}
+
+ export interface Vapi extends Vapi.VapiModel {
+ provider: "vapi";
+ }
+
+ /**
+ * These are the options for the assistant's LLM.
+ */
+ export type Response =
+ | Vapi.CreateAssistantDtoModel.Anthropic
+ | Vapi.CreateAssistantDtoModel.AnthropicBedrock
+ | Vapi.CreateAssistantDtoModel.Anyscale
+ | Vapi.CreateAssistantDtoModel.Cerebras
+ | Vapi.CreateAssistantDtoModel.CustomLlm
+ | Vapi.CreateAssistantDtoModel.Deepinfra
+ | Vapi.CreateAssistantDtoModel.DeepSeek
+ | Vapi.CreateAssistantDtoModel.Google
+ | Vapi.CreateAssistantDtoModel.Groq
+ | Vapi.CreateAssistantDtoModel.InflectionAi
+ | Vapi.CreateAssistantDtoModel.Minimax
+ | Vapi.CreateAssistantDtoModel.Openai
+ | Vapi.CreateAssistantDtoModel.Openrouter
+ | Vapi.CreateAssistantDtoModel.PerplexityAi
+ | Vapi.CreateAssistantDtoModel.TogetherAi
+ | Vapi.CreateAssistantDtoModel.Xai
+ | Vapi.CreateAssistantDtoModel.Vapi;
}
diff --git a/src/api/types/CreateAssistantDtoServerMessagesItem.ts b/src/api/types/CreateAssistantDtoServerMessagesItem.ts
index 8b1696f6..2e4515c8 100644
--- a/src/api/types/CreateAssistantDtoServerMessagesItem.ts
+++ b/src/api/types/CreateAssistantDtoServerMessagesItem.ts
@@ -28,6 +28,7 @@ export const CreateAssistantDtoServerMessagesItem = {
SessionDeleted: "session.deleted",
CallDeleted: "call.deleted",
CallDeleteFailed: "call.delete.failed",
+ CallArtifactUpload: "call.artifact.upload",
} as const;
export type CreateAssistantDtoServerMessagesItem =
(typeof CreateAssistantDtoServerMessagesItem)[keyof typeof CreateAssistantDtoServerMessagesItem];
diff --git a/src/api/types/CreateAssistantDtoTranscriber.ts b/src/api/types/CreateAssistantDtoTranscriber.ts
index 00ab534e..d23f08fb 100644
--- a/src/api/types/CreateAssistantDtoTranscriber.ts
+++ b/src/api/types/CreateAssistantDtoTranscriber.ts
@@ -17,7 +17,9 @@ export type CreateAssistantDtoTranscriber =
| Vapi.CreateAssistantDtoTranscriber.Talkscriber
| Vapi.CreateAssistantDtoTranscriber.Openai
| Vapi.CreateAssistantDtoTranscriber.Cartesia
- | Vapi.CreateAssistantDtoTranscriber.Soniox;
+ | Vapi.CreateAssistantDtoTranscriber.Soniox
+ | Vapi.CreateAssistantDtoTranscriber.Xai
+ | Vapi.CreateAssistantDtoTranscriber.Vapi;
export namespace CreateAssistantDtoTranscriber {
export interface AssemblyAi extends Vapi.AssemblyAiTranscriber {
@@ -67,4 +69,12 @@ export namespace CreateAssistantDtoTranscriber {
export interface Soniox extends Vapi.SonioxTranscriber {
provider: "soniox";
}
+
+ export interface Xai extends Vapi.XaiTranscriber {
+ provider: "xai";
+ }
+
+ export interface Vapi extends Vapi.VapiTranscriber {
+ provider: "vapi";
+ }
}
diff --git a/src/api/types/CreateAssistantDtoVoice.ts b/src/api/types/CreateAssistantDtoVoice.ts
index f6736b5a..48c2505f 100644
--- a/src/api/types/CreateAssistantDtoVoice.ts
+++ b/src/api/types/CreateAssistantDtoVoice.ts
@@ -23,7 +23,9 @@ export type CreateAssistantDtoVoice =
| Vapi.CreateAssistantDtoVoice.Vapi
| Vapi.CreateAssistantDtoVoice.Sesame
| Vapi.CreateAssistantDtoVoice.Inworld
- | Vapi.CreateAssistantDtoVoice.Minimax;
+ | Vapi.CreateAssistantDtoVoice.Minimax
+ | Vapi.CreateAssistantDtoVoice.Xai
+ | Vapi.CreateAssistantDtoVoice.Microsoft;
export namespace CreateAssistantDtoVoice {
export interface Azure extends Vapi.AzureVoice {
@@ -97,4 +99,12 @@ export namespace CreateAssistantDtoVoice {
export interface Minimax extends Vapi.MinimaxVoice {
provider: "minimax";
}
+
+ export interface Xai extends Vapi.XaiVoice {
+ provider: "xai";
+ }
+
+ export interface Microsoft extends Vapi.MicrosoftVoice {
+ provider: "microsoft";
+ }
}
diff --git a/src/api/types/CreateAzureCredentialDto.ts b/src/api/types/CreateAzureCredentialDto.ts
index b13e23f6..0fe9943d 100644
--- a/src/api/types/CreateAzureCredentialDto.ts
+++ b/src/api/types/CreateAzureCredentialDto.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Credentials for Azure Speech or Blob Storage, including service, region, and optional storage bucket settings.
+ */
export interface CreateAzureCredentialDto {
/** This is the service being used in Azure. */
service: Vapi.CreateAzureCredentialDtoService;
diff --git a/src/api/types/CreateAzureCredentialDtoRegion.ts b/src/api/types/CreateAzureCredentialDtoRegion.ts
index da6eda0b..aa77361f 100644
--- a/src/api/types/CreateAzureCredentialDtoRegion.ts
+++ b/src/api/types/CreateAzureCredentialDtoRegion.ts
@@ -20,6 +20,8 @@ export const CreateAzureCredentialDtoRegion = {
Spaincentral: "spaincentral",
Swedencentral: "swedencentral",
Switzerland: "switzerland",
+ Switzerlandnorth: "switzerlandnorth",
+ Switzerlandwest: "switzerlandwest",
Uaenorth: "uaenorth",
Uk: "uk",
Westeurope: "westeurope",
diff --git a/src/api/types/CreateAzureOpenAiCredentialDto.ts b/src/api/types/CreateAzureOpenAiCredentialDto.ts
index 212bb821..b5b7f14f 100644
--- a/src/api/types/CreateAzureOpenAiCredentialDto.ts
+++ b/src/api/types/CreateAzureOpenAiCredentialDto.ts
@@ -2,13 +2,19 @@
import type * as Vapi from "../index.js";
+/**
+ * Credentials for authenticating assistant model requests with Azure OpenAI, including region, endpoint, and available models.
+ */
export interface CreateAzureOpenAiCredentialDto {
+ /** Azure region that hosts the OpenAI resource. */
region: Vapi.CreateAzureOpenAiCredentialDtoRegion;
+ /** Azure OpenAI models available through this credential. */
models: Vapi.CreateAzureOpenAiCredentialDtoModelsItem[];
/** This is not returned in the API. */
openAIKey: string;
/** This is not returned in the API. */
ocpApimSubscriptionKey?: string | undefined;
+ /** Endpoint URL for the Azure OpenAI resource. */
openAIEndpoint: string;
/** This is the name of credential. This is just for your reference. */
name?: string | undefined;
diff --git a/src/api/types/CreateAzureOpenAiCredentialDtoModelsItem.ts b/src/api/types/CreateAzureOpenAiCredentialDtoModelsItem.ts
index 76931b07..da62a1d2 100644
--- a/src/api/types/CreateAzureOpenAiCredentialDtoModelsItem.ts
+++ b/src/api/types/CreateAzureOpenAiCredentialDtoModelsItem.ts
@@ -1,6 +1,9 @@
// This file was auto-generated by Fern from our API Definition.
export const CreateAzureOpenAiCredentialDtoModelsItem = {
+ Gpt56Luna20260709: "gpt-5.6-luna-2026-07-09",
+ Gpt56Terra20260709: "gpt-5.6-terra-2026-07-09",
+ Gpt56Sol20260709: "gpt-5.6-sol-2026-07-09",
Gpt54: "gpt-5.4",
Gpt54Mini: "gpt-5.4-mini",
Gpt54Nano: "gpt-5.4-nano",
@@ -24,6 +27,9 @@ export const CreateAzureOpenAiCredentialDtoModelsItem = {
Gpt40613: "gpt-4-0613",
Gpt35Turbo0125: "gpt-35-turbo-0125",
Gpt35Turbo1106: "gpt-35-turbo-1106",
+ Gpt4O: "gpt-4o",
+ Gpt41: "gpt-4.1",
+ Gpt54Mini20260317: "gpt-5.4-mini-2026-03-17",
} as const;
export type CreateAzureOpenAiCredentialDtoModelsItem =
(typeof CreateAzureOpenAiCredentialDtoModelsItem)[keyof typeof CreateAzureOpenAiCredentialDtoModelsItem];
diff --git a/src/api/types/CreateAzureOpenAiCredentialDtoRegion.ts b/src/api/types/CreateAzureOpenAiCredentialDtoRegion.ts
index 9f81bf63..1ee51e1a 100644
--- a/src/api/types/CreateAzureOpenAiCredentialDtoRegion.ts
+++ b/src/api/types/CreateAzureOpenAiCredentialDtoRegion.ts
@@ -1,5 +1,6 @@
// This file was auto-generated by Fern from our API Definition.
+/** Azure region that hosts the OpenAI resource. */
export const CreateAzureOpenAiCredentialDtoRegion = {
Australiaeast: "australiaeast",
Canadaeast: "canadaeast",
@@ -19,6 +20,8 @@ export const CreateAzureOpenAiCredentialDtoRegion = {
Spaincentral: "spaincentral",
Swedencentral: "swedencentral",
Switzerland: "switzerland",
+ Switzerlandnorth: "switzerlandnorth",
+ Switzerlandwest: "switzerlandwest",
Uaenorth: "uaenorth",
Uk: "uk",
Westeurope: "westeurope",
diff --git a/src/api/types/CreateBarInsightFromCallTableDto.ts b/src/api/types/CreateBarInsightFromCallTableDto.ts
index bafb40a5..c18d0d7b 100644
--- a/src/api/types/CreateBarInsightFromCallTableDto.ts
+++ b/src/api/types/CreateBarInsightFromCallTableDto.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration used to create a bar-chart insight from call data using metric queries, formulas, grouping, and a stepped time range.
+ */
export interface CreateBarInsightFromCallTableDto {
/** This is the name of the Insight. */
name?: string | undefined;
@@ -25,6 +28,7 @@ export interface CreateBarInsightFromCallTableDto {
formulas?: Vapi.InsightFormula[] | undefined;
/** This is the metadata for the insight. */
metadata?: Vapi.BarInsightMetadata | undefined;
+ /** The time range and interval used to aggregate the bar-chart data. */
timeRange?: Vapi.InsightTimeRangeWithStep | undefined;
/**
* This is the group by column for the insight when table is `call`.
diff --git a/src/api/types/CreateBashToolDto.ts b/src/api/types/CreateBashToolDto.ts
index 5eeedf9b..c5d9dea9 100644
--- a/src/api/types/CreateBashToolDto.ts
+++ b/src/api/types/CreateBashToolDto.ts
@@ -2,12 +2,11 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration used to create a tool that executes shell commands in a configured environment.
+ */
export interface CreateBashToolDto {
- /**
- * These are the messages that will be spoken to the user as the tool is running.
- *
- * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
- */
+ /** Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. */
messages?: Vapi.CreateBashToolDtoMessagesItem[] | undefined;
/** The sub type of tool. */
subType: Vapi.CreateBashToolDtoSubType;
diff --git a/src/api/types/CreateByoPhoneNumberDto.ts b/src/api/types/CreateByoPhoneNumberDto.ts
index a5574e69..268ec064 100644
--- a/src/api/types/CreateByoPhoneNumberDto.ts
+++ b/src/api/types/CreateByoPhoneNumberDto.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration used to connect a bring-your-own phone number to Vapi with a stored telephony credential and routing settings.
+ */
export interface CreateByoPhoneNumberDto {
/**
* This is the fallback destination an inbound call will be transferred to if:
diff --git a/src/api/types/CreateByoSipTrunkCredentialDto.ts b/src/api/types/CreateByoSipTrunkCredentialDto.ts
index 4dba7308..87a3d541 100644
--- a/src/api/types/CreateByoSipTrunkCredentialDto.ts
+++ b/src/api/types/CreateByoSipTrunkCredentialDto.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration for connecting Vapi to a bring-your-own SIP trunk or carrier, including gateways, outbound authentication, number handling, and optional session border controller routing.
+ */
export interface CreateByoSipTrunkCredentialDto {
/** This is the list of SIP trunk's gateways. */
gateways: Vapi.SipTrunkGateway[];
@@ -20,8 +23,6 @@ export interface CreateByoSipTrunkCredentialDto {
techPrefix?: string | undefined;
/** This can be used to enable the SIP diversion header for authenticating the calling number if the SIP trunk supports it. This is an advanced property. */
sipDiversionHeader?: string | undefined;
- /** This is an advanced configuration for enterprise deployments. This uses the onprem SBC to trunk into the SIP trunk's `gateways`, rather than the managed SBC provided by Vapi. */
- sbcConfiguration?: Vapi.SbcConfiguration | undefined;
/** This is the name of credential. This is just for your reference. */
name?: string | undefined;
}
diff --git a/src/api/types/CreateCampaignDto.ts b/src/api/types/CreateCampaignDto.ts
new file mode 100644
index 00000000..4be52f9b
--- /dev/null
+++ b/src/api/types/CreateCampaignDto.ts
@@ -0,0 +1,39 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Vapi from "../index.js";
+
+/**
+ * Configuration used to create an outbound calling campaign. Choose an assistant, squad, or workflow, then provide customers, phone-number or dial-plan settings, and an optional schedule.
+ */
+export interface CreateCampaignDto {
+ /** This is the name of the campaign. This is just for your own reference. */
+ name: string;
+ /** This is the assistant ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used. */
+ assistantId?: string | undefined;
+ /** This is the workflow ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used. */
+ workflowId?: string | undefined;
+ /** This is the squad ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used. */
+ squadId?: string | undefined;
+ /** This is the phone number ID that will be used for the campaign calls. Required if dialPlan is not provided. Note: phoneNumberId and dialPlan are mutually exclusive. */
+ phoneNumberId?: string | undefined;
+ /** This is a list of dial entries, each specifying a phone number and the customers to call using that number. Use this when you want different phone numbers to call different sets of customers. Note: phoneNumberId and dialPlan are mutually exclusive. */
+ dialPlan?: Vapi.DialPlanEntry[] | undefined;
+ /** This is the schedule plan for the campaign. Calls will start at startedAt and continue until your organization’s concurrency limit is reached. Any remaining calls will be retried for up to one hour as capacity becomes available. After that hour or after latestAt, whichever comes first, any calls that couldn’t be placed won’t be retried. */
+ schedulePlan?: Vapi.SchedulePlan | undefined;
+ /** These are the customers that will be called in the campaign. Required if dialPlan is not provided. Maximum of 10000 customers per campaign. */
+ customers?: Vapi.CreateCustomerDto[] | undefined;
+ /** This is the maximum number of concurrent calls that will be made for the campaign. Defaults to 10. */
+ maxConcurrency?: number | undefined;
+ /** These are the overrides for the assistant's settings and template variables for the campaign. Use this when the campaign targets an `assistantId`. */
+ assistantOverrides?: Vapi.AssistantOverrides | undefined;
+ /** These are the overrides for the squad and template variables for the campaign. Use this when the campaign targets a `squadId`. Per-contact `squadOverrides` are deep-merged on top of this at dispatch time. */
+ squadOverrides?: Vapi.AssistantOverrides | undefined;
+ /** This is the server (URL, auth headers, timeout, etc.) for the campaign webhooks. */
+ server?: Vapi.Server | undefined;
+ /** These are the messages that will be sent to your Server URL. */
+ serverMessages?: Vapi.CreateCampaignDtoServerMessagesItem[] | undefined;
+ /** This opts the campaign into the blocking `campaign.predial` eligibility webhook. When set, every contact triggers a `campaign.predial` POST to the Server URL before dialing, and the response `{ eligible: boolean }` decides whether the call is placed. Requires `server`. When unset, no pre-dial webhook is sent. */
+ predialPlan?: Vapi.CampaignPredialPlan | undefined;
+ /** Optional campaign ID to duplicate config from. Provided fields in the request override the source. If `customers` is omitted, contacts are copied from the source. */
+ duplicateFromCampaignId?: string | undefined;
+}
diff --git a/src/api/types/CreateCampaignDtoServerMessagesItem.ts b/src/api/types/CreateCampaignDtoServerMessagesItem.ts
new file mode 100644
index 00000000..191e69aa
--- /dev/null
+++ b/src/api/types/CreateCampaignDtoServerMessagesItem.ts
@@ -0,0 +1,17 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export const CreateCampaignDtoServerMessagesItem = {
+ CampaignStarted: "campaign.started",
+ CampaignCancelled: "campaign.cancelled",
+ CampaignEnded: "campaign.ended",
+ CampaignArchived: "campaign.archived",
+ CampaignUnarchived: "campaign.unarchived",
+ ContactDispatched: "contact.dispatched",
+ ContactCompleted: "contact.completed",
+ ContactFailed: "contact.failed",
+ ContactSkipped: "contact.skipped",
+ ContactPredialFailed: "contact.predial-failed",
+ CampaignJobContinued: "campaign.job.continued",
+} as const;
+export type CreateCampaignDtoServerMessagesItem =
+ (typeof CreateCampaignDtoServerMessagesItem)[keyof typeof CreateCampaignDtoServerMessagesItem];
diff --git a/src/api/types/CreateCartesiaCredentialDto.ts b/src/api/types/CreateCartesiaCredentialDto.ts
index dedf1fd5..206c8329 100644
--- a/src/api/types/CreateCartesiaCredentialDto.ts
+++ b/src/api/types/CreateCartesiaCredentialDto.ts
@@ -1,8 +1,13 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Credentials for authenticating speech recognition and voice synthesis requests with Cartesia.
+ */
export interface CreateCartesiaCredentialDto {
/** This is not returned in the API. */
apiKey: string;
+ /** This can be used to point to an onprem Cartesia instance. Defaults to api.cartesia.ai. */
+ apiUrl?: string | undefined;
/** This is the name of credential. This is just for your reference. */
name?: string | undefined;
}
diff --git a/src/api/types/CreateCerebrasCredentialDto.ts b/src/api/types/CreateCerebrasCredentialDto.ts
index c9f400ab..4fa66a5f 100644
--- a/src/api/types/CreateCerebrasCredentialDto.ts
+++ b/src/api/types/CreateCerebrasCredentialDto.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Credentials for authenticating assistant model requests with Cerebras.
+ */
export interface CreateCerebrasCredentialDto {
/** This is not returned in the API. */
apiKey: string;
diff --git a/src/api/types/CreateCloudflareCredentialDto.ts b/src/api/types/CreateCloudflareCredentialDto.ts
index fb7e0497..f7e958a9 100644
--- a/src/api/types/CreateCloudflareCredentialDto.ts
+++ b/src/api/types/CreateCloudflareCredentialDto.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Credentials for storing call artifacts in Cloudflare R2, including account details, bucket configuration, and upload fallback order.
+ */
export interface CreateCloudflareCredentialDto {
/** Cloudflare Account Id. */
accountId?: string | undefined;
diff --git a/src/api/types/CreateCodeToolDto.ts b/src/api/types/CreateCodeToolDto.ts
index dee3d932..e8dcf14d 100644
--- a/src/api/types/CreateCodeToolDto.ts
+++ b/src/api/types/CreateCodeToolDto.ts
@@ -2,12 +2,11 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration used to create a reusable tool that executes TypeScript code with configured credentials, environment variables, and timeout.
+ */
export interface CreateCodeToolDto {
- /**
- * These are the messages that will be spoken to the user as the tool is running.
- *
- * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
- */
+ /** Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. */
messages?: Vapi.CreateCodeToolDtoMessagesItem[] | undefined;
/**
* This determines if the tool is async.
diff --git a/src/api/types/CreateComputerToolDto.ts b/src/api/types/CreateComputerToolDto.ts
index 1ea1bd82..b69207c8 100644
--- a/src/api/types/CreateComputerToolDto.ts
+++ b/src/api/types/CreateComputerToolDto.ts
@@ -2,12 +2,11 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration used to create a tool that lets the model interact with a computer display through screen, pointer, and keyboard actions.
+ */
export interface CreateComputerToolDto {
- /**
- * These are the messages that will be spoken to the user as the tool is running.
- *
- * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
- */
+ /** Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. */
messages?: Vapi.CreateComputerToolDtoMessagesItem[] | undefined;
/** The sub type of tool. */
subType: Vapi.CreateComputerToolDtoSubType;
diff --git a/src/api/types/CreateCustomCredentialDto.ts b/src/api/types/CreateCustomCredentialDto.ts
index d3706986..07bd36cc 100644
--- a/src/api/types/CreateCustomCredentialDto.ts
+++ b/src/api/types/CreateCustomCredentialDto.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Reusable custom credentials for authenticating outbound requests, with optional public-key encryption for sensitive request data.
+ */
export interface CreateCustomCredentialDto {
/** This is the authentication plan. Supports OAuth2 RFC 6749, HMAC signing, and Bearer authentication. */
authenticationPlan: Vapi.CreateCustomCredentialDtoAuthenticationPlan;
diff --git a/src/api/types/CreateCustomKnowledgeBaseDto.ts b/src/api/types/CreateCustomKnowledgeBaseDto.ts
index e15a604c..25205440 100644
--- a/src/api/types/CreateCustomKnowledgeBaseDto.ts
+++ b/src/api/types/CreateCustomKnowledgeBaseDto.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration for connecting a custom knowledge-base implementation through a customer-hosted server.
+ */
export interface CreateCustomKnowledgeBaseDto {
/** This knowledge base is bring your own knowledge base implementation. */
provider: Vapi.CreateCustomKnowledgeBaseDtoProvider;
diff --git a/src/api/types/CreateCustomLlmCredentialDto.ts b/src/api/types/CreateCustomLlmCredentialDto.ts
index 311fb9c6..25372219 100644
--- a/src/api/types/CreateCustomLlmCredentialDto.ts
+++ b/src/api/types/CreateCustomLlmCredentialDto.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Credentials for authenticating requests to a custom language model with an API key or OAuth 2.0 authentication plan.
+ */
export interface CreateCustomLlmCredentialDto {
/** This is not returned in the API. */
apiKey: string;
diff --git a/src/api/types/CreateCustomerDto.ts b/src/api/types/CreateCustomerDto.ts
index 35052af2..0c48578d 100644
--- a/src/api/types/CreateCustomerDto.ts
+++ b/src/api/types/CreateCustomerDto.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Customer details used for call delivery and assistant personalization, including phone or SIP destination, contact identifiers, extension, and assistant overrides.
+ */
export interface CreateCustomerDto {
/**
* This is the flag to toggle the E164 check for the `number` field. This is an advanced property which should be used if you know your use case requires it.
@@ -22,6 +25,12 @@ export interface CreateCustomerDto {
* This allows customization of the assistant's behavior for individual customers in batch calls.
*/
assistantOverrides?: Vapi.AssistantOverrides | undefined;
+ /**
+ * These are the overrides applied when the call targets a `squadId`. Mirrors
+ * the call-level `squadOverrides` — use this instead of `assistantOverrides`
+ * when the campaign or call is squad-based.
+ */
+ squadOverrides?: Vapi.AssistantOverrides | undefined;
/** This is the number of the customer. */
number?: string | undefined;
/** This is the SIP URI of the customer. */
diff --git a/src/api/types/CreateDeepInfraCredentialDto.ts b/src/api/types/CreateDeepInfraCredentialDto.ts
index fd64ca77..d23cf93f 100644
--- a/src/api/types/CreateDeepInfraCredentialDto.ts
+++ b/src/api/types/CreateDeepInfraCredentialDto.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Credentials for authenticating assistant model requests with DeepInfra.
+ */
export interface CreateDeepInfraCredentialDto {
/** This is not returned in the API. */
apiKey: string;
diff --git a/src/api/types/CreateDeepSeekCredentialDto.ts b/src/api/types/CreateDeepSeekCredentialDto.ts
index e6c093b3..558a98ea 100644
--- a/src/api/types/CreateDeepSeekCredentialDto.ts
+++ b/src/api/types/CreateDeepSeekCredentialDto.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Credentials for authenticating assistant model requests with DeepSeek.
+ */
export interface CreateDeepSeekCredentialDto {
/** This is not returned in the API. */
apiKey: string;
diff --git a/src/api/types/CreateDeepgramCredentialDto.ts b/src/api/types/CreateDeepgramCredentialDto.ts
index 75732212..a66374f7 100644
--- a/src/api/types/CreateDeepgramCredentialDto.ts
+++ b/src/api/types/CreateDeepgramCredentialDto.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Credentials for authenticating speech recognition and voice synthesis requests with Deepgram, with an optional API URL for an on-premises instance.
+ */
export interface CreateDeepgramCredentialDto {
/** This is not returned in the API. */
apiKey: string;
diff --git a/src/api/types/CreateDtmfToolDto.ts b/src/api/types/CreateDtmfToolDto.ts
index edce636c..1f486711 100644
--- a/src/api/types/CreateDtmfToolDto.ts
+++ b/src/api/types/CreateDtmfToolDto.ts
@@ -2,12 +2,11 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration used to create a tool that lets an assistant send DTMF keypad tones during a call.
+ */
export interface CreateDtmfToolDto {
- /**
- * These are the messages that will be spoken to the user as the tool is running.
- *
- * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
- */
+ /** Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. */
messages?: Vapi.CreateDtmfToolDtoMessagesItem[] | undefined;
/** This enables sending DTMF tones via SIP INFO messages instead of RFC 2833 (RTP events). When enabled, DTMF digits will be sent using the SIP INFO method, which can be more reliable in some network configurations. Only relevant when using the `vapi.sip` transport. */
sipInfoDtmfEnabled?: boolean | undefined;
diff --git a/src/api/types/CreateElevenLabsCredentialDto.ts b/src/api/types/CreateElevenLabsCredentialDto.ts
index 43996126..bf2490b7 100644
--- a/src/api/types/CreateElevenLabsCredentialDto.ts
+++ b/src/api/types/CreateElevenLabsCredentialDto.ts
@@ -1,8 +1,15 @@
// This file was auto-generated by Fern from our API Definition.
+import type * as Vapi from "../index.js";
+
+/**
+ * Credentials for authenticating speech recognition and voice synthesis requests with ElevenLabs.
+ */
export interface CreateElevenLabsCredentialDto {
/** This is not returned in the API. */
apiKey: string;
+ /** ElevenLabs-only API environment for this key: the global endpoint or the EU data residency endpoint. In EU deployments, new credentials must explicitly use the EU data residency endpoint; existing credentials may omit this field on update to retain their saved endpoint. Outside EU deployments, Vapi detects an omitted endpoint automatically and null on update clears and re-detects the endpoint. */
+ apiUrl?: (Vapi.CreateElevenLabsCredentialDtoApiUrl | null) | undefined;
/** This is the name of credential. This is just for your reference. */
name?: string | undefined;
}
diff --git a/src/api/types/CreateElevenLabsCredentialDtoApiUrl.ts b/src/api/types/CreateElevenLabsCredentialDtoApiUrl.ts
new file mode 100644
index 00000000..ad6b3877
--- /dev/null
+++ b/src/api/types/CreateElevenLabsCredentialDtoApiUrl.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/** ElevenLabs-only API environment for this key: the global endpoint or the EU data residency endpoint. In EU deployments, new credentials must explicitly use the EU data residency endpoint; existing credentials may omit this field on update to retain their saved endpoint. Outside EU deployments, Vapi detects an omitted endpoint automatically and null on update clears and re-detects the endpoint. */
+export const CreateElevenLabsCredentialDtoApiUrl = {
+ HttpsApiElevenlabsIo: "https://api.elevenlabs.io",
+ HttpsApiEuResidencyElevenlabsIo: "https://api.eu.residency.elevenlabs.io",
+} as const;
+export type CreateElevenLabsCredentialDtoApiUrl =
+ (typeof CreateElevenLabsCredentialDtoApiUrl)[keyof typeof CreateElevenLabsCredentialDtoApiUrl];
diff --git a/src/api/types/CreateEmailCredentialDto.ts b/src/api/types/CreateEmailCredentialDto.ts
index 8c5218c7..e51ec2ae 100644
--- a/src/api/types/CreateEmailCredentialDto.ts
+++ b/src/api/types/CreateEmailCredentialDto.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Destination configuration for sending Vapi alerts to an email address.
+ */
export interface CreateEmailCredentialDto {
/** The recipient email address for alerts */
email: string;
diff --git a/src/api/types/CreateEndCallToolDto.ts b/src/api/types/CreateEndCallToolDto.ts
index 9fafa84f..2cad4970 100644
--- a/src/api/types/CreateEndCallToolDto.ts
+++ b/src/api/types/CreateEndCallToolDto.ts
@@ -2,12 +2,11 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration used to create a tool that lets an assistant end the active call.
+ */
export interface CreateEndCallToolDto {
- /**
- * These are the messages that will be spoken to the user as the tool is running.
- *
- * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
- */
+ /** Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. */
messages?: Vapi.CreateEndCallToolDtoMessagesItem[] | undefined;
/**
* This is the plan to reject a tool call based on the conversation state.
diff --git a/src/api/types/CreateEvalDto.ts b/src/api/types/CreateEvalDto.ts
index 97ecdccc..edd15bd9 100644
--- a/src/api/types/CreateEvalDto.ts
+++ b/src/api/types/CreateEvalDto.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration used to create a reusable eval containing a mock conversation and checkpoints for assessing assistant responses and tool calls.
+ */
export interface CreateEvalDto {
/**
* This is the mock conversation that will be used to evaluate the flow of the conversation.
diff --git a/src/api/types/CreateFunctionToolDto.ts b/src/api/types/CreateFunctionToolDto.ts
index 52a6940d..d00b7681 100644
--- a/src/api/types/CreateFunctionToolDto.ts
+++ b/src/api/types/CreateFunctionToolDto.ts
@@ -2,12 +2,11 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration used to create a custom function tool that sends model-generated arguments to a server and returns the result to the assistant.
+ */
export interface CreateFunctionToolDto {
- /**
- * These are the messages that will be spoken to the user as the tool is running.
- *
- * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
- */
+ /** Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. */
messages?: Vapi.CreateFunctionToolDtoMessagesItem[] | undefined;
/**
* This determines if the tool is async.
diff --git a/src/api/types/CreateGcpCredentialDto.ts b/src/api/types/CreateGcpCredentialDto.ts
index 3a985a2a..f9a226ef 100644
--- a/src/api/types/CreateGcpCredentialDto.ts
+++ b/src/api/types/CreateGcpCredentialDto.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Service-account credentials for Google Cloud resources and optional call-artifact storage, including region, bucket configuration, and upload fallback order.
+ */
export interface CreateGcpCredentialDto {
/** This is the order in which this storage provider is tried during upload retries. Lower numbers are tried first in increasing order. */
fallbackIndex?: number | undefined;
@@ -13,6 +16,7 @@ export interface CreateGcpCredentialDto {
gcpKey: Vapi.GcpKey;
/** This is the region of the GCP resource. */
region?: string | undefined;
+ /** Bucket configuration used to store call artifacts in Google Cloud Storage. */
bucketPlan?: Vapi.BucketPlan | undefined;
/** This is the name of credential. This is just for your reference. */
name?: string | undefined;
diff --git a/src/api/types/CreateGhlToolDto.ts b/src/api/types/CreateGhlToolDto.ts
index aee5e6e8..107030b2 100644
--- a/src/api/types/CreateGhlToolDto.ts
+++ b/src/api/types/CreateGhlToolDto.ts
@@ -3,11 +3,7 @@
import type * as Vapi from "../index.js";
export interface CreateGhlToolDto {
- /**
- * These are the messages that will be spoken to the user as the tool is running.
- *
- * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
- */
+ /** Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. */
messages?: Vapi.CreateGhlToolDtoMessagesItem[] | undefined;
/** The type of tool. "ghl" for GHL tool. */
type: Vapi.CreateGhlToolDtoType;
diff --git a/src/api/types/CreateGladiaCredentialDto.ts b/src/api/types/CreateGladiaCredentialDto.ts
index fe700ced..10e61358 100644
--- a/src/api/types/CreateGladiaCredentialDto.ts
+++ b/src/api/types/CreateGladiaCredentialDto.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Credentials for authenticating transcription requests with Gladia.
+ */
export interface CreateGladiaCredentialDto {
/** This is not returned in the API. */
apiKey: string;
diff --git a/src/api/types/CreateGoHighLevelCalendarAvailabilityToolDto.ts b/src/api/types/CreateGoHighLevelCalendarAvailabilityToolDto.ts
index 94e2e933..97d9e6a7 100644
--- a/src/api/types/CreateGoHighLevelCalendarAvailabilityToolDto.ts
+++ b/src/api/types/CreateGoHighLevelCalendarAvailabilityToolDto.ts
@@ -2,12 +2,11 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration used to create a tool that checks calendar availability in a connected GoHighLevel account.
+ */
export interface CreateGoHighLevelCalendarAvailabilityToolDto {
- /**
- * These are the messages that will be spoken to the user as the tool is running.
- *
- * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
- */
+ /** Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. */
messages?: Vapi.CreateGoHighLevelCalendarAvailabilityToolDtoMessagesItem[] | undefined;
/**
* This is the plan to reject a tool call based on the conversation state.
diff --git a/src/api/types/CreateGoHighLevelCalendarEventCreateToolDto.ts b/src/api/types/CreateGoHighLevelCalendarEventCreateToolDto.ts
index 8979aadd..bc7f5548 100644
--- a/src/api/types/CreateGoHighLevelCalendarEventCreateToolDto.ts
+++ b/src/api/types/CreateGoHighLevelCalendarEventCreateToolDto.ts
@@ -2,12 +2,11 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration used to create a tool that adds calendar events to a connected GoHighLevel account.
+ */
export interface CreateGoHighLevelCalendarEventCreateToolDto {
- /**
- * These are the messages that will be spoken to the user as the tool is running.
- *
- * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
- */
+ /** Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. */
messages?: Vapi.CreateGoHighLevelCalendarEventCreateToolDtoMessagesItem[] | undefined;
/**
* This is the plan to reject a tool call based on the conversation state.
diff --git a/src/api/types/CreateGoHighLevelContactCreateToolDto.ts b/src/api/types/CreateGoHighLevelContactCreateToolDto.ts
index 1772bd6b..f9748781 100644
--- a/src/api/types/CreateGoHighLevelContactCreateToolDto.ts
+++ b/src/api/types/CreateGoHighLevelContactCreateToolDto.ts
@@ -2,12 +2,11 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration used to create a tool that adds contacts to a connected GoHighLevel account.
+ */
export interface CreateGoHighLevelContactCreateToolDto {
- /**
- * These are the messages that will be spoken to the user as the tool is running.
- *
- * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
- */
+ /** Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. */
messages?: Vapi.CreateGoHighLevelContactCreateToolDtoMessagesItem[] | undefined;
/**
* This is the plan to reject a tool call based on the conversation state.
diff --git a/src/api/types/CreateGoHighLevelContactGetToolDto.ts b/src/api/types/CreateGoHighLevelContactGetToolDto.ts
index 46168341..b124f36f 100644
--- a/src/api/types/CreateGoHighLevelContactGetToolDto.ts
+++ b/src/api/types/CreateGoHighLevelContactGetToolDto.ts
@@ -2,12 +2,11 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration used to create a tool that retrieves contacts from a connected GoHighLevel account.
+ */
export interface CreateGoHighLevelContactGetToolDto {
- /**
- * These are the messages that will be spoken to the user as the tool is running.
- *
- * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
- */
+ /** Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. */
messages?: Vapi.CreateGoHighLevelContactGetToolDtoMessagesItem[] | undefined;
/**
* This is the plan to reject a tool call based on the conversation state.
diff --git a/src/api/types/CreateGoHighLevelCredentialDto.ts b/src/api/types/CreateGoHighLevelCredentialDto.ts
index a3050f8d..e0198641 100644
--- a/src/api/types/CreateGoHighLevelCredentialDto.ts
+++ b/src/api/types/CreateGoHighLevelCredentialDto.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Credentials for authenticating Vapi integrations with GoHighLevel.
+ */
export interface CreateGoHighLevelCredentialDto {
/** This is not returned in the API. */
apiKey: string;
diff --git a/src/api/types/CreateGoHighLevelMcpCredentialDto.ts b/src/api/types/CreateGoHighLevelMcpCredentialDto.ts
index b4ab62c8..bcd5e055 100644
--- a/src/api/types/CreateGoHighLevelMcpCredentialDto.ts
+++ b/src/api/types/CreateGoHighLevelMcpCredentialDto.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * OAuth 2.0 session credentials for authenticating GoHighLevel MCP requests.
+ */
export interface CreateGoHighLevelMcpCredentialDto {
/** This is the authentication session for the credential. */
authenticationSession: Vapi.Oauth2AuthenticationSession;
diff --git a/src/api/types/CreateGoogleCalendarCheckAvailabilityToolDto.ts b/src/api/types/CreateGoogleCalendarCheckAvailabilityToolDto.ts
index 5129f2b8..3cfd8b37 100644
--- a/src/api/types/CreateGoogleCalendarCheckAvailabilityToolDto.ts
+++ b/src/api/types/CreateGoogleCalendarCheckAvailabilityToolDto.ts
@@ -2,12 +2,11 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration used to create a tool that checks availability in a connected Google Calendar.
+ */
export interface CreateGoogleCalendarCheckAvailabilityToolDto {
- /**
- * These are the messages that will be spoken to the user as the tool is running.
- *
- * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
- */
+ /** Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. */
messages?: Vapi.CreateGoogleCalendarCheckAvailabilityToolDtoMessagesItem[] | undefined;
/**
* This is the plan to reject a tool call based on the conversation state.
diff --git a/src/api/types/CreateGoogleCalendarCreateEventToolDto.ts b/src/api/types/CreateGoogleCalendarCreateEventToolDto.ts
index 406a9073..f2675b11 100644
--- a/src/api/types/CreateGoogleCalendarCreateEventToolDto.ts
+++ b/src/api/types/CreateGoogleCalendarCreateEventToolDto.ts
@@ -2,12 +2,11 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration used to create a tool that adds events to a connected Google Calendar.
+ */
export interface CreateGoogleCalendarCreateEventToolDto {
- /**
- * These are the messages that will be spoken to the user as the tool is running.
- *
- * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
- */
+ /** Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. */
messages?: Vapi.CreateGoogleCalendarCreateEventToolDtoMessagesItem[] | undefined;
/**
* This is the plan to reject a tool call based on the conversation state.
diff --git a/src/api/types/CreateGoogleCalendarOAuth2AuthorizationCredentialDto.ts b/src/api/types/CreateGoogleCalendarOAuth2AuthorizationCredentialDto.ts
index e2c5b21c..af21dd43 100644
--- a/src/api/types/CreateGoogleCalendarOAuth2AuthorizationCredentialDto.ts
+++ b/src/api/types/CreateGoogleCalendarOAuth2AuthorizationCredentialDto.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Stored OAuth 2.0 authorization for Google Calendar operations.
+ */
export interface CreateGoogleCalendarOAuth2AuthorizationCredentialDto {
/** The authorization ID for the OAuth2 authorization */
authorizationId: string;
diff --git a/src/api/types/CreateGoogleCalendarOAuth2ClientCredentialDto.ts b/src/api/types/CreateGoogleCalendarOAuth2ClientCredentialDto.ts
index 7d275e65..555ba8af 100644
--- a/src/api/types/CreateGoogleCalendarOAuth2ClientCredentialDto.ts
+++ b/src/api/types/CreateGoogleCalendarOAuth2ClientCredentialDto.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * OAuth 2.0 client credential for Google Calendar integrations.
+ */
export interface CreateGoogleCalendarOAuth2ClientCredentialDto {
/** This is the name of credential. This is just for your reference. */
name?: string | undefined;
diff --git a/src/api/types/CreateGoogleCredentialDto.ts b/src/api/types/CreateGoogleCredentialDto.ts
index 5bf8c267..4df88d1a 100644
--- a/src/api/types/CreateGoogleCredentialDto.ts
+++ b/src/api/types/CreateGoogleCredentialDto.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Credentials for authenticating assistant model requests with Google AI.
+ */
export interface CreateGoogleCredentialDto {
/** This is not returned in the API. */
apiKey: string;
diff --git a/src/api/types/CreateGoogleSheetsOAuth2AuthorizationCredentialDto.ts b/src/api/types/CreateGoogleSheetsOAuth2AuthorizationCredentialDto.ts
index 0db16a6c..6e7f4187 100644
--- a/src/api/types/CreateGoogleSheetsOAuth2AuthorizationCredentialDto.ts
+++ b/src/api/types/CreateGoogleSheetsOAuth2AuthorizationCredentialDto.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Stored OAuth 2.0 authorization for Google Sheets operations.
+ */
export interface CreateGoogleSheetsOAuth2AuthorizationCredentialDto {
/** The authorization ID for the OAuth2 authorization */
authorizationId: string;
diff --git a/src/api/types/CreateGoogleSheetsRowAppendToolDto.ts b/src/api/types/CreateGoogleSheetsRowAppendToolDto.ts
index 729ef215..ad67e48c 100644
--- a/src/api/types/CreateGoogleSheetsRowAppendToolDto.ts
+++ b/src/api/types/CreateGoogleSheetsRowAppendToolDto.ts
@@ -2,12 +2,11 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration used to create a tool that appends rows to a connected Google Sheet.
+ */
export interface CreateGoogleSheetsRowAppendToolDto {
- /**
- * These are the messages that will be spoken to the user as the tool is running.
- *
- * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
- */
+ /** Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. */
messages?: Vapi.CreateGoogleSheetsRowAppendToolDtoMessagesItem[] | undefined;
/**
* This is the plan to reject a tool call based on the conversation state.
diff --git a/src/api/types/CreateGroqCredentialDto.ts b/src/api/types/CreateGroqCredentialDto.ts
index bb99cbae..9652d407 100644
--- a/src/api/types/CreateGroqCredentialDto.ts
+++ b/src/api/types/CreateGroqCredentialDto.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Credentials for authenticating assistant model requests with Groq.
+ */
export interface CreateGroqCredentialDto {
/** This is not returned in the API. */
apiKey: string;
diff --git a/src/api/types/CreateHandoffToolDto.ts b/src/api/types/CreateHandoffToolDto.ts
index 2ca788df..9a0e6371 100644
--- a/src/api/types/CreateHandoffToolDto.ts
+++ b/src/api/types/CreateHandoffToolDto.ts
@@ -2,12 +2,11 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration used to create a tool that hands a conversation to another assistant, squad, or dynamically selected destination.
+ */
export interface CreateHandoffToolDto {
- /**
- * These are the messages that will be spoken to the user as the tool is running.
- *
- * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
- */
+ /** Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. */
messages?: Vapi.CreateHandoffToolDtoMessagesItem[] | undefined;
/** This is the default local tool result message used when no runtime handoff result override is returned. */
defaultResult?: string | undefined;
diff --git a/src/api/types/CreateHandoffToolDtoDestinationsItem.ts b/src/api/types/CreateHandoffToolDtoDestinationsItem.ts
index 5d6c61a6..3ab7c75f 100644
--- a/src/api/types/CreateHandoffToolDtoDestinationsItem.ts
+++ b/src/api/types/CreateHandoffToolDtoDestinationsItem.ts
@@ -19,4 +19,9 @@ export namespace CreateHandoffToolDtoDestinationsItem {
export interface Squad extends Vapi.HandoffDestinationSquad {
type: "squad";
}
+
+ export type Response =
+ | Vapi.CreateHandoffToolDtoDestinationsItem.Assistant
+ | Vapi.CreateHandoffToolDtoDestinationsItem.Dynamic
+ | Vapi.CreateHandoffToolDtoDestinationsItem.Squad;
}
diff --git a/src/api/types/CreateHumeCredentialDto.ts b/src/api/types/CreateHumeCredentialDto.ts
index f2894b24..c6c9afce 100644
--- a/src/api/types/CreateHumeCredentialDto.ts
+++ b/src/api/types/CreateHumeCredentialDto.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Credentials for authenticating voice synthesis requests with Hume.
+ */
export interface CreateHumeCredentialDto {
/** This is not returned in the API. */
apiKey: string;
diff --git a/src/api/types/CreateInflectionAiCredentialDto.ts b/src/api/types/CreateInflectionAiCredentialDto.ts
index 18e0ebe2..1ddbc3a9 100644
--- a/src/api/types/CreateInflectionAiCredentialDto.ts
+++ b/src/api/types/CreateInflectionAiCredentialDto.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Credentials for authenticating assistant model requests with Inflection AI.
+ */
export interface CreateInflectionAiCredentialDto {
/** This is not returned in the API. */
apiKey: string;
diff --git a/src/api/types/CreateInworldCredentialDto.ts b/src/api/types/CreateInworldCredentialDto.ts
index 941b8e35..69bb5e43 100644
--- a/src/api/types/CreateInworldCredentialDto.ts
+++ b/src/api/types/CreateInworldCredentialDto.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Credentials for authenticating voice synthesis requests with Inworld.
+ */
export interface CreateInworldCredentialDto {
/** This is the Inworld Basic (Base64) authentication token. This is not returned in the API. */
apiKey: string;
diff --git a/src/api/types/CreateLangfuseCredentialDto.ts b/src/api/types/CreateLangfuseCredentialDto.ts
index 57ff7adc..70fe35f4 100644
--- a/src/api/types/CreateLangfuseCredentialDto.ts
+++ b/src/api/types/CreateLangfuseCredentialDto.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Credentials for sending assistant call traces to a Langfuse project, including its public key, secret key, and host URL.
+ */
export interface CreateLangfuseCredentialDto {
/** The public key for Langfuse project. Eg: pk-lf-... */
publicKey: string;
diff --git a/src/api/types/CreateLineInsightFromCallTableDto.ts b/src/api/types/CreateLineInsightFromCallTableDto.ts
index e62f9b5c..a87bc9ab 100644
--- a/src/api/types/CreateLineInsightFromCallTableDto.ts
+++ b/src/api/types/CreateLineInsightFromCallTableDto.ts
@@ -2,6 +2,9 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration used to create a line-chart insight from call data using metric queries, formulas, grouping, and a stepped time range.
+ */
export interface CreateLineInsightFromCallTableDto {
/** This is the name of the Insight. */
name?: string | undefined;
@@ -25,6 +28,7 @@ export interface CreateLineInsightFromCallTableDto {
formulas?: Vapi.InsightFormula[] | undefined;
/** This is the metadata for the insight. */
metadata?: Vapi.LineInsightMetadata | undefined;
+ /** The time range and interval used to aggregate the line-chart data. */
timeRange?: Vapi.InsightTimeRangeWithStep | undefined;
/**
* This is the group by column for the insight when table is `call`.
diff --git a/src/api/types/CreateLmntCredentialDto.ts b/src/api/types/CreateLmntCredentialDto.ts
index 508156fb..344bf31f 100644
--- a/src/api/types/CreateLmntCredentialDto.ts
+++ b/src/api/types/CreateLmntCredentialDto.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Credentials for authenticating voice synthesis requests with LMNT.
+ */
export interface CreateLmntCredentialDto {
/** This is not returned in the API. */
apiKey: string;
diff --git a/src/api/types/CreateMakeCredentialDto.ts b/src/api/types/CreateMakeCredentialDto.ts
index b6f1a642..412d3106 100644
--- a/src/api/types/CreateMakeCredentialDto.ts
+++ b/src/api/types/CreateMakeCredentialDto.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Credentials for authenticating Vapi integrations with Make, including team, region, and API key.
+ */
export interface CreateMakeCredentialDto {
/** Team ID */
teamId: string;
diff --git a/src/api/types/CreateMakeToolDto.ts b/src/api/types/CreateMakeToolDto.ts
index f5fce03b..ca04f818 100644
--- a/src/api/types/CreateMakeToolDto.ts
+++ b/src/api/types/CreateMakeToolDto.ts
@@ -3,11 +3,7 @@
import type * as Vapi from "../index.js";
export interface CreateMakeToolDto {
- /**
- * These are the messages that will be spoken to the user as the tool is running.
- *
- * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
- */
+ /** Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. */
messages?: Vapi.CreateMakeToolDtoMessagesItem[] | undefined;
/** The type of tool. "make" for Make tool. */
type: Vapi.CreateMakeToolDtoType;
diff --git a/src/api/types/CreateMcpToolDto.ts b/src/api/types/CreateMcpToolDto.ts
index 1b73a2e6..1f3699a5 100644
--- a/src/api/types/CreateMcpToolDto.ts
+++ b/src/api/types/CreateMcpToolDto.ts
@@ -2,12 +2,11 @@
import type * as Vapi from "../index.js";
+/**
+ * Configuration used to create a tool that connects an assistant to a Model Context Protocol server and exposes its available tools.
+ */
export interface CreateMcpToolDto {
- /**
- * These are the messages that will be spoken to the user as the tool is running.
- *
- * For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
- */
+ /** Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. */
messages?: Vapi.CreateMcpToolDtoMessagesItem[] | undefined;
/**
* This is the server where a `tool-calls` webhook will be sent.
@@ -22,6 +21,7 @@ export interface CreateMcpToolDto {
server?: Vapi.Server | undefined;
/** Per-tool message overrides for individual tools loaded from the MCP server. Set messages to an empty array to suppress messages for a specific tool. Tools not listed here will use the default messages from the parent tool. */
toolMessages?: Vapi.McpToolMessages[] | undefined;
+ /** Connection metadata for the MCP server, including its communication protocol. */
metadata?: Vapi.McpToolMetadata | undefined;
/**
* This is the plan to reject a tool call based on the conversation state.
diff --git a/src/api/types/CreateMicrosoftCredentialDto.ts b/src/api/types/CreateMicrosoftCredentialDto.ts
new file mode 100644
index 00000000..6b5d57cb
--- /dev/null
+++ b/src/api/types/CreateMicrosoftCredentialDto.ts
@@ -0,0 +1,10 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export interface CreateMicrosoftCredentialDto {
+ /** This is not returned in the API. */
+ apiKey: string;
+ /** Azure region for the Speech resource. Defaults to `eastus` when omitted. MAI-Voice-2 is preview and region-limited. */
+ region?: string | undefined;
+ /** This is the name of credential. This is just for your reference. */
+ name?: string | undefined;
+}
diff --git a/src/api/types/CreateMinimaxCredentialDto.ts b/src/api/types/CreateMinimaxCredentialDto.ts
index 0a157271..456e6631 100644
--- a/src/api/types/CreateMinimaxCredentialDto.ts
+++ b/src/api/types/CreateMinimaxCredentialDto.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Credentials for authenticating assistant model and voice synthesis requests with MiniMax, including the MiniMax group identifier.
+ */
export interface CreateMinimaxCredentialDto {
/** This is not returned in the API. */
apiKey: string;
diff --git a/src/api/types/CreateMistralCredentialDto.ts b/src/api/types/CreateMistralCredentialDto.ts
index 604584cc..0a790217 100644
--- a/src/api/types/CreateMistralCredentialDto.ts
+++ b/src/api/types/CreateMistralCredentialDto.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Credentials for authenticating assistant model requests with Mistral.
+ */
export interface CreateMistralCredentialDto {
/** This is not returned in the API. */
apiKey: string;
diff --git a/src/api/types/CreateNeuphonicCredentialDto.ts b/src/api/types/CreateNeuphonicCredentialDto.ts
index 5d379eb7..18c19304 100644
--- a/src/api/types/CreateNeuphonicCredentialDto.ts
+++ b/src/api/types/CreateNeuphonicCredentialDto.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Credentials for authenticating voice synthesis requests with Neuphonic.
+ */
export interface CreateNeuphonicCredentialDto {
/** This is not returned in the API. */
apiKey: string;
diff --git a/src/api/types/CreateOpenAiCredentialDto.ts b/src/api/types/CreateOpenAiCredentialDto.ts
index 26638593..0912a522 100644
--- a/src/api/types/CreateOpenAiCredentialDto.ts
+++ b/src/api/types/CreateOpenAiCredentialDto.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Credentials for authenticating assistant model, transcription, and voice synthesis requests with OpenAI.
+ */
export interface CreateOpenAiCredentialDto {
/** This is not returned in the API. */
apiKey: string;
diff --git a/src/api/types/CreateOpenRouterCredentialDto.ts b/src/api/types/CreateOpenRouterCredentialDto.ts
index cab67cbd..ccbe813a 100644
--- a/src/api/types/CreateOpenRouterCredentialDto.ts
+++ b/src/api/types/CreateOpenRouterCredentialDto.ts
@@ -1,5 +1,8 @@
// This file was auto-generated by Fern from our API Definition.
+/**
+ * Credentials for authenticating assistant model requests with OpenRouter.
+ */
export interface CreateOpenRouterCredentialDto {
/** This is not returned in the API. */
apiKey: string;
diff --git a/src/api/types/CreateOutboundCallDto.ts b/src/api/types/CreateOutboundCallDto.ts
index 42f0e7a5..8610342d 100644
--- a/src/api/types/CreateOutboundCallDto.ts
+++ b/src/api/types/CreateOutboundCallDto.ts
@@ -3,6 +3,13 @@
import type * as Vapi from "../index.js";
export interface CreateOutboundCallDto {
+ /**
+ * This is the assistant version to use for this call. Supported only with
+ * direct `assistantId`. Omit to follow the latest version.
+ */
+ assistantVersion?: (string | null) | undefined;
+ /** This is the transport of the call. */
+ transport?: Vapi.CreateOutboundCallDtoTransport | undefined;
/**
* This is used to issue batch calls to multiple customers.
*
@@ -13,8 +20,6 @@ export interface CreateOutboundCallDto {
name?: string | undefined;
/** This is the schedule plan of the call. */
schedulePlan?: Vapi.SchedulePlan | undefined;
- /** This is the transport of the call. */
- transport?: Record