From 5b6f124afd0bc31e5271e1d506c784829735cae2 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Thu, 12 Dec 2024 00:04:20 +0000 Subject: [PATCH 1/7] feat: Update OpenAPI spec --- fern/apis/api/openapi.json | 7359 +++++++----------------------------- 1 file changed, 1288 insertions(+), 6071 deletions(-) diff --git a/fern/apis/api/openapi.json b/fern/apis/api/openapi.json index 097ac2350..36fefff76 100644 --- a/fern/apis/api/openapi.json +++ b/fern/apis/api/openapi.json @@ -185,79 +185,160 @@ ] } }, - "/v2/call": { + "/call/{id}": { "get": { - "operationId": "CallController_findAllPaginated", - "summary": "List Calls", + "operationId": "CallController_findOne", + "summary": "Get Call", "parameters": [ { - "name": "assistantId", - "required": false, - "in": "query", - "description": "This will return calls with the specified assistantId.", + "name": "id", + "required": true, + "in": "path", "schema": { "type": "string" } - }, + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Call" + } + } + } + } + }, + "tags": [ + "Calls" + ], + "security": [ + { + "bearer": [] + } + ] + }, + "patch": { + "operationId": "CallController_update", + "summary": "Update Call", + "parameters": [ { "name": "id", - "required": false, - "in": "query", - "description": "This will return calls with the specified callId.", + "required": true, + "in": "path", "schema": { "type": "string" } - }, - { - "name": "costLe", - "required": false, - "in": "query", - "description": "This will return calls where the cost is less than or equal to the specified value.", - "schema": { - "type": "number" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateCallDTO" + } } - }, - { - "name": "costGe", - "required": false, - "in": "query", - "description": "This will return calls where the cost is greater than or equal to the specified value.", - "schema": { - "type": "number" + } + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Call" + } + } } - }, + } + }, + "tags": [ + "Calls" + ], + "security": [ { - "name": "cost", - "required": false, - "in": "query", - "description": "This will return calls with the exact specified cost.", - "schema": { - "type": "number" - } - }, + "bearer": [] + } + ] + }, + "delete": { + "operationId": "CallController_deleteCallData", + "summary": "Delete Call Data", + "parameters": [ { - "name": "page", - "required": false, - "in": "query", - "description": "This is the page number to return. Defaults to 1.", + "name": "id", + "required": true, + "in": "path", "schema": { - "minimum": 1, - "type": "number" + "type": "string" } - }, + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Call" + } + } + } + } + }, + "tags": [ + "Calls" + ], + "security": [ { - "name": "sortOrder", - "required": false, - "in": "query", - "description": "This is the sort order for pagination. Defaults to 'ASC'.", - "schema": { - "enum": [ - "ASC", - "DESC" - ], - "type": "string" + "bearer": [] + } + ] + } + }, + "/assistant": { + "post": { + "operationId": "AssistantController_create", + "summary": "Create Assistant", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateAssistantDTO" + } } - }, + } + }, + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Assistant" + } + } + } + } + }, + "tags": [ + "Assistants" + ], + "security": [ + { + "bearer": [] + } + ] + }, + "get": { + "operationId": "AssistantController_findAll", + "summary": "List Assistants", + "parameters": [ { "name": "limit", "required": false, @@ -356,15 +437,17 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CallPaginatedResponse" + "type": "array", + "items": { + "$ref": "#/components/schemas/Assistant" + } } } } } }, "tags": [ - "Calls", - "extended" + "Assistants" ], "security": [ { @@ -373,79 +456,213 @@ ] } }, - "/v2/call/metadata": { + "/assistant/{id}": { "get": { - "operationId": "CallController_findAllMetadataPaginated", - "summary": "List Call Metadata", + "operationId": "AssistantController_findOne", + "summary": "Get Assistant", "parameters": [ - { - "name": "assistantId", - "required": false, - "in": "query", - "description": "This will return calls with the specified assistantId.", - "schema": { - "type": "string" - } - }, { "name": "id", - "required": false, - "in": "query", - "description": "This will return calls with the specified callId.", + "required": true, + "in": "path", "schema": { "type": "string" } - }, - { - "name": "costLe", - "required": false, - "in": "query", - "description": "This will return calls where the cost is less than or equal to the specified value.", - "schema": { - "type": "number" - } - }, - { - "name": "costGe", - "required": false, - "in": "query", - "description": "This will return calls where the cost is greater than or equal to the specified value.", - "schema": { - "type": "number" + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Assistant" + } + } } - }, + } + }, + "tags": [ + "Assistants" + ], + "security": [ { - "name": "cost", - "required": false, - "in": "query", - "description": "This will return calls with the exact specified cost.", - "schema": { - "type": "number" - } - }, + "bearer": [] + } + ] + }, + "patch": { + "operationId": "AssistantController_update", + "summary": "Update Assistant", + "parameters": [ { - "name": "page", - "required": false, - "in": "query", - "description": "This is the page number to return. Defaults to 1.", + "name": "id", + "required": true, + "in": "path", "schema": { - "minimum": 1, - "type": "number" + "type": "string" } - }, + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateAssistantDTO" + } + } + } + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Assistant" + } + } + } + } + }, + "tags": [ + "Assistants" + ], + "security": [ { - "name": "sortOrder", - "required": false, - "in": "query", - "description": "This is the sort order for pagination. Defaults to 'ASC'.", + "bearer": [] + } + ] + }, + "delete": { + "operationId": "AssistantController_remove", + "summary": "Delete Assistant", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", "schema": { - "enum": [ - "ASC", - "DESC" - ], "type": "string" } - }, + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Assistant" + } + } + } + } + }, + "tags": [ + "Assistants" + ], + "security": [ + { + "bearer": [] + } + ] + } + }, + "/phone-number": { + "post": { + "operationId": "PhoneNumberController_create", + "summary": "Create Phone Number", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/CreateByoPhoneNumberDTO", + "title": "ByoPhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateTwilioPhoneNumberDTO", + "title": "TwilioPhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateVonagePhoneNumberDTO", + "title": "VonagePhoneNumber" + }, + { + "$ref": "#/components/schemas/CreateVapiPhoneNumberDTO", + "title": "VapiPhoneNumber" + } + ], + "discriminator": { + "propertyName": "provider", + "mapping": { + "byo-phone-number": "#/components/schemas/CreateByoPhoneNumberDTO", + "twilio": "#/components/schemas/CreateTwilioPhoneNumberDTO", + "vonage": "#/components/schemas/CreateVonagePhoneNumberDTO", + "vapi": "#/components/schemas/CreateVapiPhoneNumberDTO" + } + } + } + } + } + }, + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "title": "PhoneNumber", + "oneOf": [ + { + "$ref": "#/components/schemas/ByoPhoneNumber", + "title": "ByoPhoneNumber" + }, + { + "$ref": "#/components/schemas/TwilioPhoneNumber", + "title": "TwilioPhoneNumber" + }, + { + "$ref": "#/components/schemas/VonagePhoneNumber", + "title": "VonagePhoneNumber" + }, + { + "$ref": "#/components/schemas/VapiPhoneNumber", + "title": "VapiPhoneNumber" + } + ], + "discriminator": { + "propertyName": "provider", + "mapping": { + "byo-phone-number": "#/components/schemas/ByoPhoneNumber", + "twilio": "#/components/schemas/TwilioPhoneNumber", + "vonage": "#/components/schemas/VonagePhoneNumber", + "vapi": "#/components/schemas/VapiPhoneNumber" + } + } + } + } + } + } + }, + "tags": [ + "Phone Numbers" + ], + "security": [ + { + "bearer": [] + } + ] + }, + "get": { + "operationId": "PhoneNumberController_findAll", + "summary": "List Phone Numbers", + "parameters": [ { "name": "limit", "required": false, @@ -544,15 +761,44 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CallPaginatedResponse" + "type": "array", + "items": { + "title": "PhoneNumber", + "oneOf": [ + { + "$ref": "#/components/schemas/ByoPhoneNumber", + "title": "ByoPhoneNumber" + }, + { + "$ref": "#/components/schemas/TwilioPhoneNumber", + "title": "TwilioPhoneNumber" + }, + { + "$ref": "#/components/schemas/VonagePhoneNumber", + "title": "VonagePhoneNumber" + }, + { + "$ref": "#/components/schemas/VapiPhoneNumber", + "title": "VapiPhoneNumber" + } + ], + "discriminator": { + "propertyName": "provider", + "mapping": { + "byo-phone-number": "#/components/schemas/ByoPhoneNumber", + "twilio": "#/components/schemas/TwilioPhoneNumber", + "vonage": "#/components/schemas/VonagePhoneNumber", + "vapi": "#/components/schemas/VapiPhoneNumber" + } + } + } } } } } }, "tags": [ - "Calls", - "extended" + "Phone Numbers" ], "security": [ { @@ -561,10 +807,10 @@ ] } }, - "/call/{id}": { + "/phone-number/{id}": { "get": { - "operationId": "CallController_findOne", - "summary": "Get Call", + "operationId": "PhoneNumberController_findOne", + "summary": "Get Phone Number", "parameters": [ { "name": "id", @@ -581,14 +827,41 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Call" + "title": "PhoneNumber", + "oneOf": [ + { + "$ref": "#/components/schemas/ByoPhoneNumber", + "title": "ByoPhoneNumber" + }, + { + "$ref": "#/components/schemas/TwilioPhoneNumber", + "title": "TwilioPhoneNumber" + }, + { + "$ref": "#/components/schemas/VonagePhoneNumber", + "title": "VonagePhoneNumber" + }, + { + "$ref": "#/components/schemas/VapiPhoneNumber", + "title": "VapiPhoneNumber" + } + ], + "discriminator": { + "propertyName": "provider", + "mapping": { + "byo-phone-number": "#/components/schemas/ByoPhoneNumber", + "twilio": "#/components/schemas/TwilioPhoneNumber", + "vonage": "#/components/schemas/VonagePhoneNumber", + "vapi": "#/components/schemas/VapiPhoneNumber" + } + } } } } } }, "tags": [ - "Calls" + "Phone Numbers" ], "security": [ { @@ -597,8 +870,8 @@ ] }, "patch": { - "operationId": "CallController_update", - "summary": "Update Call", + "operationId": "PhoneNumberController_update", + "summary": "Update Phone Number", "parameters": [ { "name": "id", @@ -614,7 +887,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UpdateCallDTO" + "$ref": "#/components/schemas/UpdatePhoneNumberDTO" } } } @@ -625,124 +898,102 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Call" - } - } - } - } - }, - "tags": [ - "Calls" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "delete": { - "operationId": "CallController_deleteCallData", - "summary": "Delete Call Data", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Call" + "title": "PhoneNumber", + "oneOf": [ + { + "$ref": "#/components/schemas/ByoPhoneNumber", + "title": "ByoPhoneNumber" + }, + { + "$ref": "#/components/schemas/TwilioPhoneNumber", + "title": "TwilioPhoneNumber" + }, + { + "$ref": "#/components/schemas/VonagePhoneNumber", + "title": "VonagePhoneNumber" + }, + { + "$ref": "#/components/schemas/VapiPhoneNumber", + "title": "VapiPhoneNumber" + } + ], + "discriminator": { + "propertyName": "provider", + "mapping": { + "byo-phone-number": "#/components/schemas/ByoPhoneNumber", + "twilio": "#/components/schemas/TwilioPhoneNumber", + "vonage": "#/components/schemas/VonagePhoneNumber", + "vapi": "#/components/schemas/VapiPhoneNumber" + } + } } } } } }, "tags": [ - "Calls" + "Phone Numbers" ], "security": [ { "bearer": [] } ] - } - }, - "/call/phone": { - "post": { - "operationId": "CallController_createPhoneCall", - "summary": "Create Phone Call", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateOutboundCallDTO" - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Call" - } - } - } - } - }, - "tags": [ - "Calls", - "extended" - ], - "security": [ + }, + "delete": { + "operationId": "PhoneNumberController_remove", + "summary": "Delete Phone Number", + "parameters": [ { - "bearer": [] - } - ] - } - }, - "/call/web": { - "post": { - "operationId": "CallController_createWebCall", - "summary": "Create Web Call", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateWebCallDTO" - } + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" } } - }, + ], "responses": { - "201": { + "200": { "description": "", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Call" + "title": "PhoneNumber", + "oneOf": [ + { + "$ref": "#/components/schemas/ByoPhoneNumber", + "title": "ByoPhoneNumber" + }, + { + "$ref": "#/components/schemas/TwilioPhoneNumber", + "title": "TwilioPhoneNumber" + }, + { + "$ref": "#/components/schemas/VonagePhoneNumber", + "title": "VonagePhoneNumber" + }, + { + "$ref": "#/components/schemas/VapiPhoneNumber", + "title": "VapiPhoneNumber" + } + ], + "discriminator": { + "propertyName": "provider", + "mapping": { + "byo-phone-number": "#/components/schemas/ByoPhoneNumber", + "twilio": "#/components/schemas/TwilioPhoneNumber", + "vonage": "#/components/schemas/VonagePhoneNumber", + "vapi": "#/components/schemas/VapiPhoneNumber" + } + } } } } } }, "tags": [ - "Calls", - "extended" + "Phone Numbers" ], "security": [ { @@ -751,17 +1002,17 @@ ] } }, - "/assistant": { + "/squad": { "post": { - "operationId": "AssistantController_create", - "summary": "Create Assistant", + "operationId": "SquadController_create", + "summary": "Create Squad", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateAssistantDTO" + "$ref": "#/components/schemas/CreateSquadDTO" } } } @@ -772,14 +1023,14 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Assistant" + "$ref": "#/components/schemas/Squad" } } } } }, "tags": [ - "Assistants" + "Squads" ], "security": [ { @@ -788,8 +1039,8 @@ ] }, "get": { - "operationId": "AssistantController_findAll", - "summary": "List Assistants", + "operationId": "SquadController_findAll", + "summary": "List Squads", "parameters": [ { "name": "limit", @@ -891,7 +1142,7 @@ "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/Assistant" + "$ref": "#/components/schemas/Squad" } } } @@ -899,7 +1150,7 @@ } }, "tags": [ - "Assistants" + "Squads" ], "security": [ { @@ -908,10 +1159,10 @@ ] } }, - "/assistant/{id}": { + "/squad/{id}": { "get": { - "operationId": "AssistantController_findOne", - "summary": "Get Assistant", + "operationId": "SquadController_findOne", + "summary": "Get Squad", "parameters": [ { "name": "id", @@ -928,14 +1179,14 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Assistant" + "$ref": "#/components/schemas/Squad" } } } } }, "tags": [ - "Assistants" + "Squads" ], "security": [ { @@ -944,52 +1195,8 @@ ] }, "patch": { - "operationId": "AssistantController_update", - "summary": "Update Assistant", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateAssistantDTO" - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Assistant" - } - } - } - } - }, - "tags": [ - "Assistants" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "put": { - "operationId": "AssistantController_replace", - "summary": "Replace Assistant", + "operationId": "SquadController_update", + "summary": "Update Squad", "parameters": [ { "name": "id", @@ -1005,7 +1212,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UpdateAssistantDTO" + "$ref": "#/components/schemas/UpdateSquadDTO" } } } @@ -1016,15 +1223,14 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Assistant" + "$ref": "#/components/schemas/Squad" } } } } }, "tags": [ - "Assistants", - "extended" + "Squads" ], "security": [ { @@ -1033,8 +1239,8 @@ ] }, "delete": { - "operationId": "AssistantController_remove", - "summary": "Delete Assistant", + "operationId": "SquadController_remove", + "summary": "Delete Squad", "parameters": [ { "name": "id", @@ -1051,14 +1257,14 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Assistant" + "$ref": "#/components/schemas/Squad" } } } } }, "tags": [ - "Assistants" + "Squads" ], "security": [ { @@ -1067,17 +1273,33 @@ ] } }, - "/phone-number/buy": { + "/knowledge-base": { "post": { - "operationId": "PhoneNumberController_buy", - "summary": "Buy Phone Number", + "operationId": "KnowledgeBaseController_create", + "summary": "Create Knowledge Base", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BuyPhoneNumberDTO" + "oneOf": [ + { + "$ref": "#/components/schemas/CreateTrieveKnowledgeBaseDTO", + "title": "TrieveKnowledgeBaseDTO" + }, + { + "$ref": "#/components/schemas/CreateCustomKnowledgeBaseDTO", + "title": "CustomKnowledgeBaseDTO" + } + ], + "discriminator": { + "propertyName": "provider", + "mapping": { + "trieve": "#/components/schemas/CreateTrieveKnowledgeBaseDTO", + "custom-knowledge-base": "#/components/schemas/CreateCustomKnowledgeBaseDTO" + } + } } } } @@ -1088,257 +1310,21 @@ "content": { "application/json": { "schema": { - "title": "PhoneNumber", "oneOf": [ { - "$ref": "#/components/schemas/ByoPhoneNumber", - "title": "ByoPhoneNumber" - }, - { - "$ref": "#/components/schemas/TwilioPhoneNumber", - "title": "TwilioPhoneNumber" + "$ref": "#/components/schemas/TrieveKnowledgeBase", + "title": "TrieveKnowledgeBase" }, { - "$ref": "#/components/schemas/VonagePhoneNumber", - "title": "VonagePhoneNumber" - }, - { - "$ref": "#/components/schemas/VapiPhoneNumber", - "title": "VapiPhoneNumber" - } - ], - "discriminator": { - "propertyName": "provider", - "mapping": { - "byo-phone-number": "#/components/schemas/ByoPhoneNumber", - "twilio": "#/components/schemas/TwilioPhoneNumber", - "vonage": "#/components/schemas/VonagePhoneNumber", - "vapi": "#/components/schemas/VapiPhoneNumber" - } - } - } - } - } - } - }, - "tags": [ - "Phone Numbers", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/phone-number/import/twilio": { - "post": { - "operationId": "PhoneNumberController_importTwilio", - "summary": "Import Twilio Number", - "description": "Use POST /phone-number instead.", - "deprecated": true, - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ImportTwilioPhoneNumberDTO" - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "title": "PhoneNumber", - "oneOf": [ - { - "$ref": "#/components/schemas/ByoPhoneNumber", - "title": "ByoPhoneNumber" - }, - { - "$ref": "#/components/schemas/TwilioPhoneNumber", - "title": "TwilioPhoneNumber" - }, - { - "$ref": "#/components/schemas/VonagePhoneNumber", - "title": "VonagePhoneNumber" - }, - { - "$ref": "#/components/schemas/VapiPhoneNumber", - "title": "VapiPhoneNumber" - } - ], - "discriminator": { - "propertyName": "provider", - "mapping": { - "byo-phone-number": "#/components/schemas/ByoPhoneNumber", - "twilio": "#/components/schemas/TwilioPhoneNumber", - "vonage": "#/components/schemas/VonagePhoneNumber", - "vapi": "#/components/schemas/VapiPhoneNumber" - } - } - } - } - } - } - }, - "tags": [ - "Phone Numbers", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/phone-number/import/vonage": { - "post": { - "operationId": "PhoneNumberController_importVonage", - "summary": "Import Vonage Number", - "description": "Use POST /phone-number instead.", - "deprecated": true, - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ImportVonagePhoneNumberDTO" - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "title": "PhoneNumber", - "oneOf": [ - { - "$ref": "#/components/schemas/ByoPhoneNumber", - "title": "ByoPhoneNumber" - }, - { - "$ref": "#/components/schemas/TwilioPhoneNumber", - "title": "TwilioPhoneNumber" - }, - { - "$ref": "#/components/schemas/VonagePhoneNumber", - "title": "VonagePhoneNumber" - }, - { - "$ref": "#/components/schemas/VapiPhoneNumber", - "title": "VapiPhoneNumber" - } - ], - "discriminator": { - "propertyName": "provider", - "mapping": { - "byo-phone-number": "#/components/schemas/ByoPhoneNumber", - "twilio": "#/components/schemas/TwilioPhoneNumber", - "vonage": "#/components/schemas/VonagePhoneNumber", - "vapi": "#/components/schemas/VapiPhoneNumber" - } - } - } - } - } - } - }, - "tags": [ - "Phone Numbers", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/phone-number": { - "post": { - "operationId": "PhoneNumberController_create", - "summary": "Create Phone Number", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/CreateByoPhoneNumberDTO", - "title": "ByoPhoneNumber" - }, - { - "$ref": "#/components/schemas/CreateTwilioPhoneNumberDTO", - "title": "TwilioPhoneNumber" - }, - { - "$ref": "#/components/schemas/CreateVonagePhoneNumberDTO", - "title": "VonagePhoneNumber" - }, - { - "$ref": "#/components/schemas/CreateVapiPhoneNumberDTO", - "title": "VapiPhoneNumber" - } - ], - "discriminator": { - "propertyName": "provider", - "mapping": { - "byo-phone-number": "#/components/schemas/CreateByoPhoneNumberDTO", - "twilio": "#/components/schemas/CreateTwilioPhoneNumberDTO", - "vonage": "#/components/schemas/CreateVonagePhoneNumberDTO", - "vapi": "#/components/schemas/CreateVapiPhoneNumberDTO" - } - } - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "title": "PhoneNumber", - "oneOf": [ - { - "$ref": "#/components/schemas/ByoPhoneNumber", - "title": "ByoPhoneNumber" - }, - { - "$ref": "#/components/schemas/TwilioPhoneNumber", - "title": "TwilioPhoneNumber" - }, - { - "$ref": "#/components/schemas/VonagePhoneNumber", - "title": "VonagePhoneNumber" - }, - { - "$ref": "#/components/schemas/VapiPhoneNumber", - "title": "VapiPhoneNumber" + "$ref": "#/components/schemas/CustomKnowledgeBase", + "title": "CustomKnowledgeBase" } ], "discriminator": { "propertyName": "provider", "mapping": { - "byo-phone-number": "#/components/schemas/ByoPhoneNumber", - "twilio": "#/components/schemas/TwilioPhoneNumber", - "vonage": "#/components/schemas/VonagePhoneNumber", - "vapi": "#/components/schemas/VapiPhoneNumber" + "trieve": "#/components/schemas/TrieveKnowledgeBase", + "custom-knowledge-base": "#/components/schemas/CustomKnowledgeBase" } } } @@ -1347,7 +1333,7 @@ } }, "tags": [ - "Phone Numbers" + "Knowledge Base" ], "security": [ { @@ -1356,8 +1342,8 @@ ] }, "get": { - "operationId": "PhoneNumberController_findAll", - "summary": "List Phone Numbers", + "operationId": "KnowledgeBaseController_findAll", + "summary": "List Knowledge Bases", "parameters": [ { "name": "limit", @@ -1459,32 +1445,21 @@ "schema": { "type": "array", "items": { - "title": "PhoneNumber", "oneOf": [ { - "$ref": "#/components/schemas/ByoPhoneNumber", - "title": "ByoPhoneNumber" - }, - { - "$ref": "#/components/schemas/TwilioPhoneNumber", - "title": "TwilioPhoneNumber" - }, - { - "$ref": "#/components/schemas/VonagePhoneNumber", - "title": "VonagePhoneNumber" + "$ref": "#/components/schemas/TrieveKnowledgeBase", + "title": "TrieveKnowledgeBase" }, { - "$ref": "#/components/schemas/VapiPhoneNumber", - "title": "VapiPhoneNumber" + "$ref": "#/components/schemas/CustomKnowledgeBase", + "title": "CustomKnowledgeBase" } ], "discriminator": { "propertyName": "provider", "mapping": { - "byo-phone-number": "#/components/schemas/ByoPhoneNumber", - "twilio": "#/components/schemas/TwilioPhoneNumber", - "vonage": "#/components/schemas/VonagePhoneNumber", - "vapi": "#/components/schemas/VapiPhoneNumber" + "trieve": "#/components/schemas/TrieveKnowledgeBase", + "custom-knowledge-base": "#/components/schemas/CustomKnowledgeBase" } } } @@ -1494,7 +1469,7 @@ } }, "tags": [ - "Phone Numbers" + "Knowledge Base" ], "security": [ { @@ -1503,153 +1478,10 @@ ] } }, - "/v2/phone-number": { + "/knowledge-base/{id}": { "get": { - "operationId": "PhoneNumberController_findAllPaginated", - "summary": "List Phone Numbers", - "parameters": [ - { - "name": "page", - "required": false, - "in": "query", - "description": "This is the page number to return. Defaults to 1.", - "schema": { - "minimum": 1, - "type": "number" - } - }, - { - "name": "sortOrder", - "required": false, - "in": "query", - "description": "This is the sort order for pagination. Defaults to 'ASC'.", - "schema": { - "enum": [ - "ASC", - "DESC" - ], - "type": "string" - } - }, - { - "name": "limit", - "required": false, - "in": "query", - "description": "This is the maximum number of items to return. Defaults to 100.", - "schema": { - "minimum": 0, - "maximum": 1000, - "type": "number" - } - }, - { - "name": "createdAtGt", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is greater than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "createdAtLt", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is less than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "createdAtGe", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is greater than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "createdAtLe", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is less than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtGt", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is greater than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtLt", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is less than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtGe", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is greater than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtLe", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is less than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PhoneNumberPaginatedResponse" - } - } - } - } - }, - "tags": [ - "Phone Numbers", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/phone-number/{id}": { - "get": { - "operationId": "PhoneNumberController_findOne", - "summary": "Get Phone Number", + "operationId": "KnowledgeBaseController_findOne", + "summary": "Get Knowledge Base", "parameters": [ { "name": "id", @@ -1666,32 +1498,21 @@ "content": { "application/json": { "schema": { - "title": "PhoneNumber", "oneOf": [ { - "$ref": "#/components/schemas/ByoPhoneNumber", - "title": "ByoPhoneNumber" - }, - { - "$ref": "#/components/schemas/TwilioPhoneNumber", - "title": "TwilioPhoneNumber" - }, - { - "$ref": "#/components/schemas/VonagePhoneNumber", - "title": "VonagePhoneNumber" + "$ref": "#/components/schemas/TrieveKnowledgeBase", + "title": "TrieveKnowledgeBase" }, { - "$ref": "#/components/schemas/VapiPhoneNumber", - "title": "VapiPhoneNumber" + "$ref": "#/components/schemas/CustomKnowledgeBase", + "title": "CustomKnowledgeBase" } ], "discriminator": { "propertyName": "provider", "mapping": { - "byo-phone-number": "#/components/schemas/ByoPhoneNumber", - "twilio": "#/components/schemas/TwilioPhoneNumber", - "vonage": "#/components/schemas/VonagePhoneNumber", - "vapi": "#/components/schemas/VapiPhoneNumber" + "trieve": "#/components/schemas/TrieveKnowledgeBase", + "custom-knowledge-base": "#/components/schemas/CustomKnowledgeBase" } } } @@ -1700,7 +1521,7 @@ } }, "tags": [ - "Phone Numbers" + "Knowledge Base" ], "security": [ { @@ -1709,8 +1530,8 @@ ] }, "patch": { - "operationId": "PhoneNumberController_update", - "summary": "Update Phone Number", + "operationId": "KnowledgeBaseController_update", + "summary": "Update Knowledge Base", "parameters": [ { "name": "id", @@ -1721,48 +1542,27 @@ } } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdatePhoneNumberDTO" - } - } - } - }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { - "title": "PhoneNumber", "oneOf": [ { - "$ref": "#/components/schemas/ByoPhoneNumber", - "title": "ByoPhoneNumber" - }, - { - "$ref": "#/components/schemas/TwilioPhoneNumber", - "title": "TwilioPhoneNumber" - }, - { - "$ref": "#/components/schemas/VonagePhoneNumber", - "title": "VonagePhoneNumber" + "$ref": "#/components/schemas/TrieveKnowledgeBase", + "title": "TrieveKnowledgeBase" }, { - "$ref": "#/components/schemas/VapiPhoneNumber", - "title": "VapiPhoneNumber" + "$ref": "#/components/schemas/CustomKnowledgeBase", + "title": "CustomKnowledgeBase" } ], "discriminator": { "propertyName": "provider", "mapping": { - "byo-phone-number": "#/components/schemas/ByoPhoneNumber", - "twilio": "#/components/schemas/TwilioPhoneNumber", - "vonage": "#/components/schemas/VonagePhoneNumber", - "vapi": "#/components/schemas/VapiPhoneNumber" + "trieve": "#/components/schemas/TrieveKnowledgeBase", + "custom-knowledge-base": "#/components/schemas/CustomKnowledgeBase" } } } @@ -1771,7 +1571,7 @@ } }, "tags": [ - "Phone Numbers" + "Knowledge Base" ], "security": [ { @@ -1780,8 +1580,8 @@ ] }, "delete": { - "operationId": "PhoneNumberController_remove", - "summary": "Delete Phone Number", + "operationId": "KnowledgeBaseController_remove", + "summary": "Delete Knowledge Base", "parameters": [ { "name": "id", @@ -1798,32 +1598,21 @@ "content": { "application/json": { "schema": { - "title": "PhoneNumber", "oneOf": [ { - "$ref": "#/components/schemas/ByoPhoneNumber", - "title": "ByoPhoneNumber" - }, - { - "$ref": "#/components/schemas/TwilioPhoneNumber", - "title": "TwilioPhoneNumber" - }, - { - "$ref": "#/components/schemas/VonagePhoneNumber", - "title": "VonagePhoneNumber" + "$ref": "#/components/schemas/TrieveKnowledgeBase", + "title": "TrieveKnowledgeBase" }, { - "$ref": "#/components/schemas/VapiPhoneNumber", - "title": "VapiPhoneNumber" + "$ref": "#/components/schemas/CustomKnowledgeBase", + "title": "CustomKnowledgeBase" } ], "discriminator": { "propertyName": "provider", "mapping": { - "byo-phone-number": "#/components/schemas/ByoPhoneNumber", - "twilio": "#/components/schemas/TwilioPhoneNumber", - "vonage": "#/components/schemas/VonagePhoneNumber", - "vapi": "#/components/schemas/VapiPhoneNumber" + "trieve": "#/components/schemas/TrieveKnowledgeBase", + "custom-knowledge-base": "#/components/schemas/CustomKnowledgeBase" } } } @@ -1832,7 +1621,7 @@ } }, "tags": [ - "Phone Numbers" + "Knowledge Base" ], "security": [ { @@ -1841,157 +1630,88 @@ ] } }, - "/subscription/{id}": { - "get": { - "operationId": "SubscriptionController_get", - "summary": "Get subscription", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Subscription" - } - } - } - } - }, - "tags": [ - "Subscriptions", - "extended" - ], - "security": [ + "/block": { + "post": { + "operationId": "BlockController_create", + "summary": "Create Block", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/CreateConversationBlockDTO", + "title": "ConversationBlock" + }, + { + "$ref": "#/components/schemas/CreateToolCallBlockDTO", + "title": "ToolCallBlock" + }, + { + "$ref": "#/components/schemas/CreateWorkflowBlockDTO", + "title": "WorkflowBlock" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "conversation": "#/components/schemas/CreateConversationBlockDTO", + "tool-call": "#/components/schemas/CreateToolCallBlockDTO", + "workflow": "#/components/schemas/CreateWorkflowBlockDTO" + } + } + } + } + } + }, + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ConversationBlock", + "title": "ConversationBlock" + }, + { + "$ref": "#/components/schemas/ToolCallBlock", + "title": "ToolCallBlock" + }, + { + "$ref": "#/components/schemas/WorkflowBlock", + "title": "WorkflowBlock" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "conversation": "#/components/schemas/ConversationBlock", + "tool-call": "#/components/schemas/ToolCallBlock", + "workflow": "#/components/schemas/WorkflowBlock" + } + } + } + } + } + } + }, + "tags": [ + "Blocks" + ], + "security": [ { "bearer": [] } ] - } - }, - "/subscription/{id}/payment": { + }, "get": { - "operationId": "SubscriptionPaymentController_paymentsGet", - "summary": "Find all payments", + "operationId": "BlockController_findAll", + "summary": "List Blocks", "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "status", - "required": true, - "in": "query", - "description": "This is the status of the payment", - "schema": { - "enum": [ - "past-due", - "pending", - "finalized", - "refunded" - ], - "type": "string" - } - }, - { - "name": "costLe", - "required": true, - "in": "query", - "description": "This will return items where the cost is less than or equal to the specified value.", - "schema": { - "type": "number" - } - }, - { - "name": "costLt", - "required": true, - "in": "query", - "description": "This will return items where the cost is less than the specified value.", - "schema": { - "type": "number" - } - }, - { - "name": "costGe", - "required": true, - "in": "query", - "description": "This will return items where the cost is greater than or equal to the specified value.", - "schema": { - "type": "number" - } - }, - { - "name": "costGt", - "required": true, - "in": "query", - "description": "This will return items where the cost is greater than the specified value.", - "schema": { - "type": "number" - } - }, - { - "name": "orgId", - "required": false, - "in": "query", - "description": "This is the ID for the org", - "schema": { - "type": "string" - } - }, - { - "name": "callId", - "required": false, - "in": "query", - "description": "This is the ID for the call", - "schema": { - "type": "string" - } - }, - { - "name": "phoneNumberId", - "required": false, - "in": "query", - "description": "This is the id of the purchased phone number", - "schema": { - "type": "string" - } - }, - { - "name": "page", - "required": false, - "in": "query", - "description": "This is the page number to return. Defaults to 1.", - "schema": { - "minimum": 1, - "type": "number" - } - }, - { - "name": "sortOrder", - "required": false, - "in": "query", - "description": "This is the sort order for pagination. Defaults to 'ASC'.", - "schema": { - "enum": [ - "ASC", - "DESC" - ], - "type": "string" - } - }, { "name": "limit", "required": false, @@ -2090,15 +1810,38 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PaymentsPaginatedResponse" + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/ConversationBlock", + "title": "ConversationBlock" + }, + { + "$ref": "#/components/schemas/ToolCallBlock", + "title": "ToolCallBlock" + }, + { + "$ref": "#/components/schemas/WorkflowBlock", + "title": "WorkflowBlock" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "conversation": "#/components/schemas/ConversationBlock", + "tool-call": "#/components/schemas/ToolCallBlock", + "workflow": "#/components/schemas/WorkflowBlock" + } + } + } } } } } }, "tags": [ - "Subscriptions", - "extended" + "Blocks" ], "security": [ { @@ -2107,10 +1850,10 @@ ] } }, - "/subscription/{id}/monthly-charge": { + "/block/{id}": { "get": { - "operationId": "SubscriptionPaymentController_monthlyChargeGet", - "summary": "Get monthly charge", + "operationId": "BlockController_findOne", + "summary": "Get Block", "parameters": [ { "name": "id", @@ -2127,27 +1870,45 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SubscriptionMonthlyCharge" + "oneOf": [ + { + "$ref": "#/components/schemas/ConversationBlock", + "title": "ConversationBlock" + }, + { + "$ref": "#/components/schemas/ToolCallBlock", + "title": "ToolCallBlock" + }, + { + "$ref": "#/components/schemas/WorkflowBlock", + "title": "WorkflowBlock" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "conversation": "#/components/schemas/ConversationBlock", + "tool-call": "#/components/schemas/ToolCallBlock", + "workflow": "#/components/schemas/WorkflowBlock" + } + } } } } } }, "tags": [ - "Subscriptions", - "extended" + "Blocks" ], "security": [ { "bearer": [] } ] - } - }, - "/subscription/{id}/credit": { - "post": { - "operationId": "SubscriptionPaymentController_charge", - "summary": "Update subscription credits", + }, + "patch": { + "operationId": "BlockController_update", + "summary": "Update Block", "parameters": [ { "name": "id", @@ -2163,7 +1924,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreditsBuyDTO" + "$ref": "#/components/schemas/UpdateBlockDTO" } } } @@ -2174,186 +1935,35 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Subscription" - } - } - } - }, - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Subscription" - } - } - } - } - }, - "tags": [ - "Subscriptions", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/subscription/{id}/auto-reload-plan": { - "put": { - "operationId": "SubscriptionPaymentController_autoReloadPlanUpdate", - "summary": "Update auto-reload plan", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AutoReloadPlanDTO" - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Subscription" - } - } - } - } - }, - "tags": [ - "Subscriptions", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/subscription/{id}/payment/retry": { - "post": { - "operationId": "SubscriptionPaymentController_pastDuePaymentRetry", - "summary": "Retry past due payment", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PaymentRetryDTO" - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Payment" - } - } - } - }, - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Payment" - } - } - } - } - }, - "tags": [ - "Subscriptions", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/subscription/{id}/concurrency": { - "post": { - "operationId": "SubscriptionPaymentController_concurrencyLineBuy", - "summary": "Buy extra concurrency", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SubscriptionConcurrencyLineBuyDTO" - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Subscription" - } - } - } - }, - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Subscription" + "oneOf": [ + { + "$ref": "#/components/schemas/ConversationBlock", + "title": "ConversationBlock" + }, + { + "$ref": "#/components/schemas/ToolCallBlock", + "title": "ToolCallBlock" + }, + { + "$ref": "#/components/schemas/WorkflowBlock", + "title": "WorkflowBlock" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "conversation": "#/components/schemas/ConversationBlock", + "tool-call": "#/components/schemas/ToolCallBlock", + "workflow": "#/components/schemas/WorkflowBlock" + } + } } } } } }, "tags": [ - "Subscriptions", - "extended" + "Blocks" ], "security": [ { @@ -2362,8 +1972,8 @@ ] }, "delete": { - "operationId": "SubscriptionPaymentController_concurrencyLineRemove", - "summary": "Remove extra concurrency", + "operationId": "BlockController_remove", + "summary": "Delete Block", "parameters": [ { "name": "id", @@ -2374,31 +1984,41 @@ } } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SubscriptionConcurrencyLineRemoveDTO" - } - } - } - }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Subscription" + "oneOf": [ + { + "$ref": "#/components/schemas/ConversationBlock", + "title": "ConversationBlock" + }, + { + "$ref": "#/components/schemas/ToolCallBlock", + "title": "ToolCallBlock" + }, + { + "$ref": "#/components/schemas/WorkflowBlock", + "title": "WorkflowBlock" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "conversation": "#/components/schemas/ConversationBlock", + "tool-call": "#/components/schemas/ToolCallBlock", + "workflow": "#/components/schemas/WorkflowBlock" + } + } } } } } }, "tags": [ - "Subscriptions", - "extended" + "Blocks" ], "security": [ { @@ -2407,4502 +2027,72 @@ ] } }, - "/subscription/{id}/hipaa": { + "/tool": { "post": { - "operationId": "SubscriptionPaymentController_hipaaEnable", - "summary": "Purchase HIPAA add-on", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], + "operationId": "ToolController_create", + "summary": "Create Tool", + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/HipaaBuyDTO" - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Subscription" - } - } - } - }, - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Subscription" - } - } - } - } - }, - "tags": [ - "Subscriptions", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "delete": { - "operationId": "SubscriptionPaymentController_hipaaRemove", - "summary": "Remove HIPAA add-on", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Subscription" - } - } - } - } - }, - "tags": [ - "Subscriptions", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/subscription/{id}/slack-support": { - "post": { - "operationId": "SubscriptionPaymentController_slackSupportBuy", - "summary": "Purchase Slack Support add-on", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Subscription" - } - } - } - }, - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object" - } - } - } - } - }, - "tags": [ - "Subscriptions", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "delete": { - "operationId": "SubscriptionPaymentController_slackSupportRemove", - "summary": "Remove Slack Support add-on", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Subscription" - } - } - } - } - }, - "tags": [ - "Subscriptions", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/subscription/{id}/coupon": { - "post": { - "operationId": "SubscriptionPaymentController_couponAdd", - "summary": "Attach coupon to subscription", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SubscriptionCouponAddDTO" - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Subscription" - } - } - } - }, - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Subscription" - } - } - } - } - }, - "tags": [ - "Subscriptions", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/squad": { - "post": { - "operationId": "SquadController_create", - "summary": "Create Squad", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateSquadDTO" - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Squad" - } - } - } - } - }, - "tags": [ - "Squads" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "get": { - "operationId": "SquadController_findAll", - "summary": "List Squads", - "parameters": [ - { - "name": "limit", - "required": false, - "in": "query", - "description": "This is the maximum number of items to return. Defaults to 100.", - "schema": { - "minimum": 0, - "maximum": 1000, - "type": "number" - } - }, - { - "name": "createdAtGt", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is greater than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "createdAtLt", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is less than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "createdAtGe", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is greater than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "createdAtLe", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is less than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtGt", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is greater than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtLt", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is less than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtGe", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is greater than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtLe", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is less than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Squad" - } - } - } - } - } - }, - "tags": [ - "Squads" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/squad/{id}": { - "get": { - "operationId": "SquadController_findOne", - "summary": "Get Squad", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Squad" - } - } - } - } - }, - "tags": [ - "Squads" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "patch": { - "operationId": "SquadController_update", - "summary": "Update Squad", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateSquadDTO" - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Squad" - } - } - } - } - }, - "tags": [ - "Squads" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "delete": { - "operationId": "SquadController_remove", - "summary": "Delete Squad", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Squad" - } - } - } - } - }, - "tags": [ - "Squads" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/knowledge-base": { - "post": { - "operationId": "KnowledgeBaseController_create", - "summary": "Create Knowledge Base", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/CreateTrieveKnowledgeBaseDTO", - "title": "TrieveKnowledgeBaseDTO" - }, - { - "$ref": "#/components/schemas/CreateCustomKnowledgeBaseDTO", - "title": "CustomKnowledgeBaseDTO" - } - ], - "discriminator": { - "propertyName": "provider", - "mapping": { - "trieve": "#/components/schemas/CreateTrieveKnowledgeBaseDTO", - "custom-knowledge-base": "#/components/schemas/CreateCustomKnowledgeBaseDTO" - } - } - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/TrieveKnowledgeBase", - "title": "TrieveKnowledgeBase" - }, - { - "$ref": "#/components/schemas/CustomKnowledgeBase", - "title": "CustomKnowledgeBase" - } - ], - "discriminator": { - "propertyName": "provider", - "mapping": { - "trieve": "#/components/schemas/TrieveKnowledgeBase", - "custom-knowledge-base": "#/components/schemas/CustomKnowledgeBase" - } - } - } - } - } - } - }, - "tags": [ - "Knowledge Base" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "get": { - "operationId": "KnowledgeBaseController_findAll", - "summary": "List Knowledge Bases", - "parameters": [ - { - "name": "limit", - "required": false, - "in": "query", - "description": "This is the maximum number of items to return. Defaults to 100.", - "schema": { - "minimum": 0, - "maximum": 1000, - "type": "number" - } - }, - { - "name": "createdAtGt", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is greater than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "createdAtLt", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is less than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "createdAtGe", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is greater than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "createdAtLe", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is less than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtGt", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is greater than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtLt", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is less than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtGe", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is greater than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtLe", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is less than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/TrieveKnowledgeBase", - "title": "TrieveKnowledgeBase" - }, - { - "$ref": "#/components/schemas/CustomKnowledgeBase", - "title": "CustomKnowledgeBase" - } - ], - "discriminator": { - "propertyName": "provider", - "mapping": { - "trieve": "#/components/schemas/TrieveKnowledgeBase", - "custom-knowledge-base": "#/components/schemas/CustomKnowledgeBase" - } - } - } - } - } - } - } - }, - "tags": [ - "Knowledge Base" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/knowledge-base/{id}": { - "get": { - "operationId": "KnowledgeBaseController_findOne", - "summary": "Get Knowledge Base", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/TrieveKnowledgeBase", - "title": "TrieveKnowledgeBase" - }, - { - "$ref": "#/components/schemas/CustomKnowledgeBase", - "title": "CustomKnowledgeBase" - } - ], - "discriminator": { - "propertyName": "provider", - "mapping": { - "trieve": "#/components/schemas/TrieveKnowledgeBase", - "custom-knowledge-base": "#/components/schemas/CustomKnowledgeBase" - } - } - } - } - } - } - }, - "tags": [ - "Knowledge Base" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "patch": { - "operationId": "KnowledgeBaseController_update", - "summary": "Update Knowledge Base", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/TrieveKnowledgeBase", - "title": "TrieveKnowledgeBase" - }, - { - "$ref": "#/components/schemas/CustomKnowledgeBase", - "title": "CustomKnowledgeBase" - } - ], - "discriminator": { - "propertyName": "provider", - "mapping": { - "trieve": "#/components/schemas/TrieveKnowledgeBase", - "custom-knowledge-base": "#/components/schemas/CustomKnowledgeBase" - } - } - } - } - } - } - }, - "tags": [ - "Knowledge Base" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "delete": { - "operationId": "KnowledgeBaseController_remove", - "summary": "Delete Knowledge Base", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/TrieveKnowledgeBase", - "title": "TrieveKnowledgeBase" - }, - { - "$ref": "#/components/schemas/CustomKnowledgeBase", - "title": "CustomKnowledgeBase" - } - ], - "discriminator": { - "propertyName": "provider", - "mapping": { - "trieve": "#/components/schemas/TrieveKnowledgeBase", - "custom-knowledge-base": "#/components/schemas/CustomKnowledgeBase" - } - } - } - } - } - } - }, - "tags": [ - "Knowledge Base" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/block": { - "post": { - "operationId": "BlockController_create", - "summary": "Create Block", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/CreateConversationBlockDTO", - "title": "ConversationBlock" - }, - { - "$ref": "#/components/schemas/CreateToolCallBlockDTO", - "title": "ToolCallBlock" - }, - { - "$ref": "#/components/schemas/CreateWorkflowBlockDTO", - "title": "WorkflowBlock" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "conversation": "#/components/schemas/CreateConversationBlockDTO", - "tool-call": "#/components/schemas/CreateToolCallBlockDTO", - "workflow": "#/components/schemas/CreateWorkflowBlockDTO" - } - } - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/ConversationBlock", - "title": "ConversationBlock" - }, - { - "$ref": "#/components/schemas/ToolCallBlock", - "title": "ToolCallBlock" - }, - { - "$ref": "#/components/schemas/WorkflowBlock", - "title": "WorkflowBlock" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "conversation": "#/components/schemas/ConversationBlock", - "tool-call": "#/components/schemas/ToolCallBlock", - "workflow": "#/components/schemas/WorkflowBlock" - } - } - } - } - } - } - }, - "tags": [ - "Blocks" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "get": { - "operationId": "BlockController_findAll", - "summary": "List Blocks", - "parameters": [ - { - "name": "limit", - "required": false, - "in": "query", - "description": "This is the maximum number of items to return. Defaults to 100.", - "schema": { - "minimum": 0, - "maximum": 1000, - "type": "number" - } - }, - { - "name": "createdAtGt", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is greater than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "createdAtLt", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is less than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "createdAtGe", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is greater than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "createdAtLe", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is less than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtGt", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is greater than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtLt", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is less than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtGe", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is greater than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtLe", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is less than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/ConversationBlock", - "title": "ConversationBlock" - }, - { - "$ref": "#/components/schemas/ToolCallBlock", - "title": "ToolCallBlock" - }, - { - "$ref": "#/components/schemas/WorkflowBlock", - "title": "WorkflowBlock" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "conversation": "#/components/schemas/ConversationBlock", - "tool-call": "#/components/schemas/ToolCallBlock", - "workflow": "#/components/schemas/WorkflowBlock" - } - } - } - } - } - } - } - }, - "tags": [ - "Blocks" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/block/{id}": { - "get": { - "operationId": "BlockController_findOne", - "summary": "Get Block", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/ConversationBlock", - "title": "ConversationBlock" - }, - { - "$ref": "#/components/schemas/ToolCallBlock", - "title": "ToolCallBlock" - }, - { - "$ref": "#/components/schemas/WorkflowBlock", - "title": "WorkflowBlock" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "conversation": "#/components/schemas/ConversationBlock", - "tool-call": "#/components/schemas/ToolCallBlock", - "workflow": "#/components/schemas/WorkflowBlock" - } - } - } - } - } - } - }, - "tags": [ - "Blocks" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "patch": { - "operationId": "BlockController_update", - "summary": "Update Block", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateBlockDTO" - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/ConversationBlock", - "title": "ConversationBlock" - }, - { - "$ref": "#/components/schemas/ToolCallBlock", - "title": "ToolCallBlock" - }, - { - "$ref": "#/components/schemas/WorkflowBlock", - "title": "WorkflowBlock" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "conversation": "#/components/schemas/ConversationBlock", - "tool-call": "#/components/schemas/ToolCallBlock", - "workflow": "#/components/schemas/WorkflowBlock" - } - } - } - } - } - } - }, - "tags": [ - "Blocks" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "delete": { - "operationId": "BlockController_remove", - "summary": "Delete Block", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/ConversationBlock", - "title": "ConversationBlock" - }, - { - "$ref": "#/components/schemas/ToolCallBlock", - "title": "ToolCallBlock" - }, - { - "$ref": "#/components/schemas/WorkflowBlock", - "title": "WorkflowBlock" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "conversation": "#/components/schemas/ConversationBlock", - "tool-call": "#/components/schemas/ToolCallBlock", - "workflow": "#/components/schemas/WorkflowBlock" - } - } - } - } - } - } - }, - "tags": [ - "Blocks" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/tool": { - "post": { - "operationId": "ToolController_create", - "summary": "Create Tool", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/CreateDtmfToolDTO", - "title": "DtmfTool" - }, - { - "$ref": "#/components/schemas/CreateEndCallToolDTO", - "title": "EndCallTool" - }, - { - "$ref": "#/components/schemas/CreateFunctionToolDTO", - "title": "FunctionTool" - }, - { - "$ref": "#/components/schemas/CreateGhlToolDTO", - "title": "GhlTool" - }, - { - "$ref": "#/components/schemas/CreateMakeToolDTO", - "title": "MakeTool" - }, - { - "$ref": "#/components/schemas/CreateTransferCallToolDTO", - "title": "TransferCallTool" - }, - { - "$ref": "#/components/schemas/CreateOutputToolDTO", - "title": "OutputTool" - }, - { - "$ref": "#/components/schemas/CreateBashToolDTO", - "title": "BashTool" - }, - { - "$ref": "#/components/schemas/CreateComputerToolDTO", - "title": "ComputerTool" - }, - { - "$ref": "#/components/schemas/CreateTextEditorToolDTO", - "title": "TextEditorTool" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "dtmf": "#/components/schemas/CreateDtmfToolDTO", - "endCall": "#/components/schemas/CreateEndCallToolDTO", - "function": "#/components/schemas/CreateFunctionToolDTO", - "ghl": "#/components/schemas/CreateGhlToolDTO", - "make": "#/components/schemas/CreateMakeToolDTO", - "transferCall": "#/components/schemas/CreateTransferCallToolDTO", - "output": "#/components/schemas/CreateOutputToolDTO", - "bash": "#/components/schemas/CreateBashToolDTO", - "computer": "#/components/schemas/CreateComputerToolDTO", - "textEditor": "#/components/schemas/CreateTextEditorToolDTO" - } - } - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/DtmfTool", - "title": "DtmfTool" - }, - { - "$ref": "#/components/schemas/EndCallTool", - "title": "EndCallTool" - }, - { - "$ref": "#/components/schemas/FunctionTool", - "title": "FunctionTool" - }, - { - "$ref": "#/components/schemas/GhlTool", - "title": "GhlTool" - }, - { - "$ref": "#/components/schemas/MakeTool", - "title": "MakeTool" - }, - { - "$ref": "#/components/schemas/TransferCallTool", - "title": "TransferCallTool" - }, - { - "$ref": "#/components/schemas/OutputTool", - "title": "OutputTool" - }, - { - "$ref": "#/components/schemas/BashTool", - "title": "BashTool" - }, - { - "$ref": "#/components/schemas/ComputerTool", - "title": "ComputerTool" - }, - { - "$ref": "#/components/schemas/TextEditorTool", - "title": "TextEditorTool" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "dtmf": "#/components/schemas/DtmfTool", - "endCall": "#/components/schemas/EndCallTool", - "function": "#/components/schemas/FunctionTool", - "ghl": "#/components/schemas/GhlTool", - "make": "#/components/schemas/MakeTool", - "transferCall": "#/components/schemas/TransferCallTool", - "output": "#/components/schemas/OutputTool", - "bash": "#/components/schemas/BashTool", - "computer": "#/components/schemas/ComputerTool", - "textEditor": "#/components/schemas/TextEditorTool" - } - } - } - } - } - } - }, - "tags": [ - "Tools" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "get": { - "operationId": "ToolController_findAll", - "summary": "List Tools", - "parameters": [ - { - "name": "limit", - "required": false, - "in": "query", - "description": "This is the maximum number of items to return. Defaults to 100.", - "schema": { - "minimum": 0, - "maximum": 1000, - "type": "number" - } - }, - { - "name": "createdAtGt", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is greater than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "createdAtLt", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is less than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "createdAtGe", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is greater than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "createdAtLe", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is less than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtGt", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is greater than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtLt", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is less than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtGe", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is greater than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtLe", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is less than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/DtmfTool", - "title": "DtmfTool" - }, - { - "$ref": "#/components/schemas/EndCallTool", - "title": "EndCallTool" - }, - { - "$ref": "#/components/schemas/FunctionTool", - "title": "FunctionTool" - }, - { - "$ref": "#/components/schemas/GhlTool", - "title": "GhlTool" - }, - { - "$ref": "#/components/schemas/MakeTool", - "title": "MakeTool" - }, - { - "$ref": "#/components/schemas/TransferCallTool", - "title": "TransferCallTool" - }, - { - "$ref": "#/components/schemas/OutputTool", - "title": "OutputTool" - }, - { - "$ref": "#/components/schemas/BashTool", - "title": "BashTool" - }, - { - "$ref": "#/components/schemas/ComputerTool", - "title": "ComputerTool" - }, - { - "$ref": "#/components/schemas/TextEditorTool", - "title": "TextEditorTool" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "dtmf": "#/components/schemas/DtmfTool", - "endCall": "#/components/schemas/EndCallTool", - "function": "#/components/schemas/FunctionTool", - "ghl": "#/components/schemas/GhlTool", - "make": "#/components/schemas/MakeTool", - "transferCall": "#/components/schemas/TransferCallTool", - "output": "#/components/schemas/OutputTool", - "bash": "#/components/schemas/BashTool", - "computer": "#/components/schemas/ComputerTool", - "textEditor": "#/components/schemas/TextEditorTool" - } - } - } - } - } - } - } - }, - "tags": [ - "Tools" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/tool/{id}": { - "get": { - "operationId": "ToolController_findOne", - "summary": "Get Tool", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/DtmfTool", - "title": "DtmfTool" - }, - { - "$ref": "#/components/schemas/EndCallTool", - "title": "EndCallTool" - }, - { - "$ref": "#/components/schemas/FunctionTool", - "title": "FunctionTool" - }, - { - "$ref": "#/components/schemas/GhlTool", - "title": "GhlTool" - }, - { - "$ref": "#/components/schemas/MakeTool", - "title": "MakeTool" - }, - { - "$ref": "#/components/schemas/TransferCallTool", - "title": "TransferCallTool" - }, - { - "$ref": "#/components/schemas/OutputTool", - "title": "OutputTool" - }, - { - "$ref": "#/components/schemas/BashTool", - "title": "BashTool" - }, - { - "$ref": "#/components/schemas/ComputerTool", - "title": "ComputerTool" - }, - { - "$ref": "#/components/schemas/TextEditorTool", - "title": "TextEditorTool" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "dtmf": "#/components/schemas/DtmfTool", - "endCall": "#/components/schemas/EndCallTool", - "function": "#/components/schemas/FunctionTool", - "ghl": "#/components/schemas/GhlTool", - "make": "#/components/schemas/MakeTool", - "transferCall": "#/components/schemas/TransferCallTool", - "output": "#/components/schemas/OutputTool", - "bash": "#/components/schemas/BashTool", - "computer": "#/components/schemas/ComputerTool", - "textEditor": "#/components/schemas/TextEditorTool" - } - } - } - } - } - } - }, - "tags": [ - "Tools" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "patch": { - "operationId": "ToolController_update", - "summary": "Update Tool", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateToolDTO" - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/DtmfTool", - "title": "DtmfTool" - }, - { - "$ref": "#/components/schemas/EndCallTool", - "title": "EndCallTool" - }, - { - "$ref": "#/components/schemas/FunctionTool", - "title": "FunctionTool" - }, - { - "$ref": "#/components/schemas/GhlTool", - "title": "GhlTool" - }, - { - "$ref": "#/components/schemas/MakeTool", - "title": "MakeTool" - }, - { - "$ref": "#/components/schemas/TransferCallTool", - "title": "TransferCallTool" - }, - { - "$ref": "#/components/schemas/OutputTool", - "title": "OutputTool" - }, - { - "$ref": "#/components/schemas/BashTool", - "title": "BashTool" - }, - { - "$ref": "#/components/schemas/ComputerTool", - "title": "ComputerTool" - }, - { - "$ref": "#/components/schemas/TextEditorTool", - "title": "TextEditorTool" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "dtmf": "#/components/schemas/DtmfTool", - "endCall": "#/components/schemas/EndCallTool", - "function": "#/components/schemas/FunctionTool", - "ghl": "#/components/schemas/GhlTool", - "make": "#/components/schemas/MakeTool", - "transferCall": "#/components/schemas/TransferCallTool", - "output": "#/components/schemas/OutputTool", - "bash": "#/components/schemas/BashTool", - "computer": "#/components/schemas/ComputerTool", - "textEditor": "#/components/schemas/TextEditorTool" - } - } - } - } - } - } - }, - "tags": [ - "Tools" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "delete": { - "operationId": "ToolController_remove", - "summary": "Delete Tool", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/DtmfTool", - "title": "DtmfTool" - }, - { - "$ref": "#/components/schemas/EndCallTool", - "title": "EndCallTool" - }, - { - "$ref": "#/components/schemas/FunctionTool", - "title": "FunctionTool" - }, - { - "$ref": "#/components/schemas/GhlTool", - "title": "GhlTool" - }, - { - "$ref": "#/components/schemas/MakeTool", - "title": "MakeTool" - }, - { - "$ref": "#/components/schemas/TransferCallTool", - "title": "TransferCallTool" - }, - { - "$ref": "#/components/schemas/OutputTool", - "title": "OutputTool" - }, - { - "$ref": "#/components/schemas/BashTool", - "title": "BashTool" - }, - { - "$ref": "#/components/schemas/ComputerTool", - "title": "ComputerTool" - }, - { - "$ref": "#/components/schemas/TextEditorTool", - "title": "TextEditorTool" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "dtmf": "#/components/schemas/DtmfTool", - "endCall": "#/components/schemas/EndCallTool", - "function": "#/components/schemas/FunctionTool", - "ghl": "#/components/schemas/GhlTool", - "make": "#/components/schemas/MakeTool", - "transferCall": "#/components/schemas/TransferCallTool", - "output": "#/components/schemas/OutputTool", - "bash": "#/components/schemas/BashTool", - "computer": "#/components/schemas/ComputerTool", - "textEditor": "#/components/schemas/TextEditorTool" - } - } - } - } - } - } - }, - "tags": [ - "Tools" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/file/upload": { - "post": { - "operationId": "FileController_createDeprecated", - "summary": "Upload File", - "deprecated": true, - "description": "Use POST /file instead.", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "multipart/form-data": { - "schema": { - "$ref": "#/components/schemas/CreateFileDTO" - } - } - } - }, - "responses": { - "201": { - "description": "File uploaded successfully", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/File" - } - } - } - }, - "400": { - "description": "Invalid file" - } - }, - "tags": [ - "Files", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/file": { - "post": { - "operationId": "FileController_create", - "summary": "Upload File", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "multipart/form-data": { - "schema": { - "$ref": "#/components/schemas/CreateFileDTO" - } - } - } - }, - "responses": { - "201": { - "description": "File uploaded successfully", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/File" - } - } - } - }, - "400": { - "description": "Invalid file" - } - }, - "tags": [ - "Files" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "get": { - "operationId": "FileController_findAll", - "summary": "List Files", - "parameters": [], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/File" - } - } - } - } - } - }, - "tags": [ - "Files" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/file/{id}": { - "get": { - "operationId": "FileController_findOne", - "summary": "Get File", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/File" - } - } - } - } - }, - "tags": [ - "Files" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "patch": { - "operationId": "FileController_update", - "summary": "Update File", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateFileDTO" - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/File" - } - } - } - } - }, - "tags": [ - "Files" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "delete": { - "operationId": "FileController_remove", - "summary": "Delete File", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/File" - } - } - } - } - }, - "tags": [ - "Files" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/metrics": { - "get": { - "operationId": "AnalyticsController_findAllDeprecated", - "summary": "List Billing Metrics", - "deprecated": true, - "description": "Use GET /metric instead", - "parameters": [ - { - "name": "timezone", - "required": false, - "in": "query", - "example": "PST", - "description": "Convert date & and time to provided timezone. https://popsql.com/learn-sql/postgresql/how-to-convert-utc-to-local-time-zone-in-postgresql", - "schema": { - "type": "string" - } - }, - { - "name": "rangeStart", - "required": false, - "in": "query", - "description": "This will include calls with a createdAt timestamp greater than or equal to the specified value.\n\nIf not provided, defaults to the org's current period start.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "rangeEnd", - "required": false, - "in": "query", - "description": "This will include calls with a createdAt timestamp less than the specified value.\n\nIf not provided, the default value will be the current timestamp.", - "schema": { - "format": "date-time", - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Metrics" - } - } - } - } - } - }, - "tags": [ - "Analytics", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/analytics": { - "post": { - "operationId": "AnalyticsController_query", - "summary": "Create Analytics Queries", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AnalyticsQueryDTO" - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AnalyticsQueryResult" - } - } - } - } - }, - "201": { - "description": "" - } - }, - "tags": [ - "Analytics", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "get": { - "operationId": "AnalyticsController_getQuery", - "summary": "Get Analytics", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AnalyticsQueryDTO" - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AnalyticsQueryResult" - } - } - } - } - } - }, - "tags": [ - "Analytics" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/log": { - "get": { - "operationId": "LoggingController_getCallLogs", - "parameters": [ - { - "name": "callId", - "required": true, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "page", - "required": false, - "in": "query", - "description": "This is the page number to return. Defaults to 1.", - "schema": { - "minimum": 1, - "type": "number" - } - }, - { - "name": "sortOrder", - "required": false, - "in": "query", - "description": "This is the sort order for pagination. Defaults to 'ASC'.", - "schema": { - "enum": [ - "ASC", - "DESC" - ], - "type": "string" - } - }, - { - "name": "limit", - "required": false, - "in": "query", - "description": "This is the maximum number of items to return. Defaults to 100.", - "schema": { - "minimum": 0, - "maximum": 1000, - "type": "number" - } - }, - { - "name": "createdAtGt", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is greater than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "createdAtLt", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is less than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "createdAtGe", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is greater than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "createdAtLe", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is less than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtGt", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is greater than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtLt", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is less than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtGe", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is greater than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtLe", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is less than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CallLogsPaginatedResponse" - } - } - } - } - }, - "tags": [ - "Logs", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/logs": { - "get": { - "operationId": "LoggingController_queryLogs", - "summary": "Get Logs", - "parameters": [ - { - "name": "orgId", - "required": false, - "in": "query", - "description": "This is the unique identifier for the org that this log belongs to.", - "schema": { - "type": "string" - } - }, - { - "name": "type", - "required": false, - "in": "query", - "description": "This is the type of the log.", - "schema": { - "enum": [ - "API", - "Webhook", - "Call", - "Provider" - ], - "type": "string" - } - }, - { - "name": "webhookType", - "required": false, - "in": "query", - "description": "This is the type of the webhook, given the log is from a webhook.", - "schema": { - "type": "string" - } - }, - { - "name": "assistantId", - "required": false, - "in": "query", - "description": "This is the ID of the assistant.", - "schema": { - "type": "string" - } - }, - { - "name": "phoneNumberId", - "required": false, - "in": "query", - "description": "This is the ID of the phone number.", - "schema": { - "type": "string" - } - }, - { - "name": "customerId", - "required": false, - "in": "query", - "description": "This is the ID of the customer.", - "schema": { - "type": "string" - } - }, - { - "name": "squadId", - "required": false, - "in": "query", - "description": "This is the ID of the squad.", - "schema": { - "type": "string" - } - }, - { - "name": "callId", - "required": false, - "in": "query", - "description": "This is the ID of the call.", - "schema": { - "type": "string" - } - }, - { - "name": "page", - "required": false, - "in": "query", - "description": "This is the page number to return. Defaults to 1.", - "schema": { - "minimum": 1, - "type": "number" - } - }, - { - "name": "sortOrder", - "required": false, - "in": "query", - "description": "This is the sort order for pagination. Defaults to 'ASC'.", - "schema": { - "enum": [ - "ASC", - "DESC" - ], - "type": "string" - } - }, - { - "name": "limit", - "required": false, - "in": "query", - "description": "This is the maximum number of items to return. Defaults to 100.", - "schema": { - "minimum": 0, - "maximum": 1000, - "type": "number" - } - }, - { - "name": "createdAtGt", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is greater than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "createdAtLt", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is less than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "createdAtGe", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is greater than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "createdAtLe", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is less than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtGt", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is greater than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtLt", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is less than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtGe", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is greater than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtLe", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is less than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LogsPaginatedResponse" - } - } - } - } - }, - "tags": [ - "Logs" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/chat": { - "post": { - "operationId": "ChatController_chat", - "summary": "Chat with Assistant", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ChatDTO" - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "string" - } - } - } - }, - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "string" - } - } - } - } - }, - "tags": [ - "Chat", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/credential": { - "post": { - "operationId": "CredentialController_create", - "summary": "Create Credential", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/CreateAnthropicCredentialDTO", - "title": "AnthropicCredential" - }, - { - "$ref": "#/components/schemas/CreateAnyscaleCredentialDTO", - "title": "AnyscaleCredential" - }, - { - "$ref": "#/components/schemas/CreateAssemblyAICredentialDTO", - "title": "AssemblyAICredential" - }, - { - "$ref": "#/components/schemas/CreateAzureOpenAICredentialDTO", - "title": "AzureOpenAICredential" - }, - { - "$ref": "#/components/schemas/CreateAzureCredentialDTO", - "title": "AzureCredential" - }, - { - "$ref": "#/components/schemas/CreateByoSipTrunkCredentialDTO", - "title": "ByoSipTrunkCredential" - }, - { - "$ref": "#/components/schemas/CreateCartesiaCredentialDTO", - "title": "CartesiaCredential" - }, - { - "$ref": "#/components/schemas/CreateCloudflareCredentialDTO", - "title": "CloudflareCredential" - }, - { - "$ref": "#/components/schemas/CreateCustomLLMCredentialDTO", - "title": "CustomLLMCredential" - }, - { - "$ref": "#/components/schemas/CreateDeepgramCredentialDTO", - "title": "DeepgramCredential" - }, - { - "$ref": "#/components/schemas/CreateDeepInfraCredentialDTO", - "title": "DeepInfraCredential" - }, - { - "$ref": "#/components/schemas/CreateElevenLabsCredentialDTO", - "title": "ElevenLabsCredential" - }, - { - "$ref": "#/components/schemas/CreateGcpCredentialDTO", - "title": "GcpCredential" - }, - { - "$ref": "#/components/schemas/CreateGladiaCredentialDTO", - "title": "GladiaCredential" - }, - { - "$ref": "#/components/schemas/CreateGoHighLevelCredentialDTO", - "title": "GhlCredential" - }, - { - "$ref": "#/components/schemas/CreateGroqCredentialDTO", - "title": "GroqCredential" - }, - { - "$ref": "#/components/schemas/CreateLangfuseCredentialDTO", - "title": "LangfuseCredential" - }, - { - "$ref": "#/components/schemas/CreateLmntCredentialDTO", - "title": "LmntCredential" - }, - { - "$ref": "#/components/schemas/CreateMakeCredentialDTO", - "title": "MakeCredential" - }, - { - "$ref": "#/components/schemas/CreateOpenAICredentialDTO", - "title": "OpenAICredential" - }, - { - "$ref": "#/components/schemas/CreateOpenRouterCredentialDTO", - "title": "OpenRouterCredential" - }, - { - "$ref": "#/components/schemas/CreatePerplexityAICredentialDTO", - "title": "PerplexityAICredential" - }, - { - "$ref": "#/components/schemas/CreatePlayHTCredentialDTO", - "title": "PlayHTCredential" - }, - { - "$ref": "#/components/schemas/CreateRimeAICredentialDTO", - "title": "RimeAICredential" - }, - { - "$ref": "#/components/schemas/CreateRunpodCredentialDTO", - "title": "RunpodCredential" - }, - { - "$ref": "#/components/schemas/CreateS3CredentialDTO", - "title": "S3Credential" - }, - { - "$ref": "#/components/schemas/CreateTavusCredentialDTO", - "title": "TavusCredential" - }, - { - "$ref": "#/components/schemas/CreateTogetherAICredentialDTO", - "title": "TogetherAICredential" - }, - { - "$ref": "#/components/schemas/CreateTwilioCredentialDTO", - "title": "TwilioCredential" - }, - { - "$ref": "#/components/schemas/CreateVonageCredentialDTO", - "title": "VonageCredential" - }, - { - "$ref": "#/components/schemas/CreateWebhookCredentialDTO", - "title": "WebhookCredential" - } - ], - "discriminator": { - "propertyName": "provider", - "mapping": { - "11labs": "#/components/schemas/CreateElevenLabsCredentialDTO", - "anthropic": "#/components/schemas/CreateAnthropicCredentialDTO", - "anyscale": "#/components/schemas/CreateAnyscaleCredentialDTO", - "assembly-ai": "#/components/schemas/CreateAssemblyAICredentialDTO", - "azure-openai": "#/components/schemas/CreateAzureOpenAICredentialDTO", - "azure": "#/components/schemas/CreateAzureCredentialDTO", - "byo-sip-trunk": "#/components/schemas/CreateByoSipTrunkCredentialDTO", - "cartesia": "#/components/schemas/CreateCartesiaCredentialDTO", - "cloudflare": "#/components/schemas/CreateCloudflareCredentialDTO", - "custom-llm": "#/components/schemas/CreateCustomLLMCredentialDTO", - "deepgram": "#/components/schemas/CreateDeepgramCredentialDTO", - "deepinfra": "#/components/schemas/CreateDeepInfraCredentialDTO", - "gcp": "#/components/schemas/CreateGcpCredentialDTO", - "gladia": "#/components/schemas/CreateGladiaCredentialDTO", - "gohighlevel": "#/components/schemas/CreateGoHighLevelCredentialDTO", - "google": "#/components/schemas/CreateGoogleCredentialDTO", - "groq": "#/components/schemas/CreateGroqCredentialDTO", - "inflection-ai": "#/components/schemas/CreateInflectionAICredentialDTO", - "langfuse": "#/components/schemas/CreateLangfuseCredentialDTO", - "lmnt": "#/components/schemas/CreateLmntCredentialDTO", - "make": "#/components/schemas/CreateMakeCredentialDTO", - "openai": "#/components/schemas/CreateOpenAICredentialDTO", - "openrouter": "#/components/schemas/CreateOpenRouterCredentialDTO", - "perplexity-ai": "#/components/schemas/CreatePerplexityAICredentialDTO", - "playht": "#/components/schemas/CreatePlayHTCredentialDTO", - "rime-ai": "#/components/schemas/CreateRimeAICredentialDTO", - "runpod": "#/components/schemas/CreateRunpodCredentialDTO", - "s3": "#/components/schemas/CreateS3CredentialDTO", - "tavus": "#/components/schemas/CreateTavusCredentialDTO", - "together-ai": "#/components/schemas/CreateTogetherAICredentialDTO", - "twilio": "#/components/schemas/CreateTwilioCredentialDTO", - "vonage": "#/components/schemas/CreateVonageCredentialDTO", - "webhook": "#/components/schemas/CreateWebhookCredentialDTO", - "xai": "#/components/schemas/CreateXAiCredentialDTO" - } - } - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/AnthropicCredential", - "title": "AnthropicCredential" - }, - { - "$ref": "#/components/schemas/AnyscaleCredential", - "title": "AnyscaleCredential" - }, - { - "$ref": "#/components/schemas/AssemblyAICredential", - "title": "AssemblyAICredential" - }, - { - "$ref": "#/components/schemas/AzureOpenAICredential", - "title": "AzureOpenAICredential" - }, - { - "$ref": "#/components/schemas/ByoSipTrunkCredential", - "title": "ByoSipTrunkCredential" - }, - { - "$ref": "#/components/schemas/CartesiaCredential", - "title": "CartesiaCredential" - }, - { - "$ref": "#/components/schemas/CloudflareCredential", - "title": "CloudflareCredential" - }, - { - "$ref": "#/components/schemas/CustomLLMCredential", - "title": "CustomLLMCredential" - }, - { - "$ref": "#/components/schemas/DeepgramCredential", - "title": "DeepgramCredential" - }, - { - "$ref": "#/components/schemas/DeepInfraCredential", - "title": "DeepInfraCredential" - }, - { - "$ref": "#/components/schemas/ElevenLabsCredential", - "title": "ElevenLabsCredential" - }, - { - "$ref": "#/components/schemas/GcpCredential", - "title": "GcpCredential" - }, - { - "$ref": "#/components/schemas/GladiaCredential", - "title": "GladiaCredential" - }, - { - "$ref": "#/components/schemas/GoHighLevelCredential", - "title": "GhlCredential" - }, - { - "$ref": "#/components/schemas/GoogleCredential", - "title": "GoogleCredential" - }, - { - "$ref": "#/components/schemas/GroqCredential", - "title": "GroqCredential" - }, - { - "$ref": "#/components/schemas/InflectionAICredential", - "title": "InflectionAICredential" - }, - { - "$ref": "#/components/schemas/LangfuseCredential", - "title": "LangfuseCredential" - }, - { - "$ref": "#/components/schemas/LmntCredential", - "title": "LmntCredential" - }, - { - "$ref": "#/components/schemas/MakeCredential", - "title": "MakeCredential" - }, - { - "$ref": "#/components/schemas/OpenAICredential", - "title": "OpenAICredential" - }, - { - "$ref": "#/components/schemas/OpenRouterCredential", - "title": "OpenRouterCredential" - }, - { - "$ref": "#/components/schemas/PerplexityAICredential", - "title": "PerplexityAICredential" - }, - { - "$ref": "#/components/schemas/PlayHTCredential", - "title": "PlayHTCredential" - }, - { - "$ref": "#/components/schemas/RimeAICredential", - "title": "RimeAICredential" - }, - { - "$ref": "#/components/schemas/RunpodCredential", - "title": "RunpodCredential" - }, - { - "$ref": "#/components/schemas/S3Credential", - "title": "S3Credential" - }, - { - "$ref": "#/components/schemas/TavusCredential", - "title": "TavusCredential" - }, - { - "$ref": "#/components/schemas/TogetherAICredential", - "title": "TogetherAICredential" - }, - { - "$ref": "#/components/schemas/TwilioCredential", - "title": "TwilioCredential" - }, - { - "$ref": "#/components/schemas/VonageCredential", - "title": "VonageCredential" - }, - { - "$ref": "#/components/schemas/WebhookCredential", - "title": "WebhookCredential" - }, - { - "$ref": "#/components/schemas/XAiCredential", - "title": "XAiCredential" - } - ], - "discriminator": { - "propertyName": "provider", - "mapping": { - "11labs": "#/components/schemas/ElevenLabsCredential", - "anthropic": "#/components/schemas/AnthropicCredential", - "anyscale": "#/components/schemas/AnyscaleCredential", - "assembly-ai": "#/components/schemas/AssemblyAICredential", - "azure": "#/components/schemas/AzureCredential", - "azure-openai": "#/components/schemas/AzureOpenAICredential", - "byo-sip-trunk": "#/components/schemas/ByoSipTrunkCredential", - "cartesia": "#/components/schemas/CartesiaCredential", - "custom-llm": "#/components/schemas/CustomLLMCredential", - "deepgram": "#/components/schemas/DeepgramCredential", - "deepinfra": "#/components/schemas/DeepInfraCredential", - "gcp": "#/components/schemas/GcpCredential", - "gladia": "#/components/schemas/GladiaCredential", - "gohighlevel": "#/components/schemas/GoHighLevelCredential", - "google": "#/components/schemas/GoogleCredential", - "groq": "#/components/schemas/GroqCredential", - "inflection-ai": "#/components/schemas/InflectionAICredential", - "langfuse": "#/components/schemas/LangfuseCredential", - "lmnt": "#/components/schemas/LmntCredential", - "make": "#/components/schemas/MakeCredential", - "openai": "#/components/schemas/OpenAICredential", - "openrouter": "#/components/schemas/OpenRouterCredential", - "perplexity-ai": "#/components/schemas/PerplexityAICredential", - "playht": "#/components/schemas/PlayHTCredential", - "rime-ai": "#/components/schemas/RimeAICredential", - "runpod": "#/components/schemas/RunpodCredential", - "s3": "#/components/schemas/S3Credential", - "tavus": "#/components/schemas/TavusCredential", - "together-ai": "#/components/schemas/TogetherAICredential", - "twilio": "#/components/schemas/TwilioCredential", - "vonage": "#/components/schemas/VonageCredential", - "webhook": "#/components/schemas/WebhookCredential", - "xai": "#/components/schemas/XAiCredential" - } - } - } - } - } - } - }, - "tags": [ - "Credentials", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "get": { - "operationId": "CredentialController_findAll", - "summary": "List Credentials", - "parameters": [ - { - "name": "limit", - "required": false, - "in": "query", - "description": "This is the maximum number of items to return. Defaults to 100.", - "schema": { - "minimum": 0, - "maximum": 1000, - "type": "number" - } - }, - { - "name": "createdAtGt", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is greater than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "createdAtLt", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is less than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "createdAtGe", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is greater than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "createdAtLe", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is less than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtGt", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is greater than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtLt", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is less than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtGe", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is greater than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtLe", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is less than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/AnthropicCredential", - "title": "AnthropicCredential" - }, - { - "$ref": "#/components/schemas/AnyscaleCredential", - "title": "AnyscaleCredential" - }, - { - "$ref": "#/components/schemas/AssemblyAICredential", - "title": "AssemblyAICredential" - }, - { - "$ref": "#/components/schemas/AzureOpenAICredential", - "title": "AzureOpenAICredential" - }, - { - "$ref": "#/components/schemas/ByoSipTrunkCredential", - "title": "ByoSipTrunkCredential" - }, - { - "$ref": "#/components/schemas/CartesiaCredential", - "title": "CartesiaCredential" - }, - { - "$ref": "#/components/schemas/CloudflareCredential", - "title": "CloudflareCredential" - }, - { - "$ref": "#/components/schemas/CustomLLMCredential", - "title": "CustomLLMCredential" - }, - { - "$ref": "#/components/schemas/DeepgramCredential", - "title": "DeepgramCredential" - }, - { - "$ref": "#/components/schemas/DeepInfraCredential", - "title": "DeepInfraCredential" - }, - { - "$ref": "#/components/schemas/ElevenLabsCredential", - "title": "ElevenLabsCredential" - }, - { - "$ref": "#/components/schemas/GcpCredential", - "title": "GcpCredential" - }, - { - "$ref": "#/components/schemas/GladiaCredential", - "title": "GladiaCredential" - }, - { - "$ref": "#/components/schemas/GoHighLevelCredential", - "title": "GhlCredential" - }, - { - "$ref": "#/components/schemas/GoogleCredential", - "title": "GoogleCredential" - }, - { - "$ref": "#/components/schemas/GroqCredential", - "title": "GroqCredential" - }, - { - "$ref": "#/components/schemas/InflectionAICredential", - "title": "InflectionAICredential" - }, - { - "$ref": "#/components/schemas/LangfuseCredential", - "title": "LangfuseCredential" - }, - { - "$ref": "#/components/schemas/LmntCredential", - "title": "LmntCredential" - }, - { - "$ref": "#/components/schemas/MakeCredential", - "title": "MakeCredential" - }, - { - "$ref": "#/components/schemas/OpenAICredential", - "title": "OpenAICredential" - }, - { - "$ref": "#/components/schemas/OpenRouterCredential", - "title": "OpenRouterCredential" - }, - { - "$ref": "#/components/schemas/PerplexityAICredential", - "title": "PerplexityAICredential" - }, - { - "$ref": "#/components/schemas/PlayHTCredential", - "title": "PlayHTCredential" - }, - { - "$ref": "#/components/schemas/RimeAICredential", - "title": "RimeAICredential" - }, - { - "$ref": "#/components/schemas/RunpodCredential", - "title": "RunpodCredential" - }, - { - "$ref": "#/components/schemas/S3Credential", - "title": "S3Credential" - }, - { - "$ref": "#/components/schemas/TavusCredential", - "title": "TavusCredential" - }, - { - "$ref": "#/components/schemas/TogetherAICredential", - "title": "TogetherAICredential" - }, - { - "$ref": "#/components/schemas/TwilioCredential", - "title": "TwilioCredential" - }, - { - "$ref": "#/components/schemas/VonageCredential", - "title": "VonageCredential" - }, - { - "$ref": "#/components/schemas/WebhookCredential", - "title": "WebhookCredential" - }, - { - "$ref": "#/components/schemas/XAiCredential", - "title": "XAiCredential" - } - ], - "discriminator": { - "propertyName": "provider", - "mapping": { - "11labs": "#/components/schemas/ElevenLabsCredential", - "anthropic": "#/components/schemas/AnthropicCredential", - "anyscale": "#/components/schemas/AnyscaleCredential", - "assembly-ai": "#/components/schemas/AssemblyAICredential", - "azure": "#/components/schemas/AzureCredential", - "azure-openai": "#/components/schemas/AzureOpenAICredential", - "byo-sip-trunk": "#/components/schemas/ByoSipTrunkCredential", - "cartesia": "#/components/schemas/CartesiaCredential", - "custom-llm": "#/components/schemas/CustomLLMCredential", - "deepgram": "#/components/schemas/DeepgramCredential", - "deepinfra": "#/components/schemas/DeepInfraCredential", - "gcp": "#/components/schemas/GcpCredential", - "gladia": "#/components/schemas/GladiaCredential", - "gohighlevel": "#/components/schemas/GoHighLevelCredential", - "google": "#/components/schemas/GoogleCredential", - "groq": "#/components/schemas/GroqCredential", - "inflection-ai": "#/components/schemas/InflectionAICredential", - "langfuse": "#/components/schemas/LangfuseCredential", - "lmnt": "#/components/schemas/LmntCredential", - "make": "#/components/schemas/MakeCredential", - "openai": "#/components/schemas/OpenAICredential", - "openrouter": "#/components/schemas/OpenRouterCredential", - "perplexity-ai": "#/components/schemas/PerplexityAICredential", - "playht": "#/components/schemas/PlayHTCredential", - "rime-ai": "#/components/schemas/RimeAICredential", - "runpod": "#/components/schemas/RunpodCredential", - "s3": "#/components/schemas/S3Credential", - "tavus": "#/components/schemas/TavusCredential", - "together-ai": "#/components/schemas/TogetherAICredential", - "twilio": "#/components/schemas/TwilioCredential", - "vonage": "#/components/schemas/VonageCredential", - "webhook": "#/components/schemas/WebhookCredential", - "xai": "#/components/schemas/XAiCredential" - } - } - } - } - } - } - } - }, - "tags": [ - "Credentials", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/credential/{id}": { - "get": { - "operationId": "CredentialController_findOne", - "summary": "Get Credential", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/AnthropicCredential", - "title": "AnthropicCredential" - }, - { - "$ref": "#/components/schemas/AnyscaleCredential", - "title": "AnyscaleCredential" - }, - { - "$ref": "#/components/schemas/AssemblyAICredential", - "title": "AssemblyAICredential" - }, - { - "$ref": "#/components/schemas/AzureOpenAICredential", - "title": "AzureOpenAICredential" - }, - { - "$ref": "#/components/schemas/ByoSipTrunkCredential", - "title": "ByoSipTrunkCredential" - }, - { - "$ref": "#/components/schemas/CartesiaCredential", - "title": "CartesiaCredential" - }, - { - "$ref": "#/components/schemas/CloudflareCredential", - "title": "CloudflareCredential" - }, - { - "$ref": "#/components/schemas/CustomLLMCredential", - "title": "CustomLLMCredential" - }, - { - "$ref": "#/components/schemas/DeepgramCredential", - "title": "DeepgramCredential" - }, - { - "$ref": "#/components/schemas/DeepInfraCredential", - "title": "DeepInfraCredential" - }, - { - "$ref": "#/components/schemas/ElevenLabsCredential", - "title": "ElevenLabsCredential" - }, - { - "$ref": "#/components/schemas/GcpCredential", - "title": "GcpCredential" - }, - { - "$ref": "#/components/schemas/GladiaCredential", - "title": "GladiaCredential" - }, - { - "$ref": "#/components/schemas/GoHighLevelCredential", - "title": "GhlCredential" - }, - { - "$ref": "#/components/schemas/GoogleCredential", - "title": "GoogleCredential" - }, - { - "$ref": "#/components/schemas/GroqCredential", - "title": "GroqCredential" - }, - { - "$ref": "#/components/schemas/InflectionAICredential", - "title": "InflectionAICredential" - }, - { - "$ref": "#/components/schemas/LangfuseCredential", - "title": "LangfuseCredential" - }, - { - "$ref": "#/components/schemas/LmntCredential", - "title": "LmntCredential" - }, - { - "$ref": "#/components/schemas/MakeCredential", - "title": "MakeCredential" - }, - { - "$ref": "#/components/schemas/OpenAICredential", - "title": "OpenAICredential" - }, - { - "$ref": "#/components/schemas/OpenRouterCredential", - "title": "OpenRouterCredential" - }, - { - "$ref": "#/components/schemas/PerplexityAICredential", - "title": "PerplexityAICredential" - }, - { - "$ref": "#/components/schemas/PlayHTCredential", - "title": "PlayHTCredential" - }, - { - "$ref": "#/components/schemas/RimeAICredential", - "title": "RimeAICredential" - }, - { - "$ref": "#/components/schemas/RunpodCredential", - "title": "RunpodCredential" - }, - { - "$ref": "#/components/schemas/S3Credential", - "title": "S3Credential" - }, - { - "$ref": "#/components/schemas/TavusCredential", - "title": "TavusCredential" - }, - { - "$ref": "#/components/schemas/TogetherAICredential", - "title": "TogetherAICredential" - }, - { - "$ref": "#/components/schemas/TwilioCredential", - "title": "TwilioCredential" - }, - { - "$ref": "#/components/schemas/VonageCredential", - "title": "VonageCredential" - }, - { - "$ref": "#/components/schemas/WebhookCredential", - "title": "WebhookCredential" - }, - { - "$ref": "#/components/schemas/XAiCredential", - "title": "XAiCredential" - } - ], - "discriminator": { - "propertyName": "provider", - "mapping": { - "11labs": "#/components/schemas/ElevenLabsCredential", - "anthropic": "#/components/schemas/AnthropicCredential", - "anyscale": "#/components/schemas/AnyscaleCredential", - "assembly-ai": "#/components/schemas/AssemblyAICredential", - "azure": "#/components/schemas/AzureCredential", - "azure-openai": "#/components/schemas/AzureOpenAICredential", - "byo-sip-trunk": "#/components/schemas/ByoSipTrunkCredential", - "cartesia": "#/components/schemas/CartesiaCredential", - "custom-llm": "#/components/schemas/CustomLLMCredential", - "deepgram": "#/components/schemas/DeepgramCredential", - "deepinfra": "#/components/schemas/DeepInfraCredential", - "gcp": "#/components/schemas/GcpCredential", - "gladia": "#/components/schemas/GladiaCredential", - "gohighlevel": "#/components/schemas/GoHighLevelCredential", - "google": "#/components/schemas/GoogleCredential", - "groq": "#/components/schemas/GroqCredential", - "inflection-ai": "#/components/schemas/InflectionAICredential", - "langfuse": "#/components/schemas/LangfuseCredential", - "lmnt": "#/components/schemas/LmntCredential", - "make": "#/components/schemas/MakeCredential", - "openai": "#/components/schemas/OpenAICredential", - "openrouter": "#/components/schemas/OpenRouterCredential", - "perplexity-ai": "#/components/schemas/PerplexityAICredential", - "playht": "#/components/schemas/PlayHTCredential", - "rime-ai": "#/components/schemas/RimeAICredential", - "runpod": "#/components/schemas/RunpodCredential", - "s3": "#/components/schemas/S3Credential", - "tavus": "#/components/schemas/TavusCredential", - "together-ai": "#/components/schemas/TogetherAICredential", - "twilio": "#/components/schemas/TwilioCredential", - "vonage": "#/components/schemas/VonageCredential", - "webhook": "#/components/schemas/WebhookCredential", - "xai": "#/components/schemas/XAiCredential" - } - } - } - } - } - } - }, - "tags": [ - "Credentials", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "delete": { - "operationId": "CredentialController_remove", - "summary": "Delete Credential", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/AnthropicCredential", - "title": "AnthropicCredential" - }, - { - "$ref": "#/components/schemas/AnyscaleCredential", - "title": "AnyscaleCredential" - }, - { - "$ref": "#/components/schemas/AssemblyAICredential", - "title": "AssemblyAICredential" - }, - { - "$ref": "#/components/schemas/AzureOpenAICredential", - "title": "AzureOpenAICredential" - }, - { - "$ref": "#/components/schemas/ByoSipTrunkCredential", - "title": "ByoSipTrunkCredential" - }, - { - "$ref": "#/components/schemas/CartesiaCredential", - "title": "CartesiaCredential" - }, - { - "$ref": "#/components/schemas/CloudflareCredential", - "title": "CloudflareCredential" - }, - { - "$ref": "#/components/schemas/CustomLLMCredential", - "title": "CustomLLMCredential" - }, - { - "$ref": "#/components/schemas/DeepgramCredential", - "title": "DeepgramCredential" - }, - { - "$ref": "#/components/schemas/DeepInfraCredential", - "title": "DeepInfraCredential" - }, - { - "$ref": "#/components/schemas/ElevenLabsCredential", - "title": "ElevenLabsCredential" - }, - { - "$ref": "#/components/schemas/GcpCredential", - "title": "GcpCredential" - }, - { - "$ref": "#/components/schemas/GladiaCredential", - "title": "GladiaCredential" - }, - { - "$ref": "#/components/schemas/GoHighLevelCredential", - "title": "GhlCredential" - }, - { - "$ref": "#/components/schemas/GoogleCredential", - "title": "GoogleCredential" - }, - { - "$ref": "#/components/schemas/GroqCredential", - "title": "GroqCredential" - }, - { - "$ref": "#/components/schemas/InflectionAICredential", - "title": "InflectionAICredential" - }, - { - "$ref": "#/components/schemas/LangfuseCredential", - "title": "LangfuseCredential" - }, - { - "$ref": "#/components/schemas/LmntCredential", - "title": "LmntCredential" - }, - { - "$ref": "#/components/schemas/MakeCredential", - "title": "MakeCredential" - }, - { - "$ref": "#/components/schemas/OpenAICredential", - "title": "OpenAICredential" - }, - { - "$ref": "#/components/schemas/OpenRouterCredential", - "title": "OpenRouterCredential" - }, - { - "$ref": "#/components/schemas/PerplexityAICredential", - "title": "PerplexityAICredential" - }, - { - "$ref": "#/components/schemas/PlayHTCredential", - "title": "PlayHTCredential" - }, - { - "$ref": "#/components/schemas/RimeAICredential", - "title": "RimeAICredential" - }, - { - "$ref": "#/components/schemas/RunpodCredential", - "title": "RunpodCredential" - }, - { - "$ref": "#/components/schemas/S3Credential", - "title": "S3Credential" - }, - { - "$ref": "#/components/schemas/TavusCredential", - "title": "TavusCredential" - }, - { - "$ref": "#/components/schemas/TogetherAICredential", - "title": "TogetherAICredential" - }, - { - "$ref": "#/components/schemas/TwilioCredential", - "title": "TwilioCredential" - }, - { - "$ref": "#/components/schemas/VonageCredential", - "title": "VonageCredential" - }, - { - "$ref": "#/components/schemas/WebhookCredential", - "title": "WebhookCredential" - }, - { - "$ref": "#/components/schemas/XAiCredential", - "title": "XAiCredential" - } - ], - "discriminator": { - "propertyName": "provider", - "mapping": { - "11labs": "#/components/schemas/ElevenLabsCredential", - "anthropic": "#/components/schemas/AnthropicCredential", - "anyscale": "#/components/schemas/AnyscaleCredential", - "assembly-ai": "#/components/schemas/AssemblyAICredential", - "azure": "#/components/schemas/AzureCredential", - "azure-openai": "#/components/schemas/AzureOpenAICredential", - "byo-sip-trunk": "#/components/schemas/ByoSipTrunkCredential", - "cartesia": "#/components/schemas/CartesiaCredential", - "custom-llm": "#/components/schemas/CustomLLMCredential", - "deepgram": "#/components/schemas/DeepgramCredential", - "deepinfra": "#/components/schemas/DeepInfraCredential", - "gcp": "#/components/schemas/GcpCredential", - "gladia": "#/components/schemas/GladiaCredential", - "gohighlevel": "#/components/schemas/GoHighLevelCredential", - "google": "#/components/schemas/GoogleCredential", - "groq": "#/components/schemas/GroqCredential", - "inflection-ai": "#/components/schemas/InflectionAICredential", - "langfuse": "#/components/schemas/LangfuseCredential", - "lmnt": "#/components/schemas/LmntCredential", - "make": "#/components/schemas/MakeCredential", - "openai": "#/components/schemas/OpenAICredential", - "openrouter": "#/components/schemas/OpenRouterCredential", - "perplexity-ai": "#/components/schemas/PerplexityAICredential", - "playht": "#/components/schemas/PlayHTCredential", - "rime-ai": "#/components/schemas/RimeAICredential", - "runpod": "#/components/schemas/RunpodCredential", - "s3": "#/components/schemas/S3Credential", - "tavus": "#/components/schemas/TavusCredential", - "together-ai": "#/components/schemas/TogetherAICredential", - "twilio": "#/components/schemas/TwilioCredential", - "vonage": "#/components/schemas/VonageCredential", - "webhook": "#/components/schemas/WebhookCredential", - "xai": "#/components/schemas/XAiCredential" - } - } - } - } - } - } - }, - "tags": [ - "Credentials", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/org": { - "post": { - "operationId": "OrgController_create", - "summary": "Create Org", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateOrgDTO" - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Org" - } - } - } - }, - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Org" - } - } - } - } - }, - "tags": [ - "Orgs", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "get": { - "operationId": "OrgController_findAll", - "summary": "List Orgs", - "parameters": [], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Org" - } - } - } - } - } - }, - "tags": [ - "Orgs", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/org/{id}": { - "get": { - "operationId": "OrgController_findOne", - "summary": "Get Org", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Org" - } - } - } - } - }, - "tags": [ - "Orgs", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "patch": { - "operationId": "OrgController_update", - "summary": "Update Org", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateOrgDTO" - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Org" - } - } - } - } - }, - "tags": [ - "Orgs", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "delete": { - "operationId": "OrgController_deleteOrg", - "summary": "Delete Org", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "" - } - }, - "tags": [ - "Orgs", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/org/{id}/user": { - "get": { - "operationId": "OrgController_findAllUsers", - "summary": "List Users", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/User" - } - } - } - } - } - }, - "tags": [ - "Orgs", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/org/{id}/leave": { - "delete": { - "operationId": "OrgController_orgLeave", - "summary": "Leave Org", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "" - } - }, - "tags": [ - "Orgs", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/org/{id}/member/{memberId}/leave": { - "delete": { - "operationId": "OrgController_orgRemoveUser", - "summary": "Leave Org", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - }, - { - "name": "memberId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "" - } - }, - "tags": [ - "Orgs", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/org/{id}/invite": { - "post": { - "operationId": "OrgController_usersInvite", - "summary": "Invite User", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/InviteUserDTO" - } - } - } - }, - "responses": { - "200": { - "description": "" - }, - "201": { - "description": "" - } - }, - "tags": [ - "Orgs", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/org/{id}/subscription-migrate": { - "post": { - "operationId": "OrgController_subscriptionMigrate", - "summary": "Migrates to subscription based billing", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "" - }, - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OrgWithOrgUser" - } - } - } - } - }, - "tags": [ - "Orgs", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/org/{id}/role": { - "patch": { - "operationId": "OrgController_userUpdate", - "summary": "Update User Role", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateUserRoleDTO" - } - } - } - }, - "responses": { - "200": { - "description": "" - } - }, - "tags": [ - "Orgs", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/{provider}/workflows": { - "get": { - "operationId": "ProviderController_getWorkflows", - "parameters": [ - { - "name": "provider", - "required": true, - "in": "path", - "schema": { - "enum": [ - "make", - "ghl" - ], - "type": "string" - } - }, - { - "name": "locationId", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object" - } - } - } - } - }, - "tags": [ - "Providers", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/{provider}/workflows/{workflowId}/hooks": { - "get": { - "operationId": "ProviderController_getWorkflowTriggerHook", - "parameters": [ - { - "name": "provider", - "required": true, - "in": "path", - "schema": { - "enum": [ - "make", - "ghl" - ], - "type": "string" - } - }, - { - "name": "workflowId", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object" - } - } - } - } - }, - "tags": [ - "Providers", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/{provider}/locations": { - "get": { - "operationId": "ProviderController_getLocations", - "parameters": [ - { - "name": "provider", - "required": true, - "in": "path", - "schema": { - "enum": [ - "make", - "ghl" - ], - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object" - } - } - } - } - }, - "tags": [ - "Providers", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/{provider}/voices/search": { - "get": { - "operationId": "VoiceProviderController_searchVoices", - "summary": "Search Voice from Provider Voice Library.", - "deprecated": true, - "parameters": [ - { - "name": "name", - "required": true, - "in": "query", - "description": "The name of the voice from the provider you want to search.", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VoiceLibraryVoiceResponse" - } - } - } - } - } - }, - "tags": [ - "Providers", - "extended", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/{provider}/voice/search": { - "get": { - "operationId": "VoiceProviderController_searchVoice", - "summary": "Search Voice from Provider Voice Library.", - "parameters": [ - { - "name": "name", - "required": true, - "in": "query", - "description": "The name of the voice from the provider you want to search.", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VoiceLibraryVoiceResponse" + "oneOf": [ + { + "$ref": "#/components/schemas/CreateDtmfToolDTO", + "title": "DtmfTool" + }, + { + "$ref": "#/components/schemas/CreateEndCallToolDTO", + "title": "EndCallTool" + }, + { + "$ref": "#/components/schemas/CreateFunctionToolDTO", + "title": "FunctionTool" + }, + { + "$ref": "#/components/schemas/CreateGhlToolDTO", + "title": "GhlTool" + }, + { + "$ref": "#/components/schemas/CreateMakeToolDTO", + "title": "MakeTool" + }, + { + "$ref": "#/components/schemas/CreateTransferCallToolDTO", + "title": "TransferCallTool" + }, + { + "$ref": "#/components/schemas/CreateOutputToolDTO", + "title": "OutputTool" + }, + { + "$ref": "#/components/schemas/CreateBashToolDTO", + "title": "BashTool" + }, + { + "$ref": "#/components/schemas/CreateComputerToolDTO", + "title": "ComputerTool" + }, + { + "$ref": "#/components/schemas/CreateTextEditorToolDTO", + "title": "TextEditorTool" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "dtmf": "#/components/schemas/CreateDtmfToolDTO", + "endCall": "#/components/schemas/CreateEndCallToolDTO", + "function": "#/components/schemas/CreateFunctionToolDTO", + "ghl": "#/components/schemas/CreateGhlToolDTO", + "make": "#/components/schemas/CreateMakeToolDTO", + "transferCall": "#/components/schemas/CreateTransferCallToolDTO", + "output": "#/components/schemas/CreateOutputToolDTO", + "bash": "#/components/schemas/CreateBashToolDTO", + "computer": "#/components/schemas/CreateComputerToolDTO", + "textEditor": "#/components/schemas/CreateTextEditorToolDTO" } - } - } - } - } - }, - "tags": [ - "Providers", - "extended", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/{provider}/voices/add": { - "post": { - "operationId": "VoiceProviderController_addVoices", - "summary": "Add Shared Voice to your Provider Account.", - "deprecated": true, - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AddVoiceToProviderDTO" - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/VoiceLibrary" - } - } - } - } - }, - "tags": [ - "Providers", - "extended", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/{provider}/voice/add": { - "post": { - "operationId": "VoiceProviderController_addVoice", - "summary": "Add Shared Voice to your Provider Account.", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AddVoiceToProviderDTO" - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/VoiceLibrary" - } - } - } - } - }, - "tags": [ - "Providers", - "extended", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/11labs/voice/clone": { - "post": { - "operationId": "VoiceProviderController_cloneVoices", - "summary": "Clone a voice to the provider account and add to Vapi Voice Library.", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "multipart/form-data": { - "schema": { - "$ref": "#/components/schemas/CloneVoiceDTO" - } - } - } - }, - "responses": { - "201": { - "description": "" - }, - "400": { - "description": "Voice Clone Error." - } - }, - "tags": [ - "Providers", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/template": { - "post": { - "operationId": "TemplateController_create", - "summary": "Create Template", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CreateToolTemplateDTO" } } } @@ -6914,15 +2104,70 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Template" + "oneOf": [ + { + "$ref": "#/components/schemas/DtmfTool", + "title": "DtmfTool" + }, + { + "$ref": "#/components/schemas/EndCallTool", + "title": "EndCallTool" + }, + { + "$ref": "#/components/schemas/FunctionTool", + "title": "FunctionTool" + }, + { + "$ref": "#/components/schemas/GhlTool", + "title": "GhlTool" + }, + { + "$ref": "#/components/schemas/MakeTool", + "title": "MakeTool" + }, + { + "$ref": "#/components/schemas/TransferCallTool", + "title": "TransferCallTool" + }, + { + "$ref": "#/components/schemas/OutputTool", + "title": "OutputTool" + }, + { + "$ref": "#/components/schemas/BashTool", + "title": "BashTool" + }, + { + "$ref": "#/components/schemas/ComputerTool", + "title": "ComputerTool" + }, + { + "$ref": "#/components/schemas/TextEditorTool", + "title": "TextEditorTool" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "dtmf": "#/components/schemas/DtmfTool", + "endCall": "#/components/schemas/EndCallTool", + "function": "#/components/schemas/FunctionTool", + "ghl": "#/components/schemas/GhlTool", + "make": "#/components/schemas/MakeTool", + "transferCall": "#/components/schemas/TransferCallTool", + "output": "#/components/schemas/OutputTool", + "bash": "#/components/schemas/BashTool", + "computer": "#/components/schemas/ComputerTool", + "textEditor": "#/components/schemas/TextEditorTool" + } + } } } } } }, "tags": [ - "Templates", - "extended" + "Tools" ], "security": [ { @@ -6931,42 +2176,9 @@ ] }, "get": { - "operationId": "TemplateController_findAll", - "summary": "List Templates", + "operationId": "ToolController_findAll", + "summary": "List Tools", "parameters": [ - { - "name": "collectionId", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "visibility", - "required": false, - "in": "query", - "schema": { - "enum": [ - "public", - "private" - ], - "type": "string" - } - }, - { - "name": "provider", - "required": false, - "in": "query", - "schema": { - "enum": [ - "make", - "gohighlevel", - "function" - ], - "type": "string" - } - }, { "name": "limit", "required": false, @@ -7067,38 +2279,63 @@ "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/Template" - } - } - } - } - } - }, - "tags": [ - "Templates", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/template/pinned": { - "get": { - "operationId": "TemplateController_findAllPinned", - "summary": "List Templates", - "parameters": [], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Template" + "oneOf": [ + { + "$ref": "#/components/schemas/DtmfTool", + "title": "DtmfTool" + }, + { + "$ref": "#/components/schemas/EndCallTool", + "title": "EndCallTool" + }, + { + "$ref": "#/components/schemas/FunctionTool", + "title": "FunctionTool" + }, + { + "$ref": "#/components/schemas/GhlTool", + "title": "GhlTool" + }, + { + "$ref": "#/components/schemas/MakeTool", + "title": "MakeTool" + }, + { + "$ref": "#/components/schemas/TransferCallTool", + "title": "TransferCallTool" + }, + { + "$ref": "#/components/schemas/OutputTool", + "title": "OutputTool" + }, + { + "$ref": "#/components/schemas/BashTool", + "title": "BashTool" + }, + { + "$ref": "#/components/schemas/ComputerTool", + "title": "ComputerTool" + }, + { + "$ref": "#/components/schemas/TextEditorTool", + "title": "TextEditorTool" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "dtmf": "#/components/schemas/DtmfTool", + "endCall": "#/components/schemas/EndCallTool", + "function": "#/components/schemas/FunctionTool", + "ghl": "#/components/schemas/GhlTool", + "make": "#/components/schemas/MakeTool", + "transferCall": "#/components/schemas/TransferCallTool", + "output": "#/components/schemas/OutputTool", + "bash": "#/components/schemas/BashTool", + "computer": "#/components/schemas/ComputerTool", + "textEditor": "#/components/schemas/TextEditorTool" + } + } } } } @@ -7106,8 +2343,7 @@ } }, "tags": [ - "Templates", - "extended" + "Tools" ], "security": [ { @@ -7116,10 +2352,10 @@ ] } }, - "/template/{id}": { + "/tool/{id}": { "get": { - "operationId": "TemplateController_findOne", - "summary": "Get Template", + "operationId": "ToolController_findOne", + "summary": "Get Tool", "parameters": [ { "name": "id", @@ -7136,15 +2372,70 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Template" + "oneOf": [ + { + "$ref": "#/components/schemas/DtmfTool", + "title": "DtmfTool" + }, + { + "$ref": "#/components/schemas/EndCallTool", + "title": "EndCallTool" + }, + { + "$ref": "#/components/schemas/FunctionTool", + "title": "FunctionTool" + }, + { + "$ref": "#/components/schemas/GhlTool", + "title": "GhlTool" + }, + { + "$ref": "#/components/schemas/MakeTool", + "title": "MakeTool" + }, + { + "$ref": "#/components/schemas/TransferCallTool", + "title": "TransferCallTool" + }, + { + "$ref": "#/components/schemas/OutputTool", + "title": "OutputTool" + }, + { + "$ref": "#/components/schemas/BashTool", + "title": "BashTool" + }, + { + "$ref": "#/components/schemas/ComputerTool", + "title": "ComputerTool" + }, + { + "$ref": "#/components/schemas/TextEditorTool", + "title": "TextEditorTool" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "dtmf": "#/components/schemas/DtmfTool", + "endCall": "#/components/schemas/EndCallTool", + "function": "#/components/schemas/FunctionTool", + "ghl": "#/components/schemas/GhlTool", + "make": "#/components/schemas/MakeTool", + "transferCall": "#/components/schemas/TransferCallTool", + "output": "#/components/schemas/OutputTool", + "bash": "#/components/schemas/BashTool", + "computer": "#/components/schemas/ComputerTool", + "textEditor": "#/components/schemas/TextEditorTool" + } + } } } } } }, "tags": [ - "Templates", - "extended" + "Tools" ], "security": [ { @@ -7153,8 +2444,8 @@ ] }, "patch": { - "operationId": "TemplateController_update", - "summary": "Update Template", + "operationId": "ToolController_update", + "summary": "Update Tool", "parameters": [ { "name": "id", @@ -7170,7 +2461,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UpdateToolTemplateDTO" + "$ref": "#/components/schemas/UpdateToolDTO" } } } @@ -7181,15 +2472,70 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Template" + "oneOf": [ + { + "$ref": "#/components/schemas/DtmfTool", + "title": "DtmfTool" + }, + { + "$ref": "#/components/schemas/EndCallTool", + "title": "EndCallTool" + }, + { + "$ref": "#/components/schemas/FunctionTool", + "title": "FunctionTool" + }, + { + "$ref": "#/components/schemas/GhlTool", + "title": "GhlTool" + }, + { + "$ref": "#/components/schemas/MakeTool", + "title": "MakeTool" + }, + { + "$ref": "#/components/schemas/TransferCallTool", + "title": "TransferCallTool" + }, + { + "$ref": "#/components/schemas/OutputTool", + "title": "OutputTool" + }, + { + "$ref": "#/components/schemas/BashTool", + "title": "BashTool" + }, + { + "$ref": "#/components/schemas/ComputerTool", + "title": "ComputerTool" + }, + { + "$ref": "#/components/schemas/TextEditorTool", + "title": "TextEditorTool" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "dtmf": "#/components/schemas/DtmfTool", + "endCall": "#/components/schemas/EndCallTool", + "function": "#/components/schemas/FunctionTool", + "ghl": "#/components/schemas/GhlTool", + "make": "#/components/schemas/MakeTool", + "transferCall": "#/components/schemas/TransferCallTool", + "output": "#/components/schemas/OutputTool", + "bash": "#/components/schemas/BashTool", + "computer": "#/components/schemas/ComputerTool", + "textEditor": "#/components/schemas/TextEditorTool" + } + } } } } } }, "tags": [ - "Templates", - "extended" + "Tools" ], "security": [ { @@ -7198,8 +2544,8 @@ ] }, "delete": { - "operationId": "TemplateController_remove", - "summary": "Delete Template", + "operationId": "ToolController_remove", + "summary": "Delete Tool", "parameters": [ { "name": "id", @@ -7216,15 +2562,70 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Template" + "oneOf": [ + { + "$ref": "#/components/schemas/DtmfTool", + "title": "DtmfTool" + }, + { + "$ref": "#/components/schemas/EndCallTool", + "title": "EndCallTool" + }, + { + "$ref": "#/components/schemas/FunctionTool", + "title": "FunctionTool" + }, + { + "$ref": "#/components/schemas/GhlTool", + "title": "GhlTool" + }, + { + "$ref": "#/components/schemas/MakeTool", + "title": "MakeTool" + }, + { + "$ref": "#/components/schemas/TransferCallTool", + "title": "TransferCallTool" + }, + { + "$ref": "#/components/schemas/OutputTool", + "title": "OutputTool" + }, + { + "$ref": "#/components/schemas/BashTool", + "title": "BashTool" + }, + { + "$ref": "#/components/schemas/ComputerTool", + "title": "ComputerTool" + }, + { + "$ref": "#/components/schemas/TextEditorTool", + "title": "TextEditorTool" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "dtmf": "#/components/schemas/DtmfTool", + "endCall": "#/components/schemas/EndCallTool", + "function": "#/components/schemas/FunctionTool", + "ghl": "#/components/schemas/GhlTool", + "make": "#/components/schemas/MakeTool", + "transferCall": "#/components/schemas/TransferCallTool", + "output": "#/components/schemas/OutputTool", + "bash": "#/components/schemas/BashTool", + "computer": "#/components/schemas/ComputerTool", + "textEditor": "#/components/schemas/TextEditorTool" + } + } } } } } }, "tags": [ - "Templates", - "extended" + "Tools" ], "security": [ { @@ -7233,36 +2634,38 @@ ] } }, - "/token": { + "/file": { "post": { - "operationId": "TokenController_create", - "summary": "Create Token", + "operationId": "FileController_create", + "summary": "Upload File", "parameters": [], "requestBody": { "required": true, "content": { - "application/json": { + "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/CreateTokenDTO" + "$ref": "#/components/schemas/CreateFileDTO" } } } }, "responses": { "201": { - "description": "", + "description": "File uploaded successfully", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Token" + "$ref": "#/components/schemas/File" } } } + }, + "400": { + "description": "Invalid file" } }, "tags": [ - "Tokens", - "extended" + "Files" ], "security": [ { @@ -7271,101 +2674,9 @@ ] }, "get": { - "operationId": "TokenController_findAll", - "summary": "List Tokens", - "parameters": [ - { - "name": "limit", - "required": false, - "in": "query", - "description": "This is the maximum number of items to return. Defaults to 100.", - "schema": { - "minimum": 0, - "maximum": 1000, - "type": "number" - } - }, - { - "name": "createdAtGt", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is greater than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "createdAtLt", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is less than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "createdAtGe", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is greater than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "createdAtLe", - "required": false, - "in": "query", - "description": "This will return items where the createdAt is less than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtGt", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is greater than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtLt", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is less than the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtGe", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is greater than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "name": "updatedAtLe", - "required": false, - "in": "query", - "description": "This will return items where the updatedAt is less than or equal to the specified value.", - "schema": { - "format": "date-time", - "type": "string" - } - } - ], + "operationId": "FileController_findAll", + "summary": "List Files", + "parameters": [], "responses": { "200": { "description": "", @@ -7374,7 +2685,7 @@ "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/Token" + "$ref": "#/components/schemas/File" } } } @@ -7382,8 +2693,7 @@ } }, "tags": [ - "Tokens", - "extended" + "Files" ], "security": [ { @@ -7392,10 +2702,10 @@ ] } }, - "/token/{id}": { + "/file/{id}": { "get": { - "operationId": "TokenController_findOne", - "summary": "Get Token", + "operationId": "FileController_findOne", + "summary": "Get File", "parameters": [ { "name": "id", @@ -7412,15 +2722,14 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Token" + "$ref": "#/components/schemas/File" } } } } }, "tags": [ - "Tokens", - "extended" + "Files" ], "security": [ { @@ -7429,8 +2738,8 @@ ] }, "patch": { - "operationId": "TokenController_update", - "summary": "Update Token", + "operationId": "FileController_update", + "summary": "Update File", "parameters": [ { "name": "id", @@ -7446,7 +2755,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateTokenDTO" + "$ref": "#/components/schemas/UpdateFileDTO" } } } @@ -7457,15 +2766,14 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Token" + "$ref": "#/components/schemas/File" } } } } }, "tags": [ - "Tokens", - "extended" + "Files" ], "security": [ { @@ -7474,8 +2782,8 @@ ] }, "delete": { - "operationId": "TokenController_remove", - "summary": "Delete Token", + "operationId": "FileController_remove", + "summary": "Delete File", "parameters": [ { "name": "id", @@ -7485,22 +2793,61 @@ "type": "string" } } - ], + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/File" + } + } + } + } + }, + "tags": [ + "Files" + ], + "security": [ + { + "bearer": [] + } + ] + } + }, + "/analytics": { + "get": { + "operationId": "AnalyticsController_getQuery", + "summary": "Get Analytics", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnalyticsQueryDTO" + } + } + } + }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Token" + "type": "array", + "items": { + "$ref": "#/components/schemas/AnalyticsQueryResult" + } } } } } }, "tags": [ - "Tokens", - "extended" + "Analytics" ], "security": [ { @@ -7509,69 +2856,109 @@ ] } }, - "/voice-library/{provider}": { + "/logs": { "get": { - "operationId": "VoiceLibraryController_voiceGetByProvider", - "summary": "Get voices in Voice Library by Provider", + "operationId": "LoggingController_queryLogs", + "summary": "Get Logs", "parameters": [ { - "name": "provider", - "required": true, - "in": "path", + "name": "orgId", + "required": false, + "in": "query", + "description": "This is the unique identifier for the org that this log belongs to.", + "schema": { + "type": "string" + } + }, + { + "name": "type", + "required": false, + "in": "query", + "description": "This is the type of the log.", "schema": { "enum": [ - "11labs", - "azure", - "cartesia", - "custom-voice", - "deepgram", - "lmnt", - "neets", - "openai", - "playht", - "rime-ai", - "tavus" + "API", + "Webhook", + "Call", + "Provider" ], "type": "string" } }, { - "name": "page", + "name": "webhookType", "required": false, "in": "query", + "description": "This is the type of the webhook, given the log is from a webhook.", "schema": { - "type": "number" + "type": "string" + } + }, + { + "name": "assistantId", + "required": false, + "in": "query", + "description": "This is the ID of the assistant.", + "schema": { + "type": "string" + } + }, + { + "name": "phoneNumberId", + "required": false, + "in": "query", + "description": "This is the ID of the phone number.", + "schema": { + "type": "string" } }, { - "name": "keyword", + "name": "customerId", "required": false, "in": "query", + "description": "This is the ID of the customer.", "schema": { "type": "string" } }, { - "name": "language", + "name": "squadId", "required": false, "in": "query", + "description": "This is the ID of the squad.", "schema": { "type": "string" } }, { - "name": "accent", + "name": "callId", "required": false, "in": "query", + "description": "This is the ID of the call.", "schema": { "type": "string" } }, { - "name": "gender", + "name": "page", + "required": false, + "in": "query", + "description": "This is the page number to return. Defaults to 1.", + "schema": { + "minimum": 1, + "type": "number" + } + }, + { + "name": "sortOrder", "required": false, "in": "query", + "description": "This is the sort order for pagination. Defaults to 'ASC'.", "schema": { + "enum": [ + "ASC", + "DESC" + ], "type": "string" } }, @@ -7673,189 +3060,14 @@ "content": { "application/json": { "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VoiceLibrary" - } - } - } - } - } - }, - "tags": [ - "Voice Library", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/voice-library/{provider}/accents": { - "get": { - "operationId": "VoiceLibraryController_voiceGetAccentsByProvider", - "summary": "Get accents in Voice Library by Provider", - "parameters": [ - { - "name": "provider", - "required": true, - "in": "path", - "schema": { - "enum": [ - "11labs", - "azure", - "cartesia", - "custom-voice", - "deepgram", - "lmnt", - "neets", - "openai", - "playht", - "rime-ai", - "tavus" - ], - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VoiceLibrary" - } - } - } - } - } - }, - "tags": [ - "Voice Library", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/voice-library/sync/{provider}": { - "post": { - "operationId": "VoiceLibraryController_voiceLibrarySyncByProvider", - "summary": "Sync Private voices in Voice Library by Provider", - "parameters": [ - { - "name": "provider", - "required": true, - "in": "path", - "schema": { - "enum": [ - "11labs", - "azure", - "cartesia", - "custom-voice", - "deepgram", - "lmnt", - "neets", - "openai", - "playht", - "rime-ai", - "tavus" - ], - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VoiceLibrary" - } - } - } - } - }, - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object" - } - } - } - } - }, - "tags": [ - "Voice Library", - "extended" - ], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/voice-library/sync": { - "post": { - "operationId": "VoiceLibraryController_voiceLibrarySyncDefaultVoices", - "summary": "Sync Default voices in Voice Library by Providers", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SyncVoiceLibraryDTO" - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VoiceLibrary" - } - } - } - } - }, - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VoiceLibrary" - } + "$ref": "#/components/schemas/LogsPaginatedResponse" } } } } }, "tags": [ - "Voice Library", - "extended", - "extended" + "Logs" ], "security": [ { @@ -7869,9 +3081,7 @@ "title": "Vapi API", "description": "API for building voice assistants", "version": "1.0", - "contact": { - - } + "contact": {} }, "tags": [], "servers": [ @@ -7969,7 +3179,7 @@ ] }, "server": { - "description": "This is where the transcription request will be sent.\n\nUsage:\n1. Vapi will initiate a websocket connection with `server.url`.\n\n2. Vapi will send an initial text frame with the sample rate. Format:\n```\n {\n \"type\": \"start\",\n \"encoding\": \"linear16\", // 16-bit raw PCM format\n \"container\": \"raw\",\n \"sampleRate\": {{sampleRate}},\n \"channels\": 2 // customer is channel 0, assistant is channel 1\n }\n```\n\n3. Vapi will send the audio data in 16-bit raw PCM format as binary frames.\n\n4. You can read the messages something like this:\n```\nws.on('message', (data, isBinary) =\u003E {\n if (isBinary) {\n pcmBuffer = Buffer.concat([pcmBuffer, data]);\n console.log(`Received PCM data, buffer size: ${pcmBuffer.length}`);\n } else {\n console.log('Received message:', JSON.parse(data.toString()));\n }\n});\n```\n\n5. You will respond with transcriptions as you have them. Format:\n```\n {\n \"type\": \"transcriber-response\",\n \"transcription\": \"Hello, world!\",\n \"channel\": \"customer\" | \"assistant\"\n }\n```", + "description": "This is where the transcription request will be sent.\n\nUsage:\n1. Vapi will initiate a websocket connection with `server.url`.\n\n2. Vapi will send an initial text frame with the sample rate. Format:\n```\n {\n \"type\": \"start\",\n \"encoding\": \"linear16\", // 16-bit raw PCM format\n \"container\": \"raw\",\n \"sampleRate\": {{sampleRate}},\n \"channels\": 2 // customer is channel 0, assistant is channel 1\n }\n```\n\n3. Vapi will send the audio data in 16-bit raw PCM format as binary frames.\n\n4. You can read the messages something like this:\n```\nws.on('message', (data, isBinary) => {\n if (isBinary) {\n pcmBuffer = Buffer.concat([pcmBuffer, data]);\n console.log(`Received PCM data, buffer size: ${pcmBuffer.length}`);\n } else {\n console.log('Received message:', JSON.parse(data.toString()));\n }\n});\n```\n\n5. You will respond with transcriptions as you have them. Format:\n```\n {\n \"type\": \"transcriber-response\",\n \"transcription\": \"Hello, world!\",\n \"channel\": \"customer\" | \"assistant\"\n }\n```", "allOf": [ { "$ref": "#/components/schemas/Server" @@ -8718,7 +3928,7 @@ }, "role": { "type": "string", - "description": "This is optional and defaults to \"assistant\".\n\nWhen role=assistant, `content` is said out loud.\n\nWhen role=system, `content` is passed to the model in a system message. Example:\n system: default one\n assistant:\n user:\n assistant:\n user:\n assistant:\n user:\n assistant: tool called\n tool: your server response\n \u003C--- system prompt as hint\n ---\u003E model generates response which is spoken\nThis is useful when you want to provide a hint to the model about what to say next.", + "description": "This is optional and defaults to \"assistant\".\n\nWhen role=assistant, `content` is said out loud.\n\nWhen role=system, `content` is passed to the model in a system message. Example:\n system: default one\n assistant:\n user:\n assistant:\n user:\n assistant:\n user:\n assistant: tool called\n tool: your server response\n <--- system prompt as hint\n ---> model generates response which is spoken\nThis is useful when you want to provide a hint to the model about what to say next.", "enum": [ "assistant", "system" @@ -11268,7 +6478,7 @@ "properties": { "type": { "type": "string", - "description": "This is the regex replacement type. You can use this to replace a word or phrase that matches a pattern.\n\nUsage:\n- Replace all numbers with \"some number\": { type: 'regex', regex: '\\\\d+', value: 'some number' }\n- Replace email addresses with \"[EMAIL]\": { type: 'regex', regex: '\\\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\\\.[A-Z|a-z]{2,}\\\\b', value: '[EMAIL]' }\n- Replace phone numbers with a formatted version: { type: 'regex', regex: '(\\\\d{3})(\\\\d{3})(\\\\d{4})', value: '($1) $2-$3' }\n- Replace all instances of \"color\" or \"colour\" with \"hue\": { type: 'regex', regex: 'colou?r', value: 'hue' }\n- Capitalize the first letter of every sentence: { type: 'regex', regex: '(?\u003C=\\\\. |^)[a-z]', value: (match) =\u003E match.toUpperCase() }", + "description": "This is the regex replacement type. You can use this to replace a word or phrase that matches a pattern.\n\nUsage:\n- Replace all numbers with \"some number\": { type: 'regex', regex: '\\\\d+', value: 'some number' }\n- Replace email addresses with \"[EMAIL]\": { type: 'regex', regex: '\\\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\\\.[A-Z|a-z]{2,}\\\\b', value: '[EMAIL]' }\n- Replace phone numbers with a formatted version: { type: 'regex', regex: '(\\\\d{3})(\\\\d{3})(\\\\d{4})', value: '($1) $2-$3' }\n- Replace all instances of \"color\" or \"colour\" with \"hue\": { type: 'regex', regex: 'colou?r', value: 'hue' }\n- Capitalize the first letter of every sentence: { type: 'regex', regex: '(?<=\\\\. |^)[a-z]', value: (match) => match.toUpperCase() }", "enum": [ "regex" ] @@ -11333,7 +6543,7 @@ "properties": { "enabled": { "type": "boolean", - "description": "This determines whether the model output is chunked before being sent to the voice provider. Default `true`.\n\nUsage:\n- To rely on the voice provider's audio generation logic, set this to `false`.\n- If seeing issues with quality, set this to `true`.\n\nIf disabled, Vapi-provided audio control tokens like \u003Cflush /\u003E will not work.\n\n@default true", + "description": "This determines whether the model output is chunked before being sent to the voice provider. Default `true`.\n\nUsage:\n- To rely on the voice provider's audio generation logic, set this to `false`.\n- If seeing issues with quality, set this to `true`.\n\nIf disabled, Vapi-provided audio control tokens like will not work.\n\n@default true", "example": true }, "minCharacters": { @@ -11612,7 +6822,7 @@ ] }, "server": { - "description": "This is where the voice request will be sent.\n\nRequest Example:\n\nPOST https://{server.url}\nContent-Type: application/json\n\n{\n \"message\": {\n \"type\": \"voice-request\",\n \"text\": \"Hello, world!\",\n \"sampleRate\": 24000,\n ...other metadata about the call...\n }\n}\n\nResponse Expected: 1-channel 16-bit raw PCM audio at the sample rate specified in the request. Here is how the response will be piped to the transport:\n```\nresponse.on('data', (chunk: Buffer) =\u003E {\n outputStream.write(chunk);\n});\n```", + "description": "This is where the voice request will be sent.\n\nRequest Example:\n\nPOST https://{server.url}\nContent-Type: application/json\n\n{\n \"message\": {\n \"type\": \"voice-request\",\n \"text\": \"Hello, world!\",\n \"sampleRate\": 24000,\n ...other metadata about the call...\n }\n}\n\nResponse Expected: 1-channel 16-bit raw PCM audio at the sample rate specified in the request. Here is how the response will be piped to the transport:\n```\nresponse.on('data', (chunk: Buffer) => {\n outputStream.write(chunk);\n});\n```", "allOf": [ { "$ref": "#/components/schemas/Server" @@ -12530,7 +7740,7 @@ ] }, "server": { - "description": "This is where the voice request will be sent.\n\nRequest Example:\n\nPOST https://{server.url}\nContent-Type: application/json\n\n{\n \"message\": {\n \"type\": \"voice-request\",\n \"text\": \"Hello, world!\",\n \"sampleRate\": 24000,\n ...other metadata about the call...\n }\n}\n\nResponse Expected: 1-channel 16-bit raw PCM audio at the sample rate specified in the request. Here is how the response will be piped to the transport:\n```\nresponse.on('data', (chunk: Buffer) =\u003E {\n outputStream.write(chunk);\n});\n```", + "description": "This is where the voice request will be sent.\n\nRequest Example:\n\nPOST https://{server.url}\nContent-Type: application/json\n\n{\n \"message\": {\n \"type\": \"voice-request\",\n \"text\": \"Hello, world!\",\n \"sampleRate\": 24000,\n ...other metadata about the call...\n }\n}\n\nResponse Expected: 1-channel 16-bit raw PCM audio at the sample rate specified in the request. Here is how the response will be piped to the transport:\n```\nresponse.on('data', (chunk: Buffer) => {\n outputStream.write(chunk);\n});\n```", "allOf": [ { "$ref": "#/components/schemas/Server" @@ -14650,7 +9860,7 @@ }, "serverUrl": { "type": "string", - "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url \u003E assistant.serverUrl \u003E phoneNumber.serverUrl \u003E org.serverUrl." + "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl." }, "serverUrlSecret": { "type": "string", @@ -14689,7 +9899,7 @@ }, "name": { "type": "string", - "description": "This is the name of the customer. This is just for your own reference.\n\nFor SIP inbound calls, this is extracted from the `From` SIP header with format `\"Display Name\" \u003Csip:username@domain\u003E`.", + "description": "This is the name of the customer. This is just for your own reference.\n\nFor SIP inbound calls, this is extracted from the `From` SIP header with format `\"Display Name\" `.", "maxLength": 40 } } @@ -16482,7 +11692,7 @@ }, "serverUrl": { "type": "string", - "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url \u003E assistant.serverUrl \u003E phoneNumber.serverUrl \u003E org.serverUrl." + "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl." }, "serverUrlSecret": { "type": "string", @@ -16564,7 +11774,7 @@ }, "serverUrl": { "type": "string", - "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url \u003E assistant.serverUrl \u003E phoneNumber.serverUrl \u003E org.serverUrl." + "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl." }, "serverUrlSecret": { "type": "string", @@ -16650,7 +11860,7 @@ }, "serverUrl": { "type": "string", - "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url \u003E assistant.serverUrl \u003E phoneNumber.serverUrl \u003E org.serverUrl." + "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl." }, "serverUrlSecret": { "type": "string", @@ -16756,7 +11966,7 @@ }, "serverUrl": { "type": "string", - "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url \u003E assistant.serverUrl \u003E phoneNumber.serverUrl \u003E org.serverUrl." + "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl." }, "serverUrlSecret": { "type": "string", @@ -16837,7 +12047,7 @@ }, "serverUrl": { "type": "string", - "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url \u003E assistant.serverUrl \u003E phoneNumber.serverUrl \u003E org.serverUrl." + "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl." }, "serverUrlSecret": { "type": "string", @@ -16899,7 +12109,7 @@ }, "serverUrl": { "type": "string", - "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url \u003E assistant.serverUrl \u003E phoneNumber.serverUrl \u003E org.serverUrl." + "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl." }, "serverUrlSecret": { "type": "string", @@ -16959,7 +12169,7 @@ }, "serverUrl": { "type": "string", - "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url \u003E assistant.serverUrl \u003E phoneNumber.serverUrl \u003E org.serverUrl." + "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl." }, "serverUrlSecret": { "type": "string", @@ -17022,7 +12232,7 @@ }, "serverUrl": { "type": "string", - "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url \u003E assistant.serverUrl \u003E phoneNumber.serverUrl \u003E org.serverUrl." + "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl." }, "serverUrlSecret": { "type": "string", @@ -17071,7 +12281,7 @@ }, "serverUrl": { "type": "string", - "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url \u003E assistant.serverUrl \u003E phoneNumber.serverUrl \u003E org.serverUrl." + "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl." }, "serverUrlSecret": { "type": "string", @@ -17122,7 +12332,7 @@ }, "serverUrl": { "type": "string", - "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url \u003E assistant.serverUrl \u003E phoneNumber.serverUrl \u003E org.serverUrl." + "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl." }, "serverUrlSecret": { "type": "string", @@ -17202,7 +12412,7 @@ }, "serverUrl": { "type": "string", - "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url \u003E assistant.serverUrl \u003E phoneNumber.serverUrl \u003E org.serverUrl." + "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl." }, "serverUrlSecret": { "type": "string", @@ -17316,7 +12526,7 @@ }, "stripeCustomerEmail": { "type": "string", - "description": "This is the stripe customer's email." + "description": "This is the customer's email on Stripe." }, "referredByEmail": { "type": "string", @@ -17388,6 +12598,15 @@ "concurrencyLimitPurchased" ] }, + "UpdateSubscriptionDTO": { + "type": "object", + "properties": { + "stripeCustomerEmail": { + "type": "string", + "description": "This is the customer's email on Stripe." + } + } + }, "Payment": { "type": "object", "properties": { @@ -20877,9 +16096,7 @@ }, "SbcConfiguration": { "type": "object", - "properties": { - - } + "properties": {} }, "ByoSipTrunkCredential": { "type": "object", @@ -21385,7 +16602,7 @@ "maxLength": 40 }, "gcpKey": { - "description": "This is the GCP key. This is the JSON that can be generated in the Google Cloud Console at https://console.cloud.google.com/iam-admin/serviceaccounts/details/\u003Cservice-account-id\u003E/keys.\n\nThe schema is identical to the JSON that GCP outputs.", + "description": "This is the GCP key. This is the JSON that can be generated in the Google Cloud Console at https://console.cloud.google.com/iam-admin/serviceaccounts/details//keys.\n\nThe schema is identical to the JSON that GCP outputs.", "allOf": [ { "$ref": "#/components/schemas/GcpKey" @@ -22907,7 +18124,7 @@ ] }, "gcpKey": { - "description": "This is the GCP key. This is the JSON that can be generated in the Google Cloud Console at https://console.cloud.google.com/iam-admin/serviceaccounts/details/\u003Cservice-account-id\u003E/keys.\n\nThe schema is identical to the JSON that GCP outputs.", + "description": "This is the GCP key. This is the JSON that can be generated in the Google Cloud Console at https://console.cloud.google.com/iam-admin/serviceaccounts/details//keys.\n\nThe schema is identical to the JSON that GCP outputs.", "allOf": [ { "$ref": "#/components/schemas/GcpKey" @@ -23948,7 +19165,7 @@ ] }, "gcpKey": { - "description": "This is the GCP key. This is the JSON that can be generated in the Google Cloud Console at https://console.cloud.google.com/iam-admin/serviceaccounts/details/\u003Cservice-account-id\u003E/keys.\n\nThe schema is identical to the JSON that GCP outputs.", + "description": "This is the GCP key. This is the JSON that can be generated in the Google Cloud Console at https://console.cloud.google.com/iam-admin/serviceaccounts/details//keys.\n\nThe schema is identical to the JSON that GCP outputs.", "allOf": [ { "$ref": "#/components/schemas/GcpKey" @@ -26201,7 +21418,7 @@ ] }, "assistant": { - "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", + "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId->[n].assistant`,\n- `call.squadId->[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -26308,7 +21525,7 @@ ] }, "assistant": { - "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", + "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId->[n].assistant`,\n- `call.squadId->[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -26616,7 +21833,7 @@ ] }, "assistant": { - "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", + "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId->[n].assistant`,\n- `call.squadId->[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -26709,7 +21926,7 @@ ] }, "assistant": { - "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", + "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId->[n].assistant`,\n- `call.squadId->[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -26816,7 +22033,7 @@ ] }, "assistant": { - "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", + "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId->[n].assistant`,\n- `call.squadId->[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -26889,7 +22106,7 @@ ] }, "assistant": { - "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", + "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId->[n].assistant`,\n- `call.squadId->[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -26987,7 +22204,7 @@ ] }, "assistant": { - "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", + "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId->[n].assistant`,\n- `call.squadId->[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -27076,7 +22293,7 @@ ] }, "assistant": { - "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", + "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId->[n].assistant`,\n- `call.squadId->[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -27408,7 +22625,7 @@ ] }, "assistant": { - "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", + "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId->[n].assistant`,\n- `call.squadId->[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -27521,7 +22738,7 @@ ] }, "assistant": { - "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", + "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId->[n].assistant`,\n- `call.squadId->[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -27601,7 +22818,7 @@ ] }, "assistant": { - "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", + "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId->[n].assistant`,\n- `call.squadId->[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -27694,7 +22911,7 @@ ] }, "assistant": { - "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", + "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId->[n].assistant`,\n- `call.squadId->[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -27790,7 +23007,7 @@ ] }, "assistant": { - "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", + "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId->[n].assistant`,\n- `call.squadId->[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -27885,7 +23102,7 @@ ] }, "assistant": { - "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", + "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId->[n].assistant`,\n- `call.squadId->[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -27957,7 +23174,7 @@ ] }, "assistant": { - "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", + "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId->[n].assistant`,\n- `call.squadId->[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -28034,7 +23251,7 @@ ] }, "assistant": { - "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", + "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId->[n].assistant`,\n- `call.squadId->[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -28093,7 +23310,7 @@ }, "type": { "type": "string", - "description": "This is the type of the message. \"voice-request\" is sent when using `assistant.voice={ \"type\": \"custom-voice\" }`.\n\nHere is what the request will look like:\n\nPOST https://{assistant.voice.server.url}\nContent-Type: application/json\n\n{\n \"messsage\": {\n \"type\": \"voice-request\",\n \"text\": \"Hello, world!\",\n \"sampleRate\": 24000,\n ...other metadata about the call...\n }\n}\n\nThe expected response is 1-channel 16-bit raw PCM audio at the sample rate specified in the request. Here is how the response will be piped to the transport:\n```\nresponse.on('data', (chunk: Buffer) =\u003E {\n outputStream.write(chunk);\n});\n```", + "description": "This is the type of the message. \"voice-request\" is sent when using `assistant.voice={ \"type\": \"custom-voice\" }`.\n\nHere is what the request will look like:\n\nPOST https://{assistant.voice.server.url}\nContent-Type: application/json\n\n{\n \"messsage\": {\n \"type\": \"voice-request\",\n \"text\": \"Hello, world!\",\n \"sampleRate\": 24000,\n ...other metadata about the call...\n }\n}\n\nThe expected response is 1-channel 16-bit raw PCM audio at the sample rate specified in the request. Here is how the response will be piped to the transport:\n```\nresponse.on('data', (chunk: Buffer) => {\n outputStream.write(chunk);\n});\n```", "enum": [ "voice-request" ] @@ -28111,7 +23328,7 @@ ] }, "assistant": { - "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", + "description": "This is the assistant that is currently active. This is provided for convenience.\n\nThis matches one of the following:\n- `call.assistant`,\n- `call.assistantId`,\n- `call.squad[n].assistant`,\n- `call.squad[n].assistantId`,\n- `call.squadId->[n].assistant`,\n- `call.squadId->[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -28418,7 +23635,7 @@ "properties": { "data": { "type": "string", - "description": "DO NOT respond to a `voice-request` webhook with this schema of { data }. This schema just exists to document what the response should look like. Follow these instructions:\n\nHere is what the request will look like:\n\nPOST https://{assistant.voice.server.url}\nContent-Type: application/json\n\n{\n \"messsage\": {\n \"type\": \"voice-request\",\n \"text\": \"Hello, world!\",\n \"sampleRate\": 24000,\n ...other metadata about the call...\n }\n}\n\nThe expected response is 1-channel 16-bit raw PCM audio at the sample rate specified in the request. Here is how the response will be piped to the transport:\n```\nresponse.on('data', (chunk: Buffer) =\u003E {\n outputStream.write(chunk);\n});\n```" + "description": "DO NOT respond to a `voice-request` webhook with this schema of { data }. This schema just exists to document what the response should look like. Follow these instructions:\n\nHere is what the request will look like:\n\nPOST https://{assistant.voice.server.url}\nContent-Type: application/json\n\n{\n \"messsage\": {\n \"type\": \"voice-request\",\n \"text\": \"Hello, world!\",\n \"sampleRate\": 24000,\n ...other metadata about the call...\n }\n}\n\nThe expected response is 1-channel 16-bit raw PCM audio at the sample rate specified in the request. Here is how the response will be piped to the transport:\n```\nresponse.on('data', (chunk: Buffer) => {\n outputStream.write(chunk);\n});\n```" } }, "required": [ @@ -28809,7 +24026,7 @@ }, "transcriber": { "type": "object", - "description": "This is the transcriber that was used during the call.\n\nThis matches one of the below:\n- `call.assistant.transcriber`,\n- `call.assistantId-\u003Etranscriber`,\n- `call.squad[n].assistant.transcriber`,\n- `call.squad[n].assistantId-\u003Etranscriber`,\n- `call.squadId-\u003E[n].assistant.transcriber`,\n- `call.squadId-\u003E[n].assistantId-\u003Etranscriber`." + "description": "This is the transcriber that was used during the call.\n\nThis matches one of the below:\n- `call.assistant.transcriber`,\n- `call.assistantId->transcriber`,\n- `call.squad[n].assistant.transcriber`,\n- `call.squad[n].assistantId->transcriber`,\n- `call.squadId->[n].assistant.transcriber`,\n- `call.squadId->[n].assistantId->transcriber`." }, "minutes": { "type": "number", @@ -28839,7 +24056,7 @@ }, "model": { "type": "object", - "description": "This is the model that was used during the call.\n\nThis matches one of the following:\n- `call.assistant.model`,\n- `call.assistantId-\u003Emodel`,\n- `call.squad[n].assistant.model`,\n- `call.squad[n].assistantId-\u003Emodel`,\n- `call.squadId-\u003E[n].assistant.model`,\n- `call.squadId-\u003E[n].assistantId-\u003Emodel`." + "description": "This is the model that was used during the call.\n\nThis matches one of the following:\n- `call.assistant.model`,\n- `call.assistantId->model`,\n- `call.squad[n].assistant.model`,\n- `call.squad[n].assistantId->model`,\n- `call.squadId->[n].assistant.model`,\n- `call.squadId->[n].assistantId->model`." }, "promptTokens": { "type": "number", @@ -28874,7 +24091,7 @@ }, "voice": { "type": "object", - "description": "This is the voice that was used during the call.\n\nThis matches one of the following:\n- `call.assistant.voice`,\n- `call.assistantId-\u003Evoice`,\n- `call.squad[n].assistant.voice`,\n- `call.squad[n].assistantId-\u003Evoice`,\n- `call.squadId-\u003E[n].assistant.voice`,\n- `call.squadId-\u003E[n].assistantId-\u003Evoice`." + "description": "This is the voice that was used during the call.\n\nThis matches one of the following:\n- `call.assistant.voice`,\n- `call.assistantId->voice`,\n- `call.squad[n].assistant.voice`,\n- `call.squad[n].assistantId->voice`,\n- `call.squadId->[n].assistant.voice`,\n- `call.squadId->[n].assistantId->voice`." }, "characters": { "type": "number", From a58bcb90e08cf4f173e6b86b37c85c2d58e7af9f Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Fri, 13 Dec 2024 00:03:57 +0000 Subject: [PATCH 2/7] feat(openapi): add enterprise endpoints and schemas, azure transcriber support --- fern/apis/api/openapi.json | 165 +++++++++++++++++++++++++++++++++++++ 1 file changed, 165 insertions(+) diff --git a/fern/apis/api/openapi.json b/fern/apis/api/openapi.json index 502ecffcb..a2a4f0720 100644 --- a/fern/apis/api/openapi.json +++ b/fern/apis/api/openapi.json @@ -3075,6 +3075,45 @@ } ] } + }, + "/enterprise": { + "post": { + "operationId": "EnterpriseInfoController_createEnterprise", + "summary": "Create Enterprise", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateEnterpriseInfoDTO" + } + } + } + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EnterpriseInfo" + } + } + } + }, + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EnterpriseInfo" + } + } + } + } + } + } } }, "info": { @@ -8938,6 +8977,10 @@ "$ref": "#/components/schemas/AssemblyAITranscriber", "title": "AssemblyAI" }, + { + "$ref": "#/components/schemas/AzureSpeechTranscriber", + "title": "Azure" + }, { "$ref": "#/components/schemas/CustomTranscriber", "title": "CustomTranscriber" @@ -9350,6 +9393,10 @@ "$ref": "#/components/schemas/AssemblyAITranscriber", "title": "AssemblyAI" }, + { + "$ref": "#/components/schemas/AzureSpeechTranscriber", + "title": "Azure" + }, { "$ref": "#/components/schemas/CustomTranscriber", "title": "CustomTranscriber" @@ -10793,6 +10840,10 @@ "$ref": "#/components/schemas/AssemblyAITranscriber", "title": "AssemblyAI" }, + { + "$ref": "#/components/schemas/AzureSpeechTranscriber", + "title": "Azure" + }, { "$ref": "#/components/schemas/CustomTranscriber", "title": "CustomTranscriber" @@ -11229,6 +11280,10 @@ "$ref": "#/components/schemas/AssemblyAITranscriber", "title": "AssemblyAI" }, + { + "$ref": "#/components/schemas/AzureSpeechTranscriber", + "title": "Azure" + }, { "$ref": "#/components/schemas/CustomTranscriber", "title": "CustomTranscriber" @@ -15667,6 +15722,29 @@ "metadata" ] }, + "ChatDTO": { + "type": "object", + "properties": { + "messages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OpenAIMessage" + } + }, + "assistantId": { + "type": "string" + }, + "assistant": { + "$ref": "#/components/schemas/CreateAssistantDTO" + }, + "assistantOverrides": { + "$ref": "#/components/schemas/AssistantOverrides" + } + }, + "required": [ + "messages" + ] + }, "AnthropicCredential": { "type": "object", "properties": { @@ -20882,6 +20960,93 @@ } } }, + "CreateEnterpriseInfoDTO": { + "type": "object", + "properties": { + "companySize": { + "type": "string", + "description": "The size of the company." + }, + "country": { + "type": "string", + "description": "The location of the company." + }, + "companyType": { + "type": "string", + "description": "The type of the company." + }, + "callVolume": { + "type": "string", + "description": "The call volume of the company." + }, + "orgId": { + "type": "string", + "description": "The optional ID of the organization." + }, + "email": { + "type": "string", + "description": "The optional email of the company." + } + }, + "required": [ + "companySize", + "country", + "companyType", + "callVolume" + ] + }, + "EnterpriseInfo": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The unique identifier for the enterprise info." + }, + "companySize": { + "type": "string", + "description": "The size of the company." + }, + "country": { + "type": "string", + "description": "The location of the company." + }, + "companyType": { + "type": "string", + "description": "The type of the company." + }, + "callVolume": { + "type": "string", + "description": "The call volume of the company." + }, + "orgId": { + "type": "string", + "description": "The optional ID of the organization." + }, + "email": { + "type": "string", + "description": "The optional email of the company." + }, + "createdAt": { + "format": "date-time", + "type": "string", + "description": "The ISO 8601 date-time string of when the enterprise info was created." + }, + "updatedAt": { + "format": "date-time", + "type": "string", + "description": "The ISO 8601 date-time string of when the enterprise info was last updated." + } + }, + "required": [ + "id", + "companySize", + "country", + "companyType", + "callVolume", + "createdAt", + "updatedAt" + ] + }, "ClientMessageConversationUpdate": { "type": "object", "properties": { From 5540bb003759ffc90bd2832e1cc41a915927de34 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Sun, 15 Dec 2024 00:03:57 +0000 Subject: [PATCH 3/7] fix(fern/apis/api): update openapi.json to include security requirements and rename field --- fern/apis/api/openapi.json | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/fern/apis/api/openapi.json b/fern/apis/api/openapi.json index a2a4f0720..2cb805201 100644 --- a/fern/apis/api/openapi.json +++ b/fern/apis/api/openapi.json @@ -3112,7 +3112,12 @@ } } } - } + }, + "security": [ + { + "bearer": [] + } + ] } } }, @@ -5606,7 +5611,6 @@ "llama3-70b-8192", "llama3-groq-8b-8192-tool-use-preview", "llama3-groq-70b-8192-tool-use-preview", - "gemma-7b-it", "gemma2-9b-it" ] }, @@ -20967,7 +20971,7 @@ "type": "string", "description": "The size of the company." }, - "country": { + "source": { "type": "string", "description": "The location of the company." }, @@ -20990,7 +20994,7 @@ }, "required": [ "companySize", - "country", + "source", "companyType", "callVolume" ] @@ -21006,7 +21010,7 @@ "type": "string", "description": "The size of the company." }, - "country": { + "source": { "type": "string", "description": "The location of the company." }, @@ -21040,7 +21044,7 @@ "required": [ "id", "companySize", - "country", + "source", "companyType", "callVolume", "createdAt", From 0164c953d243073b117eca05b90f658585f2d1ee Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Fri, 20 Dec 2024 00:02:14 +0000 Subject: [PATCH 4/7] chore(fern/apis/api/openapi.json): update Azure region names --- fern/apis/api/openapi.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/fern/apis/api/openapi.json b/fern/apis/api/openapi.json index 2cb805201..fe3ee1b49 100644 --- a/fern/apis/api/openapi.json +++ b/fern/apis/api/openapi.json @@ -15924,7 +15924,7 @@ "northcentralus", "norway", "southcentralus", - "sweden", + "swedencentral", "switzerland", "uk", "westus", @@ -15993,7 +15993,7 @@ "northcentralus", "norway", "southcentralus", - "sweden", + "swedencentral", "switzerland", "uk", "westus", @@ -17871,7 +17871,7 @@ "northcentralus", "norway", "southcentralus", - "sweden", + "swedencentral", "switzerland", "uk", "westus", @@ -17918,7 +17918,7 @@ "northcentralus", "norway", "southcentralus", - "sweden", + "swedencentral", "switzerland", "uk", "westus", @@ -18912,7 +18912,7 @@ "northcentralus", "norway", "southcentralus", - "sweden", + "swedencentral", "switzerland", "uk", "westus", @@ -18959,7 +18959,7 @@ "northcentralus", "norway", "southcentralus", - "sweden", + "swedencentral", "switzerland", "uk", "westus", From 6b927f77a9ea6aefb9c81861f996bfbee28c4ec3 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Sun, 22 Dec 2024 00:02:12 +0000 Subject: [PATCH 5/7] fix(openapi): update model and voiceId descriptions, add new fields and enums --- fern/apis/api/openapi.json | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/fern/apis/api/openapi.json b/fern/apis/api/openapi.json index fe3ee1b49..a0ca5bdd6 100644 --- a/fern/apis/api/openapi.json +++ b/fern/apis/api/openapi.json @@ -3107,7 +3107,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/EnterpriseInfo" + "$ref": "#/components/schemas/CreateEnterpriseInfoDTO" } } } @@ -5831,6 +5831,8 @@ "description": "This is the OpenAI model that will be used.", "enum": [ "gpt-4o-realtime-preview-2024-10-01", + "gpt-4o-realtime-preview-2024-12-17", + "gpt-4o-mini-realtime-preview-2024-12-17", "gpt-4o-mini", "gpt-4o-mini-2024-07-18", "gpt-4o", @@ -5856,6 +5858,8 @@ "description": "These are the fallback models that will be used if the primary model fails. This shouldn't be specified unless you have a specific reason to do so. Vapi will automatically find the fastest fallbacks that make sense.", "enum": [ "gpt-4o-realtime-preview-2024-10-01", + "gpt-4o-realtime-preview-2024-12-17", + "gpt-4o-mini-realtime-preview-2024-12-17", "gpt-4o-mini", "gpt-4o-mini-2024-07-18", "gpt-4o", @@ -5883,6 +5887,8 @@ "type": "string", "enum": [ "gpt-4o-realtime-preview-2024-10-01", + "gpt-4o-realtime-preview-2024-12-17", + "gpt-4o-mini-realtime-preview-2024-12-17", "gpt-4o-mini", "gpt-4o-mini-2024-07-18", "gpt-4o", @@ -7030,6 +7036,8 @@ "eleven_multilingual_v2", "eleven_turbo_v2", "eleven_turbo_v2_5", + "eleven_flash_v2", + "eleven_flash_v2_5", "eleven_monolingual_v1" ], "example": "eleven_turbo_v2_5" @@ -7176,7 +7184,7 @@ ] }, "voiceId": { - "description": "This is the provider-specific ID that will be used.\nPlease note that ash, ballad, coral, sage, and verse may only be used with the `gpt-4o-realtime-preview-2024-10-01` model.", + "description": "This is the provider-specific ID that will be used.\nPlease note that ash, ballad, coral, sage, and verse may only be used with realtime models.", "enum": [ "alloy", "echo", @@ -7940,6 +7948,8 @@ "eleven_multilingual_v2", "eleven_turbo_v2", "eleven_turbo_v2_5", + "eleven_flash_v2", + "eleven_flash_v2_5", "eleven_monolingual_v1" ], "example": "eleven_turbo_v2_5" @@ -8062,7 +8072,7 @@ ] }, "voiceId": { - "description": "This is the provider-specific ID that will be used.\nPlease note that ash, ballad, coral, sage, and verse may only be used with the `gpt-4o-realtime-preview-2024-10-01` model.", + "description": "This is the provider-specific ID that will be used.\nPlease note that ash, ballad, coral, sage, and verse may only be used with realtime models.", "enum": [ "alloy", "echo", @@ -20973,7 +20983,7 @@ }, "source": { "type": "string", - "description": "The location of the company." + "description": "How the company heard about us." }, "companyType": { "type": "string", @@ -20990,6 +21000,10 @@ "email": { "type": "string", "description": "The optional email of the company." + }, + "useCase": { + "type": "string", + "description": "The use case of the company." } }, "required": [ @@ -21012,7 +21026,7 @@ }, "source": { "type": "string", - "description": "The location of the company." + "description": "How the company heard about us." }, "companyType": { "type": "string", From 268d2121622360bfb327b3ad04f3ad78516e773c Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Tue, 24 Dec 2024 00:02:14 +0000 Subject: [PATCH 6/7] feat(openapi): add new OpenAI models and refactor server URL properties --- fern/apis/api/openapi.json | 236 +++++++++++++++++++------------------ 1 file changed, 124 insertions(+), 112 deletions(-) diff --git a/fern/apis/api/openapi.json b/fern/apis/api/openapi.json index a0ca5bdd6..c13eb1ac9 100644 --- a/fern/apis/api/openapi.json +++ b/fern/apis/api/openapi.json @@ -5830,6 +5830,10 @@ "type": "string", "description": "This is the OpenAI model that will be used.", "enum": [ + "o1-preview", + "o1-preview-2024-09-12", + "o1-mini", + "o1-mini-2024-09-12", "gpt-4o-realtime-preview-2024-10-01", "gpt-4o-realtime-preview-2024-12-17", "gpt-4o-mini-realtime-preview-2024-12-17", @@ -5857,6 +5861,10 @@ "type": "array", "description": "These are the fallback models that will be used if the primary model fails. This shouldn't be specified unless you have a specific reason to do so. Vapi will automatically find the fastest fallbacks that make sense.", "enum": [ + "o1-preview", + "o1-preview-2024-09-12", + "o1-mini", + "o1-mini-2024-09-12", "gpt-4o-realtime-preview-2024-10-01", "gpt-4o-realtime-preview-2024-12-17", "gpt-4o-mini-realtime-preview-2024-12-17", @@ -5886,6 +5894,10 @@ "items": { "type": "string", "enum": [ + "o1-preview", + "o1-preview-2024-09-12", + "o1-mini", + "o1-mini-2024-09-12", "gpt-4o-realtime-preview-2024-10-01", "gpt-4o-realtime-preview-2024-12-17", "gpt-4o-mini-realtime-preview-2024-12-17", @@ -9919,13 +9931,13 @@ "type": "string", "description": "This is the squad that will be used for incoming calls to this phone number.\n\nIf neither `assistantId` nor `squadId` is set, `assistant-request` will be sent to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the shape of the message and response that is expected." }, - "serverUrl": { - "type": "string", - "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl." - }, - "serverUrlSecret": { - "type": "string", - "description": "This is the secret Vapi will send with every message to your server. It's sent as a header called x-vapi-secret.\n\nSame precedence logic as serverUrl." + "server": { + "description": "This is where Vapi will send webhooks. You can find all webhooks available along with their shape in ServerMessage schema.\n\nThe order of precedence is:\n\n1. assistant.server\n2. phoneNumber.server\n3. org.server", + "allOf": [ + { + "$ref": "#/components/schemas/Server" + } + ] } }, "required": [ @@ -11759,13 +11771,13 @@ "type": "string", "description": "This is the squad that will be used for incoming calls to this phone number.\n\nIf neither `assistantId` nor `squadId` is set, `assistant-request` will be sent to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the shape of the message and response that is expected." }, - "serverUrl": { - "type": "string", - "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl." - }, - "serverUrlSecret": { - "type": "string", - "description": "This is the secret Vapi will send with every message to your server. It's sent as a header called x-vapi-secret.\n\nSame precedence logic as serverUrl." + "server": { + "description": "This is where Vapi will send webhooks. You can find all webhooks available along with their shape in ServerMessage schema.\n\nThe order of precedence is:\n\n1. assistant.server\n2. phoneNumber.server\n3. org.server", + "allOf": [ + { + "$ref": "#/components/schemas/Server" + } + ] }, "number": { "type": "string", @@ -11841,13 +11853,13 @@ "type": "string", "description": "This is the squad that will be used for incoming calls to this phone number.\n\nIf neither `assistantId` nor `squadId` is set, `assistant-request` will be sent to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the shape of the message and response that is expected." }, - "serverUrl": { - "type": "string", - "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl." - }, - "serverUrlSecret": { - "type": "string", - "description": "This is the secret Vapi will send with every message to your server. It's sent as a header called x-vapi-secret.\n\nSame precedence logic as serverUrl." + "server": { + "description": "This is where Vapi will send webhooks. You can find all webhooks available along with their shape in ServerMessage schema.\n\nThe order of precedence is:\n\n1. assistant.server\n2. phoneNumber.server\n3. org.server", + "allOf": [ + { + "$ref": "#/components/schemas/Server" + } + ] }, "number": { "type": "string", @@ -11927,13 +11939,13 @@ "type": "string", "description": "This is the squad that will be used for incoming calls to this phone number.\n\nIf neither `assistantId` nor `squadId` is set, `assistant-request` will be sent to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the shape of the message and response that is expected." }, - "serverUrl": { - "type": "string", - "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl." - }, - "serverUrlSecret": { - "type": "string", - "description": "This is the secret Vapi will send with every message to your server. It's sent as a header called x-vapi-secret.\n\nSame precedence logic as serverUrl." + "server": { + "description": "This is where Vapi will send webhooks. You can find all webhooks available along with their shape in ServerMessage schema.\n\nThe order of precedence is:\n\n1. assistant.server\n2. phoneNumber.server\n3. org.server", + "allOf": [ + { + "$ref": "#/components/schemas/Server" + } + ] }, "number": { "type": "string", @@ -12033,13 +12045,13 @@ "type": "string", "description": "This is the squad that will be used for incoming calls to this phone number.\n\nIf neither `assistantId` nor `squadId` is set, `assistant-request` will be sent to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the shape of the message and response that is expected." }, - "serverUrl": { - "type": "string", - "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl." - }, - "serverUrlSecret": { - "type": "string", - "description": "This is the secret Vapi will send with every message to your server. It's sent as a header called x-vapi-secret.\n\nSame precedence logic as serverUrl." + "server": { + "description": "This is where Vapi will send webhooks. You can find all webhooks available along with their shape in ServerMessage schema.\n\nThe order of precedence is:\n\n1. assistant.server\n2. phoneNumber.server\n3. org.server", + "allOf": [ + { + "$ref": "#/components/schemas/Server" + } + ] }, "sipUri": { "type": "string", @@ -12114,13 +12126,13 @@ "type": "string", "description": "This is the squad that will be used for incoming calls to this phone number.\n\nIf neither `assistantId` nor `squadId` is set, `assistant-request` will be sent to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the shape of the message and response that is expected." }, - "serverUrl": { - "type": "string", - "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl." - }, - "serverUrlSecret": { - "type": "string", - "description": "This is the secret Vapi will send with every message to your server. It's sent as a header called x-vapi-secret.\n\nSame precedence logic as serverUrl." + "server": { + "description": "This is where Vapi will send webhooks. You can find all webhooks available along with their shape in ServerMessage schema.\n\nThe order of precedence is:\n\n1. assistant.server\n2. phoneNumber.server\n3. org.server", + "allOf": [ + { + "$ref": "#/components/schemas/Server" + } + ] } }, "required": [ @@ -12176,13 +12188,13 @@ "type": "string", "description": "This is the squad that will be used for incoming calls to this phone number.\n\nIf neither `assistantId` nor `squadId` is set, `assistant-request` will be sent to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the shape of the message and response that is expected." }, - "serverUrl": { - "type": "string", - "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl." - }, - "serverUrlSecret": { - "type": "string", - "description": "This is the secret Vapi will send with every message to your server. It's sent as a header called x-vapi-secret.\n\nSame precedence logic as serverUrl." + "server": { + "description": "This is where Vapi will send webhooks. You can find all webhooks available along with their shape in ServerMessage schema.\n\nThe order of precedence is:\n\n1. assistant.server\n2. phoneNumber.server\n3. org.server", + "allOf": [ + { + "$ref": "#/components/schemas/Server" + } + ] } }, "required": [ @@ -12236,13 +12248,13 @@ "type": "string", "description": "This is the squad that will be used for incoming calls to this phone number.\n\nIf neither `assistantId` nor `squadId` is set, `assistant-request` will be sent to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the shape of the message and response that is expected." }, - "serverUrl": { - "type": "string", - "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl." - }, - "serverUrlSecret": { - "type": "string", - "description": "This is the secret Vapi will send with every message to your server. It's sent as a header called x-vapi-secret.\n\nSame precedence logic as serverUrl." + "server": { + "description": "This is where Vapi will send webhooks. You can find all webhooks available along with their shape in ServerMessage schema.\n\nThe order of precedence is:\n\n1. assistant.server\n2. phoneNumber.server\n3. org.server", + "allOf": [ + { + "$ref": "#/components/schemas/Server" + } + ] } }, "required": [ @@ -12299,13 +12311,13 @@ "type": "string", "description": "This is the squad that will be used for incoming calls to this phone number.\n\nIf neither `assistantId` nor `squadId` is set, `assistant-request` will be sent to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the shape of the message and response that is expected." }, - "serverUrl": { - "type": "string", - "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl." - }, - "serverUrlSecret": { - "type": "string", - "description": "This is the secret Vapi will send with every message to your server. It's sent as a header called x-vapi-secret.\n\nSame precedence logic as serverUrl." + "server": { + "description": "This is where Vapi will send webhooks. You can find all webhooks available along with their shape in ServerMessage schema.\n\nThe order of precedence is:\n\n1. assistant.server\n2. phoneNumber.server\n3. org.server", + "allOf": [ + { + "$ref": "#/components/schemas/Server" + } + ] } }, "required": [ @@ -12348,13 +12360,13 @@ "type": "string", "description": "This is the squad that will be used for incoming calls to this phone number.\n\nIf neither `assistantId` nor `squadId` is set, `assistant-request` will be sent to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the shape of the message and response that is expected." }, - "serverUrl": { - "type": "string", - "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl." - }, - "serverUrlSecret": { - "type": "string", - "description": "This is the secret Vapi will send with every message to your server. It's sent as a header called x-vapi-secret.\n\nSame precedence logic as serverUrl." + "server": { + "description": "This is where Vapi will send webhooks. You can find all webhooks available along with their shape in ServerMessage schema.\n\nThe order of precedence is:\n\n1. assistant.server\n2. phoneNumber.server\n3. org.server", + "allOf": [ + { + "$ref": "#/components/schemas/Server" + } + ] } }, "required": [ @@ -12399,13 +12411,13 @@ "type": "string", "description": "This is the squad that will be used for incoming calls to this phone number.\n\nIf neither `assistantId` nor `squadId` is set, `assistant-request` will be sent to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the shape of the message and response that is expected." }, - "serverUrl": { - "type": "string", - "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl." - }, - "serverUrlSecret": { - "type": "string", - "description": "This is the secret Vapi will send with every message to your server. It's sent as a header called x-vapi-secret.\n\nSame precedence logic as serverUrl." + "server": { + "description": "This is where Vapi will send webhooks. You can find all webhooks available along with their shape in ServerMessage schema.\n\nThe order of precedence is:\n\n1. assistant.server\n2. phoneNumber.server\n3. org.server", + "allOf": [ + { + "$ref": "#/components/schemas/Server" + } + ] } }, "required": [ @@ -12479,13 +12491,13 @@ "type": "string", "description": "This is the squad that will be used for incoming calls to this phone number.\n\nIf neither `assistantId` nor `squadId` is set, `assistant-request` will be sent to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the shape of the message and response that is expected." }, - "serverUrl": { - "type": "string", - "description": "This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.\n\nYou can see the shape of the messages sent in `ServerMessage`.\n\nThis overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl." - }, - "serverUrlSecret": { - "type": "string", - "description": "This is the secret Vapi will send with every message to your server. It's sent as a header called x-vapi-secret.\n\nSame precedence logic as serverUrl." + "server": { + "description": "This is where Vapi will send webhooks. You can find all webhooks available along with their shape in ServerMessage schema.\n\nThe order of precedence is:\n\n1. assistant.server\n2. phoneNumber.server\n3. org.server", + "allOf": [ + { + "$ref": "#/components/schemas/Server" + } + ] } } }, @@ -19856,13 +19868,13 @@ "minimum": 0, "maximum": 1000 }, - "serverUrl": { - "type": "string", - "description": "This is the URL Vapi will communicate with via HTTP GET and POST Requests. This is used for retrieving context, function calling, and end-of-call reports.\n\nAll requests will be sent with the call object among other things relevant to that message. You can find more details in the Server URL documentation." - }, - "serverUrlSecret": { - "type": "string", - "description": "This is the secret you can set that Vapi will send with every request to your server. Will be sent as a header called x-vapi-secret." + "server": { + "description": "This is where Vapi will send webhooks. You can find all webhooks available along with their shape in ServerMessage schema.\n\nThe order of precedence is:\n\n1. assistant.server\n2. phoneNumber.server\n3. org.server", + "allOf": [ + { + "$ref": "#/components/schemas/Server" + } + ] }, "concurrencyLimit": { "type": "number", @@ -19966,13 +19978,13 @@ "minimum": 0, "maximum": 1000 }, - "serverUrl": { - "type": "string", - "description": "This is the URL Vapi will communicate with via HTTP GET and POST Requests. This is used for retrieving context, function calling, and end-of-call reports.\n\nAll requests will be sent with the call object among other things relevant to that message. You can find more details in the Server URL documentation." - }, - "serverUrlSecret": { - "type": "string", - "description": "This is the secret you can set that Vapi will send with every request to your server. Will be sent as a header called x-vapi-secret." + "server": { + "description": "This is where Vapi will send webhooks. You can find all webhooks available along with their shape in ServerMessage schema.\n\nThe order of precedence is:\n\n1. assistant.server\n2. phoneNumber.server\n3. org.server", + "allOf": [ + { + "$ref": "#/components/schemas/Server" + } + ] }, "concurrencyLimit": { "type": "number", @@ -20018,13 +20030,13 @@ "minimum": 0, "maximum": 1000 }, - "serverUrl": { - "type": "string", - "description": "This is the URL Vapi will communicate with via HTTP GET and POST Requests. This is used for retrieving context, function calling, and end-of-call reports.\n\nAll requests will be sent with the call object among other things relevant to that message. You can find more details in the Server URL documentation." - }, - "serverUrlSecret": { - "type": "string", - "description": "This is the secret you can set that Vapi will send with every request to your server. Will be sent as a header called x-vapi-secret." + "server": { + "description": "This is where Vapi will send webhooks. You can find all webhooks available along with their shape in ServerMessage schema.\n\nThe order of precedence is:\n\n1. assistant.server\n2. phoneNumber.server\n3. org.server", + "allOf": [ + { + "$ref": "#/components/schemas/Server" + } + ] }, "concurrencyLimit": { "type": "number", @@ -20168,13 +20180,13 @@ "minimum": 0, "maximum": 1000 }, - "serverUrl": { - "type": "string", - "description": "This is the URL Vapi will communicate with via HTTP GET and POST Requests. This is used for retrieving context, function calling, and end-of-call reports.\n\nAll requests will be sent with the call object among other things relevant to that message. You can find more details in the Server URL documentation." - }, - "serverUrlSecret": { - "type": "string", - "description": "This is the secret you can set that Vapi will send with every request to your server. Will be sent as a header called x-vapi-secret." + "server": { + "description": "This is where Vapi will send webhooks. You can find all webhooks available along with their shape in ServerMessage schema.\n\nThe order of precedence is:\n\n1. assistant.server\n2. phoneNumber.server\n3. org.server", + "allOf": [ + { + "$ref": "#/components/schemas/Server" + } + ] }, "concurrencyLimit": { "type": "number", From fdd82ebd8705603ec8623acfacff24052b278e43 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Mon, 30 Dec 2024 00:02:15 +0000 Subject: [PATCH 7/7] feat(openapi): add AzureSpeechTranscriber and new call end reasons --- fern/apis/api/openapi.json | 205 +++++++++++++++++++++---------------- 1 file changed, 114 insertions(+), 91 deletions(-) diff --git a/fern/apis/api/openapi.json b/fern/apis/api/openapi.json index c13eb1ac9..960745dce 100644 --- a/fern/apis/api/openapi.json +++ b/fern/apis/api/openapi.json @@ -3668,6 +3668,21 @@ "provider" ] }, + "AzureSpeechTranscriber": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "This is the transcription provider that will be used.", + "enum": [ + "azure" + ] + } + }, + "required": [ + "provider" + ] + }, "TextContent": { "type": "object", "properties": { @@ -5609,8 +5624,6 @@ "mixtral-8x7b-32768", "llama3-8b-8192", "llama3-70b-8192", - "llama3-groq-8b-8192-tool-use-preview", - "llama3-groq-70b-8192-tool-use-preview", "gemma2-9b-it" ] }, @@ -6812,7 +6825,9 @@ "description": "This is the model that will be used. This is optional and will default to the correct model for the voiceId.", "enum": [ "sonic-english", - "sonic-multilingual" + "sonic-multilingual", + "sonic-preview", + "sonic" ], "example": "sonic-english" }, @@ -7748,7 +7763,9 @@ "description": "This is the model that will be used. This is optional and will default to the correct model for the voiceId.", "enum": [ "sonic-english", - "sonic-multilingual" + "sonic-multilingual", + "sonic-preview", + "sonic" ], "example": "sonic-english" }, @@ -10345,6 +10362,30 @@ "type": "string", "description": "This is the explanation for how the call ended.", "enum": [ + "assistant-not-invalid", + "assistant-not-provided", + "call-start-error-neither-assistant-nor-server-set", + "assistant-request-failed", + "assistant-request-returned-error", + "assistant-request-returned-unspeakable-error", + "assistant-request-returned-invalid-assistant", + "assistant-request-returned-no-assistant", + "assistant-request-returned-forwarding-phone-number", + "assistant-ended-call", + "assistant-said-end-call-phrase", + "assistant-forwarded-call", + "assistant-join-timed-out", + "customer-busy", + "customer-ended-call", + "customer-did-not-answer", + "customer-did-not-give-microphone-permission", + "assistant-said-message-with-end-call-enabled", + "exceeded-max-duration", + "manually-canceled", + "phone-call-provider-closed-websocket", + "db-error", + "assistant-not-found", + "license-check-failed", "pipeline-error-openai-voice-failed", "pipeline-error-cartesia-voice-failed", "pipeline-error-deepgram-voice-failed", @@ -10354,9 +10395,11 @@ "pipeline-error-azure-voice-failed", "pipeline-error-rime-ai-voice-failed", "pipeline-error-neets-voice-failed", - "db-error", - "assistant-not-found", - "license-check-failed", + "pipeline-error-deepgram-transcriber-failed", + "pipeline-error-gladia-transcriber-failed", + "pipeline-error-assembly-ai-transcriber-failed", + "pipeline-error-talkscriber-transcriber-failed", + "pipeline-error-azure-speech-transcriber-failed", "pipeline-error-vapi-llm-failed", "pipeline-error-vapi-400-bad-request-validation-failed", "pipeline-error-vapi-401-unauthorized", @@ -10376,36 +10419,12 @@ "vapifault-web-call-worker-setup-failed", "vapifault-transport-connected-but-call-not-active", "vapifault-call-started-but-connection-to-transport-missing", - "pipeline-error-deepgram-transcriber-failed", - "pipeline-error-gladia-transcriber-failed", - "pipeline-error-assembly-ai-transcriber-failed", "pipeline-error-openai-llm-failed", "pipeline-error-azure-openai-llm-failed", "pipeline-error-groq-llm-failed", "pipeline-error-google-llm-failed", "pipeline-error-xai-llm-failed", "pipeline-error-inflection-ai-llm-failed", - "assistant-not-invalid", - "assistant-not-provided", - "call-start-error-neither-assistant-nor-server-set", - "assistant-request-failed", - "assistant-request-returned-error", - "assistant-request-returned-unspeakable-error", - "assistant-request-returned-invalid-assistant", - "assistant-request-returned-no-assistant", - "assistant-request-returned-forwarding-phone-number", - "assistant-ended-call", - "assistant-said-end-call-phrase", - "assistant-forwarded-call", - "assistant-join-timed-out", - "customer-busy", - "customer-ended-call", - "customer-did-not-answer", - "customer-did-not-give-microphone-permission", - "assistant-said-message-with-end-call-enabled", - "exceeded-max-duration", - "manually-canceled", - "phone-call-provider-closed-websocket", "pipeline-error-openai-400-bad-request-validation-failed", "pipeline-error-openai-401-unauthorized", "pipeline-error-openai-403-model-access-denied", @@ -10523,6 +10542,8 @@ "pipeline-error-playht-429-exceeded-quota", "pipeline-error-playht-502-gateway-error", "pipeline-error-playht-504-gateway-error", + "pipeline-error-tavus-video-failed", + "pipeline-error-custom-transcriber-failed", "pipeline-error-deepgram-returning-403-model-access-denied", "pipeline-error-deepgram-returning-401-invalid-credentials", "pipeline-error-deepgram-returning-404-not-found", @@ -10530,8 +10551,6 @@ "pipeline-error-deepgram-returning-500-invalid-json", "pipeline-error-deepgram-returning-502-network-error", "pipeline-error-deepgram-returning-502-bad-gateway-ehostunreach", - "pipeline-error-tavus-video-failed", - "pipeline-error-custom-transcriber-failed", "silence-timed-out", "sip-gateway-failed-to-connect-call", "twilio-failed-to-connect-call", @@ -21766,6 +21785,30 @@ "type": "string", "description": "This is the reason the call ended. This can also be found at `call.endedReason` on GET /call/:id.", "enum": [ + "assistant-not-invalid", + "assistant-not-provided", + "call-start-error-neither-assistant-nor-server-set", + "assistant-request-failed", + "assistant-request-returned-error", + "assistant-request-returned-unspeakable-error", + "assistant-request-returned-invalid-assistant", + "assistant-request-returned-no-assistant", + "assistant-request-returned-forwarding-phone-number", + "assistant-ended-call", + "assistant-said-end-call-phrase", + "assistant-forwarded-call", + "assistant-join-timed-out", + "customer-busy", + "customer-ended-call", + "customer-did-not-answer", + "customer-did-not-give-microphone-permission", + "assistant-said-message-with-end-call-enabled", + "exceeded-max-duration", + "manually-canceled", + "phone-call-provider-closed-websocket", + "db-error", + "assistant-not-found", + "license-check-failed", "pipeline-error-openai-voice-failed", "pipeline-error-cartesia-voice-failed", "pipeline-error-deepgram-voice-failed", @@ -21775,9 +21818,11 @@ "pipeline-error-azure-voice-failed", "pipeline-error-rime-ai-voice-failed", "pipeline-error-neets-voice-failed", - "db-error", - "assistant-not-found", - "license-check-failed", + "pipeline-error-deepgram-transcriber-failed", + "pipeline-error-gladia-transcriber-failed", + "pipeline-error-assembly-ai-transcriber-failed", + "pipeline-error-talkscriber-transcriber-failed", + "pipeline-error-azure-speech-transcriber-failed", "pipeline-error-vapi-llm-failed", "pipeline-error-vapi-400-bad-request-validation-failed", "pipeline-error-vapi-401-unauthorized", @@ -21797,36 +21842,12 @@ "vapifault-web-call-worker-setup-failed", "vapifault-transport-connected-but-call-not-active", "vapifault-call-started-but-connection-to-transport-missing", - "pipeline-error-deepgram-transcriber-failed", - "pipeline-error-gladia-transcriber-failed", - "pipeline-error-assembly-ai-transcriber-failed", "pipeline-error-openai-llm-failed", "pipeline-error-azure-openai-llm-failed", "pipeline-error-groq-llm-failed", "pipeline-error-google-llm-failed", "pipeline-error-xai-llm-failed", "pipeline-error-inflection-ai-llm-failed", - "assistant-not-invalid", - "assistant-not-provided", - "call-start-error-neither-assistant-nor-server-set", - "assistant-request-failed", - "assistant-request-returned-error", - "assistant-request-returned-unspeakable-error", - "assistant-request-returned-invalid-assistant", - "assistant-request-returned-no-assistant", - "assistant-request-returned-forwarding-phone-number", - "assistant-ended-call", - "assistant-said-end-call-phrase", - "assistant-forwarded-call", - "assistant-join-timed-out", - "customer-busy", - "customer-ended-call", - "customer-did-not-answer", - "customer-did-not-give-microphone-permission", - "assistant-said-message-with-end-call-enabled", - "exceeded-max-duration", - "manually-canceled", - "phone-call-provider-closed-websocket", "pipeline-error-openai-400-bad-request-validation-failed", "pipeline-error-openai-401-unauthorized", "pipeline-error-openai-403-model-access-denied", @@ -21944,6 +21965,8 @@ "pipeline-error-playht-429-exceeded-quota", "pipeline-error-playht-502-gateway-error", "pipeline-error-playht-504-gateway-error", + "pipeline-error-tavus-video-failed", + "pipeline-error-custom-transcriber-failed", "pipeline-error-deepgram-returning-403-model-access-denied", "pipeline-error-deepgram-returning-401-invalid-credentials", "pipeline-error-deepgram-returning-404-not-found", @@ -21951,8 +21974,6 @@ "pipeline-error-deepgram-returning-500-invalid-json", "pipeline-error-deepgram-returning-502-network-error", "pipeline-error-deepgram-returning-502-bad-gateway-ehostunreach", - "pipeline-error-tavus-video-failed", - "pipeline-error-custom-transcriber-failed", "silence-timed-out", "sip-gateway-failed-to-connect-call", "twilio-failed-to-connect-call", @@ -22546,6 +22567,30 @@ "type": "string", "description": "This is the reason the call ended. This is only sent if the status is \"ended\".", "enum": [ + "assistant-not-invalid", + "assistant-not-provided", + "call-start-error-neither-assistant-nor-server-set", + "assistant-request-failed", + "assistant-request-returned-error", + "assistant-request-returned-unspeakable-error", + "assistant-request-returned-invalid-assistant", + "assistant-request-returned-no-assistant", + "assistant-request-returned-forwarding-phone-number", + "assistant-ended-call", + "assistant-said-end-call-phrase", + "assistant-forwarded-call", + "assistant-join-timed-out", + "customer-busy", + "customer-ended-call", + "customer-did-not-answer", + "customer-did-not-give-microphone-permission", + "assistant-said-message-with-end-call-enabled", + "exceeded-max-duration", + "manually-canceled", + "phone-call-provider-closed-websocket", + "db-error", + "assistant-not-found", + "license-check-failed", "pipeline-error-openai-voice-failed", "pipeline-error-cartesia-voice-failed", "pipeline-error-deepgram-voice-failed", @@ -22555,9 +22600,11 @@ "pipeline-error-azure-voice-failed", "pipeline-error-rime-ai-voice-failed", "pipeline-error-neets-voice-failed", - "db-error", - "assistant-not-found", - "license-check-failed", + "pipeline-error-deepgram-transcriber-failed", + "pipeline-error-gladia-transcriber-failed", + "pipeline-error-assembly-ai-transcriber-failed", + "pipeline-error-talkscriber-transcriber-failed", + "pipeline-error-azure-speech-transcriber-failed", "pipeline-error-vapi-llm-failed", "pipeline-error-vapi-400-bad-request-validation-failed", "pipeline-error-vapi-401-unauthorized", @@ -22577,36 +22624,12 @@ "vapifault-web-call-worker-setup-failed", "vapifault-transport-connected-but-call-not-active", "vapifault-call-started-but-connection-to-transport-missing", - "pipeline-error-deepgram-transcriber-failed", - "pipeline-error-gladia-transcriber-failed", - "pipeline-error-assembly-ai-transcriber-failed", "pipeline-error-openai-llm-failed", "pipeline-error-azure-openai-llm-failed", "pipeline-error-groq-llm-failed", "pipeline-error-google-llm-failed", "pipeline-error-xai-llm-failed", "pipeline-error-inflection-ai-llm-failed", - "assistant-not-invalid", - "assistant-not-provided", - "call-start-error-neither-assistant-nor-server-set", - "assistant-request-failed", - "assistant-request-returned-error", - "assistant-request-returned-unspeakable-error", - "assistant-request-returned-invalid-assistant", - "assistant-request-returned-no-assistant", - "assistant-request-returned-forwarding-phone-number", - "assistant-ended-call", - "assistant-said-end-call-phrase", - "assistant-forwarded-call", - "assistant-join-timed-out", - "customer-busy", - "customer-ended-call", - "customer-did-not-answer", - "customer-did-not-give-microphone-permission", - "assistant-said-message-with-end-call-enabled", - "exceeded-max-duration", - "manually-canceled", - "phone-call-provider-closed-websocket", "pipeline-error-openai-400-bad-request-validation-failed", "pipeline-error-openai-401-unauthorized", "pipeline-error-openai-403-model-access-denied", @@ -22724,6 +22747,8 @@ "pipeline-error-playht-429-exceeded-quota", "pipeline-error-playht-502-gateway-error", "pipeline-error-playht-504-gateway-error", + "pipeline-error-tavus-video-failed", + "pipeline-error-custom-transcriber-failed", "pipeline-error-deepgram-returning-403-model-access-denied", "pipeline-error-deepgram-returning-401-invalid-credentials", "pipeline-error-deepgram-returning-404-not-found", @@ -22731,8 +22756,6 @@ "pipeline-error-deepgram-returning-500-invalid-json", "pipeline-error-deepgram-returning-502-network-error", "pipeline-error-deepgram-returning-502-bad-gateway-ehostunreach", - "pipeline-error-tavus-video-failed", - "pipeline-error-custom-transcriber-failed", "silence-timed-out", "sip-gateway-failed-to-connect-call", "twilio-failed-to-connect-call",