Links
Client-to-space links: the rows the app shows as contacted, toured, or recommended for a client. A link is what puts a tenant or lead on a property's Prospects tab and the property on the tenant's shortlist, so to add a prospect to a listing, create the client and then create a link. Each link joins one client_id to one space_id; space_type is set from the property (exclusive listings get exclusive) and cannot be sent. Links have no notes endpoint.
source is set by Leasync and ignored in request bodies: links you create are always user links.Methods: GET POST PATCH DELETE. Base URL https://www.leasync.ai/api/v1.
Endpoints#
List links#
Returns a page of links with the compact column set. Combine any of the filters below; every filter is a query parameter.
| Name | Type | Description |
|---|---|---|
limitoptional | integer | Rows per page, 1 to 200. Default 50. |
cursoroptional | string | The next_cursor from the previous page. offset is accepted as an alias. |
client_idoptional | uuid | Links for one client. |
space_idoptional | uuid | Links for one space. |
recommendedoptional | boolean | Only recommended (or only not recommended) links. |
sourceoptional | string | user (default), suggested (Lisa auto-matches), or all. |
curl "https://www.leasync.ai/api/v1/links?limit=50" \
-H "Authorization: Bearer lsk_live_..."{
"data": [
{
"id": "5e2b7a90-3c1d-4e8f-a6b4-9d0c2e1f7a88",
"space_id": "9e7c…",
"client_id": "4b0d…",
"recommended": true,
"contacted_at": "2026-09-11T15:00:00.000Z"
}
],
"next_cursor": "50"
}Retrieve a link#
Returns one link with every field, including notes and tags. 404 if the record does not exist or you cannot see it.
| Name | Type | Description |
|---|---|---|
idrequired | uuid | The link id. |
curl https://www.leasync.ai/api/v1/links/5e2b7a90-3c1d-4e8f-a6b4-9d0c2e1f7a88 \
-H "Authorization: Bearer lsk_live_..."{
"data": {
"id": "5e2b7a90-3c1d-4e8f-a6b4-9d0c2e1f7a88",
"space_id": "9e7c…",
"client_id": "4b0d…",
"recommended": true,
"contacted_at": "2026-09-11T15:00:00.000Z",
"space_type": "space",
"toured_at": null,
"decked_at": null,
"notes": null,
"broker_id": null,
"is_broker_repped": false,
"source": "user",
"match_score": null,
"match_reasons": null,
"created_at": "2026-09-11T15:00:00.000Z",
"updated_at": "2026-09-11T15:00:00.000Z"
}
}Create a link#
Creates a link from a JSON object of column values and returns the full record with status 201. Requires the write scope.
curl -X POST https://www.leasync.ai/api/v1/links \
-H "Authorization: Bearer lsk_live_..." \
-H "Content-Type: application/json" \
-d '{
"client_id": "4b0d2f6e-9d3a-4c2b-9a1e-1f4b7a2c8d10",
"space_id": "9e7c3a51-2b64-4f0d-8c3e-5a1d9b7f2e44",
"recommended": true,
"contacted_at": "2026-09-11T15:00:00.000Z"
}'{
"data": {
"id": "5e2b7a90-3c1d-4e8f-a6b4-9d0c2e1f7a88",
"space_id": "9e7c…",
"client_id": "4b0d…",
"recommended": true,
"contacted_at": "2026-09-11T15:00:00.000Z",
"space_type": "space",
"toured_at": null,
"decked_at": null,
"notes": null,
"broker_id": null,
"is_broker_repped": false,
"source": "user",
"match_score": null,
"match_reasons": null,
"created_at": "2026-09-11T15:00:00.000Z",
"updated_at": "2026-09-11T15:00:00.000Z"
}
}Update a link#
Send only the fields that change. Returns the full updated record. Requires the write scope.
| Name | Type | Description |
|---|---|---|
idrequired | uuid | The link id. |
curl -X PATCH https://www.leasync.ai/api/v1/links/5e2b7a90-3c1d-4e8f-a6b4-9d0c2e1f7a88 \
-H "Authorization: Bearer lsk_live_..." \
-H "Content-Type: application/json" \
-d '{
"toured_at": "2026-09-14T18:30:00.000Z"
}'{
"data": {
"id": "5e2b7a90-3c1d-4e8f-a6b4-9d0c2e1f7a88",
"space_id": "9e7c…",
"client_id": "4b0d…",
"recommended": true,
"contacted_at": "2026-09-11T15:00:00.000Z",
"space_type": "space",
"toured_at": "2026-09-14T18:30:00.000Z",
"decked_at": null,
"notes": null,
"broker_id": null,
"is_broker_repped": false,
"source": "user",
"match_score": null,
"match_reasons": null,
"created_at": "2026-09-11T15:00:00.000Z",
"updated_at": "2026-09-11T15:00:00.000Z"
}
}Delete a link#
Permanently deletes the link. There is no undo. Requires the write scope.
| Name | Type | Description |
|---|---|---|
idrequired | uuid | The link id. |
curl -X DELETE https://www.leasync.ai/api/v1/links/5e2b7a90-3c1d-4e8f-a6b4-9d0c2e1f7a88 \
-H "Authorization: Bearer lsk_live_..."{
"data": {
"id": "5e2b7a90-3c1d-4e8f-a6b4-9d0c2e1f7a88",
"deleted": true
}
}