openapi: 3.0.0
info:
  description: Aura configuration API definition.
  version: 10.5.0-main-recognizer-video-triage-29855.0
  title: Aura configuration API Swagger
  contact:
    email: auradev@tid.es
servers:
  - url: https://localhost:8999
paths:
  /aura-services/v2/configuration/channels/{channelId}:
    get:
      tags:
        - Channels
      summary: Gets all the info associated to one channel
      description: Returns channel info by channelId
      operationId: getChannelById
      security:
        - apiKeyHeader: []
      parameters:
        - name: channelId
          in: path
          description: Unique Aura channel identifier
          required: true
          schema:
            type: string
        - name: excludeFields
          description: >-
            Filters to exclude some keys from the returned object. Properties of private properties (whatsapp, security)
            can't be filtered
          in: query
          required: false
          schema:
            type: string
        - name: includeFields
          description: >-
            Set all the keys returned in the result object. Properties of private properties (whatsapp, security) can't
            be filtered
          in: query
          required: false
          schema:
            type: string
        - name: correlator
          in: header
          description: Unique identifier of a request to be used as correlator in all systems
          required: false
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Successfully retrieved
          headers:
            correlator:
              description: Correlation id for the different services
              schema:
                type: string
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ChannelConfigurationPartial'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-swagger-router-controller: modules
    put:
      tags:
        - Channels
      summary: Updates all the info associated to one channel
      description: Updates all channel info
      operationId: updateChannel
      security:
        - apiKeyHeader: []
      parameters:
        - name: channelId
          in: path
          description: Unique Aura channel identifier
          required: true
          schema:
            type: string
        - name: correlator
          in: header
          description: Unique identifier of a request to be used as correlator in all systems
          required: false
          schema:
            type: string
            format: uuid
      requestBody:
        description: Input channelData to update
        required: true
        content:
          application/json:
            schema:
              oneOf:
                - $ref: '#/components/schemas/ChannelConfiguration'
      responses:
        '204':
          description: Successfully updated
          headers:
            correlator:
              description: Correlation id for the different services
              schema:
                type: string
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-swagger-router-controller: modules
    patch:
      tags:
        - Channels
      summary: Updates some info associated to one channel
      description: Updates some fields of channel info
      operationId: modifyChannel
      security:
        - apiKeyHeader: []
      parameters:
        - name: channelId
          in: path
          description: Unique Aura channel identifier
          required: true
          schema:
            type: string
        - name: correlator
          in: header
          description: Unique identifier of a request to be used as correlator in all systems
          required: false
          schema:
            type: string
            format: uuid
      requestBody:
        description: Input channelData to add
        required: true
        content:
          application/json:
            schema:
              oneOf:
                - $ref: '#/components/schemas/ChannelConfigurationPartial'
      responses:
        '204':
          description: Successfully updated
          headers:
            correlator:
              description: Correlation id for the different services
              schema:
                type: string
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-swagger-router-controller: modules
    delete:
      tags:
        - Channels
      summary: Delete one channel
      description: Delete channel info by id
      operationId: deleteChannelById
      security:
        - apiKeyHeader: []
      parameters:
        - name: channelId
          in: path
          description: Unique Aura channel identifier
          required: true
          schema:
            type: string
        - name: correlator
          in: header
          description: Unique identifier of a request to be used as correlator in all systems
          required: false
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: Successfully deleted
          headers:
            correlator:
              description: Correlation id for the different services
              schema:
                type: string
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-swagger-router-controller: modules
  /aura-services/v2/configuration/channels:
    get:
      tags:
        - Channels
      summary: Gets all channels info
      description: Returns channels info
      operationId: getAllChannels
      security:
        - apiKeyHeader: []
      parameters:
        - name: excludeFields
          description: >-
            Filters to exclude some keys from the returned object. Only root values of channelConfiguration can be
            filtered
          in: query
          required: false
          schema:
            type: string
        - name: includeFields
          description: >-
            Set all the keys returned in the result object. Properties of private properties (whatsapp, security) can't
            be filtered
          in: query
          required: false
          schema:
            type: string
        - name: correlator
          in: header
          description: Unique identifier of a request to be used as correlator in all systems
          required: false
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Successfully retrieved
          headers:
            correlator:
              description: Correlation id for the different services
              schema:
                type: string
          content:
            application/json:
              schema:
                type: array
                items:
                  oneOf:
                    - $ref: '#/components/schemas/ChannelConfigurationPartial'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
      x-swagger-router-controller: modules
    post:
      tags:
        - Channels
      summary: Adds a new channel
      description: Adds a new complete channelId
      operationId: addChannel
      security:
        - apiKeyHeader: []
      parameters:
        - name: correlator
          in: header
          description: Unique identifier of a request to be used as correlator in all systems
          required: false
          schema:
            type: string
            format: uuid
      requestBody:
        description: Input channelData to add
        required: true
        content:
          application/json:
            schema:
              oneOf:
                - $ref: '#/components/schemas/ChannelConfiguration'
      responses:
        '201':
          description: Successfully gathered
          headers:
            correlator:
              description: Correlation id for the different services
              schema:
                type: string
            location:
              description: URI to access this channel configuration
              schema:
                type: string
                format: url
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '409':
          $ref: '#/components/responses/Conflict'
        '500':
          $ref: '#/components/responses/InternalError'
      x-swagger-router-controller: modules
  /aura-services/v2/configuration/channels/{channelId}/libraries/{libraryId}:
    get:
      tags:
        - Libraries
      summary: Gets a library config
      description: Gets one library config from channel
      operationId: getLibraryById
      security:
        - apiKeyHeader: []
      parameters:
        - name: channelId
          in: path
          description: Unique Aura channel identifier
          required: true
          schema:
            type: string
        - name: libraryId
          in: path
          description: Unique library identifier
          required: true
          schema:
            type: string
        - name: correlator
          in: header
          description: Unique identifier of a request to be used as correlator in all systems
          required: false
          schema:
            type: string
            format: uuid
      responses:
        '200':
          $ref: '#/components/schemas/DialogLibraryConfiguration'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-swagger-router-controller: modules
    put:
      tags:
        - Libraries
      summary: Updates all info associated to one library configuration
      description: Updates complete library configuration
      operationId: updateLibrary
      security:
        - apiKeyHeader: []
      parameters:
        - name: channelId
          in: path
          description: Unique Aura channel identifier
          required: true
          schema:
            type: string
        - name: libraryId
          in: path
          description: Unique library identifier
          required: true
          schema:
            type: string
        - name: correlator
          in: header
          description: Unique identifier of a request to be used as correlator in all systems
          required: false
          schema:
            type: string
            format: uuid
      requestBody:
        description: Input library config to add
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DialogLibraryConfiguration'
      responses:
        '204':
          description: Successfully updated
          headers:
            correlator:
              description: Correlation id for the different services
              schema:
                type: string
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-swagger-router-controller: modules
    delete:
      tags:
        - Libraries
      summary: Deletes a library config
      description: Deletes one libraries from channel
      operationId: deleteLibraryById
      security:
        - apiKeyHeader: []
      parameters:
        - name: channelId
          in: path
          description: Unique Aura channel identifier
          required: true
          schema:
            type: string
        - name: libraryId
          in: path
          description: Unique library identifier
          required: true
          schema:
            type: string
        - name: correlator
          in: header
          description: Unique identifier of a request to be used as correlator in all systems
          required: false
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: Successfully updated
          headers:
            correlator:
              description: Correlation id for the different services
              schema:
                type: string
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-swagger-router-controller: modules
  /aura-services/v2/configuration/channels/{channelId}/libraries:
    post:
      tags:
        - Libraries
      summary: Adds a new library config
      description: Adds a new library config to channelId
      operationId: addLibrary
      security:
        - apiKeyHeader: []
      parameters:
        - name: channelId
          in: path
          description: Unique Aura channel identifier
          required: true
          schema:
            type: string
        - name: correlator
          in: header
          description: Unique identifier of a request to be used as correlator in all systems
          required: false
          schema:
            type: string
            format: uuid
      requestBody:
        description: Input library config to add
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DialogLibraryConfiguration'
      responses:
        '201':
          description: Successfully gathered
          headers:
            correlator:
              description: Correlation id for the different services
              schema:
                type: string
            location:
              description: URI to access this library configuration
              schema:
                type: string
                format: url
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '409':
          $ref: '#/components/responses/Conflict'
        '500':
          $ref: '#/components/responses/InternalError'
      x-swagger-router-controller: modules
    delete:
      tags:
        - Libraries
      summary: Deletes all library configurations
      description: Deletes all libraries from channel
      operationId: deleteLibraries
      security:
        - apiKeyHeader: []
      parameters:
        - name: channelId
          in: path
          description: Unique Aura channel identifier
          required: true
          schema:
            type: string
        - name: correlator
          in: header
          description: Unique identifier of a request to be used as correlator in all systems
          required: false
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: Successfully deleted
          headers:
            correlator:
              description: Correlation id for the different services
              schema:
                type: string
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
      x-swagger-router-controller: modules
  /aura-services/v2/configuration/skills/{skillId}:
    get:
      tags:
        - Skills
      summary: Gets all the info associated to one skill
      description: Returns skill info by skillId
      operationId: getSkillById
      security:
        - apiKeyHeader: []
      parameters:
        - name: skillId
          in: path
          description: Unique Aura skill identifier
          required: true
          schema:
            type: string
        - name: excludeFields
          description: Filters to exclude some keys from the returned object.
          in: query
          required: false
          schema:
            type: string
        - name: includeFields
          description: Set all the keys returned in the result object.
          in: query
          required: false
          schema:
            type: string
        - name: correlator
          in: header
          description: Unique identifier of a request to be used as correlator in all systems
          required: false
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Successfully retrieved
          headers:
            correlator:
              description: Correlation id for the different services
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SkillConfigurationPartial'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-swagger-router-controller: modules
    put:
      tags:
        - Skills
      summary: Updates all the info associated to one skill
      description: Updates all skill info
      operationId: updateSkill
      security:
        - apiKeyHeader: []
      parameters:
        - name: skillId
          in: path
          description: Unique Aura skill identifier
          required: true
          schema:
            type: string
        - name: correlator
          in: header
          description: Unique identifier of a request to be used as correlator in all systems
          required: false
          schema:
            type: string
            format: uuid
      requestBody:
        description: Input skillData to update
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SkillConfiguration'
      responses:
        '204':
          description: Successfully updated
          headers:
            correlator:
              description: Correlation id for the different services
              schema:
                type: string
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-swagger-router-controller: modules
    patch:
      tags:
        - Skills
      summary: Updates some info associated to one skill
      description: Updates some fields of skill info
      operationId: modifySkill
      security:
        - apiKeyHeader: []
      parameters:
        - name: skillId
          in: path
          description: Unique Aura skill identifier
          required: true
          schema:
            type: string
        - name: correlator
          in: header
          description: Unique identifier of a request to be used as correlator in all systems
          required: false
          schema:
            type: string
            format: uuid
      requestBody:
        description: Input skillData to add
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SkillConfigurationPartial'
      responses:
        '204':
          description: Successfully updated
          headers:
            correlator:
              description: Correlation id for the different services
              schema:
                type: string
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-swagger-router-controller: modules
    delete:
      tags:
        - Skills
      summary: Delete one skill
      description: Delete skill info by id
      operationId: deleteSkillById
      security:
        - apiKeyHeader: []
      parameters:
        - name: skillId
          in: path
          description: Unique Aura skill identifier
          required: true
          schema:
            type: string
        - name: correlator
          in: header
          description: Unique identifier of a request to be used as correlator in all systems
          required: false
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: Successfully deleted
          headers:
            correlator:
              description: Correlation id for the different services
              schema:
                type: string
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-swagger-router-controller: modules
  /aura-services/v2/configuration/skills:
    get:
      tags:
        - Skills
      summary: Gets all skills info
      description: Returns skills info
      operationId: getAllSkills
      security:
        - apiKeyHeader: []
      parameters:
        - name: excludeFields
          description: Filters to exclude some keys from the returned object.
          in: query
          required: false
          schema:
            type: string
        - name: includeFields
          description: Set all the keys returned in the result object.
          in: query
          required: false
          schema:
            type: string
        - name: filter
          description: A list of key:value strings, comma separated to filter returned skills.
          in: query
          required: false
          schema:
            type: string
          example: name:aura-bot,appId:334e10b7-e3f2-47d9-81a9-d7d221dbb9a5
        - name: correlator
          in: header
          description: Unique identifier of a request to be used as correlator in all systems
          required: false
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Successfully retrieved
          headers:
            correlator:
              description: Correlation id for the different services
              schema:
                type: string
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SkillConfigurationPartial'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
      x-swagger-router-controller: modules
    post:
      tags:
        - Skills
      summary: Adds a new skill
      description: Adds a new complete skillId
      operationId: addSkill
      security:
        - apiKeyHeader: []
      parameters:
        - name: correlator
          in: header
          description: Unique identifier of a request to be used as correlator in all systems
          required: false
          schema:
            type: string
            format: uuid
      requestBody:
        description: Input skillData to add
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SkillConfiguration'
      responses:
        '201':
          description: Successfully gathered
          headers:
            correlator:
              description: Correlation id for the different services
              schema:
                type: string
            location:
              description: URI to access this skill configuration
              schema:
                type: string
                format: url
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '409':
          $ref: '#/components/responses/Conflict'
        '500':
          $ref: '#/components/responses/InternalError'
      x-swagger-router-controller: modules
  /aura-services/v2/configuration/components/{name}:
    get:
      tags:
        - Components
      summary: Gets component info
      description: Returns component info
      operationId: getComponentByName
      security:
        - apiKeyHeader: []
      parameters:
        - name: name
          in: path
          description: Aura component name identifier
          required: true
          schema:
            type: string
        - name: excludeFields
          description: Filters to exclude some keys from the returned object.
          in: query
          required: false
          schema:
            type: string
        - name: includeFields
          description: Set all the keys returned in the result object.
          in: query
          required: false
          schema:
            type: string
        - name: correlator
          in: header
          description: Unique identifier of a request to be used as correlator in all systems
          required: false
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Successfully retrieved
          headers:
            correlator:
              description: Correlation id for the different services
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComponentConfiguration'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
      x-swagger-router-controller: modules
    delete:
      tags:
        - Components
      summary: Delete one component
      description: Delete component info by name
      operationId: deleteComponentByName
      security:
        - apiKeyHeader: []
      parameters:
        - name: name
          in: path
          description: Aura component name identifier
          required: true
          schema:
            type: string
        - name: correlator
          in: header
          description: Unique identifier of a request to be used as correlator in all systems
          required: false
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: Successfully deleted
          headers:
            correlator:
              description: Correlation id for the different services
              schema:
                type: string
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-swagger-router-controller: modules
  /aura-services/v2/configuration/components:
    get:
      tags:
        - Components
      summary: Gets all components info
      description: Returns components info
      operationId: getComponents
      security:
        - apiKeyHeader: []
      parameters:
        - name: excludeFields
          description: Filters to exclude some keys from the returned object.
          in: query
          required: false
          schema:
            type: string
        - name: includeFields
          description: Set all the keys returned in the result object.
          in: query
          required: false
          schema:
            type: string
        - name: correlator
          in: header
          description: Unique identifier of a request to be used as correlator in all systems
          required: false
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Successfully retrieved
          headers:
            correlator:
              description: Correlation id for the different services
              schema:
                type: string
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ComponentConfiguration'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
      x-swagger-router-controller: modules
    post:
      tags:
        - Components
      summary: Adds components
      description: Adds new components
      operationId: addComponents
      security:
        - apiKeyHeader: []
      parameters:
        - name: correlator
          in: header
          description: Unique identifier of a request to be used as correlator in all systems
          required: false
          schema:
            type: string
            format: uuid
      requestBody:
        description: Input componentData to add
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/ComponentConfigurationPartial'
      responses:
        '201':
          description: Successfully gathered
          headers:
            correlator:
              description: Correlation id for the different services
              schema:
                type: string
            location:
              description: URI to access this component configuration
              schema:
                type: string
                format: url
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '409':
          $ref: '#/components/responses/Conflict'
        '500':
          $ref: '#/components/responses/InternalError'
      x-swagger-router-controller: modules
  /aura-services/v2/configuration/applications/{applicationId}:
    get:
      tags:
        - Applications
      summary: Gets all the info associated to one application
      description: Returns application info by applicatioId
      operationId: getApplicationById
      security:
        - apiKeyHeader: []
      parameters:
        - name: applicationId
          in: path
          description: Unique Aura application identifier
          required: true
          schema:
            type: string
        - name: excludeFields
          description: Filters to exclude some keys from the returned object.
          in: query
          required: false
          schema:
            type: string
        - name: includeFields
          description: Set all the keys returned in the result object.
          in: query
          required: false
          schema:
            type: string
        - name: correlator
          in: header
          description: Unique identifier of a request to be used as correlator in all systems
          required: false
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Successfully retrieved
          headers:
            correlator:
              description: Correlation id for the different services
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationConfigurationPartial'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-swagger-router-controller: modules
    put:
      tags:
        - Applications
      summary: Updates all the info associated to one application
      description: Updates all application info
      operationId: updateApplication
      security:
        - apiKeyHeader: []
      parameters:
        - name: applicationId
          in: path
          description: Unique Aura application identifier
          required: true
          schema:
            type: string
        - name: correlator
          in: header
          description: Unique identifier of a request to be used as correlator in all systems
          required: false
          schema:
            type: string
            format: uuid
      requestBody:
        description: Input applicationData to update
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationConfiguration'
      responses:
        '204':
          description: Successfully updated
          headers:
            correlator:
              description: Correlation id for the different services
              schema:
                type: string
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-swagger-router-controller: modules
    patch:
      tags:
        - Applications
      summary: Updates some info associated to one application
      description: Updates some fields of application info
      operationId: modifyApplication
      security:
        - apiKeyHeader: []
      parameters:
        - name: applicationId
          in: path
          description: Unique Aura application identifier
          required: true
          schema:
            type: string
        - name: correlator
          in: header
          description: Unique identifier of a request to be used as correlator in all systems
          required: false
          schema:
            type: string
            format: uuid
      requestBody:
        description: Input applicationlData to add
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationConfigurationPartial'
      responses:
        '204':
          description: Successfully updated
          headers:
            correlator:
              description: Correlation id for the different services
              schema:
                type: string
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-swagger-router-controller: modules
    delete:
      tags:
        - Applications
      summary: Delete one application
      description: Delete application info by id
      operationId: deleteApplicationById
      security:
        - apiKeyHeader: []
      parameters:
        - name: applicationId
          in: path
          description: Unique Aura application identifier
          required: true
          schema:
            type: string
        - name: correlator
          in: header
          description: Unique identifier of a request to be used as correlator in all systems
          required: false
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: Successfully deleted
          headers:
            correlator:
              description: Correlation id for the different services
              schema:
                type: string
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      x-swagger-router-controller: modules
  /aura-services/v2/configuration/applications:
    get:
      tags:
        - Applications
      summary: Gets all aplications info
      description: Returns application info
      operationId: getAllApplications
      security:
        - apiKeyHeader: []
      parameters:
        - name: excludeFields
          description: Filters to exclude some keys from the returned object.
          in: query
          required: false
          schema:
            type: string
        - name: includeFields
          description: Set all the keys returned in the result object.
          in: query
          required: false
          schema:
            type: string
        - name: filter
          description: A list of key:value strings, comma separated to filter returned applications.
          in: query
          required: false
          schema:
            type: string
          example: name:app
        - name: correlator
          in: header
          description: Unique identifier of a request to be used as correlator in all systems
          required: false
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Successfully retrieved
          headers:
            correlator:
              description: Correlation id for the different services
              schema:
                type: string
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ApplicationConfigurationPartial'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
      x-swagger-router-controller: modules
    post:
      tags:
        - Applications
      summary: Adds a new applications
      description: Adds a new complete applicationId
      operationId: addApplication
      security:
        - apiKeyHeader: []
      parameters:
        - name: correlator
          in: header
          description: Unique identifier of a request to be used as correlator in all systems
          required: false
          schema:
            type: string
            format: uuid
      requestBody:
        description: Input applicationData to add
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationConfiguration'
      responses:
        '201':
          description: Successfully gathered
          headers:
            correlator:
              description: Correlation id for the different services
              schema:
                type: string
            location:
              description: URI to access this application configuration
              schema:
                type: string
                format: url
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '409':
          $ref: '#/components/responses/Conflict'
        '500':
          $ref: '#/components/responses/InternalError'
      x-swagger-router-controller: modules
  /aura-services/v2/configuration/admin/export:
    get:
      tags:
        - admin
      summary: Exports all configurations
      description: Returns all the configurations in json format
      operationId: exportConfig
      security:
        - apiKeyHeader: []
      parameters:
        - name: correlator
          in: header
          description: Unique identifier of a request to be used as correlator in all systems
          required: false
          schema:
            type: string
            format: uuid
        - name: modules
          description: Allows to filter the modules to export
          example: channels
          in: query
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Successfully retrieved
          headers:
            correlator:
              description: Correlation id for the different services
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExportModel'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
      x-swagger-router-controller: modules
  /aura-services/v2/configuration/admin/import:
    post:
      tags:
        - admin
      summary: Imports all configurations
      description: Adds configuration previously exported
      operationId: importConfig
      security:
        - apiKeyHeader: []
      parameters:
        - name: correlator
          in: header
          description: Unique identifier of a request to be used as correlator in all systems
          required: false
          schema:
            type: string
            format: uuid
        - name: modules
          description: Allows to filter the modules to import
          example: channels
          in: query
          required: false
          schema:
            type: string
      requestBody:
        description: Previous exported data
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImportModel'
      responses:
        '200':
          description: Successfully updated
          headers:
            correlator:
              description: Correlation id for the different services
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImportResult'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '409':
          $ref: '#/components/responses/Conflict'
        '500':
          $ref: '#/components/responses/InternalError'
      x-swagger-router-controller: modules
  /healthz:
    get:
      tags:
        - generic
      summary: Healthcheck endpoint to validate if the server is up and running
      description: Healthcheck enpoint to validate if the server is up and running
      operationId: healthz
      responses:
        '200':
          description: Successfully retrieved
        '500':
          $ref: '#/components/responses/InternalError'
      x-swagger-router-controller: generic
  /metrics:
    get:
      tags:
        - generic
      description: Metrics of file manager.
      operationId: metrics
      responses:
        '200':
          description: metrics
          content:
            string:
              schema:
                $ref: '#/components/schemas/MetricsMessage'
      x-swagger-router-controller: generic
  /heapStatistics:
    get:
      tags:
        - generic
      description: heap usage statistics.
      operationId: heapStatistics
      responses:
        '200':
          description: Heap statistics
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HeapStatisticsResponse'
      x-swagger-router-controller: generic
  /heapSnapshots:
    get:
      tags:
        - generic
      description: Generate heap snapshot.
      operationId: heapSnapshots
      x-swagger-router-controller: generic
      responses:
        '200':
          description: Heap snapshots generated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HeapSnapshotsResponse'
  /shutdown:
    get:
      tags:
        - generic
      description: Wait untill shutdown (kubernetes lifecycle).
      operationId: shutdown
      responses:
        '200':
          description: Shutdown response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ShutdownResponse'
      x-swagger-router-controller: generic
