Leasync API Reference
Read and update your commercial real estate records from scripts, integrations, and AI clients. A personal key acts as you, with exactly the permissions you have in the app.
Introduction#
The Leasync API is a JSON REST API for anyone who deals in commercial real estate and wants their Leasync data somewhere else: a spreadsheet, an internal tool, a marketing site, or an AI assistant. It covers the same records you work with in the app: clients, spaces, deals, brokers, landlords, commissions, and the links between clients and spaces.
All requests go to https://www.leasync.ai/api/v1. Responses are JSON. Successful responses wrap the payload in { "data": ... }; list responses add next_cursor. Failures return { "error": { "code", "message" } } with a matching HTTP status.
leasync.ai domain redirects to www, and most HTTP clients drop the Authorization header on that redirect. Use https://www.leasync.ai in every request.The API is available on the Closer and Veteran plans. Any other workspace receives 402 tier_required. CORS is open to every origin, but a key is a credential: keep it on a server, never in browser code.
Base URL and shapes#
| Call | Shape |
|---|---|
GET /me | Who the key acts as. |
GET /{resource} | List. limit, cursor, and per-resource filters. |
GET /{resource}/{id} | One record, every field. |
POST /{resource} | Create from a JSON body of column values. |
PATCH /{resource}/{id} | Update the fields in the body. |
DELETE /{resource}/{id} | Clients, spaces, brokers, landlords, and links only. |
POST /{resource}/{id}/notes | Append a note. Every resource except links. |
Resources: clients, spaces, deals, brokers, landlords, commissions, and links.
Quickstart#
Create a key in Settings, Integrations, API keys (see Authentication), then these three calls cover most integrations: search, create, update.
1. Find available spaces in SoHo with venting.
curl "https://www.leasync.ai/api/v1/spaces?listing_type=space&area=soho&venting=true&availability_status=Available" \
-H "Authorization: Bearer lsk_live_..."2. Create a lead.
curl -X POST https://www.leasync.ai/api/v1/clients \
-H "Authorization: Bearer lsk_live_..." \
-H "Content-Type: application/json" \
-d '{
"title": "Blue Bottle Coffee",
"client_type": "lead",
"contacts": [
{
"name": "Dana Ruiz",
"email": "dana@bluebottle.com"
}
],
"concept": "Cafe",
"use": "Retail",
"priority": "High",
"preferred_areas": [
"SoHo",
"Nolita"
],
"price_range_min": "15000",
"price_range_max": "25000"
}'3. Move a deal to a new stage, then leave a note.
curl -X PATCH https://www.leasync.ai/api/v1/deals/6f1c8d20-5e3b-4a9f-b2c7-0d8e4a6b1c33 \
-H "Authorization: Bearer lsk_live_..." \
-H "Content-Type: application/json" \
-d '{ "stage": "Lease Out", "next_step": "Landlord counsel reviewing" }'
curl -X POST https://www.leasync.ai/api/v1/deals/6f1c8d20-5e3b-4a9f-b2c7-0d8e4a6b1c33/notes \
-H "Authorization: Bearer lsk_live_..." \
-H "Content-Type: application/json" \
-d '{ "text": "LL wants 3 months security instead of 2." }'"15000"). id, organization_id, created_by, and timestamps are set by Leasync and ignored in request bodies.Prefer an AI client? The MCP server exposes every endpoint as a tool with one config entry.