Genesys Agent Copilot API

Manage agent copilot configuration.

OpenAPI Specification

genesys-agent-copilot-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  description: With the PureCloud Platform API, you can control all aspects of your PureCloud environment. With the APIs you can access the system configuration, manage conversations and more.
  version: v2
  title: PureCloud Platform Agent Assistants Agent Copilot API
  termsOfService: https://help.genesys.cloud/articles/terms-and-conditions/
  contact:
    name: PureCloud Developer Evangelists
    url: https://developer.genesys.cloud/
    email: DeveloperEvangelists@genesys.com
  license:
    name: UNLICENSED
    url: https://help.genesys.cloud/articles/terms-and-conditions/
host: api.mypurecloud.com
schemes:
- https
consumes:
- application/json
produces:
- application/json
tags:
- name: Agent Copilot
  description: Manage agent copilot configuration.
paths:
  /api/v2/assistants/{assistantId}/copilot:
    get:
      tags:
      - Agent Copilot
      summary: Get copilot configuration of an assistant.
      description: ''
      operationId: getAssistantCopilot
      produces:
      - application/json
      parameters:
      - name: assistantId
        in: path
        description: Assistant ID
        required: true
        type: string
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/Copilot'
        '400':
          description: The request could not be understood by the server due to malformed syntax.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            bad.request: The request could not be understood by the server due to malformed syntax.
            response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable
            invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ'
            invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s'
            invalid.property: Value [%s] is not a valid property for object [%s]
            constraint.validation: '%s'
            invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s'
        '401':
          description: No authentication bearer token specified in authorization header.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            authentication.required: No authentication bearer token specified in authorization header.
            ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]'
            bad.credentials: Invalid login credentials.
        '403':
          description: You are not authorized to perform the requested action.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s).
            app.not.authorized.for.scope: App not authorized to use scope %s
            missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s'
            not.authorized: You are not authorized to perform the requested action.
            missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s'
            authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]'
            missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s'
        '404':
          description: The requested resource was not found.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            not.found: The requested resource was not found.
        '408':
          description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
        '409':
          description: The request conflicts with the current state of the target resource.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            request.conflict: The request conflicts with the current state of the target resource.
        '413':
          description: 'The request is over the size limit. Maximum bytes: %s'
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s'
        '415':
          description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
        '429':
          description: Rate limit exceeded the maximum. Retry the request in [%s] seconds
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds
            too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds
        '500':
          description: The server encountered an unexpected condition which prevented it from fulfilling the request.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request.
        '503':
          description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
        '504':
          description: The request timed out.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            authentication.request.timeout: Authentication request timeout.
            request.timeout: The request timed out.
      security:
      - PureCloud OAuth:
        - assistants
        - assistants:readonly
      x-inin-requires-permissions:
        type: ALL
        permissions:
        - assistants:copilot:view
      x-purecloud-method-name: getAssistantCopilot
    put:
      tags:
      - Agent Copilot
      summary: Update agent copilot configuration
      description: ''
      operationId: putAssistantCopilot
      produces:
      - application/json
      parameters:
      - name: assistantId
        in: path
        description: Assistant ID
        required: true
        type: string
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/Copilot'
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/Copilot'
        '400':
          description: The request could not be understood by the server due to malformed syntax.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            bad.request: The request could not be understood by the server due to malformed syntax.
            response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable
            invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ'
            invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s'
            client.failed.request: The client did not produce a request with valid end of stream signaling. This can be caused by poor network connection and/or client behavior.
            invalid.property: Value [%s] is not a valid property for object [%s]
            constraint.validation: '%s'
            invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s'
        '401':
          description: No authentication bearer token specified in authorization header.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            authentication.required: No authentication bearer token specified in authorization header.
            ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]'
            bad.credentials: Invalid login credentials.
        '403':
          description: You are not authorized to perform the requested action.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s).
            app.not.authorized.for.scope: App not authorized to use scope %s
            missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s'
            not.authorized: You are not authorized to perform the requested action.
            missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s'
            authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]'
            missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s'
        '404':
          description: The requested resource was not found.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            not.found: The requested resource was not found.
        '408':
          description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
        '409':
          description: The request conflicts with the current state of the target resource.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            request.conflict: The request conflicts with the current state of the target resource.
        '413':
          description: 'The request is over the size limit. Maximum bytes: %s'
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s'
        '415':
          description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
        '429':
          description: Rate limit exceeded the maximum. Retry the request in [%s] seconds
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds
            too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds
        '500':
          description: The server encountered an unexpected condition which prevented it from fulfilling the request.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request.
        '503':
          description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
        '504':
          description: The request timed out.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            authentication.request.timeout: Authentication request timeout.
            request.timeout: The request timed out.
      security:
      - PureCloud OAuth:
        - assistants
      x-inin-requires-permissions:
        type: ALL
        permissions:
        - assistants:copilot:edit
      x-purecloud-method-name: putAssistantCopilot
  /api/v2/assistants/copilot/featuresupport:
    get:
      tags:
      - Agent Copilot
      summary: Get information about the support of features for all the languages or only for a certain language.
      description: ''
      operationId: getAssistantsCopilotFeaturesupport
      produces:
      - application/json
      parameters:
      - name: language
        in: query
        description: Which language are the features supported for
        required: false
        type: string
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/LanguageSupportResponse'
        '400':
          description: The request could not be understood by the server due to malformed syntax.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            bad.request: The request could not be understood by the server due to malformed syntax.
            response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable
            invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ'
            invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s'
            invalid.property: Value [%s] is not a valid property for object [%s]
            constraint.validation: '%s'
            invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s'
        '401':
          description: No authentication bearer token specified in authorization header.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            authentication.required: No authentication bearer token specified in authorization header.
            ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]'
            bad.credentials: Invalid login credentials.
        '403':
          description: You are not authorized to perform the requested action.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s).
            app.not.authorized.for.scope: App not authorized to use scope %s
            missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s'
            not.authorized: You are not authorized to perform the requested action.
            missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s'
            authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]'
            missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s'
        '404':
          description: The requested resource was not found.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            not.found: The requested resource was not found.
        '408':
          description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
        '409':
          description: The request conflicts with the current state of the target resource.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            request.conflict: The request conflicts with the current state of the target resource.
        '413':
          description: 'The request is over the size limit. Maximum bytes: %s'
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s'
        '415':
          description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
        '429':
          description: Rate limit exceeded the maximum. Retry the request in [%s] seconds
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds
            too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds
        '500':
          description: The server encountered an unexpected condition which prevented it from fulfilling the request.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request.
        '503':
          description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
        '504':
          description: The request timed out.
          schema:
            $ref: '#/definitions/ErrorBody'
          x-inin-error-codes:
            authentication.request.timeout: Authentication request timeout.
            request.timeout: The request timed out.
      security:
      - PureCloud OAuth:
        - assistants
        - assistants:readonly
      x-inin-requires-permissions:
        type: ALL
        permissions:
        - assistants:copilot:view
      x-purecloud-method-name: getAssistantsCopilotFeaturesupport
definitions:
  CopilotFallbackAction:
    type: object
    required:
    - actionType
    properties:
      actionType:
        type: string
        description: Type of action.
        enum:
        - KnowledgeArticle
        - CannedResponse
        - Script
        - KnowledgeSearch
        - ThirdPartyAction
      attributes:
        type: object
        description: Action specific attributes, if any. Maximum 100 of string key-value pair allowed.
        additionalProperties:
          type: string
  RuleEngineConfig:
    type: object
    required:
    - rules
    properties:
      rules:
        type: array
        description: List of rules to evaluate by the engine.
        items:
          $ref: '#/definitions/RuleConfig'
      fallback:
        description: Fallback configuration.
        $ref: '#/definitions/Fallback'
  LanguageSupportInfoRecord:
    type: object
    properties:
      language:
        type: string
        description: Language of the copilot, e.g. 'en-US'.
        readOnly: true
      featureSupport:
        type: array
        description: Information about the support of features.
        readOnly: true
        items:
          $ref: '#/definitions/FeatureSupport'
  CopilotNluDomainVersion:
    type: object
    required:
    - id
    properties:
      id:
        type: string
        description: Id of the NLU v3 domain version.
      selfUri:
        type: string
        format: uri
        description: The URI for this object
        readOnly: true
  Fallback:
    type: object
    properties:
      enabled:
        type: boolean
        description: Fallback actions are enabled.
      actions:
        type: array
        description: Fallback actions.
        items:
          $ref: '#/definitions/CopilotFallbackAction'
  AutoSearchConfig:
    type: object
    properties:
      type:
        type: string
        description: Auto search configuration type.
        enum:
        - ArticlesOnly
        - ArticlesWithAnswerHighlights
        - AnswerGeneration
  KnowledgeAnswerConfig:
    type: object
    required:
    - enabled
    properties:
      enabled:
        type: boolean
        description: Knowledge answer is enabled.
  CopilotCondition:
    type: object
    required:
    - conditionType
    - conditionValues
    properties:
      conditionType:
        type: string
        description: Type of condition.
        enum:
        - Intent
        - ConversationStart
        - ConversationTransfer
        - ConversationEnd
      conditionValues:
        type: array
        description: Condition values.
        items:
          type: string
  ErrorBody:
    type: object
    properties:
      message:
        type: string
      code:
        type: string
      status:
        type: integer
        format: int32
      entityId:
        type: string
      entityName:
        type: string
      messageWithParams:
        type: string
      messageParams:
        type: object
        additionalProperties:
          type: string
      contextId:
        type: string
      details:
        type: array
        items:
          $ref: '#/definitions/Detail'
      errors:
        type: array
        items:
          $ref: '#/definitions/ErrorBody'
      limit:
        $ref: '#/definitions/Limit'
  WrapupCodePredictionConfig:
    type: object
    required:
    - enabled
    properties:
      enabled:
        type: boolean
        description: Copilot generated wrapup code prediction is enabled.
  NluConfig:
    type: object
    required:
    - domain
    - intentConfidenceThreshold
    properties:
      domain:
        description: NLU domain.
        $ref: '#/definitions/CopilotNluDomain'
      intentConfidenceThreshold:
        type: number
        format: float
        description: Minimum confidence value of accepting NLU intents, must be greater than 0 and less than 1.
  CopilotNluDomain:
    type: object
    required:
    - id
    - useLatestVersion
    properties:
      id:
        type: string
        description: Id of the NLU domain.
      useLatestVersion:
        type: boolean
        description: Use the latest version of the NLU domain. If false, version is required.
      version:
        description: NLU domain version.
        $ref: '#/definitions/CopilotNluDomainVersion'
      selfUri:
        type: string
        format: uri
        description: The URI for this object
        readOnly: true
  Copilot:
    type: object
    required:
    - defaultLanguage
    - liveOnQueue
    properties:
      enabled:
        type: boolean
        description: Copilot is enabled.
        readOnly: true
      liveOnQueue:
        type: boolean
        description: Copilot is live on selected queue.
      defaultLanguage:
        type: string
        description: Copilot default language, e.g. [en-US, es-US, es-ES]. Once set, it can not be modified.
      knowledgeAnswerConfig:
        description: 'Deprecated: Please use AutoSearchConfig and ManualSearchConfig fields instead.'
        $ref: '#/definitions/KnowledgeAnswerConfig'
      summaryGenerationConfig:
        description: Copilot generated summary configuration.
        $ref: '#/definitions/SummaryGenerationConfig'
      wrapupCodePredictionConfig:
        description: Copilot generated wrapup code prediction configuration.
        $ref: '#/definitions/WrapupCodePredictionConfig'
      answerGenerationConfig:
        description: 'Deprecated: Please use AutoSearchConfig and ManualSearchConfig fields instead.'
        $ref: '#/definitions/AnswerGenerationConfig'
      nluEngineType:
        type: string
        description: Language understanding engine type.
        enum:
        - NluV3
      nluConfig:
        description: NLU configuration.
        $ref: '#/definitions/NluConfig'
      ruleEngineConfig:
        description: Rule engine configuration.
        $ref: '#/definitions/RuleEngineConfig'
      autoSearchConfig:
        description: Auto search configuration.
        $ref: '#/definitions/AutoSearchConfig'
      manualSearchConfig:
        description: Manual Search configuration.
        $ref: '#/definitions/ManualSearchConfig'
      selfUri:
        type: string
        format: uri
        description: The URI for this object
        readOnly: true
  LanguageSupportResponse:
    type: object
    properties:
      languages:
        type: array
        description: List of feature support information by language.
        readOnly: true
        items:
          $ref: '#/definitions/LanguageSupportInfoRecord'
  CopilotAction:
    type: object
    required:
    - actionType
    properties:
      actionType:
        type: string
        description: Type of action.
        enum:
        - KnowledgeArticle
        - CannedResponse
        - Script
        - Checklist
        - ThirdPartyAction
      attributes:
        type: object
        description: Action specific attributes, if any. Maximum 100 of string key-value pair allowed.
        additionalProperties:
          type: string
  FeatureSupport:
    type: object
    properties:
      feature:
        type: string
        description: Feature name.
        readOnly: true
      supportLevel:
        type: string
        description: Level of support for a feature.
        readOnly: true
        enum:
        - Supported
        - NotSupported
      details:
        type: string
        description: Additional information for the support of a feature.
        readOnly: true
  SummarySettingEntity:
    type: object
    properties:
      id:
        type: string
        description: The globally unique identifier for the object.
        readOnly: true
      selfUri:
        type: string
        format: uri
        description: The URI for this object
        readOnly: true
  AnswerGenerationConfig:
    type: object
    required:
    - enabled
    properties:
      enabled:
        type: boolean
        description: Answer generation is enabled.
  Limit:
    type: object
    properties:
      key:
        type: string
      namespace:
        type: string
        enum:
        - web.deployments
        - web.messaging
        - agent.assistant
        - agentic.virtual.agents
        - analytics.agents
        - analytics.alerting
        - analytics.data.extraction
        - analytics
        - analytics.realtime
        - analytics.reporting.settings
        - anomaly.detection
        - architect
        - audiohook
        - audiohook.monitor
        - audit
        - auth.api
        - authorization
        - automation.testing
        - bots
        - bots.voice
        - business.rules
        - callback
        - case.management
        - cobrowse
        - content.management
        - conversation
        - copilot
        - dataactions
        - datatables
        - directory
        - dsar
        - email
        - employee.engagement
        - event.orchestration
        - external.contacts
        - external.events.data.ingestion
        - gamification
        - gcv
        - gdpr
        - groups
        - guides
        - historical.adherence
        - infrastructureascode
        - integrations
        - intent.miner
        - internal.messaging
        - journey
        - knowledge
        - language.understanding
        - learning
        - limit.registry
        - marketplace
        - mcp.analytics.aggregates
        - mcp
        - media.communications
        - messaging
        - micro.frontend
        - multi.org
        - notifications
        - onboarding
        - outbound
        - platform.api
        - predictive.routing
        - presence
        - quality
        - recording
        - response.management
        - routing
        - scim
        - screen.monitoring
        - search
        - secondary.automation.testing
        - skills
        - social.media
        - speech.and.text.analytics
        - speech.integration
        - supportability
        - task.management
        - telephony.configuration
        - usage
        - users
        - users.rules
        - voice.transcription
        - webchat
        - webhooks
        - workforce.management.adherence
        - workforce.management.agent.availability
        - workforce.management.forecast
        - workforce.management
        - workforce.management.scheduling.preferences
        - workforce.management.self.schedule
        - workforce.management.shift.trading
        - system
      value:
        type: integer
        format: int64
  SummaryGenerationConfig:
    type: object
    required:
    - enabled
    properties:
      enabled:
        type: boolean
        description: Copilot generated summary is enabled.
      summarySetting:
        description: Configured summary setting object.
        $ref: '#/definitions/SummarySettingEntity'
  RuleConfig:
    type: object
    required:
    - enabled
    - rule
    properties:
      id:
        type: string
        description: Rule ID.
      enabled:
        type: boolean
        description: Rule enabled.
      rule:
        description: Rule configuration.
        $ref: '#/definitions/CopilotRule'
  ManualSearchConfig:
    type: object
    properties:
      articlesWithAnswerHighlights:
        type: boolean
        description: Articles with answer highlights.
      answerGeneration:
        type: boolean
        description: Answer generation.
  CopilotRule:
    type: object
    required:
    - actions
    - conditions
    properties:
      conditions:
        type: array
        description: 'List of conditions to execute actions, must have at least 1 element and maximum 100 elements. Operator in case of multiple conditions: ''OR''.'
        items:
          $ref: '#/definitions/CopilotCondition'
      actions:
        type: array
        description: List of actions to execute, must have at least 1 element and maximum 100 elements.
        items:
          $ref: '#/definitions/CopilotAction'
  Detail:
    type: object
    properties:
      errorCode:
        type: string
      fieldName:
        type: string
      entityId:
        type: string
      entityName:
        type: string
securityDefinitions:
  PureCloud OAuth:
    type: oauth2
    authorizationUrl: https://login.mypurecloud.com/authorize
    flow: implicit
    scopes:
      all: All the scopes
  Guest Chat JWT:
    type: apiKey
    name: Authorization
    in: header
externalDocs:
  description: PureCloud API Documentation
  url: https://developer.genesys.cloud/