latestOpenAPI 3.1.02026-08-069158174.8 KB

165a6d16a9a0

CRM Service Calls

Privacy-conscious person lookup with journey tracking

Search for a person by email, phone, internal ID, or external ID and retrieve their complete journey through the sales pipeline (lead → contact → opportunity).

Search Options

Provide at least one of:

  • email: Search by email address
  • phone: Search by phone number
  • id: Search by internal CRM record ID (lead or contact)
  • external_id: Search by external/partner reference ID

Privacy Notice

This endpoint returns only aggregate activity metrics. It does NOT expose:

  • Names, IDs, or any identifying information
  • Actual comment content or details
  • Owner/assigned user information
  • Deal values or commission-sensitive data
  • Tags or custom fields

Rate Limits

  • 60 requests per minute per auth token
  • Rate limited to prevent abuse

Search Logic

  1. If id or external_id provided, searches directly by ID (takes priority)
  2. Falls back to email/phone search if no ID match or no ID provided
  3. Searches contacts first (prioritizes existing relationships)
  4. Searches leads (for new prospects)
  5. If a contact is found, searches for associated opportunities
  6. Returns the complete journey with activity metrics at each stage

Use Cases

  • Duplicate Detection: Check if a person already exists before creating a new lead
  • Journey Tracking: Understand where a person is in the sales pipeline
  • Commission Attribution: Verify activity within inactivity period for commission eligibility
  • Direct Lookup: Retrieve journey info for a known record by ID

Inactivity Period

The inactivity_days parameter (default: 30) determines whether activity is considered "recent". The has_recent_activity response field indicates if the most recent activity falls within this threshold.

post/crm/lookup/person

Query parameters

inactivity_daysinteger

Number of days to consider for inactivity threshold. Activity within this period sets has_recent_activity=true.

Number of days to consider for inactivity threshold. Activity within this period sets has_recent_activity=true.

Request body

emailstring nullable

Email address to search for

phonestring nullable

Phone number to search for (various formats accepted)

idstring nullable

Internal CRM record ID to search for (lead or contact)

external_idstring nullable

External/partner reference ID to search for

Response

Lookup successful

existsboolean required

Whether any matching record was found (lead or contact)

matched_on'email' | 'phone' | 'both' | 'id' | 'external_id' nullable

Which identifier matched (email, phone, both, id, or external_id)

has_recent_activityboolean

True if person has activity within the configured threshold (default 30 days)

journey_stage'lead' | 'contact' | 'opportunity' | 'closed' nullable

Current stage in the journey (furthest stage reached)

total_touchpointsinteger

Total touchpoints across all stages

first_seen_datestring nullable

Earliest date this person entered the system (ISO 8601)