Skip to main content
Field changes

Leads — remove tags on Update Lead

PUT /v1.0/leads/{leadId} gains two request fields for removing tags without resending the full list:
  • tagsRemove (string array) — removes the named tags from the lead. Names are matched literally; a name not currently on the lead is ignored. Applied after tags / tagsAdd.
  • clearAllTags (boolean, default false) — set to true to remove all tags from the lead. Takes precedence over tags / tagsAdd / tagsRemove.
Previously, removing a tag required replacing the entire tag set via tags.
New endpointsWebhooksField changesFixes
Added GET /v2.0/communication/agent — cursor-paginated search of an agent’s communications. Supports type=ALL to merge calls, texts, and emails; a query window of up to 90 days; and search_after-based pagination via an opaque cursor (replacing offset paging). The response includes data, nextCursor, hasMore, limit, and totalCount.

Webhooks — Ownership-based delivery

Added a permissionMode field on POST /v1.0/webhook:
  • 0 (default) — assignment-based delivery; unchanged behavior.
  • 1 — ownership-based delivery; the subscriber also receives callbacks for any lead within their ownership scope (team, office, or personally owned), not only assigned leads.

Field Changes

  • System Logs (GET /v1.0/systemLogs) — each entry now includes timelineTypeDesc, a human-readable event name paired with the integer timelineType, so you no longer need to map the integer yourself.

Fixes

  • Leads (GET /v1.0/leads) — the opportunity field is now correctly populated (it previously always returned empty).
New endpoints

Communications — single-record lookups

Added v2 endpoints to fetch a single communication by ID:
  • GET /v2.0/communication/call/{communicationId}
  • GET /v2.0/communication/text/{communicationId}
  • GET /v2.0/communication/email/{communicationId}
Single-record responses also surface manually-logged calls and their text content.
New endpointsField changesNew tools

Lofty CLI

Released @loftyai/lofty-cli — a command-line tool for the Lofty API. Manage leads, agents, listings, tasks, transactions, and more from your terminal.
See the Lofty CLI documentation for setup and command reference.Added GET /v2.0/transactions — paginated transaction search with keyword, lead, and date filters.

Lead Query Enhancements

New parameters for GET /v1.0/leads:
  • returnFields: Specify which fields to return (comma-separated), reducing payload size.
  • otherFilters: Pass custom LeadFilter overrides for advanced filtering.
  • key: Fuzzy search by name, phone, or email in a single parameter.

Field Changes

  • Calendar V2startTime / endTime now accept millisecond timestamps in addition to ISO 8601.
  • Manual Log (POST /v1.0/logType) — Added emailSubject, toEmail, fromEmail fields for email log entries.
  • Manual Log (POST /v1.0/logType) — The response now returns the created entry’s id.
  • Manual Log (GET /v1.0/logType) — Added sort / order parameters to control result ordering, and the response now includes the content field.
New endpointsNew featuresAuthentication

Sales Agents & AI

8 new endpoints for managing Sales Agent workflows:
  • GET /v2.0/sales-agents/by-lead — Get Sales Agent by lead ID
  • GET /v2.0/sales-agents/quota — Get current user’s quota
  • GET /PUT /v2.0/sales-agent/settings — Query and update settings
  • PUT /v2.0/sales-agents/working-lead/{leadId}/mute — Mute a working lead
  • POST /v2.0/working-leads/add — Batch add leads to working pool
  • POST /v2.0/plan-tasks/create — Batch create plan tasks

Intelligent Features (AI)

6 new AI-powered endpoints:
  • POST /v2.0/ai/call-script — Generate call script
  • GET /POST /v2.0/ai/call-summary — Get or trigger call summary generation
  • POST /v2.0/ai/prepare-insight — Generate prepare insight
  • GET /POST /v2.0/ai/lead-analysis — List or create lead analysis tasks

Calendar V2

Full CRUD + lifecycle management for calendar events:
  • GET /POST /v2.0/calendar — List and create events
  • PUT /DELETE /v2.0/calendar/{calendarId} — Update and delete events
  • POST finish/unfinish — Mark events as completed or reopen
  • GET /v2.0/calendar/meetings/available — List available meeting slots

Tasks V2 Enhancements

  • GET /v2.0/tasks/my-tasks — List tasks and appointments assigned to the current user
  • POST finish/unfinish — Mark tasks as completed or reopen

Lead Activity V2

  • GET /v2.0/leads/{leadId}/activities — Unified timeline with calls, texts, and emails in chronological order

Listing V2

  • POST /v2.0/listings/search — Search by location, price, beds, baths, property type
  • Replaced locations array with simpler key / keywordType params

Notifications

  • POST /v2.0/sales-agent/notification/app-push/send-task-reminder — Task reminder push
  • POST send-to-agent — Send system SMS or email to agent
  • POST /v2.0/sales-agent/ai-number/send-sms-to-agent — Send SMS via AI number

Agent Tags

  • POST /v1.0/agent/{agentId}/tag/add — Batch add tags with autoCreate support

Field Changes

  • Listing — Added propertyTypePrimary and propertyTypeSecondary to response
  • Note — Added noteId, noteType, idOfType fields
  • Calendar V2 — Added taskId field to calendar items

Authentication

  • Added OAuth 2.0 Client Credentials flow (/oauth/token) for server-to-server integrations
  • Added per-app rate limiting and token scope enforcement