diff --git a/fern/apis/api/openapi.json b/fern/apis/api/openapi.json index b827ea73d..29e97bc77 100644 --- a/fern/apis/api/openapi.json +++ b/fern/apis/api/openapi.json @@ -10497,6 +10497,694 @@ ] } }, + "/guardrail/rules": { + "get": { + "operationId": "GuardrailRulesController_list", + "summary": "List guardrail rules", + "parameters": [ + { + "name": "limit", + "required": false, + "in": "query", + "description": "Positive bounded list size, matching the shared library reader.", + "schema": { + "minimum": 1, + "maximum": 1000, + "default": 100, + "type": "number" + } + }, + { + "name": "search", + "required": false, + "in": "query", + "description": "Case-insensitive name or identifier fragment; omitted means all resources.", + "schema": { + "type": "string" + } + }, + { + "name": "packId", + "required": false, + "in": "query", + "description": "Limits rules to a pack in the authenticated organization without per-member requests.", + "schema": { + "format": "uuid", + "type": "string" + } + }, + { + "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/GuardrailRule" + } + } + } + } + } + }, + "tags": [ + "Guardrail Rules" + ], + "security": [ + { + "bearer": [] + } + ] + } + }, + "/guardrail/rules/paginated": { + "get": { + "operationId": "GuardrailRulesController_paginated", + "summary": "List paginated guardrail rules", + "parameters": [ + { + "name": "limit", + "required": false, + "in": "query", + "schema": { + "minimum": 1, + "maximum": 1000, + "default": 100, + "type": "number" + } + }, + { + "name": "search", + "required": false, + "in": "query", + "description": "Case-insensitive name or identifier fragment; omitted means all resources.", + "schema": { + "type": "string" + } + }, + { + "name": "packId", + "required": false, + "in": "query", + "description": "Limits rules to a pack in the authenticated organization without per-member requests.", + "schema": { + "format": "uuid", + "type": "string" + } + }, + { + "name": "sortBy", + "required": false, + "in": "query", + "description": "Only persisted creation order is supported, with the ID as a stable tie-breaker.", + "schema": { + "enum": [ + "createdAt" + ], + "type": "string" + } + }, + { + "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" + } + }, + { + "name": "page", + "required": false, + "in": "query", + "description": "A safe integer page; the reader also validates the computed offset.", + "schema": { + "minimum": 1, + "maximum": 9007199254740991, + "type": "number" + } + }, + { + "name": "sortOrder", + "required": false, + "in": "query", + "description": "This is the sort order for pagination. Defaults to 'DESC'.", + "schema": { + "enum": [ + "ASC", + "DESC" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GuardrailRulesPage" + } + } + } + } + }, + "tags": [ + "Guardrail Rules" + ], + "security": [ + { + "bearer": [] + } + ] + } + }, + "/guardrail/rules/{id}": { + "get": { + "operationId": "GuardrailRulesController_find", + "summary": "Get guardrail rule", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "description": "The unique identifier for the resource.", + "schema": { + "format": "uuid", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GuardrailRule" + } + } + } + } + }, + "tags": [ + "Guardrail Rules" + ], + "security": [ + { + "bearer": [] + } + ] + } + }, + "/guardrail/packs": { + "get": { + "operationId": "GuardrailPacksController_list", + "summary": "List guardrail packs", + "parameters": [ + { + "name": "limit", + "required": false, + "in": "query", + "description": "Positive bounded list size, matching the shared library reader.", + "schema": { + "minimum": 1, + "maximum": 1000, + "default": 100, + "type": "number" + } + }, + { + "name": "search", + "required": false, + "in": "query", + "description": "Case-insensitive name or identifier fragment; omitted means all resources.", + "schema": { + "type": "string" + } + }, + { + "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/GuardrailPack" + } + } + } + } + } + }, + "tags": [ + "Guardrail Packs" + ], + "security": [ + { + "bearer": [] + } + ] + } + }, + "/guardrail/packs/paginated": { + "get": { + "operationId": "GuardrailPacksController_paginated", + "summary": "List paginated guardrail packs", + "parameters": [ + { + "name": "limit", + "required": false, + "in": "query", + "schema": { + "minimum": 1, + "maximum": 1000, + "default": 100, + "type": "number" + } + }, + { + "name": "search", + "required": false, + "in": "query", + "description": "Case-insensitive name or identifier fragment; omitted means all resources.", + "schema": { + "type": "string" + } + }, + { + "name": "sortBy", + "required": false, + "in": "query", + "description": "Only persisted creation order is supported, with the ID as a stable tie-breaker.", + "schema": { + "enum": [ + "createdAt" + ], + "type": "string" + } + }, + { + "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" + } + }, + { + "name": "page", + "required": false, + "in": "query", + "description": "A safe integer page; the reader also validates the computed offset.", + "schema": { + "minimum": 1, + "maximum": 9007199254740991, + "type": "number" + } + }, + { + "name": "sortOrder", + "required": false, + "in": "query", + "description": "This is the sort order for pagination. Defaults to 'DESC'.", + "schema": { + "enum": [ + "ASC", + "DESC" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GuardrailPacksPage" + } + } + } + } + }, + "tags": [ + "Guardrail Packs" + ], + "security": [ + { + "bearer": [] + } + ] + } + }, + "/guardrail/packs/{id}": { + "get": { + "operationId": "GuardrailPacksController_find", + "summary": "Get guardrail pack", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "description": "The unique identifier for the resource.", + "schema": { + "format": "uuid", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GuardrailPack" + } + } + } + } + }, + "tags": [ + "Guardrail Packs" + ], + "security": [ + { + "bearer": [] + } + ] + } + }, "/provider/{provider}/{resourceName}": { "post": { "operationId": "ProviderResourceController_createProviderResource", @@ -11239,7 +11927,7 @@ }, "confidenceThreshold": { "type": "number", - "description": "Transcripts below this confidence threshold will be discarded.\n\n@default 0.4", + "description": "Transcripts below this confidence threshold will be discarded.\n\nDefaults to 0.4 for legacy streaming models. Universal Pro models do not\nfilter by confidence unless this field is explicitly set.", "minimum": 0, "maximum": 1, "example": 0.4 @@ -14596,7 +15284,7 @@ }, "confidenceThreshold": { "type": "number", - "description": "Transcripts below this confidence threshold will be discarded.\n\n@default 0.4", + "description": "Transcripts below this confidence threshold will be discarded.\n\nDefaults to 0.4 for legacy streaming models. Universal Pro models do not\nfilter by confidence unless this field is explicitly set.", "minimum": 0, "maximum": 1, "example": 0.4 @@ -18979,13 +19667,17 @@ "example": "Hello! I understand you need to be transferred. Let me connect you." }, "backgroundSound": { - "description": "This is the background sound in the transfer assistant call. Default for phone calls is 'office' and default for web calls is 'off'.\nYou can also provide a custom sound by providing a URL to an audio file.", + "description": "This is the background sound in the transfer assistant call. Default for phone calls is 'office' and default for web calls is 'off'.\nBundled sounds: 'office', 'white-noise', 'city', 'crowd' and 'farm'. GPT Live assistants don't play 'office'.\nYou can also provide a custom sound by providing a URL to an audio file.", "oneOf": [ { "type": "string", "enum": [ "off", - "office" + "office", + "white-noise", + "city", + "crowd", + "farm" ], "example": "office" }, @@ -21115,13 +21807,17 @@ "example": 600 }, "backgroundSound": { - "description": "This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nYou can also provide a custom sound by providing a URL to an audio file.", + "description": "This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nBundled sounds: 'office', 'white-noise', 'city', 'crowd' and 'farm'. GPT Live assistants don't play 'office'.\nYou can also provide a custom sound by providing a URL to an audio file.", "oneOf": [ { "type": "string", "enum": [ "off", - "office" + "office", + "white-noise", + "city", + "crowd", + "farm" ], "example": "office" }, @@ -22014,13 +22710,17 @@ "example": 600 }, "backgroundSound": { - "description": "This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nYou can also provide a custom sound by providing a URL to an audio file.", + "description": "This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nBundled sounds: 'office', 'white-noise', 'city', 'crowd' and 'farm'. GPT Live assistants don't play 'office'.\nYou can also provide a custom sound by providing a URL to an audio file.", "oneOf": [ { "type": "string", "enum": [ "off", - "office" + "office", + "white-noise", + "city", + "crowd", + "farm" ], "example": "office" }, @@ -28999,13 +29699,17 @@ ] }, "backgroundSound": { - "description": "This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nYou can also provide a custom sound by providing a URL to an audio file.", + "description": "This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nBundled sounds: 'office', 'white-noise', 'city', 'crowd' and 'farm'. GPT Live assistants don't play 'office'.\nYou can also provide a custom sound by providing a URL to an audio file.", "oneOf": [ { "type": "string", "enum": [ "off", - "office" + "office", + "white-noise", + "city", + "crowd", + "farm" ], "example": "office" }, @@ -37588,13 +38292,17 @@ "example": 600 }, "backgroundSound": { - "description": "This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nYou can also provide a custom sound by providing a URL to an audio file.", + "description": "This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nBundled sounds: 'office', 'white-noise', 'city', 'crowd' and 'farm'. GPT Live assistants don't play 'office'.\nYou can also provide a custom sound by providing a URL to an audio file.", "oneOf": [ { "type": "string", "enum": [ "off", - "office" + "office", + "white-noise", + "city", + "crowd", + "farm" ], "example": "office" }, @@ -38539,13 +39247,17 @@ "example": 600 }, "backgroundSound": { - "description": "This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nYou can also provide a custom sound by providing a URL to an audio file.", + "description": "This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nBundled sounds: 'office', 'white-noise', 'city', 'crowd' and 'farm'. GPT Live assistants don't play 'office'.\nYou can also provide a custom sound by providing a URL to an audio file.", "oneOf": [ { "type": "string", "enum": [ "off", - "office" + "office", + "white-noise", + "city", + "crowd", + "farm" ], "example": "office" }, @@ -39586,13 +40298,17 @@ "example": 600 }, "backgroundSound": { - "description": "This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nYou can also provide a custom sound by providing a URL to an audio file.", + "description": "This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nBundled sounds: 'office', 'white-noise', 'city', 'crowd' and 'farm'. GPT Live assistants don't play 'office'.\nYou can also provide a custom sound by providing a URL to an audio file.", "oneOf": [ { "type": "string", "enum": [ "off", - "office" + "office", + "white-noise", + "city", + "crowd", + "farm" ], "example": "office" }, @@ -40615,13 +41331,17 @@ "example": 600 }, "backgroundSound": { - "description": "This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nYou can also provide a custom sound by providing a URL to an audio file.", + "description": "This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nBundled sounds: 'office', 'white-noise', 'city', 'crowd' and 'farm'. GPT Live assistants don't play 'office'.\nYou can also provide a custom sound by providing a URL to an audio file.", "oneOf": [ { "type": "string", "enum": [ "off", - "office" + "office", + "white-noise", + "city", + "crowd", + "farm" ], "example": "office" }, @@ -41645,13 +42365,17 @@ "example": 600 }, "backgroundSound": { - "description": "This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nYou can also provide a custom sound by providing a URL to an audio file.", + "description": "This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nBundled sounds: 'office', 'white-noise', 'city', 'crowd' and 'farm'. GPT Live assistants don't play 'office'.\nYou can also provide a custom sound by providing a URL to an audio file.", "oneOf": [ { "type": "string", "enum": [ "off", - "office" + "office", + "white-noise", + "city", + "crowd", + "farm" ], "example": "office" }, @@ -42568,13 +43292,17 @@ "example": 600 }, "backgroundSound": { - "description": "This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nYou can also provide a custom sound by providing a URL to an audio file.", + "description": "This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nBundled sounds: 'office', 'white-noise', 'city', 'crowd' and 'farm'. GPT Live assistants don't play 'office'.\nYou can also provide a custom sound by providing a URL to an audio file.", "oneOf": [ { "type": "string", "enum": [ "off", - "office" + "office", + "white-noise", + "city", + "crowd", + "farm" ], "example": "office" }, @@ -43467,13 +44195,17 @@ "example": 600 }, "backgroundSound": { - "description": "This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nYou can also provide a custom sound by providing a URL to an audio file.", + "description": "This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nBundled sounds: 'office', 'white-noise', 'city', 'crowd' and 'farm'. GPT Live assistants don't play 'office'.\nYou can also provide a custom sound by providing a URL to an audio file.", "oneOf": [ { "type": "string", "enum": [ "off", - "office" + "office", + "white-noise", + "city", + "crowd", + "farm" ], "example": "office" }, @@ -44370,13 +45102,17 @@ ] }, "backgroundSound": { - "description": "This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nYou can also provide a custom sound by providing a URL to an audio file.", + "description": "This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nBundled sounds: 'office', 'white-noise', 'city', 'crowd' and 'farm'. GPT Live assistants don't play 'office'.\nYou can also provide a custom sound by providing a URL to an audio file.", "oneOf": [ { "type": "string", "enum": [ "off", - "office" + "office", + "white-noise", + "city", + "crowd", + "farm" ], "example": "office" }, @@ -45079,13 +45815,17 @@ ] }, "backgroundSound": { - "description": "This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nYou can also provide a custom sound by providing a URL to an audio file.", + "description": "This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nBundled sounds: 'office', 'white-noise', 'city', 'crowd' and 'farm'. GPT Live assistants don't play 'office'.\nYou can also provide a custom sound by providing a URL to an audio file.", "oneOf": [ { "type": "string", "enum": [ "off", - "office" + "office", + "white-noise", + "city", + "crowd", + "farm" ], "example": "office" }, @@ -45770,13 +46510,17 @@ ] }, "backgroundSound": { - "description": "This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nYou can also provide a custom sound by providing a URL to an audio file.", + "description": "This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nBundled sounds: 'office', 'white-noise', 'city', 'crowd' and 'farm'. GPT Live assistants don't play 'office'.\nYou can also provide a custom sound by providing a URL to an audio file.", "oneOf": [ { "type": "string", "enum": [ "off", - "office" + "office", + "white-noise", + "city", + "crowd", + "farm" ], "example": "office" }, @@ -70969,6 +71713,129 @@ "coverage" ] }, + "CallHealthDashboardTriageRequestDTO": { + "type": "object", + "properties": { + "action": { + "type": "string", + "enum": [ + "resolve", + "dismiss", + "restore" + ] + }, + "expectedRowVersion": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "comment": { + "type": "string", + "description": "Trimmed; at most 2,048 UTF-16 code units. Empty comments are omitted from activity." + } + }, + "required": [ + "action", + "expectedRowVersion" + ] + }, + "CallHealthDashboardIssueReferenceDTO": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "name": { + "type": "string", + "minLength": 1 + }, + "status": { + "type": "string", + "enum": [ + "active", + "resolved", + "dismissed" + ] + }, + "rowVersion": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + } + }, + "required": [ + "id", + "name", + "status", + "rowVersion" + ] + }, + "CallHealthDashboardIssueActivityDTO": { + "type": "object", + "properties": { + "rowVersion": { + "type": "integer", + "description": "Existing issue version after this transition; also the per-issue activity identity.", + "minimum": 1, + "maximum": 9007199254740991 + }, + "action": { + "type": "string", + "description": "User resolve, dismiss or restore, or the system reopen written when a new match reopens a resolved issue.", + "enum": [ + "resolve", + "dismiss", + "restore", + "reopen" + ] + }, + "actorUserId": { + "type": "string", + "description": "Omitted for private-key actors and system entries; names/emails are not copied.", + "format": "uuid" + }, + "comment": { + "type": "string", + "description": "Optional team-visible comment; omitted after privacy scrubbing.", + "maxLength": 2048 + }, + "createdAt": { + "type": "string", + "description": "Database action time; ordering uses rowVersion rather than rounded timestamps.", + "format": "date-time", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.(\\d{1,6}))?(?:Z|[+-](?:[01]\\d|2[0-3]):[0-5]\\d)$" + } + }, + "required": [ + "rowVersion", + "action", + "createdAt" + ] + }, + "CallHealthDashboardIssueActivityListResponseDTO": { + "type": "object", + "properties": { + "results": { + "description": "Newest issue versions first; this is shared team activity, not per-user feedback.", + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/CallHealthDashboardIssueActivityDTO" + } + }, + "nextCursor": { + "type": "string", + "description": "Signed continuation bound to the authenticated organization, issue and activity contract.", + "minLength": 1, + "maxLength": 2048, + "pattern": "^[A-Za-z0-9_-]+$" + } + }, + "required": [ + "results" + ] + }, "CreateOrgDTO": { "type": "object", "properties": { @@ -71105,7 +71972,8 @@ "description": "This is the status of the subscription. Past due subscriptions are subscriptions\nwith past due payments.", "enum": [ "active", - "frozen" + "frozen", + "blocked" ] }, "credits": { @@ -78610,6 +79478,264 @@ } } }, + "GuardrailFixedResponseAction": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "auto-response" + ] + }, + "mode": { + "type": "string", + "description": "Omitted legacy modes normalize to fixed when transformed.", + "default": "fixed", + "enum": [ + "fixed" + ] + }, + "text": { + "type": "string", + "description": "Replacement speech; it must pass its own guardrail evaluation.", + "pattern": "/\\S/" + } + }, + "required": [ + "type", + "text" + ] + }, + "GuardrailRedirectAction": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "auto-response" + ] + }, + "mode": { + "type": "string", + "enum": [ + "redirect" + ] + }, + "instructions": { + "type": "string", + "description": "Steering instructions for generating a replacement candidate.", + "pattern": "/\\S/" + } + }, + "required": [ + "type", + "mode", + "instructions" + ] + }, + "GuardrailEscalateAction": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "escalate" + ] + }, + "toolId": { + "type": "string", + "description": "Existing same-organization tool; attachment is checked at assignment. Tool edits/deletion can invalidate the action: activation must revalidate the current tool and arguments, and use failurePolicy on failure.", + "format": "uuid" + }, + "arguments": { + "type": "object", + "description": "Parameter names follow the normalized tool schema (SMS uses body/to).", + "additionalProperties": true + } + }, + "required": [ + "type", + "toolId", + "arguments" + ] + }, + "GuardrailAuthoring": { + "type": "object", + "properties": { + "mode": { + "type": "string", + "enum": [ + "always", + "never" + ] + }, + "behavior": { + "type": "string", + "pattern": "/\\S/" + }, + "condition": { + "type": "string", + "description": "Natural-language condition evaluated using the candidate and call history.", + "pattern": "/\\S/" + } + }, + "required": [ + "mode", + "behavior" + ] + }, + "GuardrailRule": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "orgId": { + "type": "string", + "format": "uuid" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "name": { + "type": "string", + "pattern": "/\\S/" + }, + "authoring": { + "nullable": true, + "description": "Structured editor input. Supplied PATCH authoring replaces the complete object; advanced text writes clear it to null.", + "allOf": [ + { + "$ref": "#/components/schemas/GuardrailAuthoring" + } + ] + }, + "instructions": { + "type": "string", + "description": "Evaluated instructions, generated from authoring or supplied in advanced mode.", + "pattern": "/\\S/" + }, + "sensitivity": { + "type": "string", + "description": "Evaluation sensitivity; numeric cutoffs are internal and provisional.", + "enum": [ + "low", + "medium", + "aggressive" + ] + }, + "action": { + "description": "Supplied PATCH actions replace the complete variant.", + "oneOf": [ + { + "oneOf": [ + { + "$ref": "#/components/schemas/GuardrailFixedResponseAction" + }, + { + "$ref": "#/components/schemas/GuardrailRedirectAction" + } + ] + }, + { + "$ref": "#/components/schemas/GuardrailEscalateAction" + } + ] + } + }, + "required": [ + "id", + "orgId", + "createdAt", + "updatedAt", + "name", + "sensitivity", + "action" + ] + }, + "GuardrailRulesPage": { + "type": "object", + "properties": { + "results": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GuardrailRule" + } + }, + "metadata": { + "$ref": "#/components/schemas/PaginationMeta" + } + }, + "required": [ + "results", + "metadata" + ] + }, + "GuardrailPack": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "orgId": { + "type": "string", + "format": "uuid" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "name": { + "type": "string", + "pattern": "/\\S/" + }, + "ruleIds": { + "type": "array", + "description": "Projected from membership rows; a supplied array replaces membership.", + "items": { + "type": "string", + "format": "uuid" + } + } + }, + "required": [ + "id", + "orgId", + "createdAt", + "updatedAt", + "name", + "ruleIds" + ] + }, + "GuardrailPacksPage": { + "type": "object", + "properties": { + "results": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GuardrailPack" + } + }, + "metadata": { + "$ref": "#/components/schemas/PaginationMeta" + } + }, + "required": [ + "results", + "metadata" + ] + }, "CartesiaPronunciationDictItem": { "type": "object", "properties": {