Docs Memory API

Scoping memory to customers, companies and deals

Use identities, audiences and visibility to make sure each viewer recalls only what they are allowed to see.

#The model

Visibility is set on records and inherited by the memories extracted from them. At recall time, Auld returns memories whose visibility includes the viewer: project-wide, an audience they belong to, or private to them.

#Per-customer memory

For a support product, put each customer’s records in a customer audience and add the customer’s users and your support agents to it.

Create an audience
curl -X PUT "$AULD_API_BASE/v1/audiences/cust-5520" \
  -H "Authorization: Bearer $AULD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Halden Outdoor", "members": ["cust_5520_ruth", "cust_5520_sam", "agent_ines"] }'

#A correction: the same id replaces the record

If a CRM note was wrong, re-send it with the same sourceId. The memory derived from it is corrected as if the error never happened.

Correct a record
curl -X POST "$AULD_API_BASE/v1/records" \
  -H "Authorization: Bearer $AULD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "sourceId": "crm-4471", "text": "Budget is now 34k.", "occurredAt": "2026-09-12T15:30:00Z", "visibility": "audience:cust-5520" }'

#A new event: a new id adds a dated fact

If the budget genuinely changed later, send a new record. The earlier value stays in history with its dates.

Add a new fact
curl -X POST "$AULD_API_BASE/v1/records" \
  -H "Authorization: Bearer $AULD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "sourceId": "crm-4502", "text": "Budget increased to 36k after adding two seats.", "occurredAt": "2026-10-04T11:00:00Z", "visibility": "audience:cust-5520" }'

#Changing visibility

Re-sending a record with only a different visibility moves it without re-processing. Removing someone from an audience takes effect on their next recall.

#Deletion

GoalCall
Forget one recordDELETE /v1/records/{sourceId}
Forget everything a person authoredDELETE /v1/identities/{id}?scope=authored
Remove a person but keep their recordsDELETE /v1/identities/{id}
Remove an audienceDELETE /v1/audiences/{slug} — records fall back to private to their author