---
title: "Every lease, with unit label and tenant names"
method: GET
path: "/api/v1/leases"
tags: ["Leases"]
---

# Every lease, with unit label and tenant names

`GET /api/v1/leases`

## Request

- Base URL: `http://localhost:5180`
- URL: `http://localhost:5180/api/v1/leases`
- Auth: API key in cookie `better-auth.session_token`

One page of leases by id. The two fields a list needs that a lease does not carry: the unit’s label, resolved so an owner’s building alias is honoured, and the tenants’ names, a company by its company name the way every other screen names it.

## Query parameters

- `limit` integer
- `offset` integer

## Response `200`

A page of leases.

- object
  - `ok` unknown, required
  - `data` object, required
    - `leases` object[], required
      - `id` string, required: Stable record id, e.g. `lse_012`.
      - `reference` string, required
      - `parties` object[], required: Everyone the tenancy names. Absent is refused: every read resolves a tenant through it.
        - `contactId` string, required: Stable record id, e.g. `lse_012`.
        - `role` 'tenant' | 'co_tenant' | 'guarantor' | 'occupant', required
        - `jointlyLiable` boolean, required
        - `sharePct` number: A decimal ratio. 0.21 is 21%.
      - `custom` object
      - `unitId` string, required: Stable record id, e.g. `lse_012`.
      - `extraUnits` object[]: Further units let under this lease, a parking space or a cellar. `rent` is each one’s own part of the lease’s rent; absent comes with the main unit.
        - `unitId` string, required: Stable record id, e.g. `lse_012`.
        - `rent` integer: Money, always in integer cents. €1,250.00 is 125000.
      - `type` string, required
      - `status` 'draft' | 'pending_signature' | 'active' | 'notice_given' | 'ended' | 'terminated_early' | 'cancelled', required
      - `startDate` string, required: A calendar date, `YYYY-MM-DD`.
      - `endDate` string, nullable, required: A calendar date, `YYYY-MM-DD`.
      - `signedOn` string: The day the lease was signed, when it was signed outside the product.
      - `signedByOwnerAt` string: When the owner signed it in the product, which is the last signature a lease signed here takes.
      - `rent` integer, required: Money, always in integer cents. €1,250.00 is 125000.
      - `rentFrequency` string, required
      - `rentDueDay` number, required: Day of the month rent falls due.
      - `chargesProvision` integer, required: Monthly provision for service charges, settled annually.
      - `currency` string, required
      - `unitLabel` string, required: Resolved through buildingLabel(), so an owner alias is honoured.
      - `tenantNames` string[], required
  - `meta` object, required
    - `requestId` string, required: Echoed in the x-request-id header. Quote it in a bug report.

## Other responses

- `400`: `limit` or `offset` is out of range.

---

[API](https://skmtc.dev/dardaris/apis/dardaris-api.md) · [All operations](https://skmtc.dev/dardaris/apis/dardaris-api/llms.txt) · [OpenAPI document](https://skmtc.dev/dardaris/apis/dardaris-api/revisions/4aff33835c73?raw)
