GET /tenants//visitors
List all visitor profiles for a tenant. Required scope:visitors:read
Request
Query Parameters
Response
POST /tenants//visitors
Create a new visitor profile. Required scope:visitors:write
Request
Body
At least one of
email or externalId is required to create a visitor profile.Response
GET /tenants//visitors/
Retrieve a specific visitor with their conversation count and memory fact count. Required scope:visitors:read
Response
PATCH /tenants//visitors/
Update a visitor profile. Only provided fields are modified. Required scope:visitors:write
DELETE /tenants//visitors/
Delete a visitor and all associated data (conversations, memory facts). Required scope:visitors:write
Response
Memory
Each visitor can store persistent key-value facts collected during conversations via theREMEMBER_FACT tool. Memory facts are injected into future conversations to give the agent context about returning visitors.
GET /tenants//visitors//memory
List all memory facts for a visitor. Required scope:visitors:read
Response
POST /tenants//visitors//memory
Create or update a memory fact (upsert by key). Required scope:visitors:write
Body
Response
GET /tenants//visitors//memory/
Retrieve a specific memory fact. Required scope:visitors:read
Response
DELETE /tenants//visitors//memory/
Delete a specific memory fact. Required scope:visitors:write
Response
Visitor Resolution
When a visitor sends a message to the chat endpoint, Animam resolves their profile using the following lookup order:X-Visitor-Idheader — pass the visitor ID explicitly from your backend.visitorIdbody field — include in the JSON body of the chat request.- Session cookie / anonymous — if no identifier is provided, the visitor is treated as anonymous for that session.
REMEMBER_FACT tool works alongside this system: when the agent decides to remember something, it calls the tool during the conversation, and the fact is persisted immediately and available from the next message onwards.
Visitor Authentication
Animam supports multiple authentication modes for visitors, configured per-tenant via thevisitorAuthMode field. This controls how the agent verifies visitor identity before granting access to sensitive actions.
Context webhook (HMAC)
Once a visitor is identified, Animam can fetch their record from your own systems. SetvisitorContextUrl on the tenant: on every message, Animam POSTs { email, externalId, visitorId, timestamp } to that URL, signed by Animam with your visitor signing key (X-Animam-Signature, HMAC-SHA256 of the raw body). Your endpoint verifies that signature and answers { "context": "…" }, which is injected into the agent’s prompt.
The response may also carry a challenge object, which hands identity back to you for a second factor: the agent relays your prompt to the visitor and posts their answer to your verifyUrl through the VERIFY_EXTERNAL_CHALLENGE synthetic tool. Animam stays the conversation layer; your backend remains the authority on identity.
Visitor auth mode and webhook configuration are set on the tenant object. See the Tenant endpoints for configuration details, and the Authenticated visitors guide for a working end-to-end setup.