swagger: '2.0' info: title: Microsoft Azure Microsoft Cognitive Language Service - Analyze Conversations description: >- The language service conversations API is a suite of natural language processing (NLP) skills that can be used to analyze structured conversations (textual or spoken). The synchronous API in this suite accepts a request and mediates among multiple language projects, such as LUIS Generally Available, Question Answering, Conversational Language Understanding, and then calls the best candidate service to handle the request. At last, it returns a response with the candidate service's response as a payload. In some cases, this API needs to forward requests and responses between the caller and an upstream service. The asynchronous APIs in this suite enable tasks like Conversation Summarization and Conversational PII detection. version: 2023-04-15-preview securityDefinitions: AADToken: type: oauth2 authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize flow: implicit description: >- These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs. To implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes. #### Notes * This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails). * The `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. * The Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs. * Usage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases. * Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts. scopes: https://cognitiveservices.azure.com/.default: https://cognitiveservices.azure.com/.default apim_key: type: apiKey description: A subscription key for a Language service resource. name: Ocp-Apim-Subscription-Key in: header security: - AADToken: - https://cognitiveservices.azure.com/.default - apim_key: [] x-ms-parameterized-host: hostTemplate: '{Endpoint}/language' useSchemePrefix: false parameters: - $ref: common.json#/parameters/Endpoint paths: /:analyze-conversations: post: operationId: microsoftAzureConversationanalysisAnalyzeconversation description: Analyzes the input conversation utterance. parameters: - $ref: common.json#/parameters/ApiVersionParameter - description: A single conversational task to execute. in: body name: body schema: $ref: '#/definitions/AnalyzeConversationTask' required: true consumes: - application/json produces: - application/json responses: '200': description: The conversation analysis response. schema: $ref: '#/definitions/AnalyzeConversationTaskResult' default: description: Error response. schema: $ref: common.json#/definitions/ErrorResponse headers: x-ms-error-code: description: The error code for specific error that occurred. type: string x-ms-examples: Conversation project result: $ref: ./examples/conversations/SuccessfulAnalyzeConversations.json Arbitration result: $ref: >- ./examples/conversations/SuccessfulAnalyzeConversationsArbitration.json Orchestrator direct target result: $ref: >- ./examples/conversations/SuccessfulAnalyzeConversationsArbitrationDirectTarget.json summary: Microsoft Azure Post :analyze Conversations tags: - :Analyze Conversations /analyze-conversations/jobs: post: consumes: - application/json produces: - application/json description: >- Submit a collection of conversations for analysis. Specify one or more unique tasks to be executed. operationId: microsoftAzureAnalyzeconversationSubmitjob summary: Microsoft Azure Submit Analysis Job For Conversations parameters: - $ref: common.json#/parameters/ApiVersionParameter - description: >- The collection of conversations to analyze and one or more tasks to execute. in: body name: body schema: $ref: '#/definitions/AnalyzeConversationJobsInput' required: true responses: '202': description: >- A successful call results with an Operation-Location header used to check the status of the analysis job. headers: Operation-Location: type: string default: description: Error response. schema: $ref: common.json#/definitions/ErrorResponse x-ms-examples: Successful Conversational PII Analysis Job Request: $ref: ./examples/conversations/SuccessfulConversationPIISubmit.json Successful Conversational PII Analysis Exclusion Job Request: $ref: >- ./examples/conversations/SuccessfulConversationPIIExclusionSubmit.json Successful Conversational PII Analysis Redaction Job Request: $ref: >- ./examples/conversations/SuccessfulConversationPIIRedactionCharSubmit.json Successful Conversation Summarization Analysis Job Request: $ref: ./examples/conversations/SuccessfulConversationSummarySubmit.json Successful Conversation Summarization Task Submit: $ref: >- ./examples/conversations/SuccessfulConversationSummarizationTaskSubmit.json Successful Custom Conversation Summarization Task Submit: $ref: >- ./examples/conversations/SuccessfulCustomConversationSummarizationTaskSubmit.json Successful Conversation Sentiment Analysis Job Request: $ref: ./examples/conversations/SuccessfulConversationSentimentSubmit.json x-ms-long-running-operation: true tags: - Analyze Conversations /analyze-conversations/jobs/{jobId}: get: produces: - application/json description: >- Get the status of an analysis job. A job may consist of one or more tasks. Once all tasks are succeeded, the job will transition to the succeeded state and results will be available for each task. operationId: microsoftAzureAnalyzeconversationJobstatus summary: Microsoft Azure Get Analysis Status And Results parameters: - $ref: common.json#/parameters/ApiVersionParameter - $ref: common.json#/parameters/JobId - $ref: common.json#/parameters/ShowStats responses: '200': description: Analysis job status and metadata. schema: $ref: '#/definitions/AnalyzeConversationJobState' default: description: Error encountered. schema: $ref: common.json#/definitions/ErrorResponse x-ms-examples: Successful Get Conversation PII Analysis Job Status Request: $ref: >- ./examples/conversations/SuccessfulConversationPIITaskStatusRequest.json Successful Get Text Conversation Analysis Exclusion Job Status Request: $ref: >- ./examples/conversations/SuccessfulConversationPIIExclusionTaskStatusRequest.json Successful Get Text Conversation Analysis Redaction Job Status Request: $ref: >- ./examples/conversations/SuccessfulConversationPIIRedactionCharTaskStatusRequest.json Successful Get Text Conversation Analysis Job Status Request: $ref: >- ./examples/conversations/SuccessfulConversationSummarizationTaskStatusRequest.json Successful Get Conversation Sentiment Analysis Job Status Request: $ref: >- ./examples/conversations/SuccessfulConversationSentimentTaskStatusRequest.json Successful Get Conversation Summarization Result: $ref: >- ./examples/conversations/SuccessfulConversationSummarizationTaskResult.json Successful Get Custom Conversation Summarization Result: $ref: >- ./examples/conversations/SuccessfulCustomConversationSummarizationTaskResult.json tags: - Analyze Conversations /analyze-conversations/jobs/{jobId}:cancel: post: produces: - application/json description: Cancel a long-running Text Analysis conversations job. operationId: microsoftAzureAnalyzeconversationCanceljob summary: Microsoft Azure Cancel A Long Running Text Analysis Conversations Job parameters: - $ref: common.json#/parameters/ApiVersionParameter - $ref: common.json#/parameters/JobId responses: '202': description: Cancel Job request has been received. headers: Operation-Location: type: string default: description: Unexpected error schema: $ref: common.json#/definitions/ErrorResponse x-ms-examples: Successful Job Delete Request: $ref: >- ./examples/conversations/SuccessfulAnalyzeConversationsJobsCancelRequest.json x-ms-long-running-operation: true tags: - Analyze Conversations definitions: AnalyzeConversationTaskKind: type: string description: Enumeration of supported Conversation tasks. enum: - Conversation x-ms-enum: name: AnalyzeConversationTaskKind modelAsString: true AnalyzeConversationTaskResultsKind: type: string description: Enumeration of supported conversational task results enum: - ConversationResult x-ms-enum: name: AnalyzeConversationTaskResultsKind modelAsString: true AnalyzeConversationTask: type: object description: The base class of a conversation input task. discriminator: kind required: - kind properties: kind: $ref: '#/definitions/AnalyzeConversationTaskKind' AnalyzeConversationTaskResult: type: object description: The base class of a conversation task result. discriminator: kind required: - kind properties: kind: $ref: '#/definitions/AnalyzeConversationTaskResultsKind' ConversationalTask: type: object description: The input for a custom conversation task. allOf: - $ref: '#/definitions/AnalyzeConversationTask' properties: analysisInput: $ref: '#/definitions/ConversationAnalysisOptions' parameters: $ref: '#/definitions/ConversationTaskParameters' x-ms-discriminator-value: Conversation required: - analysisInput - parameters ConversationTaskParameters: type: object description: Input parameters necessary for a Conversation task. properties: projectName: type: string description: The name of the project to use. deploymentName: type: string description: The name of the deployment to use. verbose: type: boolean description: >- If true, the service will return more detailed information in the response. isLoggingEnabled: type: boolean description: If true, the service will keep the query for further review. stringIndexType: $ref: common.json#/definitions/StringIndexType directTarget: type: string description: The name of a target project to forward the request to. targetProjectParameters: type: object description: A dictionary representing the parameters for each target project. additionalProperties: $ref: '#/definitions/AnalysisParameters' required: - projectName - deploymentName ConversationalTaskResult: description: The results of a Conversation task. allOf: - $ref: '#/definitions/AnalyzeConversationTaskResult' type: object properties: result: $ref: '#/definitions/AnalyzeConversationResult' required: - result x-ms-discriminator-value: ConversationResult ConversationItemBase: type: object description: >- The abstract base for a user input formatted conversation (e.g., Text, Transcript). properties: id: description: The ID of a conversation item. type: string participantId: description: The participant ID of a conversation item. type: string language: description: >- The override language of a conversation item in BCP 47 language representation. type: string modality: $ref: '#/definitions/Modality' role: type: string description: The role of the participant. enum: - agent - customer - generic x-ms-enum: name: role modelAsString: true required: - participantId - id additionalProperties: true TextConversationItem: type: object description: The text modality of an input conversation. allOf: - $ref: '#/definitions/ConversationItemBase' properties: text: description: The text input type: string required: - text ConversationAnalysisOptions: type: object description: The input ConversationItem and its optional parameters required: - conversationItem properties: conversationItem: $ref: '#/definitions/ConversationItemBase' AnalysisParameters: type: object description: >- This is the parameter set of either the Orchestration project itself or one of the target services. required: - targetProjectKind discriminator: targetProjectKind properties: targetProjectKind: type: string description: The type of a target service. enum: - Luis - Conversation - QuestionAnswering - NonLinked x-ms-enum: name: targetProjectKind modelAsString: true apiVersion: type: string description: The API version to use when call a specific target service. NoneLinkedTargetIntentResult: type: object description: A wrap up of non-linked intent response. x-ms-discriminator-value: NonLinked allOf: - $ref: '#/definitions/TargetIntentResult' properties: result: $ref: '#/definitions/ConversationResult' description: The actual response from a Conversation project. LuisParameters: description: This is a set of request parameters for LUIS Generally Available projects. x-ms-discriminator-value: Luis type: object allOf: - $ref: '#/definitions/AnalysisParameters' properties: query: type: string maxLength: 500 description: The utterance to predict. callingOptions: type: object description: >- This customizes how the service calls LUIS Generally Available projects. $ref: '#/definitions/LuisCallingOptions' additionalProperties: true LuisCallingOptions: description: This customizes how the service calls LUIS Generally Available projects. type: object properties: verbose: description: Enable verbose response. type: boolean log: description: Save log to add in training utterances later. type: boolean show-all-intents: description: Set true to show all intents. type: boolean timezoneOffset: type: number description: The timezone offset for the location of the request. spellCheck: type: boolean description: Enable spell checking. bing-spell-check-subscription-key: description: The subscription key to use when enabling Bing spell check type: string ConversationParameters: type: object description: This is a set of request parameters for Customized Conversation projects. x-ms-discriminator-value: Conversation allOf: - $ref: '#/definitions/AnalysisParameters' properties: callingOptions: type: object $ref: '#/definitions/ConversationCallingOptions' ConversationCallingOptions: type: object description: The option to set to call a Conversation project. properties: language: description: The language of the query in BCP 47 language representation.. type: string verbose: description: If true, the service will return more detailed information. type: boolean isLoggingEnabled: description: >- If true, the query will be saved for customers to further review in authoring, to improve the model quality. type: boolean QuestionAnsweringParameters: type: object description: >- This is a set of request parameters for Question Answering knowledge bases. x-ms-discriminator-value: QuestionAnswering allOf: - $ref: '#/definitions/AnalysisParameters' properties: callingOptions: description: The options sent to a Question Answering KB. $ref: common.json#/definitions/AnswersOptions AnalyzeConversationResult: type: object description: Represents a conversation analysis response. required: - query - prediction properties: query: type: string description: The conversation utterance given by the caller. detectedLanguage: type: string description: >- The system detected language for the query in BCP 47 language representation.. prediction: description: The prediction result of a conversation project. $ref: '#/definitions/BasePrediction' BasePrediction: type: object description: This is the base class of prediction required: - projectKind discriminator: projectKind properties: projectKind: type: string description: The type of the project. enum: - Conversation - Orchestration x-ms-enum: name: projectKind modelAsString: true topIntent: type: string description: The intent with the highest score. OrchestrationPrediction: type: object description: This represents the prediction result of an Orchestration project. x-ms-discriminator-value: Orchestration required: - intents allOf: - $ref: '#/definitions/BasePrediction' properties: intents: description: >- A dictionary that contains all intents. A key is an intent name and a value is its confidence score and target type. The top intent's value also contains the actual response from the target project. type: object additionalProperties: $ref: '#/definitions/TargetIntentResult' TargetIntentResult: type: object description: This is the base class of an intent prediction discriminator: targetProjectKind required: - confidenceScore - targetProjectKind properties: targetProjectKind: type: string description: >- This discriminator property specifies the type of the target project that returns the response. enum: - Luis - Conversation - QuestionAnswering - NonLinked x-ms-enum: name: targetProjectKind modelAsString: true apiVersion: type: string description: The API version used to call a target service. confidenceScore: type: number format: double x-ms-client-name: confidence description: The prediction score and it ranges from 0.0 to 1.0. minimum: 0 maximum: 1 ConversationTargetIntentResult: type: object description: A wrap up of Conversation project response. x-ms-discriminator-value: Conversation allOf: - $ref: '#/definitions/TargetIntentResult' properties: result: type: object $ref: '#/definitions/ConversationResult' description: The actual response from a Conversation project. ConversationResult: type: object description: The response returned by a Conversation project. required: - query properties: query: description: The same query given in request. type: string detectedLanguage: description: >- The detected language from the query in BCP 47 language representation.. type: string prediction: description: The predicted result for the query. $ref: '#/definitions/ConversationPrediction' ConversationPrediction: type: object description: Represents the prediction section of a Conversation project. x-ms-discriminator-value: Conversation required: - intents - entities allOf: - $ref: '#/definitions/BasePrediction' properties: intents: description: The intent classification results. type: array items: $ref: '#/definitions/ConversationIntent' entities: description: The entity extraction results. type: array items: $ref: '#/definitions/ConversationEntity' ConversationIntent: type: object description: The intent classification result of a Conversation project. required: - category - confidenceScore properties: category: description: A predicted class. type: string confidenceScore: format: float x-ms-client-name: confidence description: The confidence score of the class from 0.0 to 1.0. type: number minimum: 0 maximum: 1 ConversationEntity: type: object description: The entity extraction result of a Conversation project. required: - category - text - offset - length - confidenceScore properties: category: description: The entity category. type: string text: description: The predicted entity text. type: string offset: format: int32 description: The starting index of this entity in the query. type: integer length: format: int32 description: The length of the text. type: integer confidenceScore: format: float x-ms-client-name: confidence description: The entity confidence score. type: number resolutions: description: The collection of entity resolution objects. type: array items: $ref: '#/definitions/BaseResolution' extraInformation: description: The collection of entity extra information objects. type: array items: $ref: '#/definitions/BaseExtraInformation' BaseResolution: description: The abstract base class for entity resolutions. type: object discriminator: resolutionKind properties: resolutionKind: description: The entity resolution object kind. type: string enum: - BooleanResolution - DateTimeResolution - NumberResolution - OrdinalResolution - SpeedResolution - WeightResolution - LengthResolution - VolumeResolution - AreaResolution - AgeResolution - InformationResolution - TemperatureResolution - CurrencyResolution - NumericRangeResolution - TemporalSpanResolution x-ms-enum: name: ResolutionKind modelAsString: true required: - resolutionKind QuantityResolution: description: Represents resolutions for quantities. type: object properties: value: type: number format: double description: The numeric value that the extracted text denotes. required: - value AgeResolution: description: Represents the Age entity resolution model. allOf: - $ref: '#/definitions/BaseResolution' - $ref: '#/definitions/QuantityResolution' type: object x-ms-discriminator-value: AgeResolution properties: unit: type: string enum: - Unspecified - Year - Month - Week - Day x-ms-enum: name: AgeUnit modelAsString: true description: The Age Unit of measurement required: - unit VolumeResolution: description: Represents the volume entity resolution model. allOf: - $ref: '#/definitions/BaseResolution' - $ref: '#/definitions/QuantityResolution' type: object x-ms-discriminator-value: VolumeResolution properties: unit: type: string enum: - Unspecified - CubicMeter - CubicCentimeter - CubicMillimeter - Hectoliter - Decaliter - Liter - Centiliter - Milliliter - CubicYard - CubicInch - CubicFoot - CubicMile - FluidOunce - Teaspoon - Tablespoon - Pint - Quart - Cup - Gill - Pinch - FluidDram - Barrel - Minim - Cord - Peck - Bushel - Hogshead x-ms-enum: name: VolumeUnit modelAsString: true description: The Volume Unit of measurement required: - unit SpeedResolution: description: Represents the speed entity resolution model. allOf: - $ref: '#/definitions/BaseResolution' - $ref: '#/definitions/QuantityResolution' type: object x-ms-discriminator-value: SpeedResolution properties: unit: type: string enum: - Unspecified - MetersPerSecond - KilometersPerHour - KilometersPerMinute - KilometersPerSecond - MilesPerHour - Knot - FootPerSecond - FootPerMinute - YardsPerMinute - YardsPerSecond - MetersPerMillisecond - CentimetersPerMillisecond - KilometersPerMillisecond x-ms-enum: name: SpeedUnit modelAsString: true description: The speed Unit of measurement required: - unit AreaResolution: description: Represents the area entity resolution model. allOf: - $ref: '#/definitions/BaseResolution' - $ref: '#/definitions/QuantityResolution' type: object x-ms-discriminator-value: AreaResolution properties: unit: type: string enum: - Unspecified - SquareKilometer - SquareHectometer - SquareDecameter - SquareDecimeter - SquareMeter - SquareCentimeter - SquareMillimeter - SquareInch - SquareFoot - SquareMile - SquareYard - Acre x-ms-enum: name: AreaUnit modelAsString: true description: The area Unit of measurement required: - unit LengthResolution: description: Represents the length entity resolution model. allOf: - $ref: '#/definitions/BaseResolution' - $ref: '#/definitions/QuantityResolution' type: object x-ms-discriminator-value: LengthResolution properties: unit: type: string enum: - Unspecified - Kilometer - Hectometer - Decameter - Meter - Decimeter - Centimeter - Millimeter - Micrometer - Nanometer - Picometer - Mile - Yard - Inch - Foot - LightYear - Pt x-ms-enum: name: LengthUnit modelAsString: true description: The length Unit of measurement required: - unit InformationResolution: description: Represents the information (data) entity resolution model. allOf: - $ref: '#/definitions/BaseResolution' - $ref: '#/definitions/QuantityResolution' type: object x-ms-discriminator-value: InformationResolution properties: unit: type: string enum: - Unspecified - Bit - Kilobit - Megabit - Gigabit - Terabit - Petabit - Byte - Kilobyte - Megabyte - Gigabyte - Terabyte - Petabyte x-ms-enum: name: InformationUnit modelAsString: true description: The information (data) Unit of measurement. required: - unit TemperatureResolution: description: Represents the temperature entity resolution model. allOf: - $ref: '#/definitions/BaseResolution' - $ref: '#/definitions/QuantityResolution' type: object x-ms-discriminator-value: TemperatureResolution properties: unit: type: string enum: - Unspecified - Fahrenheit - Kelvin - Rankine - Celsius x-ms-enum: name: TemperatureUnit modelAsString: true description: The temperature Unit of measurement. required: - unit WeightResolution: description: Represents the weight entity resolution model. allOf: - $ref: '#/definitions/BaseResolution' - $ref: '#/definitions/QuantityResolution' type: object x-ms-discriminator-value: WeightResolution properties: unit: type: string enum: - Unspecified - Kilogram - Gram - Milligram - Gallon - MetricTon - Ton - Pound - Ounce - Grain - PennyWeight - LongTonBritish - ShortTonUS - ShortHundredWeightUS - Stone - Dram x-ms-enum: name: WeightUnit modelAsString: true description: The weight Unit of measurement. required: - unit CurrencyResolution: description: Represents the currency entity resolution model. allOf: - $ref: '#/definitions/BaseResolution' - $ref: '#/definitions/QuantityResolution' type: object x-ms-discriminator-value: CurrencyResolution properties: ISO4217: type: string description: >- The alphabetic code based on another ISO standard, ISO 3166, which lists the codes for country names. The first two letters of the ISO 4217 three-letter code are the same as the code for the country name, and, where possible, the third letter corresponds to the first letter of the currency name. value: type: number format: double description: The money amount captured in the extracted entity unit: type: string description: The unit of the amount captured in the extracted entity required: - value - unit BooleanResolution: description: A resolution for boolean expressions allOf: - $ref: '#/definitions/BaseResolution' type: object x-ms-discriminator-value: BooleanResolution properties: value: type: boolean required: - value DateTimeResolution: description: A resolution for datetime entity instances. allOf: - $ref: '#/definitions/BaseResolution' type: object x-ms-discriminator-value: DateTimeResolution properties: timex: $ref: '#/definitions/TimeExpression' dateTimeSubKind: type: string enum: - Time - Date - DateTime - Duration - Set x-ms-enum: name: DateTimeSubKind modelAsString: true description: The DateTime SubKind value: type: string description: The actual time that the extracted text denote. modifier: $ref: '#/definitions/TemporalModifier' required: - timex - dateTimeSubKind - value NumberResolution: description: A resolution for numeric entity instances. allOf: - $ref: '#/definitions/BaseResolution' type: object x-ms-discriminator-value: NumberResolution properties: numberKind: type: string enum: - Integer - Decimal - Power - Fraction - Percent - Unspecified x-ms-enum: name: NumberKind modelAsString: true description: The type of the extracted number entity. value: type: number format: double description: A numeric representation of what the extracted text denotes. required: - numberKind - value OrdinalResolution: description: A resolution for ordinal numbers entity instances. allOf: - $ref: '#/definitions/BaseResolution' type: object x-ms-discriminator-value: OrdinalResolution properties: offset: type: string description: >- The offset With respect to the reference (e.g., offset = -1 in "show me the second to last" relativeTo: type: string enum: - Current - End - Start x-ms-enum: name: RelativeTo modelAsString: true description: The reference point that the ordinal number denotes. value: type: string description: A simple arithmetic expression that the ordinal denotes. required: - offset - relativeTo - value TemporalSpanResolution: description: represents the resolution of a date and/or time span. allOf: - $ref: '#/definitions/BaseResolution' type: object x-ms-discriminator-value: TemporalSpanResolution properties: begin: $ref: '#/definitions/TimeExpression' end: $ref: '#/definitions/TimeExpression' duration: type: string description: >- An optional duration value formatted based on the ISO 8601 (https://en.wikipedia.org/wiki/ISO_8601#Durations) modifier: $ref: '#/definitions/TemporalModifier' timex: type: string description: >- An optional triplet containing the beginning, the end, and the duration all stated as ISO 8601 formatted strings. NumericRangeResolution: description: represents the resolution of numeric intervals. allOf: - $ref: '#/definitions/BaseResolution' type: object x-ms-discriminator-value: NumericRangeResolution properties: rangeKind: type: string enum: - Number - Speed - Weight - Length - Volume - Area - Age - Information - Temperature - Currency x-ms-enum: name: RangeKind modelAsString: true description: The kind of range that the resolution object represents. minimum: type: number format: double description: The beginning value of the interval. maximum: type: number format: double description: The ending value of the interval. required: - rangeKind - minimum - maximum TemporalModifier: type: string description: An optional modifier of a date/time instance. enum: - AfterApprox - Before - BeforeStart - Approx - ReferenceUndefined - SinceEnd - AfterMid - Start - After - BeforeEnd - Until - End - Less - Since - AfterStart - BeforeApprox - Mid - More x-ms-enum: name: TemporalModifier modelAsString: true TimeExpression: type: string description: >- An extended ISO 8601 date/time representation as described in (https://github.com/Microsoft/Recognizers-Text/blob/master/Patterns/English/English-DateTime.yaml) BaseExtraInformation: description: The abstract base object for entity extra information. type: object discriminator: extraInformationKind properties: extraInformationKind: description: The extra information object kind. type: string enum: - EntitySubtype - ListKey - RegexKey x-ms-enum: name: ExtraInformationKind modelAsString: true required: - extraInformationKind EntitySubtype: description: The concrete entity Subtype model of extra information. allOf: - $ref: '#/definitions/BaseExtraInformation' type: object x-ms-discriminator-value: EntitySubtype properties: value: type: string description: The Subtype of an extracted entity type. ListKey: description: The list key extra data kind. allOf: - $ref: '#/definitions/BaseExtraInformation' type: object x-ms-discriminator-value: ListKey properties: key: type: string description: The canonical form of the extracted entity. RegexKey: description: The regex key extra data kind. allOf: - $ref: '#/definitions/BaseExtraInformation' type: object x-ms-discriminator-value: RegexKey properties: key: type: string description: The key of the regex pattern used in extracting the entity. regexPattern: type: string description: >- The .NET regex pattern used in extracting the entity. Please visit https://docs.microsoft.com/dotnet/standard/base-types/regular-expressions for more information about .NET regular expressions. LuisTargetIntentResult: type: object description: It is a wrap up of LUIS Generally Available response. x-ms-discriminator-value: Luis allOf: - $ref: '#/definitions/TargetIntentResult' properties: result: type: object description: The actual response from a LUIS Generally Available application. QuestionAnsweringTargetIntentResult: type: object description: It is a wrap up a Question Answering KB response. x-ms-discriminator-value: QuestionAnswering allOf: - $ref: '#/definitions/TargetIntentResult' properties: result: description: The generated answer by a Question Answering KB. $ref: common.json#/definitions/AnswersResult AnalyzeConversationJobsInput: type: object properties: displayName: description: Optional display name for the analysis job. type: string analysisInput: $ref: '#/definitions/MultiLanguageConversationAnalysisInput' tasks: description: The set of tasks to execute on the input conversation. type: array items: $ref: '#/definitions/AnalyzeConversationLROTask' required: - analysisInput - tasks AnalyzeConversationLROTask: type: object description: The base class for an long running conversation input task. discriminator: kind required: - kind properties: kind: $ref: '#/definitions/AnalyzeConversationLROTaskKind' allOf: - $ref: common.json#/definitions/TaskIdentifier AnalyzeConversationLROTaskKind: type: string description: Enumeration of supported analysis tasks on a collection of conversation. enum: - ConversationalPIITask - ConversationalSummarizationTask - CustomConversationalSummarizationTask - ConversationalSentimentTask x-ms-enum: name: AnalyzeConversationLROTaskKind modelAsString: true AnalyzeConversationResultsKind: type: string description: Enumeration of supported Conversation Analysis task results. enum: - ConversationalPIIResults - ConversationalSummarizationResults - CustomConversationalSummarizationResults - ConversationalSentimentResults x-ms-enum: name: AnalyzeConversationResultsKind modelAsString: true AnalyzeConversationPIITask: type: object description: Task definition for a PII redaction in conversations. properties: parameters: $ref: '#/definitions/ConversationPIITaskParameters' allOf: - $ref: '#/definitions/AnalyzeConversationLROTask' x-ms-discriminator-value: ConversationalPIITask ConversationPIIItemResult: type: object required: - id - redactedContent - entities properties: id: type: string redactedContent: type: object $ref: '#/definitions/RedactedTranscriptContent' entities: type: array items: $ref: '#/definitions/Entity' MultiLanguageConversationAnalysisInput: type: object required: - conversations properties: conversations: type: array items: $ref: '#/definitions/Conversation' Conversation: type: object description: >- A complete ordered set of utterances (spoken or written), by one or more speakers to be used for analysis. discriminator: modality required: - id - language - modality properties: id: description: Unique identifier for the conversation. type: string language: description: The language of the conversation item in BCP-47 format. type: string modality: $ref: '#/definitions/Modality' domain: $ref: '#/definitions/ConversationDomain' Modality: type: string description: Enumeration of supported conversational modalities. enum: - transcript - text x-ms-enum: name: InputModality modelAsString: true ConversationDomain: type: string description: Enumeration of supported conversational domains. enum: - finance - healthcare - generic x-ms-enum: name: ConversationDomain modelAsString: true TextConversation: type: object x-ms-discriminator-value: text required: - conversationItems allOf: - $ref: '#/definitions/Conversation' properties: conversationItems: description: Ordered list of text conversation items in the conversation. type: array items: $ref: '#/definitions/TextConversationItem' TranscriptConversation: type: object x-ms-discriminator-value: transcript required: - conversationItems allOf: - $ref: '#/definitions/Conversation' properties: conversationItems: description: Ordered list of transcript conversation items in the conversation. type: array items: $ref: '#/definitions/TranscriptConversationItem' TranscriptConversationItem: type: object description: Additional properties for supporting transcript conversation. required: - text - lexical - itn - maskedItn allOf: - $ref: '#/definitions/ConversationItemBase' properties: itn: type: string description: >- Inverse Text Normalization representation of input. The inverse-text-normalized form is the recognized text from Microsoft's Speech to Text API, with phone numbers, numbers, abbreviations, and other transformations applied. maskedItn: type: string description: The Inverse Text Normalized format with profanity masking applied. text: type: string description: >- The display form of the recognized text from speech to text API, with punctuation and capitalization added. lexical: type: string description: >- The lexical form of the recognized text from speech to text API with the actual words recognized. wordLevelTimings: type: array description: The list of word level audio timing information items: $ref: '#/definitions/WordLevelTiming' conversationItemLevelTiming: description: >- Conversation item level audio timing. This still can help on AI quality if word level audio timings are not available. $ref: '#/definitions/ConversationItemLevelTiming' RedactedTranscriptContent: type: object description: >- The transcript content response generated by the service with all necessary personally identifiable information redacted. properties: itn: type: string description: The redacted output for inverse text normalized format input. maskedItn: type: string description: The redacted output for masked inverse text normalized format input. text: type: string description: >- The redacted output for text (Microsoft's Speech to Text 'display') format input. lexical: type: string description: The redacted output for lexical format input. audioTimings: type: array description: The list of redacted audio segments. items: $ref: '#/definitions/AudioTiming' WordLevelTiming: type: object description: >- Word level timing information generated by the speech to text API. The words in this object should have 1:1 correspondence with the 'lexical' input to allow for audio redaction. properties: word: type: string description: The word recognized. allOf: - $ref: '#/definitions/AudioTiming' AudioTiming: type: object description: The audio timing information. properties: offset: description: Offset from start of speech audio, in ticks. 1 tick = 100 ns. type: integer format: int64 duration: description: Duration of word articulation, in ticks. 1 tick = 100 ns. type: integer format: int64 Entity: type: object required: - text - category - offset - length - confidenceScore properties: text: type: string description: Entity text as appears in the request. category: type: string description: Entity type. subcategory: type: string description: (Optional) Entity sub type. offset: type: integer format: int32 description: >- Start position for the entity text. Use of different 'stringIndexType' values can affect the offset returned. length: type: integer format: int32 description: >- Length for the entity text. Use of different 'stringIndexType' values can affect the length returned. confidenceScore: type: number format: double description: Confidence score between 0 and 1 of the extracted entity. AnalyzeConversationConversationPIIResult: type: object description: >- Result from the personally identifiable information detection and redaction operation performed on a list of conversations. allOf: - $ref: '#/definitions/AnalyzeConversationJobResult' properties: results: $ref: '#/definitions/ConversationPIIResults' required: - results x-ms-discriminator-value: ConversationalPIIResults ConversationPIIResults: type: object description: >- The result from PII detection and redaction operation for each conversation. required: - conversations properties: conversations: type: array items: $ref: '#/definitions/ConversationalPIIResultWithResultBase' allOf: - $ref: common.json#/definitions/PreBuiltResult ConversationalPIIResultWithResultBase: type: object allOf: - $ref: '#/definitions/ConversationPIIResult' - $ref: '#/definitions/ConversationResultBase' ConversationPIIResult: type: object description: >- The result from PII detection and redaction operation for each conversation. required: - conversationItems properties: conversationItems: description: >- Enumeration of PII detection and redaction operation results for all the conversation items in a conversation. type: array items: $ref: '#/definitions/ConversationPIIItemResult' ConversationPIITaskParameters: type: object description: >- Supported parameters for a Conversational PII detection and redaction task. properties: piiCategories: $ref: '#/definitions/ConversationPIICategories' redactAudioTiming: type: boolean description: >- Flag to indicate if response should include audio stream offset and duration for any detected entities to be redacted. By default, audio timing of redacted entities are not included. default: false redactionSource: type: string description: >- For transcript conversations, this parameter provides information regarding which content type (ITN, Text, Lexical, Masked ITN) should be used for entity detection. The details of the entities detected - like the offset, length and the text itself - will correspond to the text type selected here. $ref: '#/definitions/TranscriptContentType' redactionCharacter: $ref: common.json#/definitions/RedactionCharacter excludePiiCategories: description: List of categories that need to be excluded instead of included. $ref: '#/definitions/ConversationPIICategoriesExclude' allOf: - $ref: common.json#/definitions/PreBuiltTaskParameters ConversationPIICategories: description: >- Describes the PII categories to return for detection. If not provided, 'default' categories will be returned which will vary with the language. items: type: string x-ms-enum: name: ConversationPIICategory modelAsString: true enum: - Address - CreditCardNumber - Email - Person - NumericIdentifier - PhoneNumber - USSocialSecurityNumber - Miscellaneous - All - Default type: array uniqueItems: true ConversationPIICategoriesExclude: description: >- Describes the PII categories to exclude for detection. If not provided, 'default' categories will be returned which will vary with the language. items: type: string x-ms-enum: name: ConversationPIICategoriesExclude modelAsString: true enum: - Address - CreditCardNumber - Email - Person - NumericIdentifier - PhoneNumber - USSocialSecurityNumber type: array uniqueItems: true TranscriptContentType: type: string description: Enumeration of supported transcript content types. enum: - lexical - itn - maskedItn - text x-ms-enum: name: TranscriptContentType modelAsString: true AnalyzeConversationSummarizationTask: type: object description: Task definition for conversational summarization. properties: parameters: $ref: '#/definitions/ConversationSummarizationTaskParameters' allOf: - $ref: '#/definitions/AnalyzeConversationLROTask' x-ms-discriminator-value: ConversationalSummarizationTask AnalyzeCustomConversationSummarizationTask: type: object description: Task definition for custom conversational summarization. properties: parameters: $ref: '#/definitions/CustomConversationSummarizationTaskParameters' allOf: - $ref: '#/definitions/AnalyzeConversationLROTask' x-ms-discriminator-value: CustomConversationalSummarizationTask ConversationSummarizationTaskParametersBase: type: object description: Supported parameters for any conversational summarization task. required: - summaryAspects properties: summaryAspects: type: array items: type: string enum: - issue - resolution - chapterTitle - narrative x-ms-enum: name: SummaryAspect modelAsString: true values: - value: issue description: >- A summary of issues in transcripts of web chats and service call transcripts between customer-service agents, and your customers. - value: resolution description: >- A summary of resolutions in transcripts of web chats and service call transcripts between customer-service agents, and your customers. - value: chapterTitle description: >- A chapter title of any conversation. It is usually one phrase or several phrases naturally combined together. Long conversation tends to have more chapters. The chapter boundary can be found from the summary context. - value: narrative description: >- A generic narrative summary of any conversation. It generally converts the conversational language into formal written language, compresses the text length and keeps the salient information. allOf: - $ref: common.json#/definitions/AbstractiveSummarizationTaskParametersBase ConversationSummarizationTaskParameters: type: object description: Supported parameters for pre-build conversational summarization task. allOf: - $ref: common.json#/definitions/PreBuiltTaskParameters - $ref: '#/definitions/ConversationSummarizationTaskParametersBase' CustomConversationSummarizationTaskParameters: type: object description: Supported parameters for a custom conversation summarization task. allOf: - $ref: common.json#/definitions/CustomTaskParameters - $ref: '#/definitions/ConversationSummarizationTaskParametersBase' AnalyzeConversationSummarizationResult: type: object description: Result for the summarization task on the conversation. properties: results: $ref: '#/definitions/SummaryResult' allOf: - $ref: '#/definitions/AnalyzeConversationJobResult' required: - results x-ms-discriminator-value: ConversationalSummarizationResults AnalyzeCustomConversationSummarizationResult: type: object description: Result for the custom summarization task on the conversation. properties: results: $ref: '#/definitions/CustomSummaryResult' allOf: - $ref: '#/definitions/AnalyzeConversationJobResult' required: - results x-ms-discriminator-value: CustomConversationalSummarizationResults SummaryResultBase: type: object required: - conversations properties: conversations: type: array items: $ref: '#/definitions/ConversationsSummaryResult' SummaryResult: type: object allOf: - $ref: '#/definitions/SummaryResultBase' - $ref: common.json#/definitions/PreBuiltResult CustomSummaryResult: type: object allOf: - $ref: '#/definitions/SummaryResultBase' - $ref: common.json#/definitions/CustomResult ConversationsSummaryResult: type: object required: - summaries properties: summaries: type: array items: $ref: '#/definitions/SummaryResultItem' allOf: - $ref: '#/definitions/ConversationResultBase' SummaryResultItem: type: object properties: aspect: type: string text: type: string contexts: type: array description: The context list of the summary. items: $ref: '#/definitions/ItemizedSummaryContext' required: - aspect - text AnalyzeConversationalSentimentTask: type: object description: Task definition for a sentiment analysis in conversations. properties: parameters: $ref: '#/definitions/ConversationalSentimentTaskParameters' allOf: - $ref: '#/definitions/AnalyzeConversationLROTask' x-ms-discriminator-value: ConversationalSentimentTask ConversationalSentimentTaskParameters: type: object description: Supported parameters for a Conversational sentiment analysis task. properties: predictionSource: type: string description: >- For transcript conversations, this parameter provides information regarding which content type should be used for sentiment analysis. The details of the sentiment analysis - like the offset, length and the text itself - will correspond to the text type selected here. $ref: '#/definitions/TranscriptContentType' allOf: - $ref: common.json#/definitions/PreBuiltTaskParameters AnalyzeConversationSentimentResult: type: object description: >- Result from the sentiment analysis operation performed on a list of conversations. allOf: - $ref: '#/definitions/AnalyzeConversationJobResult' properties: results: $ref: '#/definitions/ConversationSentimentResults' required: - results x-ms-discriminator-value: ConversationalSentimentResults ConversationSentimentResults: type: object description: The result from sentiment analysis operation for each conversation. required: - conversations properties: conversations: type: array items: allOf: - $ref: '#/definitions/ConversationSentimentResult' - $ref: '#/definitions/ConversationResultBase' allOf: - $ref: common.json#/definitions/PreBuiltResult ConversationSentimentResult: type: object description: The result from sentiment analysis operation for each conversation item. required: - conversationItems properties: conversationItems: description: >- Enumeration of Sentiment operation results for all the conversation items in a conversation. type: array items: $ref: '#/definitions/ConversationSentimentItemResult' ConversationSentimentItemResult: type: object required: - id - participantId - sentiment - confidenceScores properties: id: description: The identifier for the conversation item type: string participantId: description: The identifier for the speaker type: string sentiment: $ref: common.json#/definitions/Sentiment confidenceScores: type: object $ref: common.json#/definitions/SentimentConfidenceScores AnalyzeConversationJobState: description: >- Contains the status of the analyze conversations job submitted along with related statistics. allOf: - $ref: common.json#/definitions/JobState - $ref: '#/definitions/ConversationTasksState' - $ref: '#/definitions/AnalyzeConversationJobStatistics' AnalyzeConversationJobStatistics: description: Contains the statistics for the job submitted. properties: statistics: $ref: '#/definitions/ConversationRequestStatistics' type: object ConversationTasksState: description: >- Contains the state for the tasks being executed as part of the analyze conversation job submitted. properties: tasks: properties: completed: description: Count of tasks completed successfully. type: integer format: int32 failed: description: Count of tasks that failed. type: integer format: int32 inProgress: description: Count of tasks in progress currently. type: integer format: int32 total: description: Total count of tasks submitted as part of the job. type: integer format: int32 items: description: List of results from tasks (if available). type: array items: $ref: '#/definitions/AnalyzeConversationJobResult' required: - total - completed - failed - inProgress type: object required: - tasks type: object AnalyzeConversationJobResult: type: object description: Container for results for all tasks in the conversation job. discriminator: kind properties: kind: $ref: '#/definitions/AnalyzeConversationResultsKind' allOf: - $ref: common.json#/definitions/TaskState - $ref: common.json#/definitions/TaskIdentifier required: - kind ConversationResultBase: type: object description: Shared attributes for all conversational task results. required: - id - warnings properties: id: type: string description: Unique, non-empty conversation identifier. warnings: type: array description: Warnings encountered while processing document. items: $ref: common.json#/definitions/InputWarning statistics: $ref: '#/definitions/ConversationStatistics' ConversationStatistics: type: object description: >- If showStats=true was specified in the request this field will contain information about the conversation payload. required: - transactionsCount properties: transactionsCount: type: integer format: int32 description: Number of text units for the request. ConversationRequestStatistics: type: object description: >- if showStats=true was specified in the request this field will contain information about the request payload. required: - conversationsCount - validConversationsCount - erroneousConversationsCount properties: conversationsCount: type: integer format: int32 description: Number of conversations submitted in the request. validConversationsCount: type: integer format: int32 description: >- Number of conversations documents. This excludes empty, over-size limit or non-supported languages documents. erroneousConversationsCount: type: integer format: int32 description: >- Number of invalid documents. This includes empty, over-size limit or non-supported languages documents. allOf: - $ref: common.json#/definitions/RequestStatistics ConversationItemLevelTiming: type: object description: The conversation item level audio timing. allOf: - $ref: '#/definitions/AudioTiming' ItemizedSummaryContext: type: object description: The context of the summary with conversation item id. required: - conversationItemId properties: conversationItemId: type: string description: Reference to the id of ConversationItem. allOf: - $ref: common.json#/definitions/SummaryContext parameters: ConversationAnalysisOptions: name: ConversationAnalysisOptions in: body required: true schema: $ref: '#/definitions/ConversationAnalysisOptions' description: Post body of the request. x-ms-parameter-location: method tags: - name: :Analyze Conversations - name: Analyze Conversations