Skip to main content
This guide shows how to perform common lead operations. All examples assume you have a valid access token — see Authentication.

Create a lead

Response:
The leadId is returned as a JSON number. In JavaScript, parse the response as text and handle the ID as a string or BigInt to avoid precision loss.
Omit assignedUserId to let Lofty’s routing rules automatically assign the lead. Include it to skip routing and assign directly.

Retrieve a lead

List and filter leads

Use query parameters to paginate and filter:
Key filters: assignedUserId, stage, source, email, phone, key (fuzzy search), anyTags, allTags, contacted. Use scrollId from the response for efficient cursor-based pagination over large result sets.

Update a lead

Send only the fields you want to change:
Note that tags replaces the lead’s entire tag set. To add tags without touching existing ones use tagsAdd; to remove specific tags by name use tagsRemove; to remove every tag set clearAllTags: true (takes precedence over the other tag fields).

Assign a lead

To preview which agent routing would select without creating a lead, use the Preview Routing endpoint.

Delete a lead

DELETE /v1.0/leads/{leadId} moves the lead to the trash — it is not permanently deleted. A reason parameter is required and stored for audit purposes.
Trashed leads may be recoverable from the Lofty CRM interface. The API does not provide a restore endpoint.

Monitor lead changes

Subscribe to Lead Info webhooks (listId: 2) to receive real-time notifications when leads are created, updated, or deleted.

Next steps