diff --git a/fern/apis/api/openapi.json b/fern/apis/api/openapi.json index 9ce13a7..097ac23 100644 --- a/fern/apis/api/openapi.json +++ b/fern/apis/api/openapi.json @@ -185,160 +185,79 @@ ] } }, - "/call/{id}": { + "/v2/call": { "get": { - "operationId": "CallController_findOne", - "summary": "Get Call", + "operationId": "CallController_findAllPaginated", + "summary": "List Calls", "parameters": [ { - "name": "id", - "required": true, - "in": "path", + "name": "assistantId", + "required": false, + "in": "query", + "description": "This will return calls with the specified assistantId.", "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": true, - "in": "path", + "required": false, + "in": "query", + "description": "This will return calls with the specified callId.", "schema": { "type": "string" } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateCallDTO" - } - } - } - }, - "responses": { - "200": { - "description": "", - "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", + "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": "string" + "type": "number" } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Call" - } - } + }, + { + "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" } - } - }, - "tags": [ - "Calls" - ], - "security": [ + }, { - "bearer": [] - } - ] - } - }, - "/assistant": { - "post": { - "operationId": "AssistantController_create", - "summary": "Create Assistant", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateAssistantDTO" - } + "name": "cost", + "required": false, + "in": "query", + "description": "This will return calls with the exact specified cost.", + "schema": { + "type": "number" } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Assistant" - } - } + }, + { + "name": "page", + "required": false, + "in": "query", + "description": "This is the page number to return. Defaults to 1.", + "schema": { + "minimum": 1, + "type": "number" } - } - }, - "tags": [ - "Assistants" - ], - "security": [ + }, { - "bearer": [] - } - ] - }, - "get": { - "operationId": "AssistantController_findAll", - "summary": "List Assistants", - "parameters": [ + "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, @@ -437,17 +356,15 @@ "content": { "application/json": { "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Assistant" - } + "$ref": "#/components/schemas/CallPaginatedResponse" } } } } }, "tags": [ - "Assistants" + "Calls", + "extended" ], "security": [ { @@ -456,213 +373,79 @@ ] } }, - "/assistant/{id}": { + "/v2/call/metadata": { "get": { - "operationId": "AssistantController_findOne", - "summary": "Get Assistant", + "operationId": "CallController_findAllMetadataPaginated", + "summary": "List Call Metadata", "parameters": [ { - "name": "id", - "required": true, - "in": "path", + "name": "assistantId", + "required": false, + "in": "query", + "description": "This will return calls with the specified assistantId.", "schema": { "type": "string" } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Assistant" - } - } - } - } - }, - "tags": [ - "Assistants" - ], - "security": [ - { - "bearer": [] - } - ] - }, - "patch": { - "operationId": "AssistantController_update", - "summary": "Update Assistant", - "parameters": [ + }, { "name": "id", - "required": true, - "in": "path", + "required": false, + "in": "query", + "description": "This will return calls with the specified callId.", "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": [] - } - ] - }, - "delete": { - "operationId": "AssistantController_remove", - "summary": "Delete Assistant", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", + "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": "string" + "type": "number" } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Assistant" - } - } + }, + { + "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" } - } - }, - "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" - } - } - } + "name": "cost", + "required": false, + "in": "query", + "description": "This will return calls with the exact specified cost.", + "schema": { + "type": "number" } - } - }, - "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" - } - } - } - } + }, + { + "name": "page", + "required": false, + "in": "query", + "description": "This is the page number to return. Defaults to 1.", + "schema": { + "minimum": 1, + "type": "number" } - } - }, - "tags": [ - "Phone Numbers" - ], - "security": [ + }, { - "bearer": [] - } - ] - }, - "get": { - "operationId": "PhoneNumberController_findAll", - "summary": "List Phone Numbers", - "parameters": [ + "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, @@ -761,44 +544,15 @@ "content": { "application/json": { "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/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" - } - } - } + "$ref": "#/components/schemas/CallPaginatedResponse" } } } } }, "tags": [ - "Phone Numbers" + "Calls", + "extended" ], "security": [ { @@ -807,10 +561,10 @@ ] } }, - "/phone-number/{id}": { + "/call/{id}": { "get": { - "operationId": "PhoneNumberController_findOne", - "summary": "Get Phone Number", + "operationId": "CallController_findOne", + "summary": "Get Call", "parameters": [ { "name": "id", @@ -827,41 +581,14 @@ "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" - } - } + "$ref": "#/components/schemas/Call" } } } } }, "tags": [ - "Phone Numbers" + "Calls" ], "security": [ { @@ -870,8 +597,8 @@ ] }, "patch": { - "operationId": "PhoneNumberController_update", - "summary": "Update Phone Number", + "operationId": "CallController_update", + "summary": "Update Call", "parameters": [ { "name": "id", @@ -887,7 +614,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UpdatePhoneNumberDTO" + "$ref": "#/components/schemas/UpdateCallDTO" } } } @@ -898,41 +625,14 @@ "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" - } - } + "$ref": "#/components/schemas/Call" } } } } }, "tags": [ - "Phone Numbers" + "Calls" ], "security": [ { @@ -941,8 +641,8 @@ ] }, "delete": { - "operationId": "PhoneNumberController_remove", - "summary": "Delete Phone Number", + "operationId": "CallController_deleteCallData", + "summary": "Delete Call Data", "parameters": [ { "name": "id", @@ -959,41 +659,14 @@ "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" - } - } + "$ref": "#/components/schemas/Call" } } } } }, "tags": [ - "Phone Numbers" + "Calls" ], "security": [ { @@ -1002,17 +675,17 @@ ] } }, - "/squad": { + "/call/phone": { "post": { - "operationId": "SquadController_create", - "summary": "Create Squad", + "operationId": "CallController_createPhoneCall", + "summary": "Create Phone Call", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateSquadDTO" + "$ref": "#/components/schemas/CreateOutboundCallDTO" } } } @@ -1023,14 +696,90 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Squad" + "$ref": "#/components/schemas/Call" } } } } }, "tags": [ - "Squads" + "Calls", + "extended" + ], + "security": [ + { + "bearer": [] + } + ] + } + }, + "/call/web": { + "post": { + "operationId": "CallController_createWebCall", + "summary": "Create Web Call", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateWebCallDTO" + } + } + } + }, + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Call" + } + } + } + } + }, + "tags": [ + "Calls", + "extended" + ], + "security": [ + { + "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": [ { @@ -1039,8 +788,8 @@ ] }, "get": { - "operationId": "SquadController_findAll", - "summary": "List Squads", + "operationId": "AssistantController_findAll", + "summary": "List Assistants", "parameters": [ { "name": "limit", @@ -1142,7 +891,7 @@ "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/Squad" + "$ref": "#/components/schemas/Assistant" } } } @@ -1150,7 +899,7 @@ } }, "tags": [ - "Squads" + "Assistants" ], "security": [ { @@ -1159,10 +908,10 @@ ] } }, - "/squad/{id}": { + "/assistant/{id}": { "get": { - "operationId": "SquadController_findOne", - "summary": "Get Squad", + "operationId": "AssistantController_findOne", + "summary": "Get Assistant", "parameters": [ { "name": "id", @@ -1179,14 +928,14 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Squad" + "$ref": "#/components/schemas/Assistant" } } } } }, "tags": [ - "Squads" + "Assistants" ], "security": [ { @@ -1195,8 +944,8 @@ ] }, "patch": { - "operationId": "SquadController_update", - "summary": "Update Squad", + "operationId": "AssistantController_update", + "summary": "Update Assistant", "parameters": [ { "name": "id", @@ -1212,7 +961,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UpdateSquadDTO" + "$ref": "#/components/schemas/UpdateAssistantDTO" } } } @@ -1223,14 +972,59 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Squad" + "$ref": "#/components/schemas/Assistant" } } } } }, "tags": [ - "Squads" + "Assistants" + ], + "security": [ + { + "bearer": [] + } + ] + }, + "put": { + "operationId": "AssistantController_replace", + "summary": "Replace 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", + "extended" ], "security": [ { @@ -1239,8 +1033,8 @@ ] }, "delete": { - "operationId": "SquadController_remove", - "summary": "Delete Squad", + "operationId": "AssistantController_remove", + "summary": "Delete Assistant", "parameters": [ { "name": "id", @@ -1257,14 +1051,14 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Squad" + "$ref": "#/components/schemas/Assistant" } } } } }, "tags": [ - "Squads" + "Assistants" ], "security": [ { @@ -1273,33 +1067,17 @@ ] } }, - "/knowledge-base": { + "/phone-number/buy": { "post": { - "operationId": "KnowledgeBaseController_create", - "summary": "Create Knowledge Base", + "operationId": "PhoneNumberController_buy", + "summary": "Buy Phone Number", "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" - } - } + "$ref": "#/components/schemas/BuyPhoneNumberDTO" } } } @@ -1310,21 +1088,32 @@ "content": { "application/json": { "schema": { + "title": "PhoneNumber", "oneOf": [ { - "$ref": "#/components/schemas/TrieveKnowledgeBase", - "title": "TrieveKnowledgeBase" + "$ref": "#/components/schemas/ByoPhoneNumber", + "title": "ByoPhoneNumber" }, { - "$ref": "#/components/schemas/CustomKnowledgeBase", - "title": "CustomKnowledgeBase" + "$ref": "#/components/schemas/TwilioPhoneNumber", + "title": "TwilioPhoneNumber" + }, + { + "$ref": "#/components/schemas/VonagePhoneNumber", + "title": "VonagePhoneNumber" + }, + { + "$ref": "#/components/schemas/VapiPhoneNumber", + "title": "VapiPhoneNumber" } ], "discriminator": { "propertyName": "provider", "mapping": { - "trieve": "#/components/schemas/TrieveKnowledgeBase", - "custom-knowledge-base": "#/components/schemas/CustomKnowledgeBase" + "byo-phone-number": "#/components/schemas/ByoPhoneNumber", + "twilio": "#/components/schemas/TwilioPhoneNumber", + "vonage": "#/components/schemas/VonagePhoneNumber", + "vapi": "#/components/schemas/VapiPhoneNumber" } } } @@ -1333,27 +1122,252 @@ } }, "tags": [ - "Knowledge Base" + "Phone Numbers", + "extended" ], "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" + } + }, + "/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" + } + ], + "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, + "in": "query", + "description": "This is the maximum number of items to return. Defaults to 100.", + "schema": { + "minimum": 0, + "maximum": 1000, + "type": "number" } }, { @@ -1445,21 +1459,32 @@ "schema": { "type": "array", "items": { + "title": "PhoneNumber", "oneOf": [ { - "$ref": "#/components/schemas/TrieveKnowledgeBase", - "title": "TrieveKnowledgeBase" + "$ref": "#/components/schemas/ByoPhoneNumber", + "title": "ByoPhoneNumber" }, { - "$ref": "#/components/schemas/CustomKnowledgeBase", - "title": "CustomKnowledgeBase" + "$ref": "#/components/schemas/TwilioPhoneNumber", + "title": "TwilioPhoneNumber" + }, + { + "$ref": "#/components/schemas/VonagePhoneNumber", + "title": "VonagePhoneNumber" + }, + { + "$ref": "#/components/schemas/VapiPhoneNumber", + "title": "VapiPhoneNumber" } ], "discriminator": { "propertyName": "provider", "mapping": { - "trieve": "#/components/schemas/TrieveKnowledgeBase", - "custom-knowledge-base": "#/components/schemas/CustomKnowledgeBase" + "byo-phone-number": "#/components/schemas/ByoPhoneNumber", + "twilio": "#/components/schemas/TwilioPhoneNumber", + "vonage": "#/components/schemas/VonagePhoneNumber", + "vapi": "#/components/schemas/VapiPhoneNumber" } } } @@ -1469,7 +1494,7 @@ } }, "tags": [ - "Knowledge Base" + "Phone Numbers" ], "security": [ { @@ -1478,16 +1503,159 @@ ] } }, - "/knowledge-base/{id}": { + "/v2/phone-number": { "get": { - "operationId": "KnowledgeBaseController_findOne", - "summary": "Get Knowledge Base", + "operationId": "PhoneNumberController_findAllPaginated", + "summary": "List Phone Numbers", "parameters": [ { - "name": "id", - "required": true, - "in": "path", - "schema": { + "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", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { "type": "string" } } @@ -1498,21 +1666,32 @@ "content": { "application/json": { "schema": { + "title": "PhoneNumber", "oneOf": [ { - "$ref": "#/components/schemas/TrieveKnowledgeBase", - "title": "TrieveKnowledgeBase" + "$ref": "#/components/schemas/ByoPhoneNumber", + "title": "ByoPhoneNumber" }, { - "$ref": "#/components/schemas/CustomKnowledgeBase", - "title": "CustomKnowledgeBase" + "$ref": "#/components/schemas/TwilioPhoneNumber", + "title": "TwilioPhoneNumber" + }, + { + "$ref": "#/components/schemas/VonagePhoneNumber", + "title": "VonagePhoneNumber" + }, + { + "$ref": "#/components/schemas/VapiPhoneNumber", + "title": "VapiPhoneNumber" } ], "discriminator": { "propertyName": "provider", "mapping": { - "trieve": "#/components/schemas/TrieveKnowledgeBase", - "custom-knowledge-base": "#/components/schemas/CustomKnowledgeBase" + "byo-phone-number": "#/components/schemas/ByoPhoneNumber", + "twilio": "#/components/schemas/TwilioPhoneNumber", + "vonage": "#/components/schemas/VonagePhoneNumber", + "vapi": "#/components/schemas/VapiPhoneNumber" } } } @@ -1521,7 +1700,7 @@ } }, "tags": [ - "Knowledge Base" + "Phone Numbers" ], "security": [ { @@ -1530,8 +1709,8 @@ ] }, "patch": { - "operationId": "KnowledgeBaseController_update", - "summary": "Update Knowledge Base", + "operationId": "PhoneNumberController_update", + "summary": "Update Phone Number", "parameters": [ { "name": "id", @@ -1542,27 +1721,48 @@ } } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdatePhoneNumberDTO" + } + } + } + }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { + "title": "PhoneNumber", "oneOf": [ { - "$ref": "#/components/schemas/TrieveKnowledgeBase", - "title": "TrieveKnowledgeBase" + "$ref": "#/components/schemas/ByoPhoneNumber", + "title": "ByoPhoneNumber" }, { - "$ref": "#/components/schemas/CustomKnowledgeBase", - "title": "CustomKnowledgeBase" + "$ref": "#/components/schemas/TwilioPhoneNumber", + "title": "TwilioPhoneNumber" + }, + { + "$ref": "#/components/schemas/VonagePhoneNumber", + "title": "VonagePhoneNumber" + }, + { + "$ref": "#/components/schemas/VapiPhoneNumber", + "title": "VapiPhoneNumber" } ], "discriminator": { "propertyName": "provider", "mapping": { - "trieve": "#/components/schemas/TrieveKnowledgeBase", - "custom-knowledge-base": "#/components/schemas/CustomKnowledgeBase" + "byo-phone-number": "#/components/schemas/ByoPhoneNumber", + "twilio": "#/components/schemas/TwilioPhoneNumber", + "vonage": "#/components/schemas/VonagePhoneNumber", + "vapi": "#/components/schemas/VapiPhoneNumber" } } } @@ -1571,7 +1771,7 @@ } }, "tags": [ - "Knowledge Base" + "Phone Numbers" ], "security": [ { @@ -1580,8 +1780,8 @@ ] }, "delete": { - "operationId": "KnowledgeBaseController_remove", - "summary": "Delete Knowledge Base", + "operationId": "PhoneNumberController_remove", + "summary": "Delete Phone Number", "parameters": [ { "name": "id", @@ -1598,21 +1798,32 @@ "content": { "application/json": { "schema": { + "title": "PhoneNumber", "oneOf": [ { - "$ref": "#/components/schemas/TrieveKnowledgeBase", - "title": "TrieveKnowledgeBase" + "$ref": "#/components/schemas/ByoPhoneNumber", + "title": "ByoPhoneNumber" }, { - "$ref": "#/components/schemas/CustomKnowledgeBase", - "title": "CustomKnowledgeBase" + "$ref": "#/components/schemas/TwilioPhoneNumber", + "title": "TwilioPhoneNumber" + }, + { + "$ref": "#/components/schemas/VonagePhoneNumber", + "title": "VonagePhoneNumber" + }, + { + "$ref": "#/components/schemas/VapiPhoneNumber", + "title": "VapiPhoneNumber" } ], "discriminator": { "propertyName": "provider", "mapping": { - "trieve": "#/components/schemas/TrieveKnowledgeBase", - "custom-knowledge-base": "#/components/schemas/CustomKnowledgeBase" + "byo-phone-number": "#/components/schemas/ByoPhoneNumber", + "twilio": "#/components/schemas/TwilioPhoneNumber", + "vonage": "#/components/schemas/VonagePhoneNumber", + "vapi": "#/components/schemas/VapiPhoneNumber" } } } @@ -1621,7 +1832,7 @@ } }, "tags": [ - "Knowledge Base" + "Phone Numbers" ], "security": [ { @@ -1630,88 +1841,157 @@ ] } }, - "/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" - } - } - } + "/subscription/{id}": { + "get": { + "operationId": "SubscriptionController_get", + "summary": "Get subscription", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" } } - }, + ], "responses": { - "201": { + "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" - } - } + "$ref": "#/components/schemas/Subscription" } } } } }, "tags": [ - "Blocks" + "Subscriptions", + "extended" ], "security": [ { "bearer": [] } ] - }, + } + }, + "/subscription/{id}/payment": { "get": { - "operationId": "BlockController_findAll", - "summary": "List Blocks", + "operationId": "SubscriptionPaymentController_paymentsGet", + "summary": "Find all payments", "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, @@ -1810,38 +2090,15 @@ "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" - } - } - } + "$ref": "#/components/schemas/PaymentsPaginatedResponse" } } } } }, "tags": [ - "Blocks" + "Subscriptions", + "extended" ], "security": [ { @@ -1850,10 +2107,10 @@ ] } }, - "/block/{id}": { + "/subscription/{id}/monthly-charge": { "get": { - "operationId": "BlockController_findOne", - "summary": "Get Block", + "operationId": "SubscriptionPaymentController_monthlyChargeGet", + "summary": "Get monthly charge", "parameters": [ { "name": "id", @@ -1870,45 +2127,27 @@ "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" - } - } + "$ref": "#/components/schemas/SubscriptionMonthlyCharge" } } } } }, "tags": [ - "Blocks" + "Subscriptions", + "extended" ], "security": [ { "bearer": [] } ] - }, - "patch": { - "operationId": "BlockController_update", - "summary": "Update Block", + } + }, + "/subscription/{id}/credit": { + "post": { + "operationId": "SubscriptionPaymentController_charge", + "summary": "Update subscription credits", "parameters": [ { "name": "id", @@ -1924,7 +2163,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UpdateBlockDTO" + "$ref": "#/components/schemas/CreditsBuyDTO" } } } @@ -1935,45 +2174,37 @@ "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" - } - } + "$ref": "#/components/schemas/Subscription" + } + } + } + }, + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Subscription" } } } } }, "tags": [ - "Blocks" + "Subscriptions", + "extended" ], "security": [ { "bearer": [] } ] - }, - "delete": { - "operationId": "BlockController_remove", - "summary": "Delete Block", + } + }, + "/subscription/{id}/auto-reload-plan": { + "put": { + "operationId": "SubscriptionPaymentController_autoReloadPlanUpdate", + "summary": "Update auto-reload plan", "parameters": [ { "name": "id", @@ -1984,32 +2215,3911 @@ } } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AutoReloadPlanDTO" + } + } + } + }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { - "oneOf": [ - { + "$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" + } + } + } + } + }, + "tags": [ + "Subscriptions", + "extended" + ], + "security": [ + { + "bearer": [] + } + ] + }, + "delete": { + "operationId": "SubscriptionPaymentController_concurrencyLineRemove", + "summary": "Remove extra concurrency", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubscriptionConcurrencyLineRemoveDTO" + } + } + } + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Subscription" + } + } + } + } + }, + "tags": [ + "Subscriptions", + "extended" + ], + "security": [ + { + "bearer": [] + } + ] + } + }, + "/subscription/{id}/hipaa": { + "post": { + "operationId": "SubscriptionPaymentController_hipaaEnable", + "summary": "Purchase HIPAA add-on", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "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/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/WorkflowBlock", - "title": "WorkflowBlock" + "$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": "type", + "propertyName": "provider", "mapping": { - "conversation": "#/components/schemas/ConversationBlock", - "tool-call": "#/components/schemas/ToolCallBlock", - "workflow": "#/components/schemas/WorkflowBlock" + "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" } } } @@ -2018,7 +6128,605 @@ } }, "tags": [ - "Blocks" + "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": [ { @@ -2027,147 +6735,194 @@ ] } }, - "/tool": { + "/{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" + } + } + } + } + } + }, + "tags": [ + "Providers", + "extended", + "extended" + ], + "security": [ + { + "bearer": [] + } + ] + } + }, + "/{provider}/voices/add": { "post": { - "operationId": "ToolController_create", - "summary": "Create Tool", + "operationId": "VoiceProviderController_addVoices", + "summary": "Add Shared Voice to your Provider Account.", + "deprecated": true, "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" - } + "$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": { - "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" - } - } + "$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" + } + } + } + } + }, + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Template" } } } } }, "tags": [ - "Tools" + "Templates", + "extended" ], "security": [ { @@ -2176,9 +6931,42 @@ ] }, "get": { - "operationId": "ToolController_findAll", - "summary": "List Tools", + "operationId": "TemplateController_findAll", + "summary": "List Templates", "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, @@ -2279,63 +7067,7 @@ "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" - } - } + "$ref": "#/components/schemas/Template" } } } @@ -2343,7 +7075,8 @@ } }, "tags": [ - "Tools" + "Templates", + "extended" ], "security": [ { @@ -2352,82 +7085,20 @@ ] } }, - "/tool/{id}": { + "/template/pinned": { "get": { - "operationId": "ToolController_findOne", - "summary": "Get Tool", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], + "operationId": "TemplateController_findAllPinned", + "summary": "List Templates", + "parameters": [], "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" - } + "type": "array", + "items": { + "$ref": "#/components/schemas/Template" } } } @@ -2435,17 +7106,20 @@ } }, "tags": [ - "Tools" + "Templates", + "extended" ], "security": [ { "bearer": [] } ] - }, - "patch": { - "operationId": "ToolController_update", - "summary": "Update Tool", + } + }, + "/template/{id}": { + "get": { + "operationId": "TemplateController_findOne", + "summary": "Get Template", "parameters": [ { "name": "id", @@ -2456,86 +7130,66 @@ } } ], - "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" - } - } + "$ref": "#/components/schemas/Template" + } + } + } + } + }, + "tags": [ + "Templates", + "extended" + ], + "security": [ + { + "bearer": [] + } + ] + }, + "patch": { + "operationId": "TemplateController_update", + "summary": "Update Template", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateToolTemplateDTO" + } + } + } + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Template" } } } } }, "tags": [ - "Tools" + "Templates", + "extended" ], "security": [ { @@ -2544,8 +7198,8 @@ ] }, "delete": { - "operationId": "ToolController_remove", - "summary": "Delete Tool", + "operationId": "TemplateController_remove", + "summary": "Delete Template", "parameters": [ { "name": "id", @@ -2562,70 +7216,15 @@ "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" - } - } + "$ref": "#/components/schemas/Template" } } } } }, "tags": [ - "Tools" + "Templates", + "extended" ], "security": [ { @@ -2634,38 +7233,36 @@ ] } }, - "/file": { + "/token": { "post": { - "operationId": "FileController_create", - "summary": "Upload File", + "operationId": "TokenController_create", + "summary": "Create Token", "parameters": [], "requestBody": { "required": true, "content": { - "multipart/form-data": { + "application/json": { "schema": { - "$ref": "#/components/schemas/CreateFileDTO" + "$ref": "#/components/schemas/CreateTokenDTO" } } } }, "responses": { "201": { - "description": "File uploaded successfully", + "description": "", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/File" + "$ref": "#/components/schemas/Token" } } } - }, - "400": { - "description": "Invalid file" } }, "tags": [ - "Files" + "Tokens", + "extended" ], "security": [ { @@ -2674,9 +7271,101 @@ ] }, "get": { - "operationId": "FileController_findAll", - "summary": "List Files", - "parameters": [], + "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" + } + } + ], "responses": { "200": { "description": "", @@ -2685,7 +7374,7 @@ "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/File" + "$ref": "#/components/schemas/Token" } } } @@ -2693,7 +7382,8 @@ } }, "tags": [ - "Files" + "Tokens", + "extended" ], "security": [ { @@ -2702,10 +7392,10 @@ ] } }, - "/file/{id}": { + "/token/{id}": { "get": { - "operationId": "FileController_findOne", - "summary": "Get File", + "operationId": "TokenController_findOne", + "summary": "Get Token", "parameters": [ { "name": "id", @@ -2722,14 +7412,15 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/File" + "$ref": "#/components/schemas/Token" } } } } }, "tags": [ - "Files" + "Tokens", + "extended" ], "security": [ { @@ -2738,8 +7429,8 @@ ] }, "patch": { - "operationId": "FileController_update", - "summary": "Update File", + "operationId": "TokenController_update", + "summary": "Update Token", "parameters": [ { "name": "id", @@ -2755,7 +7446,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UpdateFileDTO" + "$ref": "#/components/schemas/CreateTokenDTO" } } } @@ -2766,14 +7457,15 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/File" + "$ref": "#/components/schemas/Token" } } } } }, "tags": [ - "Files" + "Tokens", + "extended" ], "security": [ { @@ -2782,72 +7474,33 @@ ] }, "delete": { - "operationId": "FileController_remove", - "summary": "Delete File", + "operationId": "TokenController_remove", + "summary": "Delete Token", "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": [] - } - ] - } - }, - "/analytics": { - "get": { - "operationId": "AnalyticsController_getQuery", - "summary": "Get Analytics", - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AnalyticsQueryDTO" - } + "type": "string" } } - }, + ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AnalyticsQueryResult" - } + "$ref": "#/components/schemas/Token" } } } } }, "tags": [ - "Analytics" + "Tokens", + "extended" ], "security": [ { @@ -2856,109 +7509,69 @@ ] } }, - "/logs": { + "/voice-library/{provider}": { "get": { - "operationId": "LoggingController_queryLogs", - "summary": "Get Logs", + "operationId": "VoiceLibraryController_voiceGetByProvider", + "summary": "Get voices in Voice Library by Provider", "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.", + "name": "provider", + "required": true, + "in": "path", "schema": { "enum": [ - "API", - "Webhook", - "Call", - "Provider" + "11labs", + "azure", + "cartesia", + "custom-voice", + "deepgram", + "lmnt", + "neets", + "openai", + "playht", + "rime-ai", + "tavus" ], "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", + "name": "page", "required": false, "in": "query", - "description": "This is the ID of the phone number.", "schema": { - "type": "string" + "type": "number" } }, { - "name": "customerId", + "name": "keyword", "required": false, "in": "query", - "description": "This is the ID of the customer.", "schema": { "type": "string" } }, { - "name": "squadId", + "name": "language", "required": false, "in": "query", - "description": "This is the ID of the squad.", "schema": { "type": "string" } }, { - "name": "callId", + "name": "accent", "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", + "name": "gender", "required": false, "in": "query", - "description": "This is the sort order for pagination. Defaults to 'ASC'.", "schema": { - "enum": [ - "ASC", - "DESC" - ], "type": "string" } }, @@ -3060,14 +7673,189 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/LogsPaginatedResponse" + "type": "array", + "items": { + "$ref": "#/components/schemas/VoiceLibrary" + } } } } } }, "tags": [ - "Logs" + "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" + } + } + } + } + } + }, + "tags": [ + "Voice Library", + "extended", + "extended" ], "security": [ { @@ -3081,7 +7869,9 @@ "title": "Vapi API", "description": "API for building voice assistants", "version": "1.0", - "contact": {} + "contact": { + + } }, "tags": [], "servers": [ @@ -3179,7 +7969,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) => {\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) =\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```", "allOf": [ { "$ref": "#/components/schemas/Server" @@ -3928,7 +8718,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 <--- 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.", + "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.", "enum": [ "assistant", "system" @@ -6478,7 +11268,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: '(?<=\\\\. |^)[a-z]', value: (match) => 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: '(?\u003C=\\\\. |^)[a-z]', value: (match) =\u003E match.toUpperCase() }", "enum": [ "regex" ] @@ -6543,7 +11333,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 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 \u003Cflush /\u003E will not work.\n\n@default true", "example": true }, "minCharacters": { @@ -6822,7 +11612,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) => {\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) =\u003E {\n outputStream.write(chunk);\n});\n```", "allOf": [ { "$ref": "#/components/schemas/Server" @@ -7740,7 +12530,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) => {\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) =\u003E {\n outputStream.write(chunk);\n});\n```", "allOf": [ { "$ref": "#/components/schemas/Server" @@ -9860,7 +14650,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 > assistant.serverUrl > phoneNumber.serverUrl > 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 \u003E assistant.serverUrl \u003E phoneNumber.serverUrl \u003E org.serverUrl." }, "serverUrlSecret": { "type": "string", @@ -9899,7 +14689,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\" `.", + "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`.", "maxLength": 40 } } @@ -11692,7 +16482,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 > assistant.serverUrl > phoneNumber.serverUrl > 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 \u003E assistant.serverUrl \u003E phoneNumber.serverUrl \u003E org.serverUrl." }, "serverUrlSecret": { "type": "string", @@ -11774,7 +16564,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 > assistant.serverUrl > phoneNumber.serverUrl > 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 \u003E assistant.serverUrl \u003E phoneNumber.serverUrl \u003E org.serverUrl." }, "serverUrlSecret": { "type": "string", @@ -11860,7 +16650,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 > assistant.serverUrl > phoneNumber.serverUrl > 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 \u003E assistant.serverUrl \u003E phoneNumber.serverUrl \u003E org.serverUrl." }, "serverUrlSecret": { "type": "string", @@ -11966,7 +16756,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 > assistant.serverUrl > phoneNumber.serverUrl > 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 \u003E assistant.serverUrl \u003E phoneNumber.serverUrl \u003E org.serverUrl." }, "serverUrlSecret": { "type": "string", @@ -12047,7 +16837,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 > assistant.serverUrl > phoneNumber.serverUrl > 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 \u003E assistant.serverUrl \u003E phoneNumber.serverUrl \u003E org.serverUrl." }, "serverUrlSecret": { "type": "string", @@ -12109,7 +16899,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 > assistant.serverUrl > phoneNumber.serverUrl > 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 \u003E assistant.serverUrl \u003E phoneNumber.serverUrl \u003E org.serverUrl." }, "serverUrlSecret": { "type": "string", @@ -12169,7 +16959,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 > assistant.serverUrl > phoneNumber.serverUrl > 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 \u003E assistant.serverUrl \u003E phoneNumber.serverUrl \u003E org.serverUrl." }, "serverUrlSecret": { "type": "string", @@ -12232,7 +17022,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 > assistant.serverUrl > phoneNumber.serverUrl > 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 \u003E assistant.serverUrl \u003E phoneNumber.serverUrl \u003E org.serverUrl." }, "serverUrlSecret": { "type": "string", @@ -12281,7 +17071,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 > assistant.serverUrl > phoneNumber.serverUrl > 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 \u003E assistant.serverUrl \u003E phoneNumber.serverUrl \u003E org.serverUrl." }, "serverUrlSecret": { "type": "string", @@ -12332,7 +17122,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 > assistant.serverUrl > phoneNumber.serverUrl > 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 \u003E assistant.serverUrl \u003E phoneNumber.serverUrl \u003E org.serverUrl." }, "serverUrlSecret": { "type": "string", @@ -12412,7 +17202,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 > assistant.serverUrl > phoneNumber.serverUrl > 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 \u003E assistant.serverUrl \u003E phoneNumber.serverUrl \u003E org.serverUrl." }, "serverUrlSecret": { "type": "string", @@ -15658,6 +20448,24 @@ "metadata" ] }, + "ChatDTO": { + "type": "object", + "properties": { + "messages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OpenAIMessage" + } + }, + "assistantId": { + "type": "string" + } + }, + "required": [ + "messages", + "assistantId" + ] + }, "AnthropicCredential": { "type": "object", "properties": { @@ -16069,7 +20877,9 @@ }, "SbcConfiguration": { "type": "object", - "properties": {} + "properties": { + + } }, "ByoSipTrunkCredential": { "type": "object", @@ -16575,7 +21385,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//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/\u003Cservice-account-id\u003E/keys.\n\nThe schema is identical to the JSON that GCP outputs.", "allOf": [ { "$ref": "#/components/schemas/GcpKey" @@ -18097,7 +22907,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//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/\u003Cservice-account-id\u003E/keys.\n\nThe schema is identical to the JSON that GCP outputs.", "allOf": [ { "$ref": "#/components/schemas/GcpKey" @@ -19138,7 +23948,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//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/\u003Cservice-account-id\u003E/keys.\n\nThe schema is identical to the JSON that GCP outputs.", "allOf": [ { "$ref": "#/components/schemas/GcpKey" @@ -21391,7 +26201,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->[n].assistant`,\n- `call.squadId->[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-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -21498,7 +26308,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->[n].assistant`,\n- `call.squadId->[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-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -21806,7 +26616,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->[n].assistant`,\n- `call.squadId->[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-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -21899,7 +26709,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->[n].assistant`,\n- `call.squadId->[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-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -22006,7 +26816,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->[n].assistant`,\n- `call.squadId->[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-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -22079,7 +26889,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->[n].assistant`,\n- `call.squadId->[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-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -22177,7 +26987,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->[n].assistant`,\n- `call.squadId->[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-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -22266,7 +27076,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->[n].assistant`,\n- `call.squadId->[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-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -22598,7 +27408,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->[n].assistant`,\n- `call.squadId->[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-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -22711,7 +27521,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->[n].assistant`,\n- `call.squadId->[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-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -22791,7 +27601,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->[n].assistant`,\n- `call.squadId->[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-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -22884,7 +27694,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->[n].assistant`,\n- `call.squadId->[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-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -22980,7 +27790,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->[n].assistant`,\n- `call.squadId->[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-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -23075,7 +27885,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->[n].assistant`,\n- `call.squadId->[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-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -23147,7 +27957,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->[n].assistant`,\n- `call.squadId->[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-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -23224,7 +28034,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->[n].assistant`,\n- `call.squadId->[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-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -23283,7 +28093,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) => {\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) =\u003E {\n outputStream.write(chunk);\n});\n```", "enum": [ "voice-request" ] @@ -23301,7 +28111,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->[n].assistant`,\n- `call.squadId->[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-\u003E[n].assistant`,\n- `call.squadId-\u003E[n].assistantId`.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" @@ -23608,7 +28418,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) => {\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) =\u003E {\n outputStream.write(chunk);\n});\n```" } }, "required": [ @@ -23999,7 +28809,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->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`." + "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`." }, "minutes": { "type": "number", @@ -24029,7 +28839,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->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`." + "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`." }, "promptTokens": { "type": "number", @@ -24064,7 +28874,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->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`." + "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`." }, "characters": { "type": "number",