Updates an existing lead. Caller must have manage permission on the lead.
Property block
If the request body carries a property block, it is persisted alongside the lead update with the same semantics as POST /v1.0/leads/{leadId}/property:
property.id omitted or <= 0 — merge with an existing property by address; if no match, create a new property record. (Prior versions of this endpoint rejected this case with UPDATE_LEAD_PROPERTY_FAILED; that restriction has been lifted.)
property.id > 0 — update the named property in place. The property must belong to this lead (its leadUserId must match); otherwise the request is rejected with 200108 LEAD_PROPERTY_NOT_EXIST.
Validation:
When a property block is supplied, at least one of city, state, zipCode, streetAddress must be non-blank; otherwise 200057 PROPERTY_ADDRESS_EMPTY is returned (the lead update is also aborted).
Silent truncation — firstName, lastName, groups, segments are truncated to 30 characters; tags / tagsAdd to 64 characters. The API returns success with no error. Validate input length before sending.
Defaults to false: the lead is updated in place. Pass true to also deduplicate: if another lead in the same team shares this lead's email after the update, this lead is merged into that lead (and this lead is deleted).
The first/given name of the lead
Caution: Max limit 30 characters. If you exceed the limit, the import will succuss, but only import 30 characters in front.
The last/family name of the lead
Caution: Max limit 30 characters. If you exceed the limit, the import will succuss, but only import 30 characters in front.
The groups the lead is in
Caution: Max limit 30 characters.If you exceed the limit,the import will success , but only import 30 characters in front. deprecated, use segments instead.
The tags associated with the lead. All existing tags will be updated based on this call
Caution: Max limit 64 characters.If you exceed the limit,the import will success , but only import 64 characters in front.
The tags associated with the lead. All existing tags will be retained, only add new tags base on this call
Caution: Max limit 64 characters. If you exceed the limit, the import will success, but only import 64 characters in front.
The entity ID for the ownership scope. Required when ownershipScope is OFFICE (pass the office ID) or PERSONAL (pass the agent's user ID). Ignored when ownershipScope is TEAM.
Controls the visibility scope of the lead. TEAM — Account-wide: visible to all users in this Lofty client account. OFFICE — visible only within the specified office (requires ownershipId). PERSONAL — visible only to the specified agent (requires ownershipId). Note: TEAM refers to the entire client account (the organization), not the Lofty "Team add-on" product.
Tags to remove from the lead, by literal name. Only tags that are already on the lead are affected — a name not currently on the lead is ignored (so a brand-new tag introduced by tags/tagsAdd in the same request is not affected). Names are matched literally, so a tag named "*" is removed like any other. To remove ALL tags use the clearAllTags flag instead. Applied after tags/tagsAdd; it does not change their behavior. Omit it to leave tags unchanged.
{"docsConfig":{"theme":"luma","$schema":"https://mintlify.com/docs.json","name":"Lofty Developer API","colors":{"primary":"#3c5cdc","light":"#ffffff"},"logo":{"light":"https://mintcdn.com/lofty-23bfa97a/472dpA6Ra28Z7egx/logo-dark.svg?fit=max\u0026auto=format\u0026n=472dpA6Ra28Z7egx\u0026q=85\u0026s=12c76c72f76b3c04e325c3922c833c12","dark":"https://mintcdn.com/lofty-23bfa97a/472dpA6Ra28Z7egx/logo-light.svg?fit=max\u0026auto=format\u0026n=472dpA6Ra28Z7egx\u0026q=85\u0026s=b12d6cdd0e6fae7d831727e7248232d2"},"favicon":"https://media.brand.dev/0aeb1ee4-c521-4fbe-b536-f1df81215cbc.png","navbar":{"primary":{"type":"github","href":"https://github.com/lofty"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"lofty-23bfa97a","hasAudioNarration":false,"actualSubdomain":"lofty-23bfa97a","customDomains":["developer.lofty.com"],"gitSource":{"type":"gitlab","owner":"homethy-crm","repo":"openapi-docs","hostUrl":"https://gitpub.d.chime.me","projectId":1443,"deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adb206fbc8f385cbd3092b4","collectionId":"c1279157-8ee2-4d40-b2f9-2aeae69a70b1","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adb206fbc8f385cbd3092b4"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6adb206fbc8f385cbd3092b4","clientVersion":"0.0.3964","searchFilterCounts":[{"language":"default","tag":"API Reference","count":132},{"language":"default","tag":"Documentation","count":48},{"language":"default","tag":"MCP","count":34},{"language":"default","tag":"Lofty CLI","count":31},{"language":"default","tag":"Team","count":29},{"language":"default","tag":"Leads","count":29},{"language":"default","tag":"Command Reference","count":25},{"language":"default","tag":"Task \u0026 Calendar","count":22},{"language":"default","tag":"Communication","count":19},{"language":"default","tag":"AI Copilot","count":17}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"@media (min-width:1024px){#sidebar-content{width:18rem}#body-content{padding-left:18rem}#content-area{margin-left:max(0px,calc(50vw - 348px - 18rem))}}"}],"page":{"pagePath":"api-reference/leads/update-lead","slug":"/api-reference/leads/update-lead","pageMetadata":{"title":"Update Lead","openapi":"openapi/openapi.json PUT /v1.0/leads/{leadId}","description":"Updates an existing lead. Caller must have manage permission on the lead.\n\n## Property block\n\nIf the request body carries a `property` block, it is persisted alongside the lead update with the same semantics as `POST /v1.0/leads/{leadId}/property`:\n\n- **`property.id` omitted or `\u003c= 0`** — merge with an existing property by address; if no match, create a new property record. (Prior versions of this endpoint rejected this case with `UPDATE_LEAD_PROPERTY_FAILED`; that restriction has been lifted.)\n- **`property.id > 0`** — update the named property in place. The property must belong to this lead (its `leadUserId` must match); otherwise the request is rejected with 200108 LEAD_PROPERTY_NOT_EXIST.\n\nValidation:\n- When a `property` block is supplied, at least one of `city`, `state`, `zipCode`, `streetAddress` must be non-blank; otherwise 200057 PROPERTY_ADDRESS_EMPTY is returned (the lead update is also aborted).","href":"/api-reference/leads/update-lead"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n h2: \"h2\",\n li: \"li\",\n p: \"p\",\n strong: \"strong\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Updates an existing lead. Caller must have manage permission on the lead.\"\n }), \"\\n\", _jsx(_components.h2, {\n children: \"Property block\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"If the request body carries a \", _jsx(_components.code, {\n children: \"property\"\n }), \" block, it is persisted alongside the lead update with the same semantics as \", _jsx(_components.code, {\n children: \"POST /v1.0/leads/{leadId}/property\"\n }), \":\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsxs(_components.strong, {\n children: [_jsx(_components.code, {\n children: \"property.id\"\n }), \" omitted or \", _jsx(_components.code, {\n children: \"\u003c= 0\"\n })]\n }), \" — merge with an existing property by address; if no match, create a new property record. (Prior versions of this endpoint rejected this case with \", _jsx(_components.code, {\n children: \"UPDATE_LEAD_PROPERTY_FAILED\"\n }), \"; that restriction has been lifted.)\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"property.id > 0\"\n })\n }), \" — update the named property in place. The property must belong to this lead (its \", _jsx(_components.code, {\n children: \"leadUserId\"\n }), \" must match); otherwise the request is rejected with 200108 LEAD_PROPERTY_NOT_EXIST.\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"Validation:\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"When a \", _jsx(_components.code, {\n children: \"property\"\n }), \" block is supplied, at least one of \", _jsx(_components.code, {\n children: \"city\"\n }), \", \", _jsx(_components.code, {\n children: \"state\"\n }), \", \", _jsx(_components.code, {\n children: \"zipCode\"\n }), \", \", _jsx(_components.code, {\n children: \"streetAddress\"\n }), \" must be non-blank; otherwise 200057 PROPERTY_ADDRESS_EMPTY is returned (the lead update is also aborted).\"]\n }), \"\\n\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Warning}=_components;if(!Warning)_missingMdxReference(`Warning`,true);return _jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Silent truncation`}),` — `,_jsx(_components.code,{children:`firstName`}),`, `,_jsx(_components.code,{children:`lastName`}),`, `,_jsx(_components.code,{children:`groups`}),`, `,_jsx(_components.code,{children:`segments`}),` are truncated to `,_jsx(_components.strong,{children:`30 characters`}),`; `,_jsx(_components.code,{children:`tags`}),` / `,_jsx(_components.code,{children:`tagsAdd`}),` to `,_jsx(_components.strong,{children:`64 characters`}),`. The API returns success with no error. Validate input length before sending.`]})})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Update Lead","openapi":"openapi/openapi.json PUT /v1.0/leads/{leadId}","description":"Updates an existing lead. Caller must have manage permission on the lead.\n\n## Property block\n\nIf the request body carries a `property` block, it is persisted alongside the lead update with the same semantics as `POST /v1.0/leads/{leadId}/property`:\n\n- **`property.id` omitted or `\u003c= 0`** — merge with an existing property by address; if no match, create a new property record. (Prior versions of this endpoint rejected this case with `UPDATE_LEAD_PROPERTY_FAILED`; that restriction has been lifted.)\n- **`property.id > 0`** — update the named property in place. The property must belong to this lead (its `leadUserId` must match); otherwise the request is rejected with 200108 LEAD_PROPERTY_NOT_EXIST.\n\nValidation:\n- When a `property` block is supplied, at least one of `city`, `state`, `zipCode`, `streetAddress` must be non-blank; otherwise 200057 PROPERTY_ADDRESS_EMPTY is returned (the lead update is also aborted).","href":"/api-reference/leads/update-lead"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Leads"],"summary":"Update Lead","description":"Updates an existing lead. Caller must have manage permission on the lead.\n\n## Property block\n\nIf the request body carries a `property` block, it is persisted alongside the lead update with the same semantics as `POST /v1.0/leads/{leadId}/property`:\n\n- **`property.id` omitted or `\u003c= 0`** — merge with an existing property by address; if no match, create a new property record. (Prior versions of this endpoint rejected this case with `UPDATE_LEAD_PROPERTY_FAILED`; that restriction has been lifted.)\n- **`property.id > 0`** — update the named property in place. The property must belong to this lead (its `leadUserId` must match); otherwise the request is rejected with 200108 LEAD_PROPERTY_NOT_EXIST.\n\nValidation:\n- When a `property` block is supplied, at least one of `city`, `state`, `zipCode`, `streetAddress` must be non-blank; otherwise 200057 PROPERTY_ADDRESS_EMPTY is returned (the lead update is also aborted).","operationId":"update_1","parameters":["46ebb9b7-e5e8-4d03-852c-1d2915ea062f","8bc708e1-e7a4-4d2a-991c-669d64c0e016","d05c7f76-186e-475e-aa14-b46b492a7f10","8b8c1bd5-0d26-4716-8aed-f12e80b39ae2"],"requestBody":"4ba6dae3-89bf-460b-a246-a658f9ad68ce","responses":{"200":"b0e8ecba-442c-40b8-b41b-61fc29a5c66d","400":"2ddf0387-4753-4f7b-b437-514e8243a227","401":"90e48972-f228-4f4a-8f36-f6f47c49fa98","404":"9c28890b-8d54-4306-82df-cbacb328fd0f","500":"4ca3ff12-bc67-4681-90c0-958d49f94140"},"method":"put","type":"path","servers":["5fee05a5-5cbb-475b-9058-26ced27eca18"],"security":[],"path":"/v1.0/leads/{leadId}","baseUrlOptions":["https://api.lofty.com"],"title":"Update Lead","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"46ebb9b7-e5e8-4d03-852c-1d2915ea062f":{"name":"leadId","in":"path","description":"ID of the lead to update.","required":true,"schema":{"minimum":1,"type":"integer","format":"int64","isRequired":true,"description":"ID of the lead to update.","uniqueKey":"","typeLabel":"integer\u003cint64>"},"example":100001},"8bc708e1-e7a4-4d2a-991c-669d64c0e016":{"name":"deduplicate","in":"query","description":"Defaults to false: the lead is updated in place. Pass true to also deduplicate: if another lead in the same team shares this lead's email after the update, this lead is merged into that lead (and this lead is deleted).","required":false,"schema":{"type":"boolean","default":false,"isRequired":false,"description":"Defaults to false: the lead is updated in place. Pass true to also deduplicate: if another lead in the same team shares this lead's email after the update, this lead is merged into that lead (and this lead is deleted).","uniqueKey":"","typeLabel":"boolean"}},"d05c7f76-186e-475e-aa14-b46b492a7f10":{"name":"Authorization","in":"header","description":"Bearer [access_token]","required":true,"schema":{"type":"string","isRequired":true,"description":"Bearer [access_token]","uniqueKey":"","typeLabel":"string"}},"8b8c1bd5-0d26-4716-8aed-f12e80b39ae2":{"name":"Content-Type","in":"header","description":"application/json","required":true,"schema":{"type":"string","isRequired":true,"description":"application/json","uniqueKey":"","typeLabel":"string"},"example":"application/json"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"cannotText":{"type":"boolean","description":"false: can send message to the lead","uniqueKey":"cannotText","typeLabel":"boolean"},"cannotCall":{"type":"boolean","description":"false: can call to the lead","uniqueKey":"cannotCall","typeLabel":"boolean"},"cannotEmail":{"type":"boolean","description":"false: can email to the lead","uniqueKey":"cannotEmail","typeLabel":"boolean"},"firstName":{"type":"string","description":"The first/given name of the lead \nCaution: Max limit 30 characters. If you exceed the limit, the import will succuss, but only import 30 characters in front.","example":"Bob","uniqueKey":"firstName","typeLabel":"string"},"lastName":{"type":"string","description":"The last/family name of the lead \nCaution: Max limit 30 characters. If you exceed the limit, the import will succuss, but only import 30 characters in front.","example":"Li","uniqueKey":"lastName","typeLabel":"string"},"emails":{"type":"array","description":"A list of email addresses associated with the lead","example":["jane.doe@example.com","jdoe-work@company.com"],"items":{"type":"string","example":"jane.doe@example.com","uniqueKey":"emails.items.[INDEX]","typeLabel":"string"},"uniqueKey":"emails","typeLabel":"string[]"},"phones":{"type":"array","description":"A list of phone numbers associated with the lead. (No more than 20 characters per phone)","example":["+14155551234","+12125559876"],"items":{"type":"string","example":"+14155551234","uniqueKey":"phones.items.[INDEX]","typeLabel":"string"},"uniqueKey":"phones","typeLabel":"string[]"},"leadTypes":{"type":"array","description":"Types of lead, expressed by ID. Type ID : Other (-1), Seller (1), Buyer (2), Renter (5), Investor (6), Agent (7),Homeowner (8), Landlord (9)","example":[2,5],"items":{"type":"integer","format":"int32","example":2,"uniqueKey":"leadTypes.items.[INDEX]","typeLabel":"integer\u003cint32>"},"uniqueKey":"leadTypes","typeLabel":"integer\u003cint32>[]"},"assignedUserId":{"type":"integer","description":"Id of the agent assigned to this contact","format":"int64","example":10000000514,"uniqueKey":"assignedUserId","typeLabel":"integer\u003cint64>"},"streetAddress":{"type":"string","description":"The streetAddress associated with the lead. Deprecated: please use the streetAddress field in property instead.","example":"The White House,1600 Pennsylvania Avenue NW","deprecated":true,"uniqueKey":"streetAddress","typeLabel":"string"},"city":{"type":"string","description":"The city associated with the lead. Deprecated: please use the city field in property instead.","example":"Washington DC","deprecated":true,"uniqueKey":"city","typeLabel":"string"},"state":{"type":"string","description":"The state associated with the lead. Deprecated: please use the state field in property instead.","example":"Washington DC","deprecated":true,"uniqueKey":"state","typeLabel":"string"},"zipCode":{"type":"string","description":"ZipCode. Deprecated: please use the zipCode field in property instead.","example":"20500","deprecated":true,"uniqueKey":"zipCode","typeLabel":"string"},"referredBy":{"type":"string","description":"The referee of the lead","example":"Jeremy Kelly","uniqueKey":"referredBy","typeLabel":"string"},"isHidden":{"type":"boolean","description":"The lead is hidden or not","example":false,"uniqueKey":"isHidden","typeLabel":"boolean"},"stage":{"type":"string","description":"The stage the lead is in, less than 20 characters","example":"Pending","uniqueKey":"stage","typeLabel":"string"},"groups":{"type":"array","description":"The groups the lead is in \n Caution: Max limit 30 characters.If you exceed the limit,the import will success , but only import 30 characters in front. deprecated, use segments instead.","example":["VIP Clients","Open House Feb"],"deprecated":true,"items":{"type":"string","example":"VIP Clients","uniqueKey":"groups.items.[INDEX]","typeLabel":"string"},"uniqueKey":"groups","typeLabel":"string[]"},"segments":{"type":"array","description":"The segments the lead is in \n Caution: Max limit 30 characters.If you exceed the limit,the import will success , but only import 30 characters in front.","example":["First-Time Buyers","Downtown Area"],"items":{"type":"string","example":"First-Time Buyers","uniqueKey":"segments.items.[INDEX]","typeLabel":"string"},"uniqueKey":"segments","typeLabel":"string[]"},"tags":{"type":"array","description":"The tags associated with the lead. All existing tags will be updated based on this call \n Caution: Max limit 64 characters.If you exceed the limit,the import will success , but only import 64 characters in front.","example":["Hot Lead","Zillow"],"items":{"type":"string","example":"Hot Lead","uniqueKey":"tags.items.[INDEX]","typeLabel":"string"},"uniqueKey":"tags","typeLabel":"string[]"},"tagsAdd":{"type":"array","description":"The tags associated with the lead. All existing tags will be retained, only add new tags base on this call\n Caution: Max limit 64 characters. If you exceed the limit, the import will success, but only import 64 characters in front.","example":["Referral","Pre-Approved"],"items":{"type":"string","example":"Referral","uniqueKey":"tagsAdd.items.[INDEX]","typeLabel":"string"},"uniqueKey":"tagsAdd","typeLabel":"string[]"},"source":{"type":"string","description":"The source of the lead","example":"Open House","uniqueKey":"source","typeLabel":"string"},"inquiry":{"type":"object","properties":{"priceMin":{"type":"integer","description":"Price range lower end","format":"int64","example":1,"uniqueKey":"inquiry.priceMin","typeLabel":"integer\u003cint64>"},"priceMax":{"type":"integer","description":"Price range higher end","format":"int64","example":10000000,"uniqueKey":"inquiry.priceMax","typeLabel":"integer\u003cint64>"},"propertyType":{"type":"array","description":"Property types: `Single Family Home`, `Multi-Family`, `Condo`, `Townhouse`, `Mobile Home`, `Manufactured Home`, `Vacant Land`, `Commercial`.","example":["Single Family Home","Condo"],"items":{"type":"string","example":"Single Family Home","uniqueKey":"inquiry.propertyType.items.[INDEX]","typeLabel":"string"},"uniqueKey":"inquiry.propertyType","typeLabel":"string[]"},"bedroomsMin":{"type":"integer","description":"Bed Rooms","format":"int32","example":1,"uniqueKey":"inquiry.bedroomsMin","typeLabel":"integer\u003cint32>"},"bathroomsMin":{"type":"string","description":"Bath Rooms","example":"1","uniqueKey":"inquiry.bathroomsMin","typeLabel":"string"},"locations":{"type":"array","description":"Areas the lead is interested in. Each entry is a Location object (city, stateCode, zipCode, county, streetAddress or description). Used by routing rules when the lead's leadTypes do not include Seller (1).","example":[{"city":"Austin","stateCode":"TX"}],"items":{"type":"object","properties":{"stateCode":{"type":"string","description":"The state code of city\nApplies to lead routing if the leadType field is not Seller(1) in the lead creation request.","example":"CA","uniqueKey":"inquiry.locations.items.[INDEX].stateCode","typeLabel":"string"},"city":{"type":"string","description":"The city\nApplies to lead routing if the leadType field is not Seller(1) in the lead creation request.","example":"Palm Desert","uniqueKey":"inquiry.locations.items.[INDEX].city","typeLabel":"string"},"zipCode":{"type":"string","description":"The zip code\nApplies to lead routing if the leadType field is not Seller(1) in the lead creation request.","example":"92211","uniqueKey":"inquiry.locations.items.[INDEX].zipCode","typeLabel":"string"},"county":{"type":"string","description":"The county\nApplies to lead routing if the leadType field is not Seller(1) in the lead creation request.","uniqueKey":"inquiry.locations.items.[INDEX].county","typeLabel":"string"},"streetAddress":{"type":"string","description":"The street address\nApplies to lead routing if the leadType field is not Seller(1) in the lead creation request.","uniqueKey":"inquiry.locations.items.[INDEX].streetAddress","typeLabel":"string"},"description":{"type":"string","description":"Description of location.","example":"other","uniqueKey":"inquiry.locations.items.[INDEX].description","typeLabel":"string"}},"description":"Areas the lead is interested in. Each entry is a Location object (city, stateCode, zipCode, county, streetAddress or description). Used by routing rules when the lead's leadTypes do not include Seller (1).","example":[{"city":"Austin","stateCode":"TX"}],"uniqueKey":"inquiry.locations.items.[INDEX]","typeLabel":"object"},"uniqueKey":"inquiry.locations","typeLabel":"object[]"},"id":{"type":"integer","format":"int64","uniqueKey":"inquiry.id","typeLabel":"integer\u003cint64>"},"leadUserId":{"type":"integer","format":"int64","uniqueKey":"inquiry.leadUserId","typeLabel":"integer\u003cint64>"},"bedroomsMax":{"type":"integer","format":"int32","uniqueKey":"inquiry.bedroomsMax","typeLabel":"integer\u003cint32>"},"bathroomsMax":{"type":"string","uniqueKey":"inquiry.bathroomsMax","typeLabel":"string"},"modifyByAgent":{"type":"boolean","uniqueKey":"inquiry.modifyByAgent","typeLabel":"boolean"},"createTime":{"type":"string","format":"date-time","uniqueKey":"inquiry.createTime","typeLabel":"string\u003cdate-time>"},"updateTime":{"type":"string","format":"date-time","uniqueKey":"inquiry.updateTime","typeLabel":"string\u003cdate-time>"},"defaultValue":{"type":"boolean","uniqueKey":"inquiry.defaultValue","typeLabel":"boolean"}},"description":"LeadInquirys","uniqueKey":"inquiry","typeLabel":"object"},"property":{"type":"object","properties":{"price":{"type":"integer","description":"The price\nApplies to lead routing only if the leadType field is Seller(1)","format":"int64","example":100000,"uniqueKey":"property.price","typeLabel":"integer\u003cint64>"},"state":{"type":"string","description":"The state\nApplies to lead routing only if the leadType field is Seller(1)","example":"California","uniqueKey":"property.state","typeLabel":"string"},"city":{"type":"string","description":"The city\nApplies to lead routing only if the leadType field is Seller(1)","example":"New York","uniqueKey":"property.city","typeLabel":"string"},"streetAddress":{"type":"string","description":"The street address\nApplies to lead routing only if the leadType field is Seller(1)","example":"22348 Regnart RD","uniqueKey":"property.streetAddress","typeLabel":"string"},"zipCode":{"type":"string","description":"The zip code\nApplies to lead routing only if the leadType field is Seller(1)","example":"25401","uniqueKey":"property.zipCode","typeLabel":"string"},"county":{"type":"string","description":"The county\nApplies to lead routing only if the leadType field is Seller(1)","uniqueKey":"property.county","typeLabel":"string"},"propertyType":{"type":"string","description":"Property type: `Single Family Home`, `Multi-Family`, `Condo`, `Townhouse`, `Mobile Home`, `Manufactured Home`, `Vacant Land`, `Commercial`.","example":"Single Family Home","uniqueKey":"property.propertyType","typeLabel":"string"},"bedrooms":{"type":"integer","description":"The bed rooms.","format":"int32","example":3,"uniqueKey":"property.bedrooms","typeLabel":"integer\u003cint32>"},"bathrooms":{"type":"number","description":"The bath rooms.","format":"double","example":2,"uniqueKey":"property.bathrooms","typeLabel":"number\u003cdouble>"},"squareFeet":{"type":"integer","description":"The square feet.","format":"int64","example":100,"uniqueKey":"property.squareFeet","typeLabel":"integer\u003cint64>"},"lotSize":{"type":"number","description":"The lot size (acreage).","format":"double","example":26.33,"uniqueKey":"property.lotSize","typeLabel":"number\u003cdouble>"},"parkingSpace":{"type":"integer","description":"The parking space.","format":"int64","example":1,"uniqueKey":"property.parkingSpace","typeLabel":"integer\u003cint64>"},"floors":{"type":"integer","description":"The floors.","format":"int32","example":1,"uniqueKey":"property.floors","typeLabel":"integer\u003cint32>"},"mailAddress":{"type":"boolean","description":"If set to true, the address is a mailing address; otherwise, it is a property address.","uniqueKey":"property.mailAddress","typeLabel":"boolean"},"id":{"type":"integer","description":"The property ID. Required when updating an existing mailing address or property address. If not provided, a new address will be created.","format":"int64","uniqueKey":"property.id","typeLabel":"integer\u003cint64>"},"leadUserId":{"type":"integer","format":"int64","uniqueKey":"property.leadUserId","typeLabel":"integer\u003cint64>"},"listingId":{"type":"string","uniqueKey":"property.listingId","typeLabel":"string"},"autoListingId":{"type":"integer","format":"int64","uniqueKey":"property.autoListingId","typeLabel":"integer\u003cint64>"},"label":{"type":"string","uniqueKey":"property.label","typeLabel":"string"},"note":{"type":"string","uniqueKey":"property.note","typeLabel":"string"},"listingStatus":{"type":"string","uniqueKey":"property.listingStatus","typeLabel":"string"},"labelList":{"type":"string","uniqueKey":"property.labelList","typeLabel":"string"},"pictureUrl":{"type":"string","uniqueKey":"property.pictureUrl","typeLabel":"string"},"siteListingUrl":{"type":"string","uniqueKey":"property.siteListingUrl","typeLabel":"string"},"labelType":{"type":"string","uniqueKey":"property.labelType","typeLabel":"string"},"priceMax":{"type":"integer","description":"The max price\nApplies to lead routing only if the leadType field is Seller(1)","format":"int64","writeOnly":true,"example":10000000,"uniqueKey":"property.priceMax","typeLabel":"integer\u003cint64>"},"priceMin":{"type":"integer","description":"The min price\nApplies to lead routing only if the leadType field is Seller(1)","format":"int64","writeOnly":true,"example":100000,"uniqueKey":"property.priceMin","typeLabel":"integer\u003cint64>"}},"description":"Lead property or mailing address details","uniqueKey":"property","typeLabel":"object"},"customAttributeList":{"type":"array","description":"User customized field","items":{"required":["attributeName","attributeType","value"],"type":"object","properties":{"attributeName":{"type":"string","description":"The name of this custom field","isRequired":true,"uniqueKey":"customAttributeList.items.[INDEX].attributeName","typeLabel":"string"},"attributeType":{"type":"string","description":"The type of the field","example":"number, text, date, anniversary_date, single_select, multi_select, percentage, currency","isRequired":true,"uniqueKey":"customAttributeList.items.[INDEX].attributeType","typeLabel":"string"},"value":{"type":"string","description":"The content of the field for lead, value for multi-select,such as \"[\\\"item1\\\",\\\"item2\\s\",...]\" .It's unnecessary when adding a new custom field for team","isRequired":true,"uniqueKey":"customAttributeList.items.[INDEX].value","typeLabel":"string"},"params":{"type":"string","description":"options for select, such as {\"option\":[\"item1\",\"item2\",...]}","uniqueKey":"customAttributeList.items.[INDEX].params","typeLabel":"string"}},"description":"User customized field","uniqueKey":"customAttributeList.items.[INDEX]","typeLabel":"object"},"uniqueKey":"customAttributeList","typeLabel":"object[]"},"birthday":{"type":"string","description":"The birthday of the lead(pattern:MMM d, yyyy)","example":"Jun 5, 2001","uniqueKey":"birthday","typeLabel":"string"},"buyingTimeFrame":{"type":"string","description":"buying time frame, `1-3`, `3-6`, `6-12`, `12+`, `Just Looking`, `Refinancing`.","example":"6-12","uniqueKey":"buyingTimeFrame","typeLabel":"string"},"preQual":{"type":"string","description":"Pre-qual, `Yes` or `No`.","example":"Yes","uniqueKey":"preQual","typeLabel":"string"},"houseToSell":{"type":"string","description":"House to Sell, `Yes` or `No`.","example":"Yes","uniqueKey":"houseToSell","typeLabel":"string"},"fthb":{"type":"string","description":"first time home buyer, `Yes` or `No`.","example":"Yes","uniqueKey":"fthb","typeLabel":"string"},"withBuyerAgent":{"type":"string","description":"With buyer Agent, `Yes` or `No`.","example":"Yes","uniqueKey":"withBuyerAgent","typeLabel":"string"},"sellingTimeFrame":{"type":"string","description":"selling time frame, `1-3`, `3-6`, `6-12`, `12+`, `Just Looking`, `Refinancing`.","example":"1-3","uniqueKey":"sellingTimeFrame","typeLabel":"string"},"mortgage":{"type":"string","description":"Mortgage, `Yes` or `No`.","example":"Yes","uniqueKey":"mortgage","typeLabel":"string"},"buyHouse":{"type":"string","description":"Buy a house, `Yes` or `No`.","example":"Yes","uniqueKey":"buyHouse","typeLabel":"string"},"withListingAgent":{"type":"string","description":"With listing agent, `Yes` or `No`.","example":"Yes","uniqueKey":"withListingAgent","typeLabel":"string"},"leadFamilyMemberList":{"type":"array","description":"A list of family members associated with the lead. You can add up to 4 family members.","items":{"required":["firstName"],"type":"object","properties":{"firstName":{"type":"string","description":"The first name of the family member","isRequired":true,"uniqueKey":"leadFamilyMemberList.items.[INDEX].firstName","typeLabel":"string"},"relationship":{"type":"string","description":"The relationship of this family member to primary lead. Example: Husband","uniqueKey":"leadFamilyMemberList.items.[INDEX].relationship","typeLabel":"string"},"lastName":{"type":"string","description":"The last name of the family member","uniqueKey":"leadFamilyMemberList.items.[INDEX].lastName","typeLabel":"string"},"phones":{"type":"array","description":"A list of phone numbers associated with the family member. (No more than 20 characters per phone)","example":["+14155551234"],"items":{"type":"string","example":"+14155551234","uniqueKey":"leadFamilyMemberList.items.[INDEX].phones.items.[INDEX]","typeLabel":"string"},"uniqueKey":"leadFamilyMemberList.items.[INDEX].phones","typeLabel":"string[]"},"emails":{"type":"array","description":"A list of email addresses associated with the lead","example":["spouse@example.com"],"items":{"type":"string","example":"spouse@example.com","uniqueKey":"leadFamilyMemberList.items.[INDEX].emails.items.[INDEX]","typeLabel":"string"},"uniqueKey":"leadFamilyMemberList.items.[INDEX].emails","typeLabel":"string[]"},"birthday":{"type":"string","description":"The birthday of the family member(pattern:MMM d, yyyy)","uniqueKey":"leadFamilyMemberList.items.[INDEX].birthday","typeLabel":"string"}},"description":"A list of family members associated with the lead","uniqueKey":"leadFamilyMemberList.items.[INDEX]","typeLabel":"object"},"uniqueKey":"leadFamilyMemberList","typeLabel":"object[]"},"language":{"type":"string","description":"The lead's abbreviated language, `en`, `fr`, `de`, `es`, `zh-CN`, `zh-TW`, `ja`","example":"en","uniqueKey":"language","typeLabel":"string"},"ownershipId":{"type":"integer","description":"The entity ID for the ownership scope. Required when `ownershipScope` is `OFFICE` (pass the office ID) or `PERSONAL` (pass the agent's user ID). Ignored when `ownershipScope` is `TEAM`.","format":"int64","uniqueKey":"ownershipId","typeLabel":"integer\u003cint64>"},"ownershipScope":{"type":"string","description":"Controls the visibility scope of the lead. `TEAM` — Account-wide: visible to all users in this Lofty client account. `OFFICE` — visible only within the specified office (requires `ownershipId`). `PERSONAL` — visible only to the specified agent (requires `ownershipId`). Note: `TEAM` refers to the entire client account (the organization), not the Lofty \"Team add-on\" product.","example":"TEAM","uniqueKey":"ownershipScope","typeLabel":"string"},"unsubscription":{"type":"boolean","description":"Unsubscription the email","uniqueKey":"unsubscription","typeLabel":"boolean"},"leadTransaction":{"required":["transactionName"],"type":"object","properties":{"transactionName":{"type":"string","description":"Property address or deal name. Required on create. Must not be blank and must not contain '\u003c' or '>' characters.","example":"123 Main St","isRequired":true,"uniqueKey":"leadTransaction.transactionName","typeLabel":"string"},"leadName":{"type":"string","description":"Name of the lead this transaction belongs to. Ignored if supplied in a request body.","example":"Bob","uniqueKey":"leadTransaction.leadName","typeLabel":"string"},"assignedAgent":{"type":"integer","description":"User ID of the agent this transaction is assigned to. Ignored if supplied in a request body.","format":"int64","example":100001,"uniqueKey":"leadTransaction.assignedAgent","typeLabel":"integer\u003cint64>"},"transactionType":{"type":"string","description":"Transaction type. Case-sensitive; must be one of the supported values. Values not matching the team's configured pipeline types fall back silently to the first pipeline (typically 'Purchase / Pre-contract'); always pass a valid type to avoid this silent behavior.","example":"Purchase","enum":["Purchase","Listing","Lease","Other"],"uniqueKey":"leadTransaction.transactionType","typeLabel":"enum\u003cstring>"},"homePrice":{"type":"number","description":"Home price of the transaction.","example":1000000,"uniqueKey":"leadTransaction.homePrice","typeLabel":"number"},"transactionStatus":{"type":"string","description":"Transaction status name. Must match one of the statuses configured in the team's pipeline for the given transactionType; unmatched values silently fall back to the first status of that type.","example":"Pre-contract","uniqueKey":"leadTransaction.transactionStatus","typeLabel":"string"},"expectedCloseDate":{"type":"integer","description":"Expected close date, in milliseconds since Unix epoch (UTC).","format":"int64","example":1508580010000,"uniqueKey":"leadTransaction.expectedCloseDate","typeLabel":"integer\u003cint64>"},"closeDate":{"type":"integer","description":"Actual close date, in milliseconds since Unix epoch (UTC).","format":"int64","example":1508580010000,"uniqueKey":"leadTransaction.closeDate","typeLabel":"integer\u003cint64>"},"commissionRate":{"type":"number","description":"Commission rate, expressed as a percentage (e.g. 3 for 3%).","example":3,"uniqueKey":"leadTransaction.commissionRate","typeLabel":"number"},"gci":{"type":"number","description":"Gross Commission Income (GCI) of the transaction.","example":5000,"uniqueKey":"leadTransaction.gci","typeLabel":"number"},"teamRevenue":{"type":"number","description":"Portion of the GCI attributed to the team.","example":1000,"uniqueKey":"leadTransaction.teamRevenue","typeLabel":"number"},"agentRevenue":{"type":"number","description":"Portion of the GCI attributed to the agent.","example":4000,"uniqueKey":"leadTransaction.agentRevenue","typeLabel":"number"},"appointmentDate":{"type":"integer","description":"Appointment date, in milliseconds since Unix epoch (UTC).","format":"int64","example":1508580010000,"uniqueKey":"leadTransaction.appointmentDate","typeLabel":"integer\u003cint64>"},"agreementSignedDate":{"type":"integer","description":"Agreement-signed date, in milliseconds since Unix epoch (UTC).","format":"int64","example":1508580010000,"uniqueKey":"leadTransaction.agreementSignedDate","typeLabel":"integer\u003cint64>"},"offerDate":{"type":"integer","description":"Offer date, in milliseconds since Unix epoch (UTC).","format":"int64","example":1508580010000,"uniqueKey":"leadTransaction.offerDate","typeLabel":"integer\u003cint64>"},"contractDate":{"type":"integer","description":"Contract date, in milliseconds since Unix epoch (UTC).","format":"int64","example":1508580010000,"uniqueKey":"leadTransaction.contractDate","typeLabel":"integer\u003cint64>"},"appraisalDate":{"type":"integer","description":"Appraisal date, in milliseconds since Unix epoch (UTC).","format":"int64","example":1508580010000,"uniqueKey":"leadTransaction.appraisalDate","typeLabel":"integer\u003cint64>"},"homeInspectionDate":{"type":"integer","description":"Home-inspection date, in milliseconds since Unix epoch (UTC).","format":"int64","example":1508580010000,"uniqueKey":"leadTransaction.homeInspectionDate","typeLabel":"integer\u003cint64>"},"escrowDate":{"type":"integer","description":"Escrow date, in milliseconds since Unix epoch (UTC).","format":"int64","example":1508580010000,"uniqueKey":"leadTransaction.escrowDate","typeLabel":"integer\u003cint64>"},"expiration":{"type":"integer","description":"Expiration date (listing / contract), in milliseconds since Unix epoch (UTC).","format":"int64","example":1508580010000,"uniqueKey":"leadTransaction.expiration","typeLabel":"integer\u003cint64>"},"customFields":{"type":"array","description":"Custom field values; full-coverage update or insertion. See GET /v1.0/transaction/customfields for the team's custom field definitions.","items":{"type":"object","properties":{"id":{"type":"integer","description":"Custom field id","format":"int64","uniqueKey":"leadTransaction.customFields.items.[INDEX].id","typeLabel":"integer\u003cint64>"},"value":{"type":"string","description":"Custom field value For multi_select, the format is:[\"Item1\",\"Item2\", ...]","uniqueKey":"leadTransaction.customFields.items.[INDEX].value","typeLabel":"string"}},"description":"Custom field values; full-coverage update or insertion. See GET /v1.0/transaction/customfields for the team's custom field definitions.","uniqueKey":"leadTransaction.customFields.items.[INDEX]","typeLabel":"object"},"uniqueKey":"leadTransaction.customFields","typeLabel":"object[]"},"commissions":{"type":"object","properties":{"preSplit":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","format":"int64","uniqueKey":"leadTransaction.commissions.preSplit.items.[INDEX].id","typeLabel":"integer\u003cint64>"},"splitPayType":{"type":"string","enum":["TEAM","AGENT","VENDOR_PARTNER","LEAD","OTHER","BROKERAGE","UPLINE"],"uniqueKey":"leadTransaction.commissions.preSplit.items.[INDEX].splitPayType","typeLabel":"enum\u003cstring>"},"splitPayTo":{"type":"integer","format":"int64","uniqueKey":"leadTransaction.commissions.preSplit.items.[INDEX].splitPayTo","typeLabel":"integer\u003cint64>"},"splitPayToName":{"type":"string","uniqueKey":"leadTransaction.commissions.preSplit.items.[INDEX].splitPayToName","typeLabel":"string"},"payType":{"type":"string","enum":["TEAM","AGENT","VENDOR_PARTNER","LEAD","OTHER","BROKERAGE","UPLINE"],"uniqueKey":"leadTransaction.commissions.preSplit.items.[INDEX].payType","typeLabel":"enum\u003cstring>"},"payTo":{"type":"integer","format":"int64","uniqueKey":"leadTransaction.commissions.preSplit.items.[INDEX].payTo","typeLabel":"integer\u003cint64>"},"payToName":{"type":"string","uniqueKey":"leadTransaction.commissions.preSplit.items.[INDEX].payToName","typeLabel":"string"},"value":{"type":"integer","format":"int64","uniqueKey":"leadTransaction.commissions.preSplit.items.[INDEX].value","typeLabel":"integer\u003cint64>"},"calculateType":{"type":"string","enum":["PERCENT","AMOUNT"],"uniqueKey":"leadTransaction.commissions.preSplit.items.[INDEX].calculateType","typeLabel":"enum\u003cstring>"},"desc":{"type":"string","uniqueKey":"leadTransaction.commissions.preSplit.items.[INDEX].desc","typeLabel":"string"}},"uniqueKey":"leadTransaction.commissions.preSplit.items.[INDEX]","typeLabel":"object"},"uniqueKey":"leadTransaction.commissions.preSplit","typeLabel":"object[]"},"split":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","format":"int64","uniqueKey":"leadTransaction.commissions.split.items.[INDEX].id","typeLabel":"integer\u003cint64>"},"splitPayType":{"type":"string","enum":["TEAM","AGENT","VENDOR_PARTNER","LEAD","OTHER","BROKERAGE","UPLINE"],"uniqueKey":"leadTransaction.commissions.split.items.[INDEX].splitPayType","typeLabel":"enum\u003cstring>"},"splitPayTo":{"type":"integer","format":"int64","uniqueKey":"leadTransaction.commissions.split.items.[INDEX].splitPayTo","typeLabel":"integer\u003cint64>"},"splitPayToName":{"type":"string","uniqueKey":"leadTransaction.commissions.split.items.[INDEX].splitPayToName","typeLabel":"string"},"payType":{"type":"string","enum":["TEAM","AGENT","VENDOR_PARTNER","LEAD","OTHER","BROKERAGE","UPLINE"],"uniqueKey":"leadTransaction.commissions.split.items.[INDEX].payType","typeLabel":"enum\u003cstring>"},"payTo":{"type":"integer","format":"int64","uniqueKey":"leadTransaction.commissions.split.items.[INDEX].payTo","typeLabel":"integer\u003cint64>"},"payToName":{"type":"string","uniqueKey":"leadTransaction.commissions.split.items.[INDEX].payToName","typeLabel":"string"},"value":{"type":"integer","format":"int64","uniqueKey":"leadTransaction.commissions.split.items.[INDEX].value","typeLabel":"integer\u003cint64>"},"calculateType":{"type":"string","enum":["PERCENT","AMOUNT"],"uniqueKey":"leadTransaction.commissions.split.items.[INDEX].calculateType","typeLabel":"enum\u003cstring>"},"desc":{"type":"string","uniqueKey":"leadTransaction.commissions.split.items.[INDEX].desc","typeLabel":"string"}},"uniqueKey":"leadTransaction.commissions.split.items.[INDEX]","typeLabel":"object"},"uniqueKey":"leadTransaction.commissions.split","typeLabel":"object[]"},"postSplit":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","format":"int64","uniqueKey":"leadTransaction.commissions.postSplit.items.[INDEX].id","typeLabel":"integer\u003cint64>"},"splitPayType":{"type":"string","enum":["TEAM","AGENT","VENDOR_PARTNER","LEAD","OTHER","BROKERAGE","UPLINE"],"uniqueKey":"leadTransaction.commissions.postSplit.items.[INDEX].splitPayType","typeLabel":"enum\u003cstring>"},"splitPayTo":{"type":"integer","format":"int64","uniqueKey":"leadTransaction.commissions.postSplit.items.[INDEX].splitPayTo","typeLabel":"integer\u003cint64>"},"splitPayToName":{"type":"string","uniqueKey":"leadTransaction.commissions.postSplit.items.[INDEX].splitPayToName","typeLabel":"string"},"payType":{"type":"string","enum":["TEAM","AGENT","VENDOR_PARTNER","LEAD","OTHER","BROKERAGE","UPLINE"],"uniqueKey":"leadTransaction.commissions.postSplit.items.[INDEX].payType","typeLabel":"enum\u003cstring>"},"payTo":{"type":"integer","format":"int64","uniqueKey":"leadTransaction.commissions.postSplit.items.[INDEX].payTo","typeLabel":"integer\u003cint64>"},"payToName":{"type":"string","uniqueKey":"leadTransaction.commissions.postSplit.items.[INDEX].payToName","typeLabel":"string"},"value":{"type":"integer","format":"int64","uniqueKey":"leadTransaction.commissions.postSplit.items.[INDEX].value","typeLabel":"integer\u003cint64>"},"calculateType":{"type":"string","enum":["PERCENT","AMOUNT"],"uniqueKey":"leadTransaction.commissions.postSplit.items.[INDEX].calculateType","typeLabel":"enum\u003cstring>"},"desc":{"type":"string","uniqueKey":"leadTransaction.commissions.postSplit.items.[INDEX].desc","typeLabel":"string"}},"uniqueKey":"leadTransaction.commissions.postSplit.items.[INDEX]","typeLabel":"object"},"uniqueKey":"leadTransaction.commissions.postSplit","typeLabel":"object[]"}},"description":"Commission structure (preSplit / split / postSplit). See POST /v1.0/leads/{leadId}/transaction description for validation rules.","uniqueKey":"leadTransaction.commissions","typeLabel":"object"}},"uniqueKey":"leadTransaction","typeLabel":"object"},"tagsRemove":{"type":"array","description":"Tags to remove from the lead, by literal name. Only tags that are already on the lead are affected — a name not currently on the lead is ignored (so a brand-new tag introduced by `tags`/`tagsAdd` in the same request is not affected). Names are matched literally, so a tag named \"*\" is removed like any other. To remove ALL tags use the `clearAllTags` flag instead. Applied after `tags`/`tagsAdd`; it does not change their behavior. Omit it to leave tags unchanged.","example":["Hot Lead"],"items":{"type":"string","example":"Hot Lead","uniqueKey":"tagsRemove.items.[INDEX]","typeLabel":"string"},"uniqueKey":"tagsRemove","typeLabel":"string[]"},"clearAllTags":{"type":"boolean","description":"Set to `true` to remove ALL tags from the lead. Takes precedence over `tags` / `tagsAdd` / `tagsRemove`. Defaults to `false` (no change).","example":false,"uniqueKey":"clearAllTags","typeLabel":"boolean"}},"description":"Lead update payload.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"cannotText":true,"cannotCall":true,"cannotEmail":true,"firstName":"Bob","lastName":"Li","emails":["jane.doe@example.com","jdoe-work@company.com"],"phones":["+14155551234","+12125559876"],"leadTypes":[2,5],"assignedUserId":10000000514,"streetAddress":"The White House,1600 Pennsylvania Avenue NW","city":"Washington DC","state":"Washington DC","zipCode":"20500","referredBy":"Jeremy Kelly","isHidden":false,"stage":"Pending","groups":["VIP Clients","Open House Feb"],"segments":["First-Time Buyers","Downtown Area"],"tags":["Hot Lead","Zillow"],"tagsAdd":["Referral","Pre-Approved"],"source":"Open House","inquiry":{"priceMin":1,"priceMax":10000000,"propertyType":["Single Family Home","Condo"],"bedroomsMin":1,"bathroomsMin":"1","locations":[{"city":"Austin","stateCode":"TX"}],"id":123,"leadUserId":123,"bedroomsMax":123,"bathroomsMax":"\u003cstring>","modifyByAgent":true,"createTime":"2023-11-07T05:31:56Z","updateTime":"2023-11-07T05:31:56Z","defaultValue":true},"property":{"price":100000,"state":"California","city":"New York","streetAddress":"22348 Regnart RD","zipCode":"25401","county":"\u003cstring>","propertyType":"Single Family Home","bedrooms":3,"bathrooms":2,"squareFeet":100,"lotSize":26.33,"parkingSpace":1,"floors":1,"mailAddress":true,"id":123,"leadUserId":123,"listingId":"\u003cstring>","autoListingId":123,"label":"\u003cstring>","note":"\u003cstring>","listingStatus":"\u003cstring>","labelList":"\u003cstring>","pictureUrl":"\u003cstring>","siteListingUrl":"\u003cstring>","labelType":"\u003cstring>","priceMax":10000000,"priceMin":100000},"customAttributeList":[{"attributeName":"\u003cstring>","attributeType":"number, text, date, anniversary_date, single_select, multi_select, percentage, currency","value":"\u003cstring>","params":"\u003cstring>"}],"birthday":"Jun 5, 2001","buyingTimeFrame":"6-12","preQual":"Yes","houseToSell":"Yes","fthb":"Yes","withBuyerAgent":"Yes","sellingTimeFrame":"1-3","mortgage":"Yes","buyHouse":"Yes","withListingAgent":"Yes","leadFamilyMemberList":[{"firstName":"\u003cstring>","relationship":"\u003cstring>","lastName":"\u003cstring>","phones":["+14155551234"],"emails":["spouse@example.com"],"birthday":"\u003cstring>"}],"language":"en","ownershipId":123,"ownershipScope":"TEAM","unsubscription":true,"tagsRemove":["Hot Lead"],"clearAllTags":false}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"b0e8ecba-442c-40b8-b41b-61fc29a5c66d":{"description":"Lead updated.","content":{"application/json":{"schema":{"type":"object","properties":{"leadId":{"type":"integer","description":"ID of the lead.","format":"int64","example":651095960136641,"uniqueKey":"leadId","typeLabel":"integer\u003cint64>"}},"description":"Response containing the lead ID.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"leadId":651095960136641}}},"exampleType":"generated"}},"exampleType":"generated"},"2ddf0387-4753-4f7b-b437-514e8243a227":{"description":"Invalid parameters (20012 INVALID_PARAMETER); `property` block supplied with every address field blank (200057 PROPERTY_ADDRESS_EMPTY).","content":{"application/json":{"schema":{"type":"string","uniqueKey":"","typeLabel":"string"},"examples":{"Example":{"title":"Example","value":"\u003cstring>"}},"exampleType":"generated"}},"exampleType":"generated"},"90e48972-f228-4f4a-8f36-f6f47c49fa98":{"description":"Missing or invalid authentication token.","content":{"application/json":{"schema":{"type":"string","uniqueKey":"","typeLabel":"string"},"examples":{"Example":{"title":"Example","value":"\u003cstring>"}},"exampleType":"generated"}},"exampleType":"generated"},"9c28890b-8d54-4306-82df-cbacb328fd0f":{"description":"Lead does not exist or is not accessible (20006 LEAD_NOT_EXIST); supplied `property.id` does not belong to this lead (200108 LEAD_PROPERTY_NOT_EXIST).","content":{"application/json":{"schema":{"type":"string","uniqueKey":"","typeLabel":"string"},"examples":{"Example":{"title":"Example","value":"\u003cstring>"}},"exampleType":"generated"}},"exampleType":"generated"},"4ca3ff12-bc67-4681-90c0-958d49f94140":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"string","uniqueKey":"","typeLabel":"string"},"examples":{"Example":{"title":"Example","value":"\u003cstring>"}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{},"servers":{"5fee05a5-5cbb-475b-9058-26ced27eca18":{"url":"https://api.lofty.com"}}},"originalFileLocation":"openapi/openapi.json"},"subdomain":"lofty-23bfa97a","siteName":"Lofty Developer API","title":"Update Lead - Lofty Developer API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-05-28T08:37:09.199Z","originalFileLocation":"api-reference/leads/update-lead.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Updates an existing lead. Caller must have manage permission on the lead. ## Property block If the request body carries a property block, it is persisted alongside the lead update with the same semantics as POST /v1.0/leads/{leadId}/property: - property.id omitted or \u0026lt;= 0 — merge with an existing property by address; if no match, create a new property record. (Prior versions of this endpoint rejected this case with UPDATE_LEAD_PROPERTY_FAILED; that restriction has been lifted.) - property.id \u0026gt; 0 — update the named property in place. The property must belong to this lead (its leadUserId must match); otherwise the request is rejected with 200108 LEAD_PROPERTY_NOT_EXIST. Validation: - When a property block is supplied, at least one of city, state, zipCode, streetAddress must be non-blank; otherwise 200057 PROPERTY_ADDRESS_EMPTY is returned (the lead update is also aborted).\">\u003cmeta data-mint-head name=\"application-name\" content=\"Lofty Developer API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"https://media.brand.dev/0aeb1ee4-c521-4fbe-b536-f1df81215cbc.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"https://media.brand.dev/0aeb1ee4-c521-4fbe-b536-f1df81215cbc.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"https://media.brand.dev/0aeb1ee4-c521-4fbe-b536-f1df81215cbc.png\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/png\" href=\"https://media.brand.dev/0aeb1ee4-c521-4fbe-b536-f1df81215cbc.png\">\u003cmeta data-mint-head property=\"og:title\" content=\"Update Lead - Lofty Developer API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Updates an existing lead. Caller must have manage permission on the lead. ## Property block If the request body carries a property block, it is persisted alongside the lead update with the same semantics as POST /v1.0/leads/{leadId}/property: - property.id omitted or \u0026lt;= 0 — merge with an existing property by address; if no match, create a new property record. (Prior versions of this endpoint rejected this case with UPDATE_LEAD_PROPERTY_FAILED; that restriction has been lifted.) - property.id \u0026gt; 0 — update the named property in place. The property must belong to this lead (its leadUserId must match); otherwise the request is rejected with 200108 LEAD_PROPERTY_NOT_EXIST. Validation: - When a property block is supplied, at least one of city, state, zipCode, streetAddress must be non-blank; otherwise 200057 PROPERTY_ADDRESS_EMPTY is returned (the lead update is also aborted).\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Lofty Developer API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developer.lofty.com/api-reference/leads/update-lead\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://lofty-23bfa97a.mintlify.app/_mintlify/api/og/v2?division=Core\u0026amp;title=Update+Lead\u0026amp;description=Updates+an+existing+lead.+Caller+must+have+manage+permission+on+the+lead.%0A%0A%23%23+Property+block%0A%0AIf+the+request+body+carries+a+%60property%60+block%2C+it+is+persisted+al\u0026amp;theme=cf5308eab30ae100a5b55002\u0026amp;signature=c33066d0e600fb63859504281563cdf6ec62c77fce29ffec9a5d9f9aede105bf\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Update Lead - Lofty Developer API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Updates an existing lead. Caller must have manage permission on the lead. ## Property block If the request body carries a property block, it is persisted alongside the lead update with the same semantics as POST /v1.0/leads/{leadId}/property: - property.id omitted or \u0026lt;= 0 — merge with an existing property by address; if no match, create a new property record. (Prior versions of this endpoint rejected this case with UPDATE_LEAD_PROPERTY_FAILED; that restriction has been lifted.) - property.id \u0026gt; 0 — update the named property in place. The property must belong to this lead (its leadUserId must match); otherwise the request is rejected with 200108 LEAD_PROPERTY_NOT_EXIST. Validation: - When a property block is supplied, at least one of city, state, zipCode, streetAddress must be non-blank; otherwise 200057 PROPERTY_ADDRESS_EMPTY is returned (the lead update is also aborted).\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://lofty-23bfa97a.mintlify.app/_mintlify/api/og/v2?division=Core\u0026amp;title=Update+Lead\u0026amp;description=Updates+an+existing+lead.+Caller+must+have+manage+permission+on+the+lead.%0A%0A%23%23+Property+block%0A%0AIf+the+request+body+carries+a+%60property%60+block%2C+it+is+persisted+al\u0026amp;theme=cf5308eab30ae100a5b55002\u0026amp;signature=c33066d0e600fb63859504281563cdf6ec62c77fce29ffec9a5d9f9aede105bf\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"https://mintlify.s3.us-west-1.amazonaws.com/lofty-23bfa97a/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Lofty Developer API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3c5cdc\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developer.lofty.com/api-reference/leads/update-lead\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/leads/update-lead.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developer.lofty.com/#organization\",\"name\":\"Lofty Developer API\",\"url\":\"https://developer.lofty.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/lofty-23bfa97a/472dpA6Ra28Z7egx/logo-dark.svg?fit=max\u0026auto=format\u0026n=472dpA6Ra28Z7egx\u0026q=85\u0026s=12c76c72f76b3c04e325c3922c833c12\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developer.lofty.com#website\",\"name\":\"Lofty Developer API\",\"url\":\"https://developer.lofty.com\",\"publisher\":{\"@id\":\"https://developer.lofty.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developer.lofty.com/api-reference/leads/update-lead#webpage\",\"url\":\"https://developer.lofty.com/api-reference/leads/update-lead\",\"name\":\"Update Lead\",\"description\":\"Updates an existing lead. Caller must have manage permission on the lead. ## Property block If the request body carries a property block, it is persisted alongside the lead update with the same semantics as POST /v1.0/leads/{leadId}/property: - property.id omitted or \\u003c= 0 — merge with an existing property by address; if no match, create a new property record. (Prior versions of this endpoint rejected this case with UPDATE_LEAD_PROPERTY_FAILED; that restriction has been lifted.) - property.id > 0 — update the named property in place. The property must belong to this lead (its leadUserId must match); otherwise the request is rejected with 200108 LEAD_PROPERTY_NOT_EXIST. Validation: - When a property block is supplied, at least one of city, state, zipCode, streetAddress must be non-blank; otherwise 200057 PROPERTY_ADDRESS_EMPTY is returned (the lead update is also aborted).\",\"dateModified\":\"2026-05-28T08:37:09.199Z\",\"isPartOf\":{\"@id\":\"https://developer.lofty.com#website\"},\"breadcrumb\":{\"@id\":\"https://developer.lofty.com/api-reference/leads/update-lead#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developer.lofty.com/api-reference/leads/update-lead#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Leads\",\"item\":\"https://developer.lofty.com/api-reference/leads/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Core\",\"item\":\"https://developer.lofty.com/api-reference/leads/list-leads\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Update Lead\",\"item\":\"https://developer.lofty.com/api-reference/leads/update-lead\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developer.lofty.com/api-reference/leads/update-lead#apireference\",\"headline\":\"Update Lead\",\"name\":\"Update Lead\",\"description\":\"Updates an existing lead. Caller must have manage permission on the lead. ## Property block If the request body carries a property block, it is persisted alongside the lead update with the same semantics as POST /v1.0/leads/{leadId}/property: - property.id omitted or \\u003c= 0 — merge with an existing property by address; if no match, create a new property record. (Prior versions of this endpoint rejected this case with UPDATE_LEAD_PROPERTY_FAILED; that restriction has been lifted.) - property.id > 0 — update the named property in place. The property must belong to this lead (its leadUserId must match); otherwise the request is rejected with 200108 LEAD_PROPERTY_NOT_EXIST. Validation: - When a property block is supplied, at least one of city, state, zipCode, streetAddress must be non-blank; otherwise 200057 PROPERTY_ADDRESS_EMPTY is returned (the lead update is also aborted).\",\"url\":\"https://developer.lofty.com/api-reference/leads/update-lead\",\"mainEntityOfPage\":{\"@id\":\"https://developer.lofty.com/api-reference/leads/update-lead#webpage\"},\"dateModified\":\"2026-05-28T08:37:09.199Z\",\"publisher\":{\"@id\":\"https://developer.lofty.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developer.lofty.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Lofty Developer API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Lofty Developer API","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"API Reference","groups":[{"group":"Leads","pages":[{"title":"Overview","href":"/api-reference/leads/overview"},{"group":"Core","pages":[{"title":"List Leads","openapi":"openapi/openapi.json GET /v1.0/leads","href":"/api-reference/leads/list-leads"},{"title":"Create Lead","openapi":"openapi/openapi.json POST /v1.0/leads","href":"/api-reference/leads/create-lead"},{"title":"Get Lead","openapi":"openapi/openapi.json GET /v1.0/leads/{leadId}","description":"Returns a single lead by ID. The response is wrapped under the 'lead' key.\n\nNotes:\n- By default, trashed leads are not returned. Pass withTrash=true to include them.\n- Caller must have access to the lead; otherwise 404 LEAD_NOT_EXIST.","href":"/api-reference/leads/get-lead"},{"title":"Update Lead","openapi":"openapi/openapi.json PUT /v1.0/leads/{leadId}","href":"/api-reference/leads/update-lead"},{"title":"Delete Lead","openapi":"openapi/openapi.json DELETE /v1.0/leads/{leadId}","description":"Moves a lead to the trash. A reason is required and is stored for audit. The response body is empty.","href":"/api-reference/leads/delete-lead"}]},{"group":"Activities","pages":[{"title":"Lead Activities","openapi":"openapi/openapi.json GET /v1.0/leads/{leadId}/activities","href":"/api-reference/leads/activities"},{"title":"List lead activities","openapi":"openapi/openapi.json GET /v2.0/leads/{leadId}/activities","href":"/api-reference/leads/list-lead-activities"},{"title":"Add activity","openapi":"openapi/openapi.json POST /v1.0/leads/{leadId}/activity","href":"/api-reference/leads/add-activity"}]},{"group":"Saved Searches","pages":[{"title":"List saved searches","openapi":"openapi/openapi.json GET /v1.0/leads/{leadId}/savedSearches","href":"/api-reference/leads/list-saved-searches"},{"title":"Create saved search","openapi":"openapi/openapi.json POST /v1.0/leads/{leadId}/savedSearches","href":"/api-reference/leads/create-saved-search"},{"title":"Update saved search","openapi":"openapi/openapi.json PUT /v1.0/leads/{leadId}/savedSearches/{savedSearchId}","href":"/api-reference/leads/update-saved-search"},{"title":"Delete saved search","openapi":"openapi/openapi.json DELETE /v1.0/leads/{leadId}/savedSearches/{savedSearchId}","href":"/api-reference/leads/delete-saved-search"},{"title":"Pause saved search alerts","openapi":"openapi/openapi.json POST /v1.0/leads/{leadId}/savedSearches/pause","href":"/api-reference/leads/pause-saved-searches"},{"title":"Resume saved search alerts","openapi":"openapi/openapi.json POST /v1.0/leads/{leadId}/savedSearches/resume","href":"/api-reference/leads/resume-saved-searches"}]},{"group":"Notes","pages":[{"title":"List Notes","openapi":"openapi/openapi.json GET /v1.0/notes","href":"/api-reference/communication/list-notes"},{"title":"Get a note by ID","openapi":"openapi/openapi.json GET /v1.0/notes/{noteId}","href":"/api-reference/communication/get-a-note-by-id"},{"title":"Create Note","openapi":"openapi/openapi.json POST /v1.0/notes","href":"/api-reference/communication/create-note"},{"title":"Update Note","openapi":"openapi/openapi.json PUT /v1.0/notes/{noteId}","href":"/api-reference/communication/update-note"},{"title":"Delete Note","openapi":"openapi/openapi.json DELETE /v1.0/notes/{noteId}","href":"/api-reference/communication/delete-note"}]},{"group":"Manual Logs","pages":[{"title":"List manual logs of a lead","openapi":"openapi/openapi.json GET /v1.0/logType","href":"/api-reference/manual-logs/list-manual-logs-of-a-lead"},{"title":"Add a manual log entry","openapi":"openapi/openapi.json POST /v1.0/logType","href":"/api-reference/manual-logs/add-a-manual-log-entry"},{"title":"Get a manual log entry by ID","openapi":"openapi/openapi.json GET /v1.0/logType/{logTypeId}","href":"/api-reference/manual-logs/get-a-manual-log-entry-by-id"},{"title":"Delete a manual log entry","openapi":"openapi/openapi.json DELETE /v1.0/logType/{logTypeId}","href":"/api-reference/manual-logs/delete-a-manual-log-entry"}]},{"group":"Other Operations","pages":[{"title":"Assign Lead","openapi":"openapi/openapi.json POST /v1.0/leads/{leadId}/assignment","href":"/api-reference/leads/assign-lead"},{"title":"Preview Routing","openapi":"openapi/openapi.json POST /v1.0/leads/assignee","href":"/api-reference/leads/resolve-assignees-by-lead-info"},{"title":"Update Property Info","openapi":"openapi/openapi.json POST /v1.0/leads/{leadId}/property","href":"/api-reference/leads/place-a-property"},{"title":"Add Inquiry","openapi":"openapi/openapi.json POST /v1.0/leads/{leadId}/inquiry","href":"/api-reference/leads/place-an-inquiry"},{"title":"System Logs","openapi":"openapi/openapi.json GET /v1.0/systemLogs","href":"/api-reference/leads/system-logs"}]}]},{"group":"Task \u0026 Calendar","pages":[{"title":"Overview","href":"/api-reference/tasks/overview"},{"group":"Tasks","pages":[{"title":"List Tasks","openapi":"openapi/openapi.json GET /v2.0/tasks","href":"/api-reference/tasks/v2/list-tasks"},{"title":"Create Task","openapi":"openapi/openapi.json POST /v2.0/tasks","href":"/api-reference/tasks/v2/create-task"},{"title":"Get Task","openapi":"openapi/openapi.json GET /v2.0/tasks/{taskId}","href":"/api-reference/tasks/v2/get-task"},{"title":"Update Task","openapi":"openapi/openapi.json PUT /v2.0/tasks/{taskId}","href":"/api-reference/tasks/v2/update-task"},{"title":"Delete Task","openapi":"openapi/openapi.json DELETE /v2.0/tasks/{taskId}","href":"/api-reference/tasks/v2/delete-task"},{"title":"Finish Task","openapi":"openapi/openapi.json POST /v2.0/tasks/{taskId}/finish","href":"/api-reference/tasks/v2/finish-task"},{"title":"Unfinish Task","openapi":"openapi/openapi.json POST /v2.0/tasks/{taskId}/unfinish","href":"/api-reference/tasks/v2/unfinish-task"},{"title":"My Tasks","openapi":"openapi/openapi.json GET /v2.0/tasks/my-tasks","href":"/api-reference/tasks/v2/my-tasks"}]},{"group":"Calendar","pages":[{"title":"List Calendar Events","openapi":"openapi/openapi.json GET /v2.0/calendar","href":"/api-reference/calendar/v2/list-events"},{"title":"Create Calendar Event","openapi":"openapi/openapi.json POST /v2.0/calendar","href":"/api-reference/calendar/v2/create-event"},{"title":"Update Calendar Event","openapi":"openapi/openapi.json PUT /v2.0/calendar/{calendarId}","href":"/api-reference/calendar/v2/update-event"},{"title":"Delete Calendar Event","openapi":"openapi/openapi.json DELETE /v2.0/calendar/{calendarId}","href":"/api-reference/calendar/v2/delete-event"},{"title":"Finish Calendar Event","openapi":"openapi/openapi.json POST /v2.0/calendar/{calendarId}/finish","href":"/api-reference/calendar/v2/finish-event"},{"title":"Unfinish Calendar Event","openapi":"openapi/openapi.json POST /v2.0/calendar/{calendarId}/unfinish","href":"/api-reference/calendar/v2/unfinish-event"},{"title":"Available Meetings","openapi":"openapi/openapi.json GET /v2.0/calendar/meetings/available","href":"/api-reference/calendar/v2/available-meetings"}]},{"group":"Legacy","pages":[{"title":"List Tasks (V1)","openapi":"openapi/openapi.json GET /v1.0/tasks","href":"/api-reference/tasks/v1/list-tasks"},{"title":"Create Task (V1)","openapi":"openapi/openapi.json POST /v1.0/tasks","href":"/api-reference/tasks/v1/create-task"},{"title":"Get Task (V1)","openapi":"openapi/openapi.json GET /v1.0/tasks/{taskId}","href":"/api-reference/tasks/v1/get-task"},{"title":"Update Task (V1)","openapi":"openapi/openapi.json PUT /v1.0/tasks/{taskId}","href":"/api-reference/tasks/v1/update-task"},{"title":"Delete Task (V1)","openapi":"openapi/openapi.json DELETE /v1.0/tasks/{taskId}","href":"/api-reference/tasks/v1/delete-task"},{"title":"List Appointments","openapi":"openapi/openapi.json GET /v1.0/appts","href":"/api-reference/tasks/v1/list-appointments"}]}]},{"group":"Transactions","pages":[{"group":"Core","pages":[{"title":"List Transactions","openapi":"openapi/openapi.json GET /v2.0/transactions","href":"/api-reference/transactions/list-transactions"},{"title":"Create Transaction","openapi":"openapi/openapi.json POST /v1.0/leads/{leadId}/transaction","href":"/api-reference/transactions/create-transaction"},{"title":"Get Transaction","openapi":"openapi/openapi.json GET /v1.0/leads/{leadId}/transaction/{transactionId}","href":"/api-reference/transactions/get-transaction"},{"title":"Update Transaction","openapi":"openapi/openapi.json PUT /v1.0/leads/{leadId}/transaction/{transactionId}","href":"/api-reference/transactions/partially-update-a-transaction"},{"title":"List by Lead","openapi":"openapi/openapi.json GET /v1.0/leads/{leadId}/transactions","href":"/api-reference/transactions/list-transactions-for-a-lead"},{"title":"List Transaction Pipelines","openapi":"openapi/openapi.json GET /v2.0/transactions/pipelines","href":"/api-reference/transactions/list-transaction-pipelines"}]},{"group":"Property Address","pages":[{"title":"Update Property Address","openapi":"openapi/openapi.json POST /v1.0/leads/{leadId}/transaction/property/address","href":"/api-reference/transactions/update-transaction-property-address"},{"title":"Get Property Address","openapi":"openapi/openapi.json GET /v1.0/leads/{leadId}/transaction/{transactionId}/property/address","href":"/api-reference/transactions/get-transaction-property-address"}]}]},{"group":"Listings","pages":[{"title":"Overview","href":"/api-reference/listings/overview"},{"title":"Search by Agent / Office","openapi":"openapi/openapi.json GET /v1.0/listing","href":"/api-reference/listings/search-listings-by-agent-office-or-mls-id"},{"title":"Get Published Listings","openapi":"openapi/openapi.json GET /v1.0/getPublishedListings","href":"/api-reference/listings/get-published"}]},{"group":"Communication","pages":[{"title":"Search by Agent","openapi":"openapi/openapi.json POST /v1.0/agent/communication","href":"/api-reference/communication/search-communications-by-agent"},{"title":"Search by Agent (cursor paged)","openapi":"openapi/openapi.json GET /v2.0/communication/agent","href":"/api-reference/communication/search-communications-by-agent-v2"},{"group":"Calls","pages":[{"title":"Calls Overview","href":"/api-reference/communication/calls-overview"},{"title":"Call History","openapi":"openapi/openapi.json GET /v1.0/communication/call","href":"/api-reference/communication/call-history"},{"title":"List call history of a lead (v2)","openapi":"openapi/openapi.json GET /v1.0/communication/call/v2","href":"/api-reference/communication/list-call-history-of-a-lead-v2"},{"title":"List calls of a lead","openapi":"openapi/openapi.json GET /v1.0/calls","href":"/api-reference/calls/list-calls-of-a-lead"},{"title":"Get a call by ID","openapi":"openapi/openapi.json GET /v1.0/calls/{callId}","href":"/api-reference/calls/get-a-call-by-id"},{"title":"Get Call","openapi":"openapi/openapi.json GET /v2.0/communication/call/{communicationId}","href":"/api-reference/communication/get-call"},{"title":"Get a call recording URL","openapi":"openapi/openapi.json GET /v1.0/call/url/{callId}","href":"/api-reference/calls/get-a-call-recording-url"}]},{"group":"Email \u0026 SMS","pages":[{"title":"Email History","openapi":"openapi/openapi.json GET /v1.0/communication/email","href":"/api-reference/communication/list-emails"},{"title":"Send Email","openapi":"openapi/openapi.json POST /v1.0/message/email/send","href":"/api-reference/communication/send-email"},{"title":"Get Email","openapi":"openapi/openapi.json GET /v2.0/communication/email/{communicationId}","href":"/api-reference/communication/get-email"},{"title":"SMS History","openapi":"openapi/openapi.json GET /v1.0/communication/text","href":"/api-reference/communication/list-sms"},{"title":"Send SMS","openapi":"openapi/openapi.json POST /v1.0/message/sms/send","href":"/api-reference/communication/send-sms"},{"title":"Get Text","openapi":"openapi/openapi.json GET /v2.0/communication/text/{communicationId}","href":"/api-reference/communication/get-text"}]},{"group":"Notifications","pages":[{"title":"Send Opportunity Alert","openapi":"openapi/openapi.json POST /v1.0/agent/send-notification","href":"/api-reference/opportunity/send-an-opportunity-notification-to-the-leads-assi"},{"title":"Send Task Reminder Push","openapi":"openapi/openapi.json POST /v2.0/sales-agent/notification/app-push/send-task-reminder","href":"/api-reference/notifications/send-app-push-for-taskappointment-reminder"},{"title":"Send SMS to Agent","openapi":"openapi/openapi.json POST /v2.0/sales-agent/message/sms/send-to-agent","href":"/api-reference/notifications/send-system-sms-to-agent"},{"title":"Send Email to Agent","openapi":"openapi/openapi.json POST /v2.0/sales-agent/message/email/send-to-agent","href":"/api-reference/notifications/send-system-email-to-agent"}]}]},{"group":"Team","pages":[{"group":"Members","pages":[{"title":"Team Members","openapi":"openapi/openapi.json GET /v1.0/members","href":"/api-reference/team/members"},{"title":"Get a team member by account (email)","openapi":"openapi/openapi.json GET /v1.0/members/{account}","href":"/api-reference/team/get-a-team-member-by-account-email"},{"title":"Get a team member by user ID (deprecated)","openapi":"openapi/openapi.json GET /v1.0/users/{userId}","href":"/api-reference/team/get-a-team-member-by-user-id-deprecated"},{"title":"Get the current user's profile","openapi":"openapi/openapi.json GET /v1.0/me","href":"/api-reference/team/get-the-current-users-profile"},{"title":"List Vendors","openapi":"openapi/openapi.json GET /v1.0/vendor/list","href":"/api-reference/vendor/list-vendors-of-the-callers-team"}]},{"group":"Settings","pages":[{"title":"List Tags","openapi":"openapi/openapi.json GET /v1.0/teamFeatures/listTag","href":"/api-reference/team-features/list-lead-tags-visible-to-the-caller"},{"title":"List Custom Fields","openapi":"openapi/openapi.json GET /v1.0/teamFeatures/listCustomField","href":"/api-reference/team-features/list-lead-custom-field-definitions"},{"title":"List Transaction Custom Fields","openapi":"openapi/openapi.json GET /v1.0/transaction/customfields","href":"/api-reference/transactions/list-transaction-custom-field-definitions"},{"title":"List Transaction Field Groups","openapi":"openapi/openapi.json GET /v1.0/transaction/forms","href":"/api-reference/transactions/list-transaction-field-groups"},{"title":"Add Custom Field","openapi":"openapi/openapi.json POST /v1.0/teamFeatures/custom-field","href":"/api-reference/team-features/add-a-lead-custom-field"},{"title":"Create Transaction Custom Field","openapi":"openapi/openapi.json POST /v1.0/transaction/customfields","href":"/api-reference/transactions/create-transaction-custom-field"},{"title":"List Lead Ponds","openapi":"openapi/openapi.json GET /v1.0/team-features/lead-ponds","href":"/api-reference/team-features/list-lead-ponds-visible-to-the-caller"},{"title":"Get Lead Pond","openapi":"openapi/openapi.json GET /v1.0/team-features/lead-pond/{id}","href":"/api-reference/team-features/get-a-lead-pond-by-id"},{"title":"List Lead Pipelines","openapi":"openapi/openapi.json GET /v1.0/teamFeatures/lead-pipelines","href":"/api-reference/team-features/list-lead-pipelines"}]},{"group":"Agents","pages":[{"title":"Create a new agent","openapi":"openapi/openapi.json POST /v1.0/agent/profile/add","href":"/api-reference/agents/create-a-new-agent"},{"title":"Add tags to an agent","openapi":"openapi/openapi.json POST /v1.0/agent/{agentId}/tag/add","href":"/api-reference/agents/add-tags-to-an-agent"},{"title":"Deactivate an agent","openapi":"openapi/openapi.json POST /v2.0/agents/{agentId}/deactivate","href":"/api-reference/agents/deactivate-an-agent"},{"title":"Reactivate an agent","openapi":"openapi/openapi.json POST /v2.0/agents/{agentId}/reactivate","href":"/api-reference/agents/reactivate-an-agent"}]},{"group":"Organization","pages":[{"title":"Get Organization","openapi":"openapi/openapi.json GET /v1.0/org","href":"/api-reference/org/get-the-callers-organization-info"},{"title":"Add Office","openapi":"openapi/openapi.json PUT /v1.0/org/office","href":"/api-reference/org/add-an-office-to-the-team"},{"title":"Update Office","openapi":"openapi/openapi.json POST /v1.0/org/office","href":"/api-reference/org/update-an-office"},{"title":"Update Company","openapi":"openapi/openapi.json POST /v1.0/org/company","href":"/api-reference/org/update-the-teams-company-info"},{"title":"List Permission Profiles","openapi":"openapi/openapi.json GET /v1.0/org/permission/profiles","href":"/api-reference/org/list-permission-profiles-available-to-the-team"}]},{"group":"Lead Routing","pages":[{"title":"Lead Routing Rules","openapi":"openapi/openapi.json GET /v1.0/routing/rule/list/{type}","href":"/api-reference/team/routing"},{"title":"Update a routing rule","openapi":"openapi/openapi.json PUT /v1.0/routing/rule/{type}","href":"/api-reference/routing/update-a-routing-rule"},{"title":"Get default (supplement) routing rule","openapi":"openapi/openapi.json GET /v1.0/routing/rule/supplement/{type}","href":"/api-reference/routing/get-default-supplement-routing-rule"},{"title":"Update default (supplement) routing rule","openapi":"openapi/openapi.json PUT /v1.0/routing/rule/supplement/{type}","href":"/api-reference/routing/update-default-supplement-routing-rule"},{"title":"List assign roles","openapi":"openapi/openapi.json GET /v1.0/routing/role/list","href":"/api-reference/routing/list-assign-roles"},{"title":"List members available for assignment","openapi":"openapi/openapi.json GET /v1.0/routing/member/list/{type}","href":"/api-reference/routing/list-members-available-for-assignment"}]}]},{"group":"AI Copilot","pages":[{"group":"Agent \u0026 Settings","pages":[{"title":"Get current user's Sales Agent","openapi":"openapi/openapi.json GET /v2.0/sales-agents/current","href":"/api-reference/sales-agents/get-current-users-sales-agent"},{"title":"Get current user's Sales Agent quota","openapi":"openapi/openapi.json GET /v2.0/sales-agents/quota","href":"/api-reference/sales-agents/get-current-users-sales-agent-quota"},{"title":"Get Sales Agent by lead ID","openapi":"openapi/openapi.json GET /v2.0/sales-agents/by-lead","href":"/api-reference/sales-agents/get-sales-agent-by-lead-id"},{"title":"Query Sales Agent settings","openapi":"openapi/openapi.json GET /v2.0/sales-agent/settings","href":"/api-reference/sales-agents/query-sales-agent-settings"}]},{"group":"Working Leads","pages":[{"title":"Query working leads (paginated)","openapi":"openapi/openapi.json GET /v2.0/working-leads","href":"/api-reference/sales-agents/query-working-leads-paginated"},{"title":"Check if lead is a working lead","openapi":"openapi/openapi.json GET /v2.0/sales-agents/working-lead/{leadId}","href":"/api-reference/sales-agents/check-if-lead-is-a-working-lead"},{"title":"Batch add leads to Sales Agent working pool","openapi":"openapi/openapi.json POST /v2.0/working-leads/add","href":"/api-reference/sales-agents/batch-add-leads-to-sales-agent-working-pool"},{"title":"Mute a working lead","openapi":"openapi/openapi.json PUT /v2.0/sales-agents/working-lead/{leadId}/mute","href":"/api-reference/sales-agents/mute-a-working-lead"},{"title":"Get Sales Agent lead mute status","openapi":"openapi/openapi.json GET /v2.0/sales-agent/lead/mute-status","href":"/api-reference/sales-agents/get-sales-agent-lead-mute-status"}]},{"group":"Plan Tasks \u0026 Messaging","pages":[{"title":"Get plan tasks by lead ID","openapi":"openapi/openapi.json GET /v2.0/plan-tasks/lead/{leadId}","href":"/api-reference/sales-agents/get-plan-tasks-by-lead-id"},{"title":"Send SMS to agent via AI number","openapi":"openapi/openapi.json POST /v2.0/sales-agent/ai-number/send-sms-to-agent","href":"/api-reference/sales-agents/send-sms-to-agent-via-ai-number"}]},{"group":"Intelligent Features","pages":[{"title":"Generate Call Script","openapi":"openapi/openapi.json POST /v2.0/ai/call-script","href":"/api-reference/ai/generate-call-script"},{"title":"Get Call Summary","openapi":"openapi/openapi.json GET /v2.0/ai/call-summary","href":"/api-reference/ai/get-call-summary"},{"title":"Generate Call Summary","openapi":"openapi/openapi.json POST /v2.0/ai/call-summary/generate","href":"/api-reference/ai/trigger-call-summary-generation"},{"title":"Prepare Insight","openapi":"openapi/openapi.json POST /v2.0/ai/prepare-insight","href":"/api-reference/ai/generate-prepare-insight"},{"title":"List Lead Analysis Tasks","openapi":"openapi/openapi.json GET /v2.0/ai/lead-analysis","href":"/api-reference/ai/query-leadanalysis-task-list"},{"title":"Create Lead Analysis Task","openapi":"openapi/openapi.json POST /v2.0/ai/lead-analysis","href":"/api-reference/ai/create-leadanalysis-task"}]}]},{"group":"Webhooks","pages":[{"title":"List Webhooks","openapi":"openapi/openapi.json GET /v1.0/webhooks","href":"/api-reference/webhooks/list-webhooks"},{"title":"Create Webhook","openapi":"openapi/openapi.json POST /v1.0/webhook","href":"/api-reference/webhooks/create-webhook"},{"title":"Delete Webhook","openapi":"openapi/openapi.json DELETE /v1.0/webhook/{subscribeId}","href":"/api-reference/webhooks/delete-webhook"}]},{"group":"Integrations","pages":[{"title":"Brokermint — Sync Lead","openapi":"openapi/openapi.json PUT /v1.0/brokermint/lead","href":"/api-reference/leads/brokermint-webhook-update-a-synced-lead"},{"title":"Brokermint — Sync Transaction","openapi":"openapi/openapi.json PUT /v1.0/brokermint/transaction","href":"/api-reference/transactions/brokermint-webhook-update-a-synced-transaction"}]}]},{"tab":"MCP","pages":[{"title":"MCP","href":"/mcp/overview"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog/2026"}]}]},"title":"Update Lead - Lofty Developer API","buildId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","deploymentId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-BRm_l__d.js","utils-f1l1Oc-G.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BlhqDhJO.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DHCB7rsC.js","snippetPresets-CYXLx6Hv.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-kQh739Uz.js","ApiExamples-B78P2dEq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C4YLPVAh.js","shallow-vlLnTDkQ.js","getApiPlaygroundDisplay-D_98hhvf.js","CodeSnippet-DtnZHGqq.js","CodeSnippets-CLFb8KJt.js","getPastedJson-Cq-zlbnU.js","icon-sN3t983t.js","MethodPill-P_YQ2s09.js","DuplicateIcon-BVzyNsGJ.js","createIcon-B3jqgqC6.js","DynamicMarkdown-Crwq6WG_.js","SectionHeading-C7pGS2Bb.js","axios-vUo_bRtp.js","Markdown-BuPH8yuW.js","clsx-CCOYKgaU.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BnkC_6oA.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BM4S31-f.js"]}