API Navigation
Jump to any section to start building with Leaseora APIs
Quick Start
Get up and running with Leaseora APIs in minutes
Authentication
Secure your API requests with tokens and keys
Properties
Manage properties, units, and property details
Leases
Create, manage, and track lease agreements
AI Services
Leverage AI for insights, recommendations, and automation
Webhooks
Real-time notifications for property events
Getting Started with Leaseora APIs
Build powerful property management applications with our comprehensive REST APIs. From properties and leases to AI-powered insights, everything you need is at your fingertips.
Prerequisites
Active Leaseora Account
Professional or Enterprise plan with API access enabled
API Credentials
API key and secret from your dashboard settings
Development Knowledge
REST APIs, JSON, and HTTP request handling
New to Leaseora? Sign up for a free trial and explore our platform. API access is included in Professional plans starting at $49/month.
Quick Setup
1. Get Your API Key
Navigate to Settings → API Access in your Leaseora dashboard
2. Test Connection
Make your first API call to verify everything works
3. Start Building
Explore our endpoints and build amazing property management features
API Essentials
Base URL
All API requests should be made to our secure endpoint:
Required Headers
Include these headers with every request:
Success Response
Successful API responses follow this structure:
Error Response
Error responses provide detailed information:
Make Your First API Call
Test your setup with a simple request to fetch your properties
cURL
JavaScript
Authentication
Leaseora API uses token-based authentication. You need to include your API key in the Authorization header of each request.
Obtaining API Keys
You can generate API keys from your Leaseora dashboard under Settings > API Access. Each key has specific permissions that you can configure.
Authentication Example
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"
Never share your API keys or include them in client-side code. Always make API requests from your server.
Token Expiration
API keys do not expire automatically but can be revoked at any time from your dashboard. We recommend rotating your keys periodically for security.
API Reference
Explore our comprehensive API endpoints organized by resource type.
Properties API
Manage properties in your Leaseora account.
Retrieve a list of properties owned by the authenticated user. Properties include comprehensive data with AI-powered insights, performance metrics, and real-time status updates.
Response Fields
| Field | Type | Description |
|---|---|---|
| id | integer | Unique property identifier |
| name | string | Property name or title |
| address | string | Complete property address |
| property_type | string | Type of property (apartment, house, commercial, etc.) |
| units_count | integer | Number of rental units |
| monthly_rent | decimal | Base monthly rent amount |
| ai_predictions | object | AI-generated predictions for rental value and occupancy |
Example Response
"success": true,
"data": [
{
"id": "prop_12345",
"name": "Sunset Apartments",
"address": {
"street": "123 Main St",
"city": "San Francisco",
"state": "CA",
"zip": "94103",
"country": "US"
},
"units": 24,
"status": "active",
"created_at": "2023-01-15T08:30:00Z"
},
{
"id": "prop_67890",
"name": "Mountain View Condos",
"address": {
"street": "456 Oak Ave",
"city": "Mountain View",
"state": "CA",
"zip": "94040",
"country": "US"
},
"units": 12,
"status": "active",
"created_at": "2023-02-20T14:15:00Z"
}
],
"meta": {
"current_page": 1,
"total_pages": 5,
"total_count": 98,
"limit": 20
}
}
View more Property API endpoints →
Leases API
Create and manage lease agreements with comprehensive validation and property relationships. Leases are filtered by tenant and include property details.
Retrieve a list of leases with pagination.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| property_id | string | Filter by property ID |
| status | string | Filter by status (active, expired, terminated) |
| page | integer | Page number (default: 1) |
| limit | integer | Results per page (default: 20, max: 100) |
View example response and more details →
View more Lease API endpoints →
Tenants API
Manage tenant information and relationships.
View Tenant API endpoints →
Payments API
Process and manage rent payments and financial transactions.
View Payment API endpoints →
Maintenance API
Handle maintenance requests and property upkeep.
View Maintenance API endpoints →
AI Services API
Access Leaseora's AI-powered features for property management insights, rental predictions, and intelligent recommendations.
Submit a query to the AI service for property-related insights and recommendations.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| query | string | Yes | The question or request to process |
Example Request
"query": "What is the optimal rent price for a 2-bedroom apartment in Berlin?"
}
Example Response
"status": "Processing query..."
}
Retrieve the latest global AI insights and market predictions (public endpoint).
Example Response
{
"id": 1,
"insight": "Berlin rental market showing 3.2% growth",
"confidence_score": 0.87,
"created_at": "2024-01-15T10:30:00Z"
}
]
Webhooks
Leaseora provides webhooks to notify your application when events happen in your account.
Available Events
- lease.created - A new lease has been created
- lease.updated - A lease has been updated
- lease.terminated - A lease has been terminated
- payment.received - A payment has been received
- payment.failed - A payment has failed
- maintenance.requested - A maintenance request has been submitted
- maintenance.updated - A maintenance request has been updated
Setting Up Webhooks
You can configure webhooks in your Leaseora dashboard under Settings > API Access > Webhooks.
Webhook Payload Example
"event": "payment.received",
"created_at": "2023-06-01T12:00:00Z",
"data": {
"payment_id": "pay_12345",
"lease_id": "lease_67890",
"amount": 1500.00,
"currency": "USD",
"status": "completed",
"payment_method": "credit_card",
"payment_date": "2023-06-01T12:00:00Z"
}
}
Security
All webhook requests are signed with a signature in the X-Leaseora-Signature header. You should verify this signature to ensure the request came from Leaseora.
Rate Limits
To ensure the stability of our API, we enforce rate limits on API requests.
Default Limits
| Plan | Rate Limit | Burst Limit |
|---|---|---|
| Standard | 100 requests per minute | 150 requests |
| Professional | 300 requests per minute | 450 requests |
| Enterprise | 1000 requests per minute | 1500 requests |
Rate Limit Headers
Each API response includes headers that provide information about your current rate limit status:
X-RateLimit-Limit: The maximum number of requests you're permitted to make per minute.X-RateLimit-Remaining: The number of requests remaining in the current rate limit window.X-RateLimit-Reset: The time at which the current rate limit window resets in UTC epoch seconds.
Exceeding Rate Limits
If you exceed your rate limit, you'll receive a 429 Too Many Requests response with a Retry-After header indicating how long to wait before making another request.
Error Handling
The Leaseora API uses conventional HTTP response codes to indicate the success or failure of an API request.
HTTP Status Codes
| Code | Description |
|---|---|
| 200 - OK | The request was successful. |
| 201 - Created | The resource was successfully created. |
| 400 - Bad Request | The request was invalid or cannot be otherwise served. |
| 401 - Unauthorized | Authentication credentials were missing or incorrect. |
| 403 - Forbidden | The authenticated user doesn't have permission to access the requested resource. |
| 404 - Not Found | The requested resource doesn't exist. |
| 422 - Unprocessable Entity | The request was well-formed but was unable to be followed due to semantic errors. |
| 429 - Too Many Requests | The user has sent too many requests in a given amount of time. |
| 500, 502, 503, 504 - Server Errors | Something went wrong on our end. |
Error Response Format
"success": false,
"error": {
"code": "validation_error",
"message": "The given data was invalid.",
"details": {
"name": [
"The name field is required."
],
"email": [
"The email must be a valid email address."
]
}
}
}
Common Error Codes
| Error Code | Description |
|---|---|
| authentication_error | There was a problem with your API credentials. |
| validation_error | The request parameters failed validation. |
| resource_not_found | The requested resource does not exist. |
| rate_limit_exceeded | You've exceeded your rate limit. |
| permission_denied | You don't have permission to access this resource. |
| server_error | An error occurred on our servers. |
SDKs & Libraries
We provide official client libraries to make integrating with the Leaseora API even easier.
JavaScript
Our JavaScript SDK works in both Node.js and browser environments.
PHP
Our PHP SDK is compatible with PHP 7.4 and above.
Community Libraries
Our community has developed libraries for additional languages:
Want to contribute a library for another language? Check out our contribution guidelines.
Frequently Asked Questions
API access is available on all paid Leaseora plans. You can generate API keys from your dashboard under Settings > API Access.
Yes, we have rate limits based on your subscription plan. See the Rate Limits section for details. If you need higher limits, please contact our sales team.
You can report bugs or request features by emailing api-support@leaseora.com or by opening an issue in our GitHub repository.
Yes, we provide a sandbox environment for testing your integration before going live. Use the base URL https://api-sandbox.leaseora.com/v1 for all sandbox requests.
All list endpoints return paginated results. You can control pagination using the page and limit query parameters. The response includes metadata with pagination details.