Skip to content

Instantly share code, notes, and snippets.

@cotterjd
Last active January 20, 2026 21:19
Show Gist options
  • Select an option

  • Save cotterjd/ebe3193e2441c5666049751aa220a303 to your computer and use it in GitHub Desktop.

Select an option

Save cotterjd/ebe3193e2441c5666049751aa220a303 to your computer and use it in GitHub Desktop.
Describes ideal rent roll endpoints

Endpoints

1. Units

Endpoint: /units

Method: GET

Description: Retrieves a list of property units with detailed information.

Query Parameters

Parameter Type Required Description
isActive boolean Yes Filter units by active status

Response

Returns an array of unit objects with the following fields:

Field Type Description
ID string/number Unique identifier for the unit
streetAddress string Street address of the property
unitNumber string Unit number within the property
city string City where the unit is located
state string State where the unit is located
zip string ZIP/postal code
sqft number Square footage of the unit
bedrooms number Number of bedrooms
ownerID string/number Unique identifier for the property owner
possessionStartDate string Date when possession of the unit begins (ISO 8601 format)
possessionEndDate string Date when possession of the unit ends (ISO 8601 format)

Example Request

GET /units?isActive=true

Example Response

[
  {
    "ID": "1001",
    "streetAddress": "123 Main Street",
    "unitNumber": "A101",
    "city": "Springfield",
    "state": "IL",
    "zip": "62701",
    "sqft": 850,
    "bedrooms": 2,
    "ownerID": "5001",
    "possessionStartDate": "2024-01-01T00:00:00Z",
    "possessionEndDate": "2025-12-31T23:59:59Z"
  },
  {
    "ID": "1002",
    "streetAddress": "456 Oak Avenue",
    "unitNumber": "B202",
    "city": "Springfield",
    "state": "IL",
    "zip": "62702",
    "sqft": 1200,
    "bedrooms": 3,
    "ownerID": "5002",
    "possessionStartDate": "2024-02-15T00:00:00Z",
    "possessionEndDate": "2026-02-14T23:59:59Z"
  }
]

2. Leases

Endpoint: /leases

Method: GET

Description: Retrieves a list of lease agreements.

Query Parameters

Parameter Type Required Description
isActive boolean Yes Filter leases by active status
status string No Filter leases by status: "Past", "Current", or "Future"

Response

Returns an array of lease objects with the following fields:

Field Type Description
ID string/number Unique identifier for the lease
unitID string/number Unique identifier for the associated unit
leaseStart string Start date of the lease agreement (ISO 8601 format)
leaseEnd string End date of the lease agreement (ISO 8601 format)
moveIn string Date when tenant moved in (ISO 8601 format)
moveOut string Date when tenant moved out (ISO 8601 format)
primaryTenantID string/number Unique identifier for the primary tenant
tenants array Array of tenant objects associated with this lease

Example Request

GET /leases?isActive=true&status=Current

Example Response

[
  {
    "ID": "2001",
    "unitID": "1001",
    "leaseStart": "2024-01-01T00:00:00Z",
    "leaseEnd": "2024-12-31T23:59:59Z",
    "moveIn": "2024-01-01T10:00:00Z",
    "moveOut": null,
    "primaryTenantID": "3001",
    "tenants": [
      {
        "ID": "3001",
        "name": "John Smith",
        "email": "john.smith@example.com",
        "phoneNumber": "+1-555-0123"
      }
    ]
  },
  {
    "ID": "2002",
    "unitID": "1002",
    "leaseStart": "2024-02-15T00:00:00Z",
    "leaseEnd": "2025-02-14T23:59:59Z",
    "moveIn": "2024-02-15T14:00:00Z",
    "moveOut": null,
    "primaryTenantID": "3002",
    "tenants": [
      {
        "ID": "3002",
        "name": "Jane Doe",
        "email": "jane.doe@example.com",
        "phoneNumber": "+1-555-0124"
      },
      {
        "ID": "3003",
        "name": "Bob Johnson",
        "email": "bob.johnson@example.com",
        "phoneNumber": "+1-555-0125"
      }
    ]
  }
]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment