openapi: 3.0.1
info:
  title: Complex Logic API
  description: 'API for Complex Logic modules: resolution, suggestions and
    notification filter'
  version: 2.5.0-main-recognizer-video-triage-29855.1
servers:
- url: http://changeThisForRealHost.es:8000/
tags:
- name: suggestions
  description: API endpoint that returns suggestions to user
- name: resolution
  description: API endpoint that calls the resolution
- name: notifications filter
  description: API endpoint that checks if a notification has sense or not
paths:
  /suggestions/status:
    get:
      tags:
      - suggestions
      description: API endpoint that returns info about status of Suggestions API.
      operationId: SuggestionStatus
      parameters:
        - in: header
          name: X-Aura-Correlator
          schema:
            type: string
            example: corr
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  SuggestionsAPIHandlerStatus:
                    $ref: '#/components/schemas/Status'
  /resolution/status:
    get:
      tags:
      - resolution
      description: API endpoint that returns info about status of resolution API.
      operationId: ResolutionStatus
      parameters:
        - in: header
          name: X-Aura-Correlator
          schema:
            type: string
            example: corr
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  ResolutionAPIHandlerStatus:
                    $ref: '#/components/schemas/Status'
  /resolution/video/v1/status:
    get:
      tags:
      - resolution
      description: API endpoint that returns info about status of resolution video v1 API.
      operationId: ResolutionVideoV1Status
      parameters:
        - in: header
          name: X-Aura-Correlator
          schema:
            type: string
            example: corr
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  ResolutionAPIHandlerStatus:
                    $ref: '#/components/schemas/Status'
  /notifications_filter/status:
    get:
      tags:
      - notifications filter
      description: API endpoint that returns info about status of Insights_resolution API.
      operationId: notificationsFilterStatus
      parameters:
        - in: header
          name: X-Aura-Correlator
          schema:
            type: string
            example: corr
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  NotificationsFilterAPIHandlerStatus:
                    $ref: '#/components/schemas/Status'
  /suggestions/query:
    post:
      tags:
      - suggestions
      description: List the suggestions for the user.
      operationId: listSuggestions
      parameters:
        - in: header
          name: X-Aura-Correlator
          schema:
            type: string
            example: corr
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SuggestionQuery'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Suggestion'
        400:
          description: Bad Request Error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidArgument'
        404:
          description: Not Found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
        405:
          description: Not Allowed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotAllowed'
  /resolution/query:
    post:
      tags:
      - resolution
      description: Resolution of enrich intents by consulting the resolution APIs and applying
        a layer of logic to verify that, despite the delay of the data, the response
        provided to the user is still correct.
      operationId: Resolution
      parameters:
        - in: header
          name: X-Aura-Correlator
          schema:
            type: string
            example: corr
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResolutionQuery'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resolution'
        400:
          description: Bad Request Error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidArgument'
        404:
          description: Not Found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
        405:
          description: Not Allowed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotAllowed'
  /resolution/video/v1/query:
    post:
      tags:
        - resolution
      description: Endpoint for resolving video intents using the V1 schema.
      operationId: ResolutionVideoV1
      parameters:
        - in: header
          name: X-Aura-Correlator
          schema:
            type: string
            example: corr
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResolutionVideoV1Query'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResolutionVideoV1'
        400:
          description: Bad Request Error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidArgument'
        404:
          description: Not Found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
        405:
          description: Not Allowed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotAllowed'
  /notifications_filter/query:
    post:
      tags:
      - notifications filter
      description: It mitigates insights notifications filtering notifications that
        has no sense due to data delay.
      operationId: NotificationFilter
      parameters:
        - in: header
          name: X-Aura-Correlator
          schema:
            type: string
            example: corr
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotificationFilterQuery'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationFilter'
        400:
          description: Bad Request Error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidArgument'
        404:
          description: Not Found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
        405:
          description: Not Allowed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotAllowed'
components:
  schemas:
    Intent:
      type: string
      description: Name of intent.
      example: 'intent.tv_record'
    Identifier:
      required:
        - identifier
        - scopes
        - type
      type: object
      description: User's identifier.
      properties:
        identifier:
          type: string
          description: Identifier.
        scopes:
          type: array
          items:
            type: string
          description: Array of scopes (string items).
        type:
          type: string
          enum: [phone_number, email, uid]
          description: Identifier type.
        services:
          type: array
          items:
            type: string
          description: User's services.
        phone_type:
          type: string
          description: User's phone type.
          nullable: true
        subscription_type:
          type: string
          description: User's subscription type.
          nullable: true
    Identity:
      type: object
      required:
        - id
        - services
        - type
        - roles
      description: User's profile data.
      properties:
        id:
          type: string
          description: User's id.
          example: '1234'
        services:
          type: array
          items:
            type: string
            enum: [mobile_prepaid, mobile_postpaid, mobile_control, mobile_hybrid, mobile_internet, mobile_multisim_primary, mobile_multisim_secondary, landline, iptv, internet, email, invoicing, value_added_service, landline_control, landline_prepaid, iptv_control, iptv_prepaid, internet_control, internet_prepaid, dth, dth_control, dth_prepaid, streaming_tv, authentication]
            example: 'mobile_prepaid'
        type:
          type: string
          enum: [phone_number, email, uid]
          description: User's identity type.
          example: 'phone_number'
        roles:
          type: string
          enum: [owner, admin, user, basic]
          example: 'owner'
    IdDocument:
      type: object
      required:
        - value
        - type
        - country
      description: User's profile data.
      properties:
        value:
          type: string
          description: Id document value.
          example: '11111111H'
        type:
          type: string
          description: Id document type.
          example: 'NIF'
        country:
          type: string
          description: Country of issuance of the id_document. Format iso3166-1.
          example: 'ES'
    ContactMedia:
      type: object
      required:
        - value
        - type
      description: Array of ways to contact the user, if any is specified by the user.
      properties:
        value:
          type: string
          description: Value for this contact.
          example: '+34667766775'
        type:
          type: string
          enum: [phone_number, email]
          description: Type of contact.
          example: 'phone_number'
    UserProfile:
      required:
        - id
        - identities
      type: object
      description: User's profile data.
      properties:
        id:
          type: string
          description: User's profile id.
          example: '123'
        identities:
          type: array
          items:
            $ref: '#/components/schemas/Identity'
          description: User's profile identities included as an array of Identity objects.
        name:
          type: string
          description: User's profile name.
          example: 'Profile 1'
        id_document:
          $ref: '#/components/schemas/IdDocument'
        contact_media:
          type: array
          items:
            $ref: '#/components/schemas/ContactMedia'
    AuthenticationContext:
      required:
        - identifier
        - type
      type: object
      properties:
        identifier:
          type: string
          example: 'identifierAuth'
        type:
          type: string
          enum: [phone_number, email, uid]
          example: 'phone_number'
        activated_roles:
          type: array
          items:
              type: string
          example: ['rol1']
    AuraUser:
      required:
        - aura_id
        - user_id
        - user_type
        - access_token
        - scopes
        - purposes
        - identifiers
      type: object
      properties:
        aura_id_global:
          type: string
          description: Global id for Aura platform.
          example: '1234'
        aura_id:
          type: string
          description: Id for Aura platform.
          example: '4567'
        user_id:
          type: string
          description: Id for Aura user.
          example: '891011'
        channel_id:
          type: string
          description: Channel id.
          example: '8f057392-3d4f-44c0-977b-10c5239b7d11'
        authorization_id:
          type: string
          description: Authorization id.
          example: 'dc54df87-1d66-4b2c-9fbc-4050eedadd7d'
        authentication_type:
          type: string
          description: Authentication type.
          example: 'phone_number'
        user_type:
          type: string
          enum: [multimsisdn, monomsisdn, nomsisdn, anonymous]
          description: User's type.
          example: 'Monomsisdn'
        access_token:
          type: string
          description: Access token.
          example: '123786123asd'
        scopes:
          type: array
          items:
            type: string
          description: Array of scopes.
          example: []
        purposes:
          type: array
          items:
            type: string
          description: Array of purposes.
          example: ['wifi-management', 'customer-self-service']
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/Identifier'
          description: Array of identifier objects.
        user_profile:
          type: array
          items:
            $ref: '#/components/schemas/UserProfile'
          description: Array of user-profile objects.
        authentication_context:
          type: array
          items:
            $ref: '#/components/schemas/AuthenticationContext'
          description: Authentication context schema object.
      description: Information related with Aura User.
    Element:
      type: object
      required:
        - type
        - payload
      properties:
        type:
          description: Type of the element. It represents what is shown in the user's screen.
          type: string
          enum: [tvContent, thirdPartyContent]
          example: 'tvContent'
        payload:
          type: object
          description: General property (applicable for different channels), although in the current model it only includes sub-properties for TV channels
          example: {'contentId': '123', 'catalogType': 'some', 'vodAssociated': true, 'resumeTime': 0, 'contentType': 'vod', 'liveProgramId': '456', 'season': 1, 'episode': 2, 'title': 'The title', 'focus': true}
    Screen:
      type: object
      properties:
        elements:
          type: array
          items:
            $ref: '#/components/schemas/Element'
        name:
          type: string
          description: Identifier of the screen or section of the screen the Telefónica customer is interacting through with _aura-bot_. The value of this field is open but it should follow this format `rootSection.[childrenSections].pageName`. It should contain a dot-separated list of the section’s navigation tree, ending with the current page. For a common understanding, `home` should be used for the main page of each section.
          example: rootSection.[childrenSections].pageName
    ThirdParty:
      type: object
      required:
        - name
      properties:
        name:
          type: string
          description: Name of the third party for which it contains information.
          example: Netflix
        data:
          type: object
          description: Open object where the channel can include all the necessary information to interact with the third party. These data will be sent to the third party.
          example:  {'token': '1234567', 'NFVID': '442.357.123'}
    Application:
      type: object
      properties:
        activeApp:
          type: string
        countryId:
          type: string
          description: 2-letters country identifier as defined by the ISO-3166 specification where the Telefónica client is located.
          example: ES
        screen:
          $ref: '#/components/schemas/Screen'
        thirdParties:
          type: array
          items:
            $ref: '#/components/schemas/ThirdParty'
        thirdPartiesContent:
          type: boolean
          description: Boolean where the channel indicates if contents from third parties are allowed or not in the response. It is an optional field, if not included it is considered as `false`.
          default: False
          example: False
    Channel:
      type: object
      required:
        - id
        - modality
      properties:
        id:
          type: string
          description: Unique identifier in UUID format which uniquely identifies the channel in Aura.
          example: 8f057392-3d4f-44c0-977b-10c5239b7d11
        interfaceLanguage:
          type: string
          description: Combination of ISO-3166 2-letters country codes and ISO 639-1 2-letters language code separated by a hyphen.
          example: es-ES
        modality:
          type: string
          enum: [audio, text, form]
          description: Way the Telefónica client used to interact with the _aura-bot_ instance.
          example: audio
    Device:
      type: object
      required:
        - id
        - type
      properties:
        id:
          type: string
          description: Unique identifier of the device.
          example: '1234'
        type:
          type: string
          description: Type of device used.
          example: 'android.cell'
        platform:
          type: string
          enum: [mobile, tablet, pc, tv, stb, home, other]
          description: Specific platform.
          example: 'tablet'
        maxQuality:
          type: string
          enum: [UHD_4K, HighDefinition, StandardDefinition, LowDefinition]
          description: Highest video quality of the device prepared to reproduce a content.
          example: 'UHD_4K'
        allowedCatalogTypes:
          type: array
          items:
            type: string
            enum: [VOD, LIVE, L7D, LCH, LSR]
          description: List of allowed catalog types. The value can now be a list of catalog types provided by the device, as long as the values are one of the predefined identifiers.
          example: [VOD, LIVE]
    Location:
      type: object
      properties:
        logical:
          type: string
          enum: [home, outside, unknown]
          description: Location from where the Telefónica client interacts with the _aura-bot_ instance.
          default: unknown
          example: outside
    Entity:
      type: object
      required:
        - entity
        - type
        - score
        - canon
      properties:
        entity:
          type: string
          description: Original value of the entity.
          example: 'ent.device.tv'
        type:
          type: string
          description: Entity type.
          example: 'ent.channel'
        score:
          type: number
          format: float
          example: 0.89
        start_index:
          type: integer
          example: 1
        end_index:
          type: integer
          example: 3
        canon:
          type: string
          description: Value of the entity analyzed by NER (normalized).
          example: '#0'
        label:
          type: string
          description: Value of the entity analyzed by NER (replacing for the entry
            of the API).
          example: 'ZERO'
          nullable: true
    AppContext:
      type: object
      required:
        - channel
        - timestamp
        - timezone
      properties:
        application:
          $ref: '#/components/schemas/Application'
        channel:
          $ref: '#/components/schemas/Channel'
        device:
          $ref: '#/components/schemas/Device'
        location:
          $ref: '#/components/schemas/Location'
        user:
          type: object
          description: Information about the user associated to the Telefónica client interacting with the _aura-bot_ instance.
        contextFilters:
          type: array
          description: Information in a string array format which may be used to filter the final response sent by the _aura-bot_ instance back to the Telefónica client.
          example: ['key:value', 'key1:value1']
          items:
            type: string
        timestamp:
          type: string
          description: ISO 8601 formatted string with the exact local time instant when the request was sent.
          example: '2019-07-01T10:15:30+01:00'
        timezone:
          type: string
          description: Time zone from where the Telefónica client is interacting.
          example: 'Europe/Madrid'
    SuggestionQuery:
      required:
        - intent
        - aura_user
        - entities
        - channel_prefix
        - app_context
        - version
      type: object
      properties:
        intent:
          $ref: '#/components/schemas/Intent'
        aura_user:
          $ref: '#/components/schemas/AuraUser'
        entities:
          type: array
          description: Array of entities.
          items:
            $ref: '#/components/schemas/Entity'
        channel_prefix:
          type: string
          description: Channel prefix.
          example: mh
        payload:
          type: object
          description: Open dict with the payload info.
        app_context:
          $ref: '#/components/schemas/AppContext'
        phrase:
          type: string
        version:
          type: string
    Suggestion:
      type: object
      required:
        - intent
        - entities
        - resources
        - score
      properties:
        intent:
          type: string
          description: Name of intent resolved by recognizers.
        entities:
          type: array
          description: Array of entities.
          items:
            $ref: '#/components/schemas/Entity'
        resources:
          type: array
          description: Array of resource objects.
          items:
            $ref: '#/components/schemas/ResourceSuggestion'
        score:
          type: number
          format: float
    ResolutionQuery:
      required:
        - intent
        - aura_user
        - entities
        - channel_prefix
        - app_context
        - version
      type: object
      properties:
        intent:
          $ref: '#/components/schemas/Intent'
        aura_user:
          $ref: '#/components/schemas/AuraUser'
        entities:
          type: array
          description: Array of entities.
          items:
            $ref: '#/components/schemas/Entity'
        channel_prefix:
          type: string
          description: Channel prefix
          example: mh
        payload:
          type: object
          description: Open dict with the payload info.
        app_context:
          $ref: '#/components/schemas/AppContext'
        phrase:
          type: string
        version:
          type: string
    Resolution:
      required:
        - intent
        - entities
        - result_intent
        - resources
        - conditions
        - status
        - actions
        - payload
      type: object
      properties:
        intent:
          type: string
          description: Name of intent resolved by recognizers.
        entities:
          type: array
          description: Array of entities.
          items:
            $ref: '#/components/schemas/Entity'
        result_intent:
          type: string
        deeplink:
          $ref: '#/components/schemas/Deeplink'
        resources:
          type: array
          description: Array of resource objects.
          items:
            $ref: '#/components/schemas/ResourceResolution'
        conditions:
          type: object
          description: Open dict with the suggestion of case of use.
        status:
          $ref: '#/components/schemas/StatusResolution'
        actions:
          type: array
          items:
            $ref: '#/components/schemas/Action'
        payload:
          type: object
          description: Open dict with the response payload.
          example:
            send: 'true'
    NotificationFilterQuery:
      required:
        - intent
        - aura_user
        - entities
        - channel_prefix
        - app_context
        - version
      type: object
      properties:
        intent:
          $ref: '#/components/schemas/Intent'
        aura_user:
          $ref: '#/components/schemas/AuraUser'
        entities:
          type: array
          description: Array of entities.
          items:
            $ref: '#/components/schemas/Entity'
        channel_prefix:
          type: string
          description: Channel prefix.
          example: mh
        payload:
          type: object
          description: Open dict with the payload information.
        app_context:
          $ref: '#/components/schemas/AppContext'
        phrase:
          type: string
        version:
          type: string
    NotificationFilter:
      required:
        - send
      type: object
      properties:
        send:
          type: boolean
          description: Boolean to indicate if the notification should be sent or not.
            due to real time data checks.
    Deeplink:
      required:
        - link
        - resource
      type: object
      properties:
        resource:
          type: string
          description: Name of resource to obtain the text.
        link:
          type: string
          description: URL of link.
    Status:
      required:
        - msg
        - time
      type: object
      properties:
        msg:
          type: string
          description: Status server message.
          example: everything is fine
        time:
          type: string
          description: Response time.
          format: date-time
    Action:
      required:
        - name
        - target
        - params
      type: object
      properties:
        name:
          type: string
        target:
          type: string
        params:
          type: object
        post_back:
          $ref: '#/components/schemas/PostBack'
    PostBack:
      type: object
      properties:
        ok:
          $ref: '#/components/schemas/AuraCommand'
        error:
          $ref: '#/components/schemas/AuraCommand'
    AuraCommand:
      required:
        - type
        - value
      type: object
      properties:
        type:
          type: string
          enum: [ 'intent', 'suggestion', 'operation' ]
        value:
          $ref: '#/components/schemas/IntentResult'
    IntentResult:
      required:
        - intent
      type: object
      properties:
        intent:
          type: string
        entities:
          type: array
          items:
            $ref: '#/components/schemas/Entity'
    ResourceResolution:
      required:
        - type
        - name
        - params
      type: object
      properties:
        type:
          type: string
          description: Type button or title.
          enum:
          - button
          - title
        name:
          type: string
          description: Name or the resource.
        params:
          type: object
          description: "Parameters of the resource if they are needed. There are two ways: string array (list of values that should be treated by order) or dict (each key is the name of the param)."
    ResourceSuggestion:
      required:
        - type
        - name
        - params
      type: object
      properties:
        type:
          type: string
          description: Type button or title.
          enum:
          - button
          - title
        name:
          type: string
          description: Name or the resource.
        params:
          type: object
          description: "Parameters of the resource if they are needed. There are two ways: string array (list of values that should be treated by order) or dict (each key is the name of the param)."
    StatusResolution:
      required:
        - code
        - message
      type: object
      properties:
        code:
          type: string
        message:
          type: string
        params:
          type: object
    ModelError:
      required:
       - message
      type: object
      properties:
        message:
          type: string
          description: Human readable description of what the event represents.
    InvalidArgument:
      allOf:
      - required:
          - code
          - message
        type: object
        properties:
          code:
            type: string
            example: INVALID_ARGUMENT
          message:
            type: string
            example: Client specified an invalid argument, request body o query param.
          errors:
            type: object
            example: {}
        description: Client specified an invalid argument, request body or query param.
      - $ref: '#/components/schemas/ModelError'
    NotFound:
      allOf:
      - required:
          - code
          - message
        type: object
        properties:
          code:
            type: string
            example: NOT FOUND
          message:
            type: string
            example: A specified resource is not found
        description: A specified resource is not found.
      - $ref: '#/components/schemas/ModelError'
    NotAllowed:
      type: object
      properties:
        code:
          type: string
          example: '405'
        message:
          type: string
          example: Method Not Allowed
    ResolutionVideoV1Query:
      required:
        - intent
        - aura_user
        - channel_prefix
        - app_context
        - entities
      type: object
      properties:
        text:
          type: string
          description: Input text.
        intent:
          type: string
          description: Main intent.
        channel_prefix:
          type: string
          description: Channel prefix.
        app_context:
          $ref: '#/components/schemas/V1AppContext'
        aura_user:
          $ref: '#/components/schemas/AuraUser'
        entities:
            type: array
            description: Array of entities.
            items:
                $ref: '#/components/schemas/Entity'
      description: Input schema for the resolution video v1 endpoint.
    V1AppContext:
      type: object
      required:
        - channel
      properties:
        application:
          $ref: '#/components/schemas/V1Application'
        channel:
          $ref: '#/components/schemas/V1Channel'
        device:
          $ref: '#/components/schemas/V1Device'
        location:
          $ref: '#/components/schemas/V1Location'
        userContext:
          $ref: '#/components/schemas/V1UserContext'
        contextFilters:
          type: array
          items:
            type: string
        timestamp:
          type: string
        timezone:
          type: string
    V1Application:
      type: object
      properties:
        playing:
          $ref: '#/components/schemas/V1Playing'
        playMode:
          type: string
          enum: [local, locale, remote]
        epartnerData:
          type: object
    V1Playing:
      type: object
      required:
        - id
        - type
      properties:
        id:
          type: string
          nullable: true
        type:
          type: string
          enum: [live, vod, l7d, record]
          nullable: true
    V1Channel:
      type: object
      required:
        - appId
        - modality
      properties:
        appId:
          type: string
        modality:
          type: string
          enum: [AUDIO, VOICE, TEXT, TACTILE, COMMAND, FORM]
    V1Device:
      type: object
      required:
        - deviceId
        - type
      properties:
        deviceId:
          type: string
        type:
          type: string
    V1Location:
      type: object
      properties:
        logical:
          type: string
          enum: [home, outside, unknown]
    V1UserContext:
      type: object
      required:
        - userAccountNumber
        - userSTBList
      properties:
        userAccountNumber:
          type: string
        userSTBList:
          type: array
          items:
            $ref: '#/components/schemas/V1UserSTB'
        userProfile:
          type: string
        userProductList:
          type: string
        userPurchaseList:
          type: string
    V1UserSTB:
      type: object
      required:
        - deviceId
      properties:
        deviceId:
          type: string
        model:
          type: string
        maxQuality:
          type: string
          enum: [UHD_4K, highDefinition, standardDefinition, lowDefinition]
        friendlyName:
          type: string
        remote_play_allowed:
          type: boolean
        remote_play_on:
          type: boolean
    V1Entity:
      type: object
      required:
        - entity
        - type
      properties:
        entity:
          type: string
          description: Original value of the entity.
          example: 'ent.device.tv'
        type:
          type: string
          description: Entity type.
          example: 'ent.channel'
        score:
          type: number
          format: float
          example: 0.89
        start_index:
          type: integer
          example: 1
        end_index:
          type: integer
          example: 3
        canon:
          type: string
          description: Value of the entity analyzed by NER (normalized).
          example: '#0'
        label:
          type: string
          description: Value of the entity analyzed by NER (replacing for the entry
            of the API).
          example: 'ZERO'
          nullable: true
    ResolutionVideoV1:
      required:
        - intent
        - entities
        - status
        - resources
        - suggestions
      type: object
      properties:
        intent:
          type: string
          description: Name of intent resolved by recognizers.
        entities:
          type: array
          description: Array of entities.
          items:
            $ref: '#/components/schemas/V1Entity'
        status:
          type: string
          enum: [ok, warning, error]
          title: ResolutionVideoV1Status
          description: Indicates the status of response. Values are ok, error (no suggestions) and warning.
        sound:
          type: string
          enum: [positive, negative, none]
          description: Sound to be reproduced in MHome.
        resources:
          type: array
          description: Array of resource objects.
          items:
            $ref: '#/components/schemas/ResourceResolution'
        payload:
          required:
            - type
            - data
          type: object
          description: Contains all the information on the status.
          properties:
            type:
              type: string
              description: Contains an identifier to help the channel identify the operation to do.
            data:
              type: object
              description: Contains all the information for M+ to execute the operation.
            data_additional:
              type: object
            action:
              type: string
              description: Contains the action name.
            status:
              type: object
              properties:
                code:
                  type: string
                  description: Contains the status number.
                message:
                  type: string
                  description: Contains the status description.
                info:
                  type: object
                  description: Contains additional information.
        user_action:
          type: object
        suggestions:
          type: array
          items:
            type: object