Microsoft Azure Microsoft Cognitive Language Service Analyze Conversations

Microsoft Azure Cognitive Services provides a range of tools for developers to build applications that can understand and interpret natural language. One of these tools, Analyze Conversations, is specifically designed to help applications analyze and extract information from conversations between users.

OpenAPI Specification

microsoft-cognitive-language-service-analyze-conversations-openapi-original.yml Raw ↑
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
    

# --- truncated at 32 KB (63 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/microsoft-azure/refs/heads/main/openapi/microsoft-cognitive-language-service-analyze-conversations-openapi-original.yml