Deals

Deals in the pipeline. stage is the exact stage name as configured in the workspace. space_address and client_name are denormalized text, so set them on create. deal_type is leasing or sales; sales deals carry sale_price, cap_rate, noi, deposit, contract_date and due_diligence_date, and date_closed is the closing date. Deals cannot be deleted over the API.

Methods: GET POST PATCH plus notes. Base URL https://www.leasync.ai/api/v1.

Endpoints#

List deals#

GET/deals

Returns a page of deals with the compact column set. Combine any of the filters below; every filter is a query parameter.

Query parameters
Query parameters for GET /deals
NameTypeDescription
limitoptionalintegerRows per page, 1 to 200. Default 50.
cursoroptionalstringThe next_cursor from the previous page. offset is accepted as an alias.
searchoptionalstringCase-insensitive partial match on the client name or space address.
stageoptionalstringExact stage name as configured in the workspace.
client_nameoptionalstringPartial match on the denormalized client name.
client_idoptionaluuidDeals for one client.
space_idoptionaluuidDeals for one space.
Request
bash
curl "https://www.leasync.ai/api/v1/deals?limit=50" \
  -H "Authorization: Bearer lsk_live_..."
Response
json
{
  "data": [
    {
      "id": "6f1c8d20-5e3b-4a9f-b2c7-0d8e4a6b1c33",
      "title": null,
      "deal_type": "leasing",
      "space_id": "9e7c…",
      "client_id": "4b0d…",
      "user_id": "a1c2…",
      "agents": [
        {
          "id": "a1c2…",
          "deal_percentage": 100
        }
      ],
      "co_broke": false,
      "stage": "Initial Tour",
      "monthly_rent": "22000",
      "term": "10",
      "free_months": "3",
      "date_closed": null,
      "space_address": "123 Spring St",
      "client_name": "Blue Bottle Coffee",
      "ppsf": "146.67",
      "key_money": null,
      "sale_price": null,
      "cap_rate": null,
      "noi": null,
      "deposit": null,
      "contract_date": null,
      "due_diligence_date": null,
      "created_at": "2026-09-10T15:22:09.000Z"
    }
  ],
  "next_cursor": "50"
}

Retrieve a deal#

GET/deals/{id}

Returns one deal with every field, including notes and tags. 404 if the record does not exist or you cannot see it.

Path parameters
Path parameters for GET /deals/{id}
NameTypeDescription
idrequireduuidThe deal id.
Request
bash
curl https://www.leasync.ai/api/v1/deals/6f1c8d20-5e3b-4a9f-b2c7-0d8e4a6b1c33 \
  -H "Authorization: Bearer lsk_live_..."
Response
json
{
  "data": {
    "id": "6f1c8d20-5e3b-4a9f-b2c7-0d8e4a6b1c33",
    "title": null,
    "deal_type": "leasing",
    "space_id": "9e7c…",
    "client_id": "4b0d…",
    "user_id": "a1c2…",
    "agents": [
      {
        "id": "a1c2…",
        "deal_percentage": 100
      }
    ],
    "co_broke": false,
    "stage": "Initial Tour",
    "monthly_rent": "22000",
    "term": "10",
    "free_months": "3",
    "date_closed": null,
    "space_address": "123 Spring St",
    "client_name": "Blue Bottle Coffee",
    "ppsf": "146.67",
    "key_money": null,
    "sale_price": null,
    "cap_rate": null,
    "noi": null,
    "deposit": null,
    "contract_date": null,
    "due_diligence_date": null,
    "created_at": "2026-09-10T15:22:09.000Z",
    "represented_side": "tenant",
    "waiting_on": "landlord",
    "escalation_percent": "3",
    "escalation_interval_years": 1,
    "annualized_breakdown": [],
    "history": [],
    "next_step": "Landlord counsel reviewing",
    "decision_timeline": null,
    "main_concern": null,
    "notes": [],
    "created_by": "a1c2…",
    "allowed_users": [],
    "updated_at": "2026-09-18T11:04:51.000Z"
  }
}

Create a deal#

POST/deals

Creates a deal from a JSON object of column values and returns the full record with status 201. Requires the write scope.

Request
bash
curl -X POST https://www.leasync.ai/api/v1/deals \
  -H "Authorization: Bearer lsk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "space_id": "9e7c3a51-2b64-4f0d-8c3e-5a1d9b7f2e44",
    "client_id": "4b0d2f6e-9d3a-4c2b-9a1e-1f4b7a2c8d10",
    "space_address": "123 Spring St",
    "client_name": "Blue Bottle Coffee",
    "stage": "Initial Tour",
    "monthly_rent": "22000",
    "term": "10",
    "free_months": "3"
  }'
Response
json
{
  "data": {
    "id": "6f1c8d20-5e3b-4a9f-b2c7-0d8e4a6b1c33",
    "title": null,
    "deal_type": "leasing",
    "space_id": "9e7c…",
    "client_id": "4b0d…",
    "user_id": "a1c2…",
    "agents": [
      {
        "id": "a1c2…",
        "deal_percentage": 100
      }
    ],
    "co_broke": false,
    "stage": "Initial Tour",
    "monthly_rent": "22000",
    "term": "10",
    "free_months": "3",
    "date_closed": null,
    "space_address": "123 Spring St",
    "client_name": "Blue Bottle Coffee",
    "ppsf": "146.67",
    "key_money": null,
    "sale_price": null,
    "cap_rate": null,
    "noi": null,
    "deposit": null,
    "contract_date": null,
    "due_diligence_date": null,
    "created_at": "2026-09-10T15:22:09.000Z",
    "represented_side": "tenant",
    "waiting_on": "landlord",
    "escalation_percent": "3",
    "escalation_interval_years": 1,
    "annualized_breakdown": [],
    "history": [],
    "next_step": "Landlord counsel reviewing",
    "decision_timeline": null,
    "main_concern": null,
    "notes": [],
    "created_by": "a1c2…",
    "allowed_users": [],
    "updated_at": "2026-09-18T11:04:51.000Z"
  }
}

Update a deal#

PATCH/deals/{id}

Send only the fields that change. Returns the full updated record. Requires the write scope.

Path parameters
Path parameters for PATCH /deals/{id}
NameTypeDescription
idrequireduuidThe deal id.
Request
bash
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"
  }'
Response
json
{
  "data": {
    "id": "6f1c8d20-5e3b-4a9f-b2c7-0d8e4a6b1c33",
    "title": null,
    "deal_type": "leasing",
    "space_id": "9e7c…",
    "client_id": "4b0d…",
    "user_id": "a1c2…",
    "agents": [
      {
        "id": "a1c2…",
        "deal_percentage": 100
      }
    ],
    "co_broke": false,
    "stage": "Lease Out",
    "monthly_rent": "22000",
    "term": "10",
    "free_months": "3",
    "date_closed": null,
    "space_address": "123 Spring St",
    "client_name": "Blue Bottle Coffee",
    "ppsf": "146.67",
    "key_money": null,
    "sale_price": null,
    "cap_rate": null,
    "noi": null,
    "deposit": null,
    "contract_date": null,
    "due_diligence_date": null,
    "created_at": "2026-09-10T15:22:09.000Z",
    "represented_side": "tenant",
    "waiting_on": "landlord",
    "escalation_percent": "3",
    "escalation_interval_years": 1,
    "annualized_breakdown": [],
    "history": [],
    "next_step": "Landlord counsel reviewing",
    "decision_timeline": null,
    "main_concern": null,
    "notes": [],
    "created_by": "a1c2…",
    "allowed_users": [],
    "updated_at": "2026-09-18T11:04:51.000Z"
  }
}
No delete
Deals cannot be deleted over the API. A DELETE request returns 405 delete_not_allowed.