← nondual

Documentation

Nondual gives AI agents unified profiles, communication history and next steps for every person and company they interact with.

Get a key

One command. No form, no card.

curl -s -X POST https://api.nondual.cloud/v1/keys \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com"}'

Returns {"api_key":"nd_live_..."}. Store it.

Choose your interface

The memory loop

The value of Nondual is not enrichment — it is shared memory across agents.

# 1. Resolve — who is this person?
contacts_resolve(email: "jane@acme.com")

# 2. Record — log what you did
contacts_record(contact: "jane@acme.com", channel: "email", summary: "...")

# 3. Context — any agent, any time later
contacts_context(contact: "jane@acme.com")
# ← who reached out, when, what was said, what to do next

Every agent on your key reads and writes the same relationship. No manual data entry. No sync. No duplicates.

Concepts

TermWhat it is
contactA person, resolved from an email or LinkedIn URL. One canonical record per person per workspace.
interactionOne logged touchpoint: agent name, channel, direction, timestamp, summary.
followupAn open task attributed to a contact: action text, optional due date.
contextEverything about a contact assembled for an agent: profile + interaction history + open followups + next step.
workspaceIsolated namespace. All agents sharing a key share contacts and history.

Limits (free tier)