#Contacts
| Command | Purpose |
|---|---|
vatio contacts export ID [--out FILE] | Everything kept about one contact, as JSON; --out writes it to a file |
vatio contacts delete ID [--yes] | Delete the contact and everything about them |
For a person's access, portability and erasure requests. ID is the
contact's id, as the inbox and webhooks show it. Both commands are recorded in
the workspace's Activity. The inbox no longer lists or exports contacts: a
person's data is in the contact pane beside their conversation, and in these two
commands. See Retention and deletion for what each one covers.
The MCP has the same two as export_contact and erase_contact. The
data an export returns passes through that chat, so prefer the CLI when the
person's data should not.
#Export
vatio contacts export 4211 --out ana.jsonWithout --out it prints the JSON. It looks like this:
{ "exported_at": "2026-10-09T21:14:03Z", "workspace": "acme", "contact": { "id": 4211, "environment": "live", "name": "Ana Pérez", "email": "ana@example.com", "phone_number": "+56911112222", "opted_out_at": null, "created_at": "2026-09-30T12:01:44Z", "channels": [{ "channel": "whatsapp", "handle": "+56 9 1111 2222" }], "memories": [{ "kind": "note", "body": "Prefers mornings", "created_at": "2026-10-01T09:12:00Z" }] }, "conversations": [ { "id": 9120, "agent": "support", "source": "whatsapp", "environment": "live", "started_at": "2026-09-30T12:01:44Z", "messages": [ { "role": "user", "from_a_person": false, "content": "Hi", "attachments": [], "sent_at": "2026-09-30T12:01:44Z" } ] } ]}from_a_person is true on a reply somebody wrote from the inbox or the
channel's own app instead of the agent.
#Delete
vatio contacts delete 4211It prints what it is about to delete and asks you to type the id to confirm.
--yes skips the question, and a non-interactive run needs it. When it is
done it reports the contact id and how many chats and messages it erased.
There is no undo. A contact that does not exist, or belongs to another workspace, is not found.