{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/webex/main/json-schema/webex-ai-feature-dto-schema.json",
  "title": "AiFeatureDTO",
  "x-generated": "2026-10-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/webex-ai-feature-api-openapi.yml#/components/schemas/AiFeatureDTO",
  "type": "object",
  "properties": {
    "organizationId": {
      "type": "string",
      "format": "uuid",
      "description": "ID of the contact center organization. This field is required for all bulk save operations.",
      "maxLength": 36,
      "minLength": 32,
      "pattern": "^[0-9a-fA-F]{8}-?[0-9a-fA-F]{4}-?[0-9a-fA-F]{4}-?[0-9a-fA-F]{4}-?[0-9a-fA-F]{12}$"
    },
    "id": {
      "type": "string",
      "description": "ID of this contact center resource. It should not be specified when creating a new resource. However, it is mandatory when updating a resource."
    },
    "version": {
      "type": "integer",
      "format": "int32",
      "description": "The version of this resource. For a newly created resource, it will be 0 unless specified otherwise."
    },
    "realtimeTranscripts": {
      "$ref": "#/$defs/RealtimeTranscriptsDTO"
    },
    "suggestedResponses": {
      "$ref": "#/$defs/SuggestedResponsesDTO"
    },
    "generatedSummaries": {
      "$ref": "#/$defs/AiGeneratedSummariesDTO"
    },
    "agentWellbeing": {
      "$ref": "#/$defs/AgentWellbeingDTO"
    },
    "autoCSAT": {
      "$ref": "#/$defs/AiAutoCSATDTO"
    },
    "coachingInsights": {
      "$ref": "#/$defs/CoachingInsightsDTO"
    },
    "evaluationsAndAnalytics": {
      "$ref": "#/$defs/EvaluationsAnalyticsDTO"
    },
    "sentimentAnalysis": {
      "$ref": "#/$defs/SentimentAnalysisDTO"
    },
    "predictedWaitTime": {
      "$ref": "#/$defs/PredictedWaitTimeDTO"
    },
    "personalizedAIRouting": {
      "$ref": "#/$defs/PersonalizedAIRoutingDTO"
    },
    "createdTime": {
      "type": "integer",
      "format": "int64",
      "description": "This is the created time of the entity."
    },
    "lastUpdatedTime": {
      "type": "integer",
      "format": "int64",
      "description": "This is the updated time of the entity."
    }
  },
  "$defs": {
    "AgentWellbeingDTO": {
      "type": "object",
      "description": "This is applicable/available only when AI Assistant add-on offer/license is added to the organization.",
      "properties": {
        "enable": {
          "type": "boolean",
          "description": "Used to toggle the state of the AI feature sub feature  configuration from active to inactive and vice-versa. Mandatory for create/update operation. If the value is missing in response, the consumer should assume a value as false."
        },
        "agentInclusionType": {
          "type": "string",
          "description": "Provides information whether all or specific agents are selected for Agent Wellbeing. If the value is missing in response, the consumer should assume a value as ALL.",
          "enum": [
            "ALL",
            "SPECIFIC"
          ]
        },
        "wellnessBreakReminders": {
          "type": "string",
          "description": "Provides information whether Wellness break reminders are enabled or disabled. If the value is missing in response, the consumer should assume a value as DISABLED.",
          "enum": [
            "DISABLED",
            "ENABLED"
          ]
        }
      },
      "required": [
        "agentInclusionType",
        "enable"
      ]
    },
    "AiAutoCSATDTO": {
      "type": "object",
      "description": "This is applicable/available when either AI Assistant/AI Quality Management add-on offer/license is added to the organization.",
      "properties": {
        "enable": {
          "type": "boolean",
          "description": "Used to toggle the state of the AI feature sub feature  configuration from active to inactive and vice-versa. Mandatory for create/update operation. If the value is missing in response, the consumer should assume a value as false."
        },
        "queuesInclusionType": {
          "type": "string",
          "description": "Provides information whether all or specific queues are selected for Auto CSAT. If the value is missing in response, the consumer should assume a value as ALL.",
          "enum": [
            "ALL",
            "SPECIFIC"
          ]
        },
        "selectedGlobalVariableId": {
          "type": "string",
          "description": "Selected Global Variable ID for Auto CSAT. If the value is missing in response, the consumer should assume a value as null."
        },
        "surveyDataSource": {
          "type": "string",
          "description": "Survey Data Source Type for Auto CSAT. If the value is missing in response, the consumer should assume a value as EXPERIENCE_MANAGEMENT.",
          "enum": [
            "EXPERIENCE_MANAGEMENT",
            "GLOBAL_VARIABLE"
          ]
        }
      },
      "required": [
        "enable"
      ]
    },
    "AiGeneratedSummariesDTO": {
      "type": "object",
      "description": "This is applicable/available only when AI Assistant add-on offer/license is added to the organization.",
      "properties": {
        "callDropSummariesEnabled": {
          "type": "boolean",
          "description": "Used to toggle the enable/disable call drop summaries for Generated Summaries configuration. Mandatory for create/update operation. If the value is missing in response, the consumer should assume a value as false."
        },
        "virtualAgentTransferSummariesEnabled": {
          "type": "boolean",
          "description": "Used to toggle the enable/disable virtual agent transfer summaries for Generated Summaries configuration. Mandatory for create/update operation. If the value is missing in response, the consumer should assume a value as false."
        },
        "consultTransferSummariesEnabled": {
          "type": "boolean",
          "description": "Used to toggle the enable/disable mid call consult/transfer summaries in Generated Summaries configuration. Mandatory for create/update operation. If the value is missing in response, the consumer should assume a value as false."
        },
        "wrapUpSummariesEnabled": {
          "type": "boolean",
          "description": "Used to toggle the enable/disable post call summaries in Generated Summaries configuration. Mandatory for create/update operation. If the value is missing in response, the consumer should assume a value as false."
        },
        "queuesInclusionType": {
          "type": "string",
          "description": "Provides information whether all or specific queues are selected for Generated Summaries resource. If the value is missing in response, the consumer should assume a value as ALL.",
          "enum": [
            "ALL",
            "SPECIFIC"
          ]
        }
      }
    },
    "CoachingInsightsDTO": {
      "type": "object",
      "description": "This is applicable/available only when AI Quality Management add-on offer/license is added to the organization.",
      "properties": {
        "enable": {
          "type": "boolean",
          "description": "Used to toggle the state of the Coaching Insights  configuration from active to inactive and vice-versa. Mandatory for create/update operation. If the value is missing in response, the consumer should assume a value as false."
        }
      },
      "required": [
        "enable"
      ]
    },
    "EvaluationsAnalyticsDTO": {
      "type": "object",
      "description": "This is applicable/available only when AI Quality Management add-on offer/license is added to the organization.",
      "properties": {
        "enable": {
          "type": "boolean",
          "description": "Used to toggle the state of the Evaluations and Analytics  configuration from active to inactive and vice-versa. Mandatory for create/update operation. If the value is missing in response, the consumer should assume a value as false."
        }
      },
      "required": [
        "enable"
      ]
    },
    "PersonalizedAIRoutingDTO": {
      "type": "object",
      "properties": {
        "enable": {
          "type": "boolean",
          "description": "Used to toggle the state of the Personalized AI Routing  configuration from active to inactive and vice-versa. Mandatory for create/update operation."
        },
        "cjdsWorkspaceId": {
          "type": "string",
          "description": "Id of the CJDS workspace id to be used for model training."
        },
        "cjdsProfileTemplateId": {
          "type": "string",
          "description": "Id of the CJDS Profile template to be used for model training."
        }
      }
    },
    "PredictedWaitTimeDTO": {
      "type": "object",
      "description": "AI wait time feature configuration",
      "properties": {
        "enable": {
          "type": "boolean",
          "description": "Used to toggle the state of the Predicted Wait Time  configuration from active to inactive and vice-versa. Mandatory for create/update operation."
        },
        "queuesInclusionType": {
          "type": "string",
          "description": "Provides information whether all or specific queues are selected for Predicted Wait Time.",
          "enum": [
            "ALL",
            "SPECIFIC"
          ]
        }
      },
      "required": [
        "enable"
      ]
    },
    "RealtimeTranscriptsDTO": {
      "type": "object",
      "description": "This is applicable/available when either AI Assistant/AI Quality Management add-on offer/license is added to the organization.",
      "properties": {
        "enable": {
          "type": "boolean",
          "description": "Used to toggle the state of the AI feature sub feature  configuration from active to inactive and vice-versa. Mandatory for create/update operation. If the value is missing in response, the consumer should assume a value as false."
        },
        "agentInclusionType": {
          "type": "string",
          "deprecated": true,
          "description": "Provides information whether all or specific agents are selected for realtime transcripts.",
          "enum": [
            "ALL",
            "SPECIFIC"
          ]
        },
        "queuesInclusionType": {
          "type": "string",
          "description": "Provides information whether all or specific queues are selected for Real time transcription. If the value is missing in response, the consumer should assume a value as ALL.",
          "enum": [
            "ALL",
            "SPECIFIC"
          ]
        }
      },
      "required": [
        "enable"
      ]
    },
    "SentimentAnalysisDTO": {
      "type": "object",
      "description": "This is applicable/available when either AI Assistant/AI Quality Management add-on offer/license is added to the organization.",
      "properties": {
        "enable": {
          "type": "boolean",
          "description": "Used to toggle the state of the Sentiment Analysis  configuration from active to inactive and vice-versa. Mandatory for create/update operation. If the value is missing in response, the consumer should assume a value as false."
        },
        "queuesInclusionType": {
          "type": "string",
          "description": "Provides information whether all or specific queues are selected for Sentiment Analysis. If the value is missing in response, the consumer should assume a value as ALL.",
          "enum": [
            "ALL",
            "SPECIFIC"
          ]
        }
      },
      "required": [
        "enable"
      ]
    },
    "SuggestedResponsesDTO": {
      "type": "object",
      "description": "This is applicable/available only when AI Assistant add-on offer/license is added to the organization.",
      "properties": {
        "enable": {
          "type": "boolean",
          "description": "Used to toggle the state of the AI feature sub feature  configuration from active to inactive and vice-versa. Mandatory for create/update operation. If the value is missing in response, the consumer should assume a value as false."
        }
      },
      "required": [
        "enable"
      ]
    }
  }
}