> ## 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.

# Guest AI Settings API

> Inspect and change existing guest-facing personality, instructions, photo limits and escalation policy.

All paths are relative to /m2m/v1. Tenant identity comes from the authenticated connection. ai\_settings:read and ai\_settings:write are independent, explicitly consented permissions; write does not imply read and existing grants are unchanged. The managed Business Agent retains its existing exact-input write approvals.

| Route | Operations |
| - | - |
| /settings/ai/system-prompt | GET current personalization; PUT full personality replacement with expectedUpdatedAt |
| /settings/ai/asset-sharing | GET photo limit/version; PUT maxImagesPerReply and expectedUpdatedAt |
| /settings/ai/handoff-policy | GET policy; PUT enabled/full intents with expectedPolicyVersion |

## Read and update personality

Read get\_ai\_settings first. It returns baseStyle (default/professional/friendly/candid/quirky/efficient/cynical), emoji (yes/no), messageLength (default/short/long), conversationOpenness (strict/open), assistantName, optional customInstructions, replyAutoFreezeMinutes and updatedAt. runtimePersonalization contains stored fields/configured state/legacy verbose; top-level values normalize dashboard defaults/legacy records. compiledSystemPrompt is a preview, not the full guest runtime prompt. A missing settings row can use server fallback rules; raw missing fields can differ from dashboard defaults.

Update requires all personality fields, including explicit customInstructions, and expectedUpdatedAt copied from a fresh read (null only when updatedAt is absent). Preserve unrequested values. assistantName=null clears the name; customInstructions=null or empty clears stored instructions. Omit replyAutoFreezeMinutes to preserve it; otherwise integer 0–120. Stale versions/concurrent first creation return SETTINGS\_CONFLICT (409): reload and reconcile. Other automation, reservation and asset fields are preserved. Read again after saving.

Guest response generation uses stored fields plus core, knowledge, tool and policy instructions; openness does not authorize invented business facts. Existing candid/quirky/cynical choices now reach response generation in the compatible orchestrator. Personalization affects guest replies/Playground and CRM drafts through its separate resolver; it does not configure Support Copilot or the managed Business Agent.

## Photos and escalation

get\_ai\_asset\_sharing\_settings/update\_ai\_asset\_sharing\_settings manage maxImagesPerReply, integer 1–15 (default 6), using the shared settings timestamp. Eligibility still requires ready/active/applicable assets and folders; this does not create knowledge or send an attachment.

get\_ai\_handoff\_policy returns policy.enabled, knowledgeGapBehavior, workingHours, intents and policyVersion. Update requires enabled, complete intents and expectedPolicyVersion from the read (including default if no stored policy exists). Preserve IDs of rules that should remain; new rules can omit id and receive IDs in the result. Normal limit eight rules; existing larger policies can only shrink without adding IDs. Omitted workingHours/knowledgeGapBehavior preserves them. Property scopes must refer to active tenant properties for new/changed scopes. Working hours contain all seven distinct days with valid HH:mm times in the business timezone. Stale versions return HANDOFF\_POLICY\_VERSION\_CONFLICT (409). The service schedules existing projections after persistence; on uncertain/projection failure, read policy before retrying. knowledgeGapBehavior=create\_handoff still depends on runtime rollout/validation gates. Policy edits do not resolve conversation cases or send a guest reply.

## Explain a saved answer

Use message discovery and get\_conversation\_answer\_trace first, with conversations:debug:read and bounded saved content only when needed. Current knowledge/settings/policy/generations are useful for today's diagnosis but do not prove answer-time versions or causal weight. Disclose missing/expired/truncated capture and absent version/linkage evidence. Never replay tools, call providers, enable capture, send guest messages or mutate settings merely to explain an answer. Read [knowledge operations](/api-docs/knowledge-api) and [MCP routing guidance](/product-guides/getting-started/visito-mcp#knowledge-and-guest-ai-configuration-through-mcp).

## Release boundary

October 13, 2026 local source and synthetic validation only. Compatible RAG/index/API/orchestrator release, host tool refresh and new permission consent are prerequisites. No live customer settings, capture or production records were changed by this continuation. Other channel, conversation, Action, CRM automation and reservation tools retain their own permissions and behavior.


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