Skip to main content
POST
/
v1.0
/
agent
/
send-notification
Send Opportunity Alert
curl --request POST \
  --url https://api.lofty.com/v1.0/agent/send-notification \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: <content-type>' \
  --data @- <<EOF
{
  "leadId": 100001,
  "notificationType": 11,
  "description": "123 Main St, San Francisco, CA 94102",
  "link": "https://example.com/listing/123",
  "message": "I'd like to schedule a tour this weekend."
}
EOF
{
  "status": {
    "code": 0,
    "msg": "success"
  },
  "data": true
}

Documentation Index

Fetch the complete documentation index at: https://developer.lofty.com/llms.txt

Use this file to discover all available pages before exploring further.

Headers

Authorization
string
required

Bearer [access_token]

Content-Type
string
required

application/json

Body

application/json
leadId
integer<int64>
required

Lead ID. Must belong to the caller's team.

Example:

100001

notificationType
enum<integer>
required

Opportunity trigger type. Must match one of the supported activity codes.

Site-origin values: 9 = Saved a listing 10 = Searched 11 = Viewed a listing 27 = Saved a search 46 = Requested to sell a house 47 = Requested home evaluation 65 = Left a message 66 = Requested a showing 89 = Used mortgage calculator 162 = Requested CMA 164 = Requested financing options

NewHome-origin equivalents: 48 = Browsed a home 50 = Searched a home 52 = Favorited a home

CApp-origin equivalents: 136 = Favorited 137 = Searched 138 = Browsed 139 = Showing request 140 = Saved search 141 = House evaluation

Other: 165 = Re-inquired on text code 166 = Back to site (view a listing) 167 = Submitted a form 168 = Viewed CMA

Available options:
9,
10,
11,
27,
46,
47,
48,
50,
52,
65,
66,
89,
136,
137,
138,
139,
140,
141,
162,
164,
165,
166,
167,
168
Example:

11

description
string

Free-text description shown in the notification body. description and link form a combo; both must be non-empty for the details block to render.

Example:

"123 Main St, San Francisco, CA 94102"

Companion URL to description (see description field). Typically a listing / search / CMA URL.

Example:

"https://example.com/listing/123"

message
string

Optional free-text message. Rendered only for notificationType values that carry a leave-message context (e.g. 65); ignored by all other types.

Example:

"I'd like to schedule a tour this weekend."

Response

Request accepted. Response body = {status:{code:0,msg:"success"}, data:}. data=true => notification(s) dispatched to at least one assignee (non-pond path). data=false => one of the silent-failure conditions: leadId=0, notificationType=null, lead not found, no agent-role assignee, or the lead is a lead-pond lead (where broadcast is still triggered but the API returns false due to a known quirk). Callers SHOULD NOT rely on data=true/false as a strict delivery confirmation.

Wrapped response for POST /v1.0/agent/send-notification.

status
object

Status envelope; code=0 indicates the request was processed.

data
boolean

Rough success flag. true = notification dispatched. false = silent-failure condition (missing lead, no assignee) or pond-broadcast quirk (see endpoint description). Callers should not treat this as a strict delivery confirmation.

Example:

true