diff --git a/fern/apis/api/openapi.json b/fern/apis/api/openapi.json index 3b3150fc7..573ca2fa0 100644 --- a/fern/apis/api/openapi.json +++ b/fern/apis/api/openapi.json @@ -2946,9 +2946,9 @@ } }, "/analytics": { - "get": { - "operationId": "AnalyticsController_getQuery", - "summary": "Get Analytics", + "post": { + "operationId": "AnalyticsController_query", + "summary": "Create Analytics Queries", "parameters": [], "requestBody": { "required": true, @@ -2973,6 +2973,9 @@ } } } + }, + "201": { + "description": "" } }, "tags": [ @@ -3169,7 +3172,511 @@ "in": "query", "description": "This will return items where the updatedAt is less than or equal to the specified value.", "schema": { - "format": "date-time", + "format": "date-time", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LogsPaginatedResponse" + } + } + } + } + }, + "tags": [ + "Logs" + ], + "security": [ + { + "bearer": [] + } + ] + }, + "delete": { + "operationId": "LoggingController_logsDeleteQuery", + "summary": "Delete Logs", + "parameters": [ + { + "name": "type", + "required": false, + "in": "query", + "description": "This is the type of the log.", + "schema": { + "enum": [ + "API", + "Webhook", + "Call", + "Provider" + ], + "type": "string" + } + }, + { + "name": "assistantId", + "required": false, + "in": "query", + "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" + } + } + ], + "responses": { + "200": { + "description": "" + } + }, + "tags": [ + "Logs" + ], + "security": [ + { + "bearer": [] + } + ] + } + }, + "/eval": { + "get": { + "operationId": "EvalController_findAll", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Eval" + } + } + } + } + } + }, + "tags": [ + "eval" + ] + }, + "post": { + "operationId": "EvalController_create", + "parameters": [], + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Eval" + } + } + } + } + }, + "tags": [ + "eval" + ] + } + }, + "/eval/{id}": { + "get": { + "operationId": "EvalController_findOne", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Eval" + } + } + } + } + }, + "tags": [ + "eval" + ] + }, + "patch": { + "operationId": "EvalController_update", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Eval" + } + } + } + } + }, + "tags": [ + "eval" + ] + }, + "delete": { + "operationId": "EvalController_remove", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "" + } + }, + "tags": [ + "eval" + ] + } + }, + "/eval/{evalId}/test": { + "get": { + "operationId": "EvalTestController_findAll", + "parameters": [ + { + "name": "evalId", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EvalTest" + } + } + } + } + } + }, + "tags": [ + "eval-test" + ] + }, + "post": { + "operationId": "EvalTestController_create", + "parameters": [ + { + "name": "evalId", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EvalTest" + } + } + } + } + }, + "tags": [ + "eval-test" + ] + } + }, + "/eval/{evalId}/test/{testId}": { + "get": { + "operationId": "EvalTestController_findOne", + "parameters": [ + { + "name": "evalId", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + }, + { + "name": "testId", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EvalTest" + } + } + } + } + }, + "tags": [ + "eval-test" + ] + }, + "patch": { + "operationId": "EvalTestController_update", + "parameters": [ + { + "name": "evalId", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + }, + { + "name": "testId", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EvalTest" + } + } + } + } + }, + "tags": [ + "eval-test" + ] + }, + "delete": { + "operationId": "EvalTestController_remove", + "parameters": [ + { + "name": "evalId", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + }, + { + "name": "testId", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "" + } + }, + "tags": [ + "eval-test" + ] + } + }, + "/eval/{evalId}/run": { + "get": { + "operationId": "EvalRunController_findAll", + "parameters": [ + { + "name": "evalId", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EvalRun" + } + } + } + } + } + }, + "tags": [ + "eval-run" + ] + }, + "post": { + "operationId": "EvalRunController_create", + "parameters": [ + { + "name": "evalId", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EvalRun" + } + } + } + } + }, + "tags": [ + "eval-run" + ] + } + }, + "/eval/{evalId}/run/{runId}": { + "get": { + "operationId": "EvalRunController_findOne", + "parameters": [ + { + "name": "evalId", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + }, + { + "name": "runId", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EvalRun" + } + } + } + } + }, + "tags": [ + "eval-run" + ] + }, + "patch": { + "operationId": "EvalRunController_update", + "parameters": [ + { + "name": "evalId", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + }, + { + "name": "runId", + "required": true, + "in": "path", + "schema": { "type": "string" } } @@ -3180,80 +3687,31 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/LogsPaginatedResponse" + "$ref": "#/components/schemas/EvalRun" } } } } }, "tags": [ - "Logs" - ], - "security": [ - { - "bearer": [] - } + "eval-run" ] }, "delete": { - "operationId": "LoggingController_logsDeleteQuery", - "summary": "Delete Logs", + "operationId": "EvalRunController_remove", "parameters": [ { - "name": "type", - "required": false, - "in": "query", - "description": "This is the type of the log.", - "schema": { - "enum": [ - "API", - "Webhook", - "Call", - "Provider" - ], - "type": "string" - } - }, - { - "name": "assistantId", - "required": false, - "in": "query", - "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.", + "name": "evalId", + "required": true, + "in": "path", "schema": { "type": "string" } }, { - "name": "callId", - "required": false, - "in": "query", - "description": "This is the ID of the call.", + "name": "runId", + "required": true, + "in": "path", "schema": { "type": "string" } @@ -3265,12 +3723,7 @@ } }, "tags": [ - "Logs" - ], - "security": [ - { - "bearer": [] - } + "eval-run" ] } } @@ -6508,10 +6961,6 @@ ] } }, - "semanticCachingEnabled": { - "type": "boolean", - "example": true - }, "temperature": { "type": "number", "description": "This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency.", @@ -6848,13 +7297,13 @@ "model" ] }, - "SemanticEdgeCondition": { + "AIEdgeCondition": { "type": "object", "properties": { "type": { "type": "string", "enum": [ - "semantic" + "ai" ] }, "matches": { @@ -6870,23 +7319,37 @@ "matches" ] }, - "ProgrammaticEdgeCondition": { + "LogicEdgeCondition": { "type": "object", "properties": { "type": { "type": "string", "enum": [ - "programmatic" + "logic" ] }, - "booleanExpression": { + "liquid": { "type": "string", "maxLength": 100 } }, "required": [ "type", - "booleanExpression" + "liquid" + ] + }, + "FailedEdgeCondition": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "failed" + ] + } + }, + "required": [ + "type" ] }, "Edge": { @@ -6895,12 +7358,16 @@ "condition": { "oneOf": [ { - "$ref": "#/components/schemas/SemanticEdgeCondition", - "title": "SemanticEdgeCondition" + "$ref": "#/components/schemas/AIEdgeCondition", + "title": "AIEdgeCondition" + }, + { + "$ref": "#/components/schemas/LogicEdgeCondition", + "title": "LogicEdgeCondition" }, { - "$ref": "#/components/schemas/ProgrammaticEdgeCondition", - "title": "ProgrammaticEdgeCondition" + "$ref": "#/components/schemas/FailedEdgeCondition", + "title": "FailedEdgeCondition" } ] }, @@ -6925,12 +7392,6 @@ "Workflow": { "type": "object", "properties": { - "type": { - "type": "string", - "enum": [ - "workflow" - ] - }, "nodes": { "type": "array", "items": { @@ -6952,8 +7413,8 @@ "title": "Hangup" }, { - "$ref": "#/components/schemas/CreateWorkflowDTO", - "title": "CreateWorkflowDTO" + "$ref": "#/components/schemas/Transfer", + "title": "Transfer" } ] } @@ -6984,7 +7445,6 @@ } }, "required": [ - "type", "nodes", "id", "orgId", @@ -9655,6 +10115,7 @@ "models": { "type": "array", "enum": [ + "gpt-4o-2024-08-06-ptu", "gpt-4o-2024-08-06", "gpt-4o-mini-2024-07-18", "gpt-4o-2024-05-13", @@ -9672,6 +10133,7 @@ "items": { "type": "string", "enum": [ + "gpt-4o-2024-08-06-ptu", "gpt-4o-2024-08-06", "gpt-4o-mini-2024-07-18", "gpt-4o-2024-05-13", @@ -10874,6 +11336,25 @@ "provider" ] }, + "CompliancePlan": { + "type": "object", + "properties": { + "hipaaEnabled": { + "type": "boolean", + "description": "When this is enabled, no logs, recordings, or transcriptions will be stored. At the end of the call, you will still receive an end-of-call-report message to store on your server. Defaults to false.", + "example": { + "hipaaEnabled": false + } + }, + "pciEnabled": { + "type": "boolean", + "description": "When this is enabled, the user will be restricted to use PCI-compliant providers, and no logs or transcripts are stored. At the end of the call, you will receive an end-of-call-report message to store on your server. Defaults to false.", + "example": { + "pciEnabled": false + } + } + } + }, "StructuredDataPlan": { "type": "object", "properties": { @@ -10992,7 +11473,7 @@ "properties": { "recordingEnabled": { "type": "boolean", - "description": "This determines whether assistant's calls are recorded. Defaults to true.\n\nUsage:\n- If you don't want to record the calls, set this to false.\n- If you want to record the calls when `assistant.hipaaEnabled`, explicity set this to true and make sure to provide S3 or GCP credentials on the Provider Credentials page in the Dashboard.\n\nYou can find the recording at `call.artifact.recordingUrl` and `call.artifact.stereoRecordingUrl` after the call is ended.\n\n@default true", + "description": "This determines whether assistant's calls are recorded. Defaults to true.\n\nUsage:\n- If you don't want to record the calls, set this to false.\n- If you want to record the calls when `assistant.hipaaEnabled` (deprecated) or `assistant.compliancePlan.hipaaEnabled` explicity set this to true and make sure to provide S3 or GCP credentials on the Provider Credentials page in the Dashboard.\n\nYou can find the recording at `call.artifact.recordingUrl` and `call.artifact.stereoRecordingUrl` after the call is ended.\n\n@default true", "example": true }, "videoRecordingEnabled": { @@ -11000,6 +11481,16 @@ "description": "This determines whether the video is recorded during the call. Defaults to false. Only relevant for `webCall` type.\n\nYou can find the video recording at `call.artifact.videoRecordingUrl` after the call is ended.\n\n@default false", "example": false }, + "pcapEnabled": { + "type": "boolean", + "description": "This determines whether the SIP packet capture is enabled. Defaults to true. Only relevant for `phone` type calls where phone number's provider is `vapi` or `byo-phone-number`.\n\nYou can find the packet capture at `call.artifact.pcapUrl` after the call is ended.\n\n@default true", + "example": true + }, + "pcapS3PathPrefix": { + "type": "string", + "description": "This is the path where the SIP packet capture will be uploaded. This is only used if you have provided S3 or GCP credentials on the Provider Credentials page in the Dashboard.\n\nIf credential.s3PathPrefix or credential.bucketPlan.path is set, this will append to it.\n\nUsage:\n- If you want to upload the packet capture to a specific path, set this to the path. Example: `/my-assistant-captures`.\n- If you want to upload the packet capture to the root of the bucket, set this to `/`.\n\n@default '/'", + "example": "/pcaps" + }, "transcriptPlan": { "description": "This is the plan for `call.artifact.transcript`. To disable, set `transcriptPlan.enabled` to false.", "allOf": [ @@ -11542,16 +12033,6 @@ ], "example": "assistant-speaks-first" }, - "hipaaEnabled": { - "type": "boolean", - "description": "When this is enabled, no logs, recordings, or transcriptions will be stored. At the end of the call, you will still receive an end-of-call-report message to store on your server. Defaults to false.", - "example": false - }, - "pciEnabled": { - "type": "boolean", - "description": "This field indicates that this assistant is dealing with the card holder data (and needs PCI compliance)", - "example": false - }, "clientMessages": { "type": "array", "enum": [ @@ -11883,6 +12364,9 @@ "minLength": 2 } }, + "compliancePlan": { + "$ref": "#/components/schemas/CompliancePlan" + }, "metadata": { "type": "object", "description": "This is for metadata you want to store on the assistant." @@ -12117,16 +12601,6 @@ ], "example": "assistant-speaks-first" }, - "hipaaEnabled": { - "type": "boolean", - "description": "When this is enabled, no logs, recordings, or transcriptions will be stored. At the end of the call, you will still receive an end-of-call-report message to store on your server. Defaults to false.", - "example": false - }, - "pciEnabled": { - "type": "boolean", - "description": "This field indicates that this assistant is dealing with the card holder data (and needs PCI compliance)", - "example": false - }, "clientMessages": { "type": "array", "enum": [ @@ -12462,6 +12936,9 @@ "minLength": 2 } }, + "compliancePlan": { + "$ref": "#/components/schemas/CompliancePlan" + }, "metadata": { "type": "object", "description": "This is for metadata you want to store on the assistant." @@ -12922,6 +13399,10 @@ "transcript": { "type": "string", "description": "This is the transcript of the call. This is derived from `artifact.messages` but provided for convenience." + }, + "pcapUrl": { + "type": "string", + "description": "This is the packet capture url for the call. This is only available for `phone` type calls where phone number's provider is `vapi` or `byo-phone-number`." } } }, @@ -13047,7 +13528,7 @@ "type": "string", "description": "This is the explanation for how the call ended.", "enum": [ - "assistant-not-invalid", + "assistant-not-valid", "assistant-not-provided", "call-start-error-neither-assistant-nor-server-set", "assistant-request-failed", @@ -13058,6 +13539,7 @@ "assistant-request-returned-forwarding-phone-number", "assistant-ended-call", "assistant-said-end-call-phrase", + "assistant-ended-call-with-hangup-task", "assistant-forwarded-call", "assistant-join-timed-out", "customer-busy", @@ -13738,16 +14220,6 @@ ], "example": "assistant-speaks-first" }, - "hipaaEnabled": { - "type": "boolean", - "description": "When this is enabled, no logs, recordings, or transcriptions will be stored. At the end of the call, you will still receive an end-of-call-report message to store on your server. Defaults to false.", - "example": false - }, - "pciEnabled": { - "type": "boolean", - "description": "This field indicates that this assistant is dealing with the card holder data (and needs PCI compliance)", - "example": false - }, "clientMessages": { "type": "array", "enum": [ @@ -14079,6 +14551,9 @@ "minLength": 2 } }, + "compliancePlan": { + "$ref": "#/components/schemas/CompliancePlan" + }, "metadata": { "type": "object", "description": "This is for metadata you want to store on the assistant." @@ -14337,16 +14812,6 @@ ], "example": "assistant-speaks-first" }, - "hipaaEnabled": { - "type": "boolean", - "description": "When this is enabled, no logs, recordings, or transcriptions will be stored. At the end of the call, you will still receive an end-of-call-report message to store on your server. Defaults to false.", - "example": false - }, - "pciEnabled": { - "type": "boolean", - "description": "This field indicates that this assistant is dealing with the card holder data (and needs PCI compliance)", - "example": false - }, "clientMessages": { "type": "array", "enum": [ @@ -14678,6 +15143,9 @@ "minLength": 2 } }, + "compliancePlan": { + "$ref": "#/components/schemas/CompliancePlan" + }, "metadata": { "type": "object", "description": "This is for metadata you want to store on the assistant." @@ -18820,6 +19288,7 @@ "type": "string", "description": "This is the time step for aggregations.\n\nIf not provided, defaults to returning for the entire time range.", "enum": [ + "second", "minute", "hour", "day", @@ -18859,7 +19328,8 @@ "avg", "count", "min", - "max" + "max", + "history" ] }, "column": { @@ -18875,7 +19345,8 @@ "costBreakdown.ttsCharacters", "costBreakdown.llmPromptTokens", "costBreakdown.llmCompletionTokens", - "duration" + "duration", + "concurrency" ] }, "alias": { @@ -18896,7 +19367,8 @@ "type": "string", "description": "This is the table you want to query.", "enum": [ - "call" + "call", + "subscription" ] }, "groupBy": { @@ -19325,6 +19797,32 @@ "name" ] }, + "SayHook": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "say" + ] + }, + "metadata": { + "type": "object", + "description": "This is for metadata you want to store on the task." + }, + "exact": { + "type": "string", + "maxLength": 1000 + }, + "prompt": { + "type": "string", + "maxLength": 1000 + } + }, + "required": [ + "type" + ] + }, "Hook": { "type": "object", "properties": { @@ -19340,7 +19838,7 @@ "do": { "type": "array", "items": { - "$ref": "#/components/schemas/Say" + "$ref": "#/components/schemas/SayHook" } } }, @@ -19358,13 +19856,9 @@ "gather" ] }, - "schema": { + "output": { "$ref": "#/components/schemas/JsonSchema" }, - "instruction": { - "type": "string", - "maxLength": 1000 - }, "confirmContent": { "type": "boolean", "description": "This is whether or not the workflow should read back the gathered data to the user, and ask about its correctness." @@ -19395,7 +19889,7 @@ }, "required": [ "type", - "instruction", + "output", "name" ] }, @@ -19405,13 +19899,14 @@ "type": { "type": "string", "enum": [ - "api-request" + "apiRequest" ] }, "method": { "type": "string", "enum": [ - "POST" + "POST", + "GET" ] }, "url": { @@ -19436,6 +19931,7 @@ }, "mode": { "type": "string", + "description": "This is the mode of the Api Request.\nWe only support BLOCKING and BACKGROUND for now.", "enum": [ "blocking", "background" @@ -19448,17 +19944,13 @@ "$ref": "#/components/schemas/Hook" } }, - "startTaskMessage": { - "type": "string" - }, - "waitTaskMessage": { - "type": "string" - }, - "successTaskMessage": { - "type": "string" - }, - "failureTaskMessage": { - "type": "string" + "output": { + "description": "This is the schema for the outputs of the Api Request.", + "allOf": [ + { + "$ref": "#/components/schemas/JsonSchema" + } + ] }, "name": { "type": "string", @@ -19500,15 +19992,36 @@ "name" ] }, - "CreateWorkflowDTO": { + "Transfer": { "type": "object", "properties": { "type": { "type": "string", "enum": [ - "workflow" + "transfer" ] }, + "destination": { + "type": "object" + }, + "name": { + "type": "string", + "maxLength": 80 + }, + "metadata": { + "type": "object", + "description": "This is for metadata you want to store on the task." + } + }, + "required": [ + "type", + "destination", + "name" + ] + }, + "CreateWorkflowDTO": { + "type": "object", + "properties": { "nodes": { "type": "array", "items": { @@ -19530,8 +20043,8 @@ "title": "Hangup" }, { - "$ref": "#/components/schemas/CreateWorkflowDTO", - "title": "CreateWorkflowDTO" + "$ref": "#/components/schemas/Transfer", + "title": "Transfer" } ] } @@ -19548,7 +20061,6 @@ } }, "required": [ - "type", "nodes", "name", "edges" @@ -19841,6 +20353,7 @@ "models": { "type": "array", "enum": [ + "gpt-4o-2024-08-06-ptu", "gpt-4o-2024-08-06", "gpt-4o-mini-2024-07-18", "gpt-4o-2024-05-13", @@ -19858,6 +20371,7 @@ "items": { "type": "string", "enum": [ + "gpt-4o-2024-08-06-ptu", "gpt-4o-2024-08-06", "gpt-4o-mini-2024-07-18", "gpt-4o-2024-05-13", @@ -21819,6 +22333,7 @@ "models": { "type": "array", "enum": [ + "gpt-4o-2024-08-06-ptu", "gpt-4o-2024-08-06", "gpt-4o-mini-2024-07-18", "gpt-4o-2024-05-13", @@ -21836,6 +22351,7 @@ "items": { "type": "string", "enum": [ + "gpt-4o-2024-08-06-ptu", "gpt-4o-2024-08-06", "gpt-4o-mini-2024-07-18", "gpt-4o-2024-05-13", @@ -23848,8 +24364,8 @@ "title": "Hangup" }, { - "$ref": "#/components/schemas/CreateWorkflowDTO", - "title": "CreateWorkflowDTO" + "$ref": "#/components/schemas/Transfer", + "title": "Transfer" } ] } @@ -23866,6 +24382,39 @@ } } }, + "Eval": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "EvalTest": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "EvalRun": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, "ClientMessageConversationUpdate": { "type": "object", "properties": { @@ -24556,7 +25105,7 @@ "type": "string", "description": "This is the reason the call ended. This can also be found at `call.endedReason` on GET /call/:id.", "enum": [ - "assistant-not-invalid", + "assistant-not-valid", "assistant-not-provided", "call-start-error-neither-assistant-nor-server-set", "assistant-request-failed", @@ -24567,6 +25116,7 @@ "assistant-request-returned-forwarding-phone-number", "assistant-ended-call", "assistant-said-end-call-phrase", + "assistant-ended-call-with-hangup-task", "assistant-forwarded-call", "assistant-join-timed-out", "customer-busy", @@ -25351,7 +25901,7 @@ "type": "string", "description": "This is the reason the call ended. This is only sent if the status is \"ended\".", "enum": [ - "assistant-not-invalid", + "assistant-not-valid", "assistant-not-provided", "call-start-error-neither-assistant-nor-server-set", "assistant-request-failed", @@ -25362,6 +25912,7 @@ "assistant-request-returned-forwarding-phone-number", "assistant-ended-call", "assistant-said-end-call-phrase", + "assistant-ended-call-with-hangup-task", "assistant-forwarded-call", "assistant-join-timed-out", "customer-busy",