Skip to content

Commit 6a30bf6

Browse files
committed
feat(openapi): add mipOptOut, acknowledgementPhrases, interruptionPhrases, and other improvements to the OpenAPI spec
1 parent c588d4c commit 6a30bf6

File tree

1 file changed

+164
-9
lines changed

1 file changed

+164
-9
lines changed

fern/apis/api/openapi.json

Lines changed: 164 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3555,6 +3555,12 @@
35553555
"description": "This automatically switches the transcriber's language when the customer's language changes. Defaults to false.\n\nUsage:\n- If your customers switch languages mid-call, you can set this to true.\n\nNote:\n- To detect language changes, Vapi uses a custom trained model. Languages supported (X = limited support):\n 1. Arabic\n 2. Bengali\n 3. Cantonese\n 4. Chinese\n 5. Chinese Simplified (X)\n 6. Chinese Traditional (X)\n 7. English\n 8. Farsi (X)\n 9. French\n 10. German\n 11. Haitian Creole (X)\n 12. Hindi\n 13. Italian\n 14. Japanese\n 15. Korean\n 16. Portuguese\n 17. Russian\n 18. Spanish\n 19. Thai\n 20. Urdu\n 21. Vietnamese\n- To receive `language-change-detected` webhook events, add it to `assistant.serverMessages`.\n\n@default false",
35563556
"example": false
35573557
},
3558+
"mipOptOut": {
3559+
"type": "boolean",
3560+
"description": "If set to true, this will add mip_opt_out=true as a query parameter of all API requests. See https://developers.deepgram.com/docs/the-deepgram-model-improvement-partnership-program#want-to-opt-out\n\nThis will only be used if you are using your own Deepgram API key.\n\n@default false",
3561+
"example": false,
3562+
"default": false
3563+
},
35583564
"keywords": {
35593565
"description": "These keywords are passed to the transcription model to help it pick up use-case specific words. Anything that may not be a common word, like your company name, should be added here.",
35603566
"type": "array",
@@ -4487,6 +4493,14 @@
44874493
"type": "string",
44884494
"description": "This is a regex that will be used to validate data in question."
44894495
},
4496+
"value": {
4497+
"type": "string",
4498+
"description": "This the value that will be used in filling the property."
4499+
},
4500+
"target": {
4501+
"type": "string",
4502+
"description": "This the target variable that will be filled with the value of this property."
4503+
},
44904504
"enum": {
44914505
"description": "This array specifies the allowed values that can be used to restrict the output of the model.",
44924506
"type": "array",
@@ -7671,6 +7685,12 @@
76717685
}
76727686
]
76737687
},
7688+
"mipOptOut": {
7689+
"type": "boolean",
7690+
"description": "If set to true, this will add mip_opt_out=true as a query parameter of all API requests. See https://developers.deepgram.com/docs/the-deepgram-model-improvement-partnership-program#want-to-opt-out\n\nThis will only be used if you are using your own Deepgram API key.\n\n@default false",
7691+
"example": false,
7692+
"default": false
7693+
},
76747694
"chunkPlan": {
76757695
"description": "This is the plan for chunking the model output before it is sent to the voice provider.",
76767696
"allOf": [
@@ -8677,6 +8697,12 @@
86778697
}
86788698
]
86798699
},
8700+
"mipOptOut": {
8701+
"type": "boolean",
8702+
"description": "If set to true, this will add mip_opt_out=true as a query parameter of all API requests. See https://developers.deepgram.com/docs/the-deepgram-model-improvement-partnership-program#want-to-opt-out\n\nThis will only be used if you are using your own Deepgram API key.\n\n@default false",
8703+
"example": false,
8704+
"default": false
8705+
},
86808706
"chunkPlan": {
86818707
"description": "This is the plan for chunking the model output before it is sent to the voice provider.",
86828708
"allOf": [
@@ -11219,6 +11245,114 @@
1121911245
"minimum": 0,
1122011246
"maximum": 10,
1122111247
"example": 1
11248+
},
11249+
"acknowledgementPhrases": {
11250+
"description": "These are the phrases that will never interrupt the assistant, even if numWords threshold is met.\nThese are typically acknowledgement or backchanneling phrases.",
11251+
"example": [
11252+
"i understand",
11253+
"i see",
11254+
"i got it",
11255+
"i hear you",
11256+
"im listening",
11257+
"im with you",
11258+
"right",
11259+
"okay",
11260+
"ok",
11261+
"sure",
11262+
"alright",
11263+
"got it",
11264+
"understood",
11265+
"yeah",
11266+
"yes",
11267+
"uh-huh",
11268+
"mm-hmm",
11269+
"gotcha",
11270+
"mhmm",
11271+
"ah",
11272+
"yeah okay",
11273+
"yeah sure"
11274+
],
11275+
"default": [
11276+
"i understand",
11277+
"i see",
11278+
"i got it",
11279+
"i hear you",
11280+
"im listening",
11281+
"im with you",
11282+
"right",
11283+
"okay",
11284+
"ok",
11285+
"sure",
11286+
"alright",
11287+
"got it",
11288+
"understood",
11289+
"yeah",
11290+
"yes",
11291+
"uh-huh",
11292+
"mm-hmm",
11293+
"gotcha",
11294+
"mhmm",
11295+
"ah",
11296+
"yeah okay",
11297+
"yeah sure"
11298+
],
11299+
"type": "array",
11300+
"items": {
11301+
"type": "string",
11302+
"maxLength": 240
11303+
}
11304+
},
11305+
"interruptionPhrases": {
11306+
"description": "These are the phrases that will always interrupt the assistant immediately, regardless of numWords.\nThese are typically phrases indicating disagreement or desire to stop.",
11307+
"example": [
11308+
"stop",
11309+
"shut",
11310+
"up",
11311+
"enough",
11312+
"quiet",
11313+
"silence",
11314+
"but",
11315+
"dont",
11316+
"not",
11317+
"no",
11318+
"hold",
11319+
"wait",
11320+
"cut",
11321+
"pause",
11322+
"nope",
11323+
"nah",
11324+
"nevermind",
11325+
"never",
11326+
"bad",
11327+
"actually"
11328+
],
11329+
"default": [
11330+
"stop",
11331+
"shut",
11332+
"up",
11333+
"enough",
11334+
"quiet",
11335+
"silence",
11336+
"but",
11337+
"dont",
11338+
"not",
11339+
"no",
11340+
"hold",
11341+
"wait",
11342+
"cut",
11343+
"pause",
11344+
"nope",
11345+
"nah",
11346+
"nevermind",
11347+
"never",
11348+
"bad",
11349+
"actually"
11350+
],
11351+
"type": "array",
11352+
"items": {
11353+
"type": "string",
11354+
"maxLength": 240
11355+
}
1122211356
}
1122311357
}
1122411358
},
@@ -19143,7 +19277,11 @@
1914319277
"say"
1914419278
]
1914519279
},
19146-
"instruction": {
19280+
"exact": {
19281+
"type": "string",
19282+
"maxLength": 1000
19283+
},
19284+
"prompt": {
1914719285
"type": "string",
1914819286
"maxLength": 1000
1914919287
},
@@ -19158,7 +19296,6 @@
1915819296
},
1915919297
"required": [
1916019298
"type",
19161-
"instruction",
1916219299
"name"
1916319300
]
1916419301
},
@@ -19183,7 +19320,12 @@
1918319320
"description": "This is whether or not the workflow should read back the gathered data to the user, and ask about its correctness."
1918419321
},
1918519322
"maxRetries": {
19186-
"type": "number"
19323+
"type": "number",
19324+
"description": "This is the number of times we should try to gather the information from the user before we failover to the fail path. An example of this would be a user refusing to give their phone number for privacy reasons, and then going down a different path on account of this"
19325+
},
19326+
"literalTemplate": {
19327+
"type": "string",
19328+
"description": "This is a liquid templating string. On the first call to Gather, the template will be filled out with variables from the context, and will be spoken verbatim to the user. An example would be \"Base on your zipcode, it looks like you could be in one of these counties: {{ counties | join: \", \" }}. Which one do you live in?\""
1918719329
},
1918819330
"name": {
1918919331
"type": "string",
@@ -19220,15 +19362,27 @@
1922019362
"description": "Api endpoint to send requests to."
1922119363
},
1922219364
"headers": {
19223-
"type": "object",
19224-
"description": "These are the custom headers to include in the Api Request sent.\n\nEach key-value pair represents a header name and its value."
19365+
"description": "These are the custom headers to include in the Api Request sent.\n\nEach key-value pair represents a header name and its value.",
19366+
"allOf": [
19367+
{
19368+
"$ref": "#/components/schemas/JsonSchema"
19369+
}
19370+
]
1922519371
},
1922619372
"body": {
19227-
"type": "object",
19228-
"description": "This defined the JSON body of your Api Request. For example, if `body_schema`\nincluded \"my_field\": \"my_gather_statement.user_age\", then the json body sent to the server would have that particular value assign to it.\nRight now, only data from gather statements are supported."
19373+
"description": "This defined the JSON body of your Api Request. For example, if `body_schema`\nincluded \"my_field\": \"my_gather_statement.user_age\", then the json body sent to the server would have that particular value assign to it.\nRight now, only data from gather statements are supported.",
19374+
"allOf": [
19375+
{
19376+
"$ref": "#/components/schemas/JsonSchema"
19377+
}
19378+
]
1922919379
},
19230-
"isAsync": {
19231-
"type": "boolean"
19380+
"mode": {
19381+
"type": "string",
19382+
"enum": [
19383+
"blocking",
19384+
"background"
19385+
]
1923219386
},
1923319387
"startTaskMessage": {
1923419388
"type": "string"
@@ -19255,6 +19409,7 @@
1925519409
"type",
1925619410
"method",
1925719411
"url",
19412+
"mode",
1925819413
"name"
1925919414
]
1926019415
},

0 commit comments

Comments
 (0)