components:
  responses:
    InvalidRequest:
      description: Incoming HTTP request format is not valid
      headers:
        correlator:
          description: Correlation id for the different services
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AuraError'
    Unauthorized:
      description: Incoming HTTP request authorization is not valid
      headers:
        correlator:
          description: Correlation id for the different services
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AuraError'
    Conflict:
      description: The request could not be completed due to a conflict with the current state of the target resource.
      headers:
        correlator:
          description: Correlation id for the different services
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AuraError'
    TooManyRequests:
      description: The user has sent too many requests in a given amount of time
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AuraError'
    InternalError:
      description: Unexpected internal error
      headers:
        correlator:
          description: Correlation id for the different services
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AuraError'
    NotFound:
      description: Request resource not found
      headers:
        correlator:
          description: Correlation id for the different services
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AuraError'
  securitySchemes:
    apiKeyHeader:
      type: apiKey
      name: Authorization
      in: header
  schemas:
    ChannelConfigurationPartial:
      type: object
      required:
        - id
      additionalProperties: false
      properties:
        auraBotCacheTTL:
          type: number
        id:
          type: string
          format: uuid
          description: Contains the UUID that identifies the channel univocally in Aura.
        brand:
          type: string
          description: Contains the brand identifier that the channel is associated with.
        contact:
          type: string
          description: Contains the contact identifier that the channel is associated with.
        dialogLibraries:
          type: array
          items:
            $ref: '#/components/schemas/DialogLibraryConfiguration'
        name:
          type: string
        nlp:
          $ref: '#/components/schemas/NlpConfig'
        actions:
          $ref: '#/components/schemas/ChannelActions'
        atria:
          $ref: '#/components/schemas/AtriaChannelConfiguration'
        prefix:
          type: string
        requestOptions:
          $ref: '#/components/schemas/RequestOptionsModel'
        responseOptions:
          $ref: '#/components/schemas/ResponseOptions'
        security:
          $ref: '#/components/schemas/Security'
        whatsapp:
          $ref: '#/components/schemas/WhatsAppModel'
        rcs:
          $ref: '#/components/schemas/RcsModel'
        type:
          $ref: '#/components/schemas/BridgeType'
        versionsConfig:
          $ref: '#/components/schemas/VersionsConfig'
        metadata:
          $ref: '#/components/schemas/DocumentMetadata'
      example:
        auraBotCacheTTL: 1
        id: string
        name: string
        brand: string
        contact: string
        prefix: string
        security:
          anonymous: anonymous
          allowUserProfile: true
          channelId: string
          authPurposes: string
          authScopes: string
          federatedAuthentication:
            loginUrl: string
            auraIdSeparator: string
            loginCallback:
              method: string
              integrated: true
              endpoint: string
              queryParams: string
              headers:
                - string
              body: string
            logoutCallback:
              method: string
              integrated: true
              endpoint: string
              queryParams: string
              headers:
                - string
              body: string
          termsAndConditions:
            authenticated:
              version: string
              service: string
            anonymous:
              version: string
              service: string
        nlp:
          enabled: true
          stages:
            - stage1
            - stage2
        whatsapp:
          client:
            id: string
            secret: string
            purposes: string
            scopes: string
          phone1: string
          type: whatsapp
        actions:
          afterLogin:
            action: string
            type: string
            data: {}
          thirdPartyApp:
            action: string
            type: string
            data: {}
            contentType: string
        requestOptions:
          fileAttachments:
            enabled: true
            enabledExtensions:
              - string
            customProactiveDialogId: string
            validations:
              pdf:
                size:
                  min: 1
                  max: 1
          requestOptionsVersion:
            '1':
              channel: string
          agentContextEnrichment:
            enabled: true
        responseOptions:
          dialogContext:
            disabled: true
            disabledMerge: true
            normalizeTerms: true
            defaultListType: none
            promptChoice:
              generate: never
              generateList: true
            cardActions:
              generate: never
              generateList: true
            returnToClient: true
            processFromClient: true
          versions:
            v1:
              batchMessages: true
              singleMessage: true
          needsEmptyResponseEvent: true
          outputMessageFormat: custom
          sendSpeak: true
          disambiguationFormat: disabled
        dialogLibraries:
          - name: string
            authorization:
              scopes: string
              purposes: string
              string: string
            dialogs:
              - id: string
                triggerConditions:
                  - contextFilters:
                      - conditions: string
                        name: string
                        type: string
                        'false':
                          breakDialogExecution: true
                          breakFilterEval: true
                          name: string
                          resource: string
                          suggestions: true
                          removeBypass: false
                          redirectToIntent: string
                          originalIntent: string
                        'true':
                          breakDialogExecution: true
                          breakFilterEval: true
                          name: string
                          resource: string
                          removeBypass: true
                          suggestions: true
                          redirectToIntent: string
                          originalIntent: string
                    intent: string
                    entity: string
                    settings:
                      type: string
                      action: string
                      locales:
                        success:
                          - string
                        error:
                          - string
                      payload: {}
                      addEntitiesToPayload: true
                      needPlayingContent: true
                      sound: positive
                      needTvResolution: true
                      confirmSuggestion: true
                      resolutionIntent: string
                      resolutionEntities:
                        - {}
                      payloadType: tv
                      isFullscreen: true
                channelDataVersion: string
                prefix: string
                suggestions: true
                allowAnonymous: true
                authorization:
                  scopes: string
                  purposes: string
                  string: string
    ChannelConfiguration:
      type: object
      allOf:
        - $ref: '#/components/schemas/ChannelConfigurationPartial'
        - required:
            - brand
            - contact
            - name
            - prefix
            - nlp
    ChannelAuthentication:
      type: object
      required:
        - anonymous
      additionalProperties: false
      properties:
        anonymous:
          type: string
          enum:
            - anonymous
            - identifiable
      description: Set of settings needed to define the authentication of the channel.
    DialogLibraryConfiguration:
      type: object
      required:
        - name
        - dialogs
      additionalProperties: false
      properties:
        name:
          type: string
        dialogs:
          type: array
          items:
            $ref: '#/components/schemas/DialogConfiguration'
        authorization:
          $ref: '#/components/schemas/AuthorizationConfiguration'
    AtriaApplication:
      type: object
      required:
        - id
        - preset
      additionalProperties: false
      properties:
        id:
          type: string
        preset:
          type: string
    Bypass:
      type: object
      additionalProperties: false
      properties:
        duration:
          description: Time in seconds that the bypass will be valid.
          type: number
        payloadName:
          description: Name property to store data, Bypass.[payloadName].
          type: string
        initialData:
          description: Initial data to store in the bypass. Bypass.data.
          type: object
        recognizersEnabled:
          description: Enable recognizers for bypass.
          type: boolean
        recognizersBreakIntents:
          description: Break intents to replace dialog
          type: object
    DialogConfiguration:
      type: object
      required:
        - id
        - triggerConditions
      additionalProperties: false
      properties:
        id:
          type: string
        triggerConditions:
          type: array
          items:
            $ref: '#/components/schemas/TriggerCondition'
        channelDataVersion:
          type: string
        prefix:
          type: string
        suggestions:
          type: boolean
        allowAnonymous:
          type: boolean
        authorization:
          $ref: '#/components/schemas/AuthorizationConfiguration'
        bypass:
          $ref: '#/components/schemas/Bypass'
        atriaApplication:
          $ref: '#/components/schemas/AtriaApplication'
    DocumentMetadata:
      type: object
      description: Metadata for configuration-api docs
      properties:
        version:
          type: string
          description: configuration-api version when document was created
        createdAt:
          type: string
          description: creation date
          format: date-time
        updatedAt:
          type: string
          description: Date when the content was updated
          format: date-time
      additionalProperties: true
    AuthorizationConfiguration:
      type: object
      additionalProperties: false
      properties:
        scopes:
          type: string
        purposes:
          type: string
    TriggerCondition:
      type: object
      required:
        - intent
      properties:
        contextFilters:
          type: array
          items:
            $ref: '#/components/schemas/ContextFilterConfiguration'
        intent:
          type: string
        entity:
          type: string
        settings:
          $ref: '#/components/schemas/IntentSettings'
    ContextFilterConfiguration:
      type: object
      required:
        - conditions
        - name
        - type
      properties:
        conditions:
          type: string
        name:
          type: string
        type:
          type: string
        'true':
          $ref: '#/components/schemas/ContextFilterActionConfiguration'
        'false':
          $ref: '#/components/schemas/ContextFilterActionConfiguration'
    ContextFilterActionConfiguration:
      type: object
      required:
        - breakDialogExecution
        - breakFilterEval
        - name
      properties:
        breakDialogExecution:
          type: boolean
        breakFilterEval:
          type: boolean
        name:
          type: string
        resource:
          type: string
        suggestions:
          type: boolean
        redirectToIntent:
          type: string
        originalIntent:
          type: string
        removeBypass:
          type: boolean
    IntentSettings:
      type: object
      properties:
        type:
          type: string
        action:
          type: string
        actions:
          type: array
          items:
            $ref: '#/components/schemas/ActionConfig'
        locales:
          $ref: '#/components/schemas/IntentSettingsLocales'
        payload:
          type: object
        addEntitiesToPayload:
          type: boolean
        needPlayingContent:
          type: boolean
        sound:
          type: string
          enum:
            - positive
            - negative
            - none
        enableAIResolution:
          description: Enable AI resolution for this intent.
          type: boolean
        needTvResolution:
          type: boolean
        confirmSuggestion:
          type: boolean
        resolutionIntent:
          type: string
        resolutionEntities:
          type: array
          items:
            type: object
        payloadType:
          type: string
          enum:
            - tv
            - communications
            - wifi
            - radio
        isFullscreen:
          type: boolean
        swapEntityCanonValue:
          type: array
          items:
            type: string
        indexedResourceBase:
          type: string
        functions:
          type: object
          properties:
            params:
              type: array
              items:
                type: string
            algorithm:
              type: string
        suggestions:
          type: boolean
    VersionsConfigElementError:
      type: object
      additionalProperties: false
      required:
        - actions
      properties:
        actions:
          $ref: '#/components/schemas/ActionsArray'
    ActionsArray:
      type: array
      items:
        $ref: '#/components/schemas/ActionConfig'
    ActionConfig:
      type: object
      required:
        - name
      properties:
        name:
          type: string
        target:
          type: string
        params:
          type: object
        postBack:
          type: object
    IntentSettingsLocales:
      type: object
      properties:
        success:
          type: array
          items:
            type: string
        error:
          type: array
          items:
            type: string
    Security:
      type: object
      additionalProperties: false
      properties:
        anonymous:
          type: string
          enum:
            - anonymous
            - identifiable
        anonymousSettings:
          type: object
          additionalProperties: false
          properties:
            enableUserProfile:
              type: boolean
              description: Specify if anonymous users require a user profile request.
            checkPromptedNumber:
              type: boolean
              description: Specify if it is allowed that the user prompt a phone number that must be be checked after.
          description: Settings to be used on anonymous users.
        allowUserProfile:
          type: boolean
        channelId:
          type: string
        authScopes:
          type: string
        authPurposes:
          type: string
        federatedAuthentication:
          $ref: '#/components/schemas/FederatedAuthentication'
        termsAndConditions:
          $ref: '#/components/schemas/TermsAndConditionsConfiguration'
        authorizationIdExpiration:
          type: number
          description: Time in seconds that the authorization id will be valid.
    FederatedAuthentication:
      type: object
      additionalProperties: false
      properties:
        loginUrl:
          type: string
        auraIdSeparator:
          type: string
        loginCallback:
          $ref: '#/components/schemas/AuthenticationCallback'
        logoutCallback:
          $ref: '#/components/schemas/AuthenticationCallback'
    AuthenticationCallback:
      type: object
      additionalProperties: true
      properties:
        method:
          type: string
        integrated:
          type: boolean
        endpoint:
          type: string
        queryParams:
          type: string
        headers:
          type: array
          items:
            type: string
        body:
          type: string
    NlpConfig:
      description: Set of settings needed to handle any trainings handled by NLP.
      type: object
      required:
        - enabled
      additionalProperties: false
      properties:
        enabled:
          type: boolean
        stages:
          type: array
          items:
            type: string
    TermsAndConditionsConfiguration:
      type: object
      additionalProperties: false
      properties:
        authenticated:
          $ref: '#/components/schemas/TermsAndConditionsModel'
        anonymous:
          $ref: '#/components/schemas/TermsAndConditionsModel'
      description: TermsAndConditionsConfiguration | Set of settings needed to activate terms and conditions in the channel.
    TermsAndConditionsModel:
      type: object
      required:
        - version
        - service
      additionalProperties: false
      properties:
        version:
          type: string
        service:
          type: string
    WhatsAppModel:
      type: object
      additionalProperties: false
      properties:
        client:
          $ref: '#/components/schemas/FPClientModel'
        phoneNumber:
          type: string
        listOptions:
          $ref: '#/components/schemas/ListOptions'
      description: Set of settings needed to handle whatsapps correctly in the channel.
    RcsModel:
      type: object
      required:
        - email
        - privateKey
        - clientToken
        - agentId
      properties:
        email:
          description: Email of the RBM account.
          type: string
        privateKey:
          description: Key generated in the RBM account settings.
          type: string
        clientToken:
          description: Token set in the webhook configuration section of the agent.
          type: string
        agentId:
          description: Id of the agent. Can be found in the agent description of the RBM console.
          type: string
      description: Set of settings needed to handle RCS requests.
    BridgeType:
      title: BridgeType
      type: string
      enum:
        - whatsapp
        - auraline
        - rcs
    FPClientModel:
      type: object
      required:
        - id
        - secret
      additionalProperties: false
      properties:
        id:
          type: string
        secret:
          type: string
        purposes:
          type: string
        scopes:
          type: string
        version:
          type: string
    ListOptions:
      type: object
      additionalProperties: false
      properties:
        type:
          $ref: '#/components/schemas/ListOptionsType'
        rules:
          type: array
          items:
            $ref: '#/components/schemas/ListOptionsRule'
    ListOptionsRule:
      type: object
      required:
        - type
        - resources
      additionalProperties: false
      properties:
        type:
          $ref: '#/components/schemas/ListOptionsType'
        resources:
          type: array
          items:
            $ref: '#/components/schemas/ListOptionsResource'
    ListOptionsType:
      type: string
      enum:
        - button
        - enumeratedList
        - list
    ListOptionsResource:
      type: object
      required:
        - name
        - resourceKey
      additionalProperties: false
      properties:
        name:
          type: string
        resourceKey:
          type: string
    ChannelActions:
      type: object
      additionalProperties: false
      properties:
        afterLogin:
          $ref: '#/components/schemas/ActionAfterLogin'
        thirdPartyApp:
          $ref: '#/components/schemas/ActionThirdParty'
      description: List of configuration for different actions sent by bort.
    ActionAfterLogin:
      type: object
      additionalProperties: false
      properties:
        action:
          type: string
        type:
          type: string
        data:
          type: object
    ActionThirdParty:
      type: object
      additionalProperties: false
      properties:
        action:
          type: string
        type:
          type: string
        data:
          type: object
        contentType:
          type: string
    OutputMessageFormat:
      type: string
      enum:
        - custom
        - enrich
        - html5
        - simple
        - voice
      description: >-
        Define the type of message supported by the channel. Possible values `simple`, `enrich`, `voice`, `custom`,
        `html5`.
    ResponseOptions:
      type: object
      additionalProperties: false
      description: Set channel response options
      properties:
        dialogContext:
          $ref: '#/components/schemas/DialogContextConfig'
        versions:
          $ref: '#/components/schemas/VersionsConfig'
        needsEmptyResponseEvent:
          type: boolean
        outputMessageFormat:
          $ref: '#/components/schemas/OutputMessageFormat'
        sendSpeak:
          type: boolean
        disambiguationFormat:
          type: string
          enum:
            - disabled
            - prompts
            - suggestions
        textConvert:
          type: boolean
        suggestionType:
          $ref: '#/components/schemas/SuggestionType'
        suggestionsNumber:
          type: number
          description: Indicates the number of suggestions to be returned in a message. Only applies to channelData version three.
        callbackOptions:
          $ref: '#/components/schemas/CallbackOptions'
    CallbackOptions:
      type: object
      required:
        - url
      additionalProperties: false
      properties:
        url:
          type: string
        headers:
          type: object
          required:
            - authorization
          properties:
            authorization:
              type: string
        refreshOptions:
          description: Properties needed to refresh tokens
          type: object
          properties:
            refreshToken:
              type: string
            expiresAt:
              description: Expiration date of authorization token in Date ISO 8601 format
              type: string
            refreshTokenUrl:
              type: string
            clientId:
              type: string
            clientSecret:
              type: string
            redirectUri:
              type: string
    SuggestionType:
      type: string
      enum:
        - actions
        - attachment
        - activity
    DialogContextConfig:
      type: object
      additionalProperties: false
      properties:
        disabled:
          type: boolean
        disabledMerge:
          type: boolean
        normalizeTerms:
          type: boolean
        defaultListType:
          type: string
          enum:
            - none
            - ordinalCardinal
            - ordinal
            - cardinal
        promptChoice:
          $ref: '#/components/schemas/DialogContextGenerate'
        cardActions:
          $ref: '#/components/schemas/DialogContextGenerate'
        returnToClient:
          type: boolean
        processFromClient:
          type: boolean
    RequestOptionsVersion:
      description: Set of settings depending on the version.
      type: object
      additionalProperties: true
      properties:
        '1':
          $ref: '#/components/schemas/RequestOptionsVersionModel'
    RequestOptionsVersionModel:
      type: object
      additionalProperties: false
      properties:
        channel:
          $ref: '#/components/schemas/RequestOptionsVersionChannel'
    RequestOptionsVersionChannel:
      type: string
      enum:
        - directline
        - facebook
        - bridge
    VersionsConfig:
      type: object
      additionalProperties: true
      properties:
        v0:
          $ref: '#/components/schemas/VersionsConfigElement'
        v1:
          $ref: '#/components/schemas/VersionsConfigElement'
        v2:
          $ref: '#/components/schemas/VersionsConfigElement'
        v3:
          $ref: '#/components/schemas/VersionsConfigElement'
    VersionsConfigElement:
      type: object
      description: Specific configuration for each channelData version
      additionalProperties: true
      properties:
        batchMessages:
          type: boolean
          description: Flag to indicate if messages should be sent in batch mode
        singleMessage:
          type: boolean
          description: Flag to indicate if messages should be sent in single message mode
        defaultDirectlineVersion:
          type: boolean
          description: >-
            Flag to indicate if messages should be sent in this version between bridge and bot. Only one version can be
            set as default
        error:
          $ref: '#/components/schemas/VersionsConfigElementError'
    DialogContextGenerate:
      type: object
      additionalProperties: false
      properties:
        generateList:
          type: boolean
        generate:
          type: string
          enum:
            - never
            - always
            - custom
    RequestOptionsModel:
      description: Set of settings related to requests.
      type: object
      additionalProperties: false
      properties:
        fileAttachments:
          $ref: '#/components/schemas/FileAttachmentsModel'
        defaultIntentByAttachment:
          type: object
          additionalProperties:
            type: string
        requestOptionsVersion:
          $ref: '#/components/schemas/RequestOptionsVersion'
        agentContextEnrichment:
          $ref: '#/components/schemas/AgentContextEnrichmentOptions'
    AgentContextEnrichmentOptions:
      description: Settings to enrich the user context before routing messages to agents.
      type: object
      additionalProperties: false
      properties:
        enabled:
          type: boolean
          default: false
    AtriaChannelConfiguration:
      description: Atria configs by dialogs or recognizers.
      type: object
      properties:
        dialogs:
          $ref: '#/components/schemas/AtriaDialogConfiguration'
        recognizers:
          $ref: '#/components/schemas/AtriaRecognizerConfiguration'
      minProperties: 1
      additionalProperties: false
    AtriaIntentConfiguration:
      description: Atria configuration by intent.
      type: object
      properties:
        applicationId:
          type: string
        presetId:
          type: string
    AtriaRecognizerIntentConfiguration:
      description: Atria configuration by recognizer.
      type: object
      allOf:
        - $ref: '#/components/schemas/AtriaIntentConfiguration'
      properties:
        filtersUserId:
          type: array
          items:
            type: string
    AtriaDialogConfiguration:
      description: Atria configuration for dialog.
      type: object
      additionalProperties:
        $ref: '#/components/schemas/AtriaIntentConfiguration'
    AtriaRecognizerConfiguration:
      description: Atria configuration for recognizer.
      type: object
      additionalProperties:
        $ref: '#/components/schemas/AtriaRecognizerIntentConfiguration'
    FileAttachmentsModel:
      type: object
      required:
        - enabled
      additionalProperties: false
      properties:
        enabled:
          type: boolean
        enabledExtensions:
          type: array
          items:
            type: string
        customProactiveDialogId:
          type: string
        validations:
          type: object
    Validation:
      type: object
      required:
        - size
      additionalProperties: false
      properties:
        size:
          $ref: '#/components/schemas/ValidationSize'
    ValidationSize:
      type: object
      additionalProperties: false
      properties:
        min:
          type: number
        max:
          type: number
    AuraError:
      type: object
      description: Error response
      properties:
        code:
          type: string
          description: Unique id of the error
        message:
          type: string
          description: Specific and descriptive text of the error
        errors:
          description: With validation error. Swagger error information
          type: array
          items:
            type: object
    MetricsMessage:
      type: object
    HeapStatisticsResponse:
      type: object
      properties:
        total_heap_size:
          type: number
          description: Total heap size
        total_heap_size_executable:
          type: number
          description: Total heap size executable
        total_physical_size:
          type: number
          description: Total physical size
        total_available_size:
          type: number
          description: Total available size
        used_heap_size:
          type: number
          description: Used heap size
        heap_size_limit:
          type: number
          description: Heap size limit
        malloced_memory:
          type: number
          description: Malloced memory
        peak_malloced_memory:
          type: number
          description: Peak malloced memory
        does_zap_garbage:
          type: number
          description: Does zap garbage
        number_of_native_contexts:
          type: number
          description: Number of native contexts
        number_of_detached_contexts:
          type: number
          description: Number of detached contexts
    HeapSnapshotsResponse:
      type: object
      properties:
        status:
          type: string
          description: Snapshots creations and upload status
        description:
          type: string
          description: Status description
    ShutdownResponse:
      type: object
      properties:
        status:
          type: string
          description: shutdown status
    ExportMetadata:
      type: object
      required:
        - date
        - apiVersion
        - version
      properties:
        date:
          type: string
        apiVersion:
          type: string
        version:
          type: string
    ExportModel:
      type: object
      required:
        - metadata
        - data
      properties:
        metadata:
          $ref: '#/components/schemas/ExportMetadata'
        data:
          type: object
          properties:
            channels:
              type: array
              items:
                $ref: '#/components/schemas/ChannelConfiguration'
              description: List of channel configuration export
    ImportModel:
      type: object
      required:
        - metadata
        - data
      properties:
        metadata:
          $ref: '#/components/schemas/ExportMetadata'
        data:
          type: object
          properties:
            channels:
              type: array
              items:
                type: object
    ImportResult:
      type: object
      description: Information with import process result
      properties:
        version:
          type: string
          description: Version to which the import has been made
        fromVersion:
          type: string
          description: Original import version
        modules:
          type: array
          items:
            $ref: '#/components/schemas/ImportModuleResult'
          description: Contains an array of `ImportModuleResult` with the result of the import of each module.
        status:
          $ref: '#/components/schemas/ProcessStatus'
      required:
        - version
        - fromVersion
        - modules
        - status
    ImportModuleResult:
      description: Information with module import process result
      type: object
      properties:
        name:
          type: string
          description: Module name
        patches:
          $ref: '#/components/schemas/ImportPatches'
        result:
          $ref: '#/components/schemas/ProcessResult'
      required:
        - name
        - result
    ImportPatches:
      description: Patches information
      type: object
      properties:
        applied:
          type: array
          description: List of patches applied
          items:
            type: string
      required:
        - applied
    ProcessResult:
      description: Information with process result
      type: object
      properties:
        status:
          $ref: '#/components/schemas/ProcessStatus'
        description:
          type: string
          description: Module name
        errors:
          type: array
          description: List of errors
          items:
            type: string
      required:
        - status
    ProcessStatus:
      description: Status with the overall result of the import process. If any module fails the result will be "Error".
      type: string
      enum:
        - Ok
        - Error
    SkillConfigurationPartial:
      type: object
      required:
        - id
      additionalProperties: false
      properties:
        appId:
          type: string
        disabled:
          type: boolean
          default: false
        id:
          type: string
        external:
          type: boolean
          default: false
        channels:
          type: array
          items:
            type: string
        name:
          type: string
        skillEndpoint:
          type: string
        metadata:
          $ref: '#/components/schemas/DocumentMetadata'
    SkillConfiguration:
      type: object
      allOf:
        - $ref: '#/components/schemas/SkillConfigurationPartial'
        - required:
            - id
            - name
            - appId
            - skillEndpoint
            - channels
    ApplicationConfigurationPartial:
      type: object
      required:
        - id
      description: Partial configuration of the application.
      additionalProperties: false
      properties:
        disabled:
          type: boolean
          default: false
        id:
          type: string
          description: Application identifier
        name:
          type: string
          description: Application name
        brand:
          type: string
          description: Brand associated to the application
        nlp:
          $ref: '#/components/schemas/NlpConfiguration'
        models:
          $ref: '#/components/schemas/ModelsConfiguration'
        metadata:
          $ref: '#/components/schemas/DocumentMetadata'
        agents:
          type: array
          items:
            type: string
    ApplicationConfiguration:
      allOf:
        - $ref: '#/components/schemas/ApplicationConfigurationPartial'
        - required:
            - brand
            - id
            - name
      anyOf:
        - required:
            - models
        - required:
            - nlp
        - required:
            - agents
    NlpConfiguration:
      type: object
      required:
        - channelId
      additionalProperties: false
      properties:
        channelId:
          type: string
    ComponentConfiguration:
      allOf:
        - $ref: '#/components/schemas/ComponentConfigurationPartial'
        - required:
            - id
            - name
        - type: object
          additionalProperties: false
          properties:
            id:
              type: string
            metadata:
              $ref: '#/components/schemas/DocumentMetadata'
    ComponentConfigurationPartial:
      type: object
      required:
        - name
      additionalProperties: false
      properties:
        name:
          type: string
    ModelsConfiguration:
      type: object
      required:
        - presets
      additionalProperties: false
      properties:
        level:
          description: Indicates the level of the application in the atria model gateway
          type: string
          default: user
          enum:
            - fail
            - base
            - user
            - updater
            - creator
            - admin
        presets:
          description: List of presets that can be used by an application
          type: array
          items:
            type: string
          minItems: 1
