What is a transaction?
Each transaction belongs to exactly one lead and is managed by an assigned agent. When you create a transaction, you give it a name (typically the property address or deal identifier), a type, and an initial status. From there, you update it as the deal moves through your team’s configured pipeline stages. Transactions support custom fields, letting teams capture deal-specific data beyond the standard schema. You can retrieve your team’s custom field definitions before creating or updating transactions.Key transaction fields
A transaction record’s
transactionType is always one of the four concrete types above. When listing transactions with GET /v2.0/transactions, the transactionType query parameter additionally accepts All to return every type in a single call — All is a filter value, never a field value.Transaction lifecycle
Transactions move through a pipeline you configure in Lofty. The typical progression is:- Created — You create the transaction with
POST /v1.0/leads/{leadId}/transaction. Supply atransactionName,transactionType, and initialtransactionStatus. - In-progress — As the deal advances, you update the status with
PUT /v1.0/leads/{leadId}/transaction/{transactionId}. The status value must match one of the statuses configured in your team’s pipeline for the giventransactionType. - Closed — Set
closeDateand update the status to reflect the closed or cancelled state.
Creating a transaction
Transactions are created under a specific lead. ThetransactionName field is required and must not be blank or contain < or > characters.
Custom fields
Your team can define custom fields on transactions to capture deal-specific data. Before creating or updating transactions with custom fields, retrieve the field definitions:Property address
Each transaction can have a property address attached to it separately from thetransactionName. This is useful when you need to store a structured address alongside the deal name.