Skip to main content
Agents may extract “peer cards” — per-user notes about the people they collaborate with. These endpoints give every authenticated user GDPR control over the cards stored about themselves: list what’s held, purge it, and manage opt-out consent. Every endpoint acts on the caller’s own data only — the user ID is read from the auth context, never a path parameter. They require authentication and workspace context. Cross-user GDPR actions (admin acting on another user) go through a separate admin surface. Opt-out is a hard stop: setting opted_out=true triggers an immediate purge of every existing card about the user across every agent in the current workspace, and of their operator model — it does not wait for the next routine sweep. The operator model is a separate surface with its own endpoints below: one short profile per (user, workspace) holding the role, ownership and standing constraints that person has stated. It records only what they said, never what the system inferred. The endpoints let a person read it and drop a single wrong entry without turning the whole feature off.

List My Peer Cards

Lists every peer card mentioning the requesting user across every agent in the current workspace, including content (the user has a right to see what was stored). Each read is itself audited. Auth: Any authenticated user (own data only) Response: 200 OK

Peer Card Fields


Purge My Peer Cards

Deletes every card about the requesting user across every agent in the workspace (disk + index + per-card audit). Does not touch consent — a user can delete current cards without opting out of future extraction. Auth: Any authenticated user (own data only) Response: 200 OK

Returns the user’s opt-out state for the current workspace. Auth: Any authenticated user (own data only) Response: 200 OK

Flips the opt-out state. Setting opted_out=true triggers an immediate purge of all existing peer cards about the user in this workspace, alongside the consent change and an audit row. Auth: Any authenticated user (own data only) Request Body:
Response: 200 OK
purged reflects the number of peer cards removed by the opt-out and purged_models the operator model (0 or 1). Both are 0 when opting back in.

Get My Operator Model

Returns the operator model stored about the requesting user in this workspace: the raw file plus each - key: value bullet split into a field. A read is recorded in the peer-card audit log with action='read'. Auth: Any authenticated user (own data only) Response: 200 OK
exists: false with an empty facts array means nothing has been recorded about this person in this workspace yet. content and facts are omitted when the server has no memory storage path configured.

Forget One Field

Removes a single field from the operator model and leaves the rest standing — the answer to “an agent recorded something wrong about me” that does not cost the person everything it recorded correctly. {key} is a field name from the facts array above; matching is case-insensitive. Removing the last remaining field removes the model entirely (an empty model is not a model), which the response reports as exists: false. Auth: Any authenticated user (own data only) Response: 200 OK

Purge My Operator Model

Forgets the whole operator model. Does not opt the caller out: new facts may be recorded again from things they state later. Use PUT /users/me/peer-consent with opted_out: true to stop recording altogether. Auth: Any authenticated user (own data only) Response: 200 OK