Direct HTTP access. All endpoints accept and return JSON.
https://api.nondual.cloud/v1
Pass your key in the Authorization header on every request.
Authorization: Bearer ***
Get a key:
curl -s -X POST https://api.nondual.cloud/v1/keys \ -H "Content-Type: application/json" \ -d '{"email":"you@example.com"}'
Pass the calling agent name in the X-Nondual-Agent header on record and context calls. It is stored with every interaction and followup.
X-Nondual-Agent: my-sales-agent
Resolve an email or LinkedIn URL to a full contact profile.
curl -s -X POST https://api.nondual.cloud/v1/resolve \ -H "Authorization: Bearer ***" \ -H "Content-Type: application/json" \ -d '{"contact":"dario@anthropic.com"}'
Request body:
| Field | Required | Description |
|---|---|---|
contact | yes | Email or LinkedIn URL to resolve |
Response:
{
"contact": {
"id": "contact_...",
"name": "Dario Amodei",
"identifiers": {
"emails": ["dario@anthropic.com"],
"linkedin_url": "https://linkedin.com/in/darioamodei",
"phones": [],
"handles": []
},
"profile": {
"role": "Co-Founder & CEO",
"about": "...",
"location": "San Francisco, CA"
},
"company": { "name": "Anthropic", "domain": "anthropic.com" },
"next": { "action": "Reach out via LinkedIn..." }
}
}Get relationship context for a contact — profile, interaction history, open followups, next step.
curl -s -X POST https://api.nondual.cloud/v1/context \ -H "Authorization: Bearer ***" \ -H "X-Nondual-Agent: my-agent" \ -H "Content-Type: application/json" \ -d '{"contact":"dario@anthropic.com"}'
| Field | Required | Description |
|---|---|---|
contact | yes | Email or LinkedIn URL |
purpose | no | Reason for outreach |
Record an interaction after outreach.
curl -s -X POST https://api.nondual.cloud/v1/interactions \ -H "Authorization: Bearer ***" \ -H "X-Nondual-Agent: my-agent" \ -H "Content-Type: application/json" \ -d '{"contact":"dario@anthropic.com","channel":"email","direction":"outbound","summary":"Sent intro","details":"Full email body..."}'
| Field | Required | Values |
|---|---|---|
contact | yes | Email or LinkedIn URL |
channel | yes | email call linkedin slack meeting sms other |
direction | yes | inbound outbound |
summary | yes | One sentence describing what happened |
details | no | Full content — email body, transcript, notes |
Create a follow-up task.
curl -s -X POST https://api.nondual.cloud/v1/followups \ -H "Authorization: Bearer ***" \ -H "X-Nondual-Agent: my-agent" \ -H "Content-Type: application/json" \ -d '{"contact":"dario@anthropic.com","action":"Follow up with proposal","due":"2026-07-25"}'
| Field | Required | Description |
|---|---|---|
contact | yes | Email or LinkedIn URL |
action | yes | What to do |
due | no | ISO date (YYYY-MM-DD) |
| Status | Meaning |
|---|---|
400 | Bad request — missing or invalid fields |
401 | Missing or invalid API key |
404 | Contact not found — resolve first |
429 | Rate limited — monthly resolve quota reached |
500 | Server error — retry with backoff |
All error responses follow:
{ "error": "code", "message": "description" }