> ## Documentation Index
> Fetch the complete documentation index at: https://docs.visitoai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Read AI escalation rules, working hours and knowledge-gap behavior

> Read current guest-facing handoff policy: enabled, knowledgeGapBehavior, workingHours, intent rules, IDs, required fields, priority and property scope. This is configuration, not conversation handoff history or a saved policy version used for an old answer. get_conversation_answer_trace provides saved execution evidence; list_conversation_handoffs provides durable cases. Knowledge-gap enforcement also depends on server rollout gates; configuration alone does not prove the runtime executed a handoff. Read policyVersion before editing. This is separate from Support Copilot and the managed Business Agent. Required permission: ai_settings:read. Connected business only.



## OpenAPI

````yaml /openapi.json get /settings/ai/handoff-policy
openapi: 3.0.3
info:
  title: Visito M2M API
  version: 1.0.0
  description: >-
    Tenant-scoped server-to-server API for channels, conversations, commerce,
    custom AI tools, and WhatsApp templates. Send operations are asynchronous
    and return queued acknowledgements. Expansion adds conversation controls,
    knowledge, sales opportunities, delivery status, reporting, and signed
    webhooks.
servers:
  - url: https://platform-api.visitoai.com/m2m/v1
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Channels
  - name: Conversations
  - name: Commerce
  - name: Custom tools
  - name: WhatsApp templates
  - name: Properties
  - name: Knowledge
  - name: Sales CRM
  - name: Delivery
  - name: Reporting
  - name: Webhooks
paths:
  /settings/ai/handoff-policy:
    get:
      summary: Read AI escalation rules, working hours and knowledge-gap behavior
      description: >-
        Read current guest-facing handoff policy: enabled, knowledgeGapBehavior,
        workingHours, intent rules, IDs, required fields, priority and property
        scope. This is configuration, not conversation handoff history or a
        saved policy version used for an old answer.
        get_conversation_answer_trace provides saved execution evidence;
        list_conversation_handoffs provides durable cases. Knowledge-gap
        enforcement also depends on server rollout gates; configuration alone
        does not prove the runtime executed a handoff. Read policyVersion before
        editing. This is separate from Support Copilot and the managed Business
        Agent. Required permission: ai_settings:read. Connected business only.
      operationId: get_ai_handoff_policy
      parameters: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AiHandoffPolicyResult'
        '400':
          description: Invalid policy
        '403':
          description: Missing permission
        '409':
          description: Stale policy version
components:
  schemas:
    AiHandoffPolicyResult:
      type: object
      additionalProperties: false
      properties:
        policy:
          $ref: '#/components/schemas/AiHandoffPolicy'
      required:
        - policy
    AiHandoffPolicy:
      type: object
      additionalProperties: false
      properties:
        tenantId:
          type: string
          maxLength: 128
        enabled:
          type: boolean
        knowledgeGapBehavior:
          type: string
          enum:
            - disabled
            - report_only
            - create_handoff
        policyVersion:
          type: string
          maxLength: 128
        workingHours:
          $ref: '#/components/schemas/AiHandoffWorkingHours'
        intents:
          type: array
          items:
            $ref: '#/components/schemas/AiHandoffIntent'
      required:
        - tenantId
        - enabled
        - knowledgeGapBehavior
        - policyVersion
        - workingHours
        - intents
    AiHandoffWorkingHours:
      type: object
      additionalProperties: false
      properties:
        enabled:
          type: boolean
        schedule:
          type: array
          items:
            type: object
            additionalProperties: false
            properties:
              day:
                type: string
                enum:
                  - monday
                  - tuesday
                  - wednesday
                  - thursday
                  - friday
                  - saturday
                  - sunday
              open:
                type: boolean
              start:
                type: string
                maxLength: 5
                pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
              end:
                type: string
                maxLength: 5
                pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
            required:
              - day
              - open
              - start
              - end
          maxItems: 7
          minItems: 7
      required:
        - enabled
        - schedule
    AiHandoffIntent:
      type: object
      additionalProperties: false
      properties:
        id:
          type: string
          maxLength: 128
        name:
          type: string
          maxLength: 1000
        description:
          type: string
          maxLength: 6000
        enabled:
          type: boolean
        severity:
          type: string
          enum:
            - hard
        priority:
          type: number
        propertyIds:
          type: array
          items:
            type: string
            maxLength: 128
          maxItems: 100
        requiredFields:
          type: array
          items:
            type: string
            maxLength: 128
          maxItems: 100
        fieldLabels:
          type: object
          additionalProperties:
            type: string
            maxLength: 1000
      required:
        - id
        - name
        - description
        - enabled
        - severity
        - priority
        - requiredFields
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Visito M2M API key
      description: Server-side tenant-scoped credential created from Build > API Keys.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.