Contact object
A Contact represents a person tracked in Cirrus Insight's Cortex data model. Returned by the endpoints under /api/v1alpha1/contacts.
Two shapes: list-view (essential fields) and detail-view (adds enrichment).
The Contact schema
json
{
"id": "cont_...",
"orgId": "org_...",
"firstName": "Sample",
"lastName": "Guest",
"displayName": "Sample Guest",
"email": "guest@example.com",
"phone": "+14155551234",
"title": "Director of Sales Ops",
"account": {
"id": "acct_...",
"name": "Acme Corporation"
},
"profileIconUri": null,
"linkedInUrl": "https://linkedin.com/in/sample-guest",
"summary": "Sample Guest is a Director of Sales Ops at Acme Corporation ...",
"sourceRefs": {
"salesforce": {
"id": "0031U00000abcXYZ",
"url": "https://acme.my.salesforce.com/0031U00000abcXYZ"
}
},
"createdAt": "2026-05-01T12:00:00Z",
"updatedAt": "2026-07-14T09:30:00Z"
}Fields
| Field | Type | List | Detail | Description |
|---|---|---|---|---|
id | string | ✓ | ✓ | Contact id, prefixed cont_. |
orgId | string | ✓ | ✓ | Your org id, prefixed org_. |
firstName, lastName | string | ✓ | ✓ | May be null when only email is known. |
displayName | string | ✓ | ✓ | firstName + ' ' + lastName, falling back to email when no name is stored. Same convention as host.displayName on the Meeting model. |
email | string | ✓ | ✓ | Primary email for the contact. To look up by an alternate email address, query each candidate separately. |
phone | string | ✓ | ✓ | (optional) E.164 preferred; may be null. |
title | string | ✓ | ✓ | (optional) Job title. |
account | object | ✓ | ✓ | Lightweight {id, name} reference. null when the contact isn't linked to an account. |
profileIconUri | string | ✓ | ✓ | (optional) Photo URL from LinkedIn / photo enrichment. null when unenriched. |
linkedInUrl | string | ✓ | (optional) External profile link. null when unresolved. | |
summary | string | ✓ | (optional) LLM-generated summary. May be stale. | |
sourceRefs | object | ✓ | External-system cross-references. Same shape as Account.sourceRefs. | |
createdAt, updatedAt | string | ✓ | ✓ | ISO 8601 UTC. |
Notes
- Only the primary email is exposed. To look up a person by an alternate email address, query each candidate separately via the
emailfilter. emaillist filter is exact-match. No wildcard, no regex. Prevents mass-scraping. Substring searches route throughsearch(which covers first/last name too).