π Property Management SaaS - Complete API DocumentationΒΆ
Comprehensive API documentation for the Property Management SaaS platform, covering all microservices, authentication, regional compliance, and integration patterns.
π Table of ContentsΒΆ
- API Overview
- Authentication & Authorization
- Base URLs & Endpoints
- Common Request/Response Patterns
- Error Handling & Status Codes
- Rate Limiting & Throttling
- Regional API Variations
- Microservices API Reference
- Integration Guides
- SDK & Client Libraries
- Testing & Debugging
- Webhooks & Real-time Updates
π API OverviewΒΆ
Platform ArchitectureΒΆ
The Property Management SaaS platform is built on a microservices architecture with 8 core services, each exposing RESTful APIs through a centralized API Gateway.
API Design PrinciplesΒΆ
- RESTful Design: Standard HTTP methods and status codes
- JSON Format: All requests and responses use JSON
- Versioning: API versioning through URL path (
/api/v1/) - Pagination: Consistent pagination across all list endpoints
- Filtering & Sorting: Flexible query parameters for data retrieval
- Bulk Operations: Support for batch operations where applicable
Supported HTTP MethodsΒΆ
GET: Retrieve dataPOST: Create new resourcesPUT: Update entire resourcesPATCH: Partial updatesDELETE: Remove resources
π Authentication & AuthorizationΒΆ
Authentication MethodsΒΆ
1. JWT Token Authentication (Primary)ΒΆ
Token Structure:
{
"header": {
"alg": "RS256",
"typ": "JWT"
},
"payload": {
"sub": "user-uuid",
"email": "user@example.com",
"org_id": "organization-uuid",
"org_roles": ["PropertyManager", "Admin"],
"permissions": ["property:read", "tenant:manage"],
"tenant_profile_id": "tenant-uuid",
"jti": "token-uuid",
"iat": 1640995200,
"exp": 1641001200,
"aud": "PropertyManagement"
}
}
2. API Key Authentication (Service-to-Service)ΒΆ
3. OAuth 2.0 (Third-party Integrations)ΒΆ
Authentication FlowΒΆ
Login ProcessΒΆ
sequenceDiagram
participant Client
participant Gateway as API Gateway
participant Identity as Identity Service
participant User as User Service
Client->>Gateway: POST /api/v1/identity/login
Gateway->>Identity: Forward Request
Identity->>User: Validate User
User-->>Identity: User Data + Roles
Identity-->>Gateway: JWT Token + Claims
Gateway-->>Client: Authentication Response Token RefreshΒΆ
POST /api/v1/identity/refresh
Content-Type: application/json
{
"refresh_token": "refresh_token_here"
}
Authorization ModelΒΆ
Role-Based Access Control (RBAC)ΒΆ
{
"roles": {
"SuperAdmin": ["*"],
"OrganizationOwner": ["org:*", "property:*", "user:*"],
"PropertyManager": ["property:read", "property:update", "tenant:*"],
"PropertyOwner": ["property:read", "financial:read"],
"Tenant": ["unit:read", "maintenance:create", "payment:create"],
"MaintenanceStaff": ["workorder:*", "maintenance:*"],
"SecurityStaff": ["visitor:*", "security:*"]
}
}
Permission MatrixΒΆ
| Resource | Read | Create | Update | Delete | Admin |
|---|---|---|---|---|---|
| Organization | β | β | β | β | β |
| Property | β | β | β | β | β |
| Unit | β | β | β | β | β |
| Tenant | β | β | β | β | β |
| Financial | β | β | β | β | β |
| Maintenance | β | β | β | β | β |
π Base URLs & EndpointsΒΆ
Environment URLsΒΆ
DevelopmentΒΆ
API Gateway: http://localhost:5000
Identity Service: http://localhost:5001
User Service: http://localhost:5002
Organization Service: http://localhost:5003
Property Service: http://localhost:5004
Financial Service: http://localhost:5005
Operations Service: http://localhost:5006
Community Service: http://localhost:5007
Notifications Service: http://localhost:5008
StagingΒΆ
ProductionΒΆ
API VersioningΒΆ
π‘ Common Request/Response PatternsΒΆ
Standard Request HeadersΒΆ
Content-Type: application/json
Accept: application/json
Authorization: Bearer <jwt_token>
X-Request-ID: <unique_request_id>
X-Organization-ID: <org_id> (if not in JWT)
Standard Response FormatΒΆ
{
"success": true,
"data": {
// Response data here
},
"meta": {
"timestamp": "2024-01-15T10:30:00Z",
"request_id": "req_123456789",
"version": "1.0.0"
}
}
Pagination Response FormatΒΆ
{
"success": true,
"data": [
// Array of items
],
"meta": {
"pagination": {
"page": 1,
"page_size": 20,
"total_count": 150,
"total_pages": 8,
"has_next": true,
"has_previous": false
}
}
}
Query Parameters for FilteringΒΆ
GET /api/v1/properties?page=1&page_size=20&status=active&type=residential&sort_by=name&sort_order=asc
Common Query Parameters: - page: Page number (default: 1) - page_size: Items per page (default: 20, max: 100) - sort_by: Field to sort by - sort_order: asc or desc - status: Filter by status - created_after: ISO 8601 date - created_before: ISO 8601 date
β Error Handling & Status CodesΒΆ
HTTP Status CodesΒΆ
Success CodesΒΆ
200 OK: Request successful201 Created: Resource created successfully204 No Content: Request successful, no content to return
Client Error CodesΒΆ
400 Bad Request: Invalid request data401 Unauthorized: Authentication required403 Forbidden: Insufficient permissions404 Not Found: Resource not found409 Conflict: Resource conflict422 Unprocessable Entity: Validation errors429 Too Many Requests: Rate limit exceeded
Server Error CodesΒΆ
500 Internal Server Error: Server error502 Bad Gateway: Service unavailable503 Service Unavailable: Service temporarily unavailable
Error Response FormatΒΆ
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Validation failed",
"details": [
{
"field": "email",
"message": "Email is required"
},
{
"field": "phone",
"message": "Phone number format is invalid"
}
]
},
"meta": {
"timestamp": "2024-01-15T10:30:00Z",
"request_id": "req_123456789",
"correlation_id": "corr_987654321"
}
}
Common Error CodesΒΆ
| Error Code | HTTP Status | Description |
|---|---|---|
AUTHENTICATION_FAILED | 401 | Invalid credentials |
TOKEN_EXPIRED | 401 | JWT token has expired |
INSUFFICIENT_PERMISSIONS | 403 | User lacks required permissions |
RESOURCE_NOT_FOUND | 404 | Requested resource doesn't exist |
VALIDATION_ERROR | 422 | Request data validation failed |
RATE_LIMIT_EXCEEDED | 429 | Too many requests |
SERVICE_UNAVAILABLE | 503 | Service temporarily unavailable |
β‘ Rate Limiting & ThrottlingΒΆ
Rate Limit PoliciesΒΆ
Standard UsersΒΆ
Premium UsersΒΆ
Enterprise UsersΒΆ
Rate Limit HeadersΒΆ
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 850
X-RateLimit-Reset: 1640995200
X-RateLimit-Window: 3600
Rate Limit ResponseΒΆ
{
"success": false,
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded. Try again in 15 minutes.",
"retry_after": 900
}
}
π Regional API VariationsΒΆ
India-Specific FeaturesΒΆ
GST IntegrationΒΆ
{
"gst_number": "22AAAAA0000A1Z5",
"gst_rate": 18.0,
"cgst_rate": 9.0,
"sgst_rate": 9.0,
"igst_rate": 18.0,
"gst_category": "interstate"
}
TDS ManagementΒΆ
{
"tds_section": "194C",
"tds_rate": 2.0,
"pan_number": "ABCDE1234F",
"tds_certificate_number": "TDS123456789"
}
Housing Society ComplianceΒΆ
{
"society_registration_number": "MHS/123/2024",
"registrar_office": "Mumbai",
"bye_laws_version": "2024.1",
"compliance_status": "compliant"
}
India-Specific EndpointsΒΆ
POST /api/v1/financial/gst-calculator
GET /api/v1/financial/tds-reports
POST /api/v1/compliance/society-filing
GET /api/v1/financial/gst-returns
Canada-Specific FeaturesΒΆ
Strata/Condo ComplianceΒΆ
{
"strata_plan_number": "EPS1234",
"province": "BC",
"strata_property_act_version": "2024",
"personal_info_protection": "PIPA",
"status_certificate_required": true
}
Provincial Tax ComplianceΒΆ
{
"hst_rate": 12.0,
"gst_rate": 5.0,
"pst_rate": 7.0,
"province": "BC",
"tax_registration_number": "123456789RT0001"
}
Canada-Specific EndpointsΒΆ
POST /api/v1/financial/hst-calculator
GET /api/v1/compliance/status-certificate
POST /api/v1/financial/ltb-forms
GET /api/v1/compliance/provincial-reports
ποΈ Microservices API ReferenceΒΆ
1. Identity Service APIΒΆ
Authentication EndpointsΒΆ
POST /api/v1/identity/login
POST /api/v1/identity/register
POST /api/v1/identity/refresh
POST /api/v1/identity/logout
POST /api/v1/identity/forgot-password
POST /api/v1/identity/reset-password
POST /api/v1/identity/verify-email
POST /api/v1/identity/mfa/verify
POST /api/v1/identity/mfa/setup
User Management EndpointsΒΆ
GET /api/v1/identity/users
GET /api/v1/identity/users/{id}
POST /api/v1/identity/users
PUT /api/v1/identity/users/{id}
DELETE /api/v1/identity/users/{id}
GET /api/v1/identity/users/{id}/roles
PUT /api/v1/identity/users/{id}/roles
Role & Permission EndpointsΒΆ
GET /api/v1/identity/roles
GET /api/v1/identity/roles/{id}
POST /api/v1/identity/roles
PUT /api/v1/identity/roles/{id}
DELETE /api/v1/identity/roles/{id}
GET /api/v1/identity/permissions
GET /api/v1/identity/roles/{id}/permissions
PUT /api/v1/identity/roles/{id}/permissions
2. Organization Service APIΒΆ
Organization ManagementΒΆ
GET /api/v1/organizations
GET /api/v1/organizations/{id}
POST /api/v1/organizations
PUT /api/v1/organizations/{id}
DELETE /api/v1/organizations/{id}
GET /api/v1/organizations/{id}/settings
PUT /api/v1/organizations/{id}/settings
Subscription ManagementΒΆ
GET /api/v1/organizations/{id}/subscription
POST /api/v1/organizations/{id}/subscription
PUT /api/v1/organizations/{id}/subscription
GET /api/v1/organizations/{id}/billing
POST /api/v1/organizations/{id}/billing/upgrade
POST /api/v1/organizations/{id}/billing/downgrade
Domain ManagementΒΆ
GET /api/v1/organizations/{id}/domains
POST /api/v1/organizations/{id}/domains
DELETE /api/v1/organizations/{id}/domains/{domain_id}
POST /api/v1/organizations/{id}/domains/{domain_id}/verify
3. Property Service APIΒΆ
Property ManagementΒΆ
GET /api/v1/properties
GET /api/v1/properties/{id}
POST /api/v1/properties
PUT /api/v1/properties/{id}
DELETE /api/v1/properties/{id}
GET /api/v1/properties/{id}/units
GET /api/v1/properties/{id}/amenities
GET /api/v1/properties/{id}/policies
Unit ManagementΒΆ
GET /api/v1/properties/{property_id}/units
GET /api/v1/properties/{property_id}/units/{unit_id}
POST /api/v1/properties/{property_id}/units
PUT /api/v1/properties/{property_id}/units/{unit_id}
DELETE /api/v1/properties/{property_id}/units/{unit_id}
GET /api/v1/properties/{property_id}/units/{unit_id}/status
PUT /api/v1/properties/{property_id}/units/{unit_id}/status
Tenant ManagementΒΆ
GET /api/v1/properties/{property_id}/tenants
GET /api/v1/properties/{property_id}/tenants/{tenant_id}
POST /api/v1/properties/{property_id}/tenants
PUT /api/v1/properties/{property_id}/tenants/{tenant_id}
DELETE /api/v1/properties/{property_id}/tenants/{tenant_id}
GET /api/v1/properties/{property_id}/tenants/{tenant_id}/lease
POST /api/v1/properties/{property_id}/tenants/{tenant_id}/lease
4. Financial Service APIΒΆ
Invoice ManagementΒΆ
GET /api/v1/financial/invoices
GET /api/v1/financial/invoices/{id}
POST /api/v1/financial/invoices
PUT /api/v1/financial/invoices/{id}
DELETE /api/v1/financial/invoices/{id}
POST /api/v1/financial/invoices/{id}/send
POST /api/v1/financial/invoices/{id}/cancel
GET /api/v1/financial/invoices/{id}/payments
Payment ProcessingΒΆ
GET /api/v1/financial/payments
GET /api/v1/financial/payments/{id}
POST /api/v1/financial/payments
PUT /api/v1/financial/payments/{id}
GET /api/v1/financial/payments/{id}/receipt
POST /api/v1/financial/payments/{id}/refund
GET /api/v1/financial/payment-methods
POST /api/v1/financial/payment-methods
Expense ManagementΒΆ
GET /api/v1/financial/expenses
GET /api/v1/financial/expenses/{id}
POST /api/v1/financial/expenses
PUT /api/v1/financial/expenses/{id}
DELETE /api/v1/financial/expenses/{id}
POST /api/v1/financial/expenses/{id}/approve
POST /api/v1/financial/expenses/{id}/reject
GET /api/v1/financial/expenses/{id}/attachments
Budget ManagementΒΆ
GET /api/v1/financial/budgets
GET /api/v1/financial/budgets/{id}
POST /api/v1/financial/budgets
PUT /api/v1/financial/budgets/{id}
DELETE /api/v1/financial/budgets/{id}
GET /api/v1/financial/budgets/{id}/categories
POST /api/v1/financial/budgets/{id}/categories
GET /api/v1/financial/budgets/{id}/variance
5. Operations Service APIΒΆ
Maintenance RequestsΒΆ
GET /api/v1/operations/maintenance-requests
GET /api/v1/operations/maintenance-requests/{id}
POST /api/v1/operations/maintenance-requests
PUT /api/v1/operations/maintenance-requests/{id}
DELETE /api/v1/operations/maintenance-requests/{id}
POST /api/v1/operations/maintenance-requests/{id}/assign
POST /api/v1/operations/maintenance-requests/{id}/complete
GET /api/v1/operations/maintenance-requests/{id}/updates
Work OrdersΒΆ
GET /api/v1/operations/work-orders
GET /api/v1/operations/work-orders/{id}
POST /api/v1/operations/work-orders
PUT /api/v1/operations/work-orders/{id}
DELETE /api/v1/operations/work-orders/{id}
POST /api/v1/operations/work-orders/{id}/start
POST /api/v1/operations/work-orders/{id}/complete
POST /api/v1/operations/work-orders/{id}/cancel
Vendor ManagementΒΆ
GET /api/v1/operations/vendors
GET /api/v1/operations/vendors/{id}
POST /api/v1/operations/vendors
PUT /api/v1/operations/vendors/{id}
DELETE /api/v1/operations/vendors/{id}
GET /api/v1/operations/vendors/{id}/performance
GET /api/v1/operations/vendors/{id}/work-orders
POST /api/v1/operations/vendors/{id}/rate
6. Community Service APIΒΆ
Community EventsΒΆ
GET /api/v1/community/events
GET /api/v1/community/events/{id}
POST /api/v1/community/events
PUT /api/v1/community/events/{id}
DELETE /api/v1/community/events/{id}
POST /api/v1/community/events/{id}/register
DELETE /api/v1/community/events/{id}/register
GET /api/v1/community/events/{id}/attendees
MarketplaceΒΆ
GET /api/v1/community/marketplace/listings
GET /api/v1/community/marketplace/listings/{id}
POST /api/v1/community/marketplace/listings
PUT /api/v1/community/marketplace/listings/{id}
DELETE /api/v1/community/marketplace/listings/{id}
POST /api/v1/community/marketplace/listings/{id}/contact
GET /api/v1/community/marketplace/categories
7. Notifications Service APIΒΆ
Notification ManagementΒΆ
GET /api/v1/notifications
GET /api/v1/notifications/{id}
POST /api/v1/notifications
PUT /api/v1/notifications/{id}
DELETE /api/v1/notifications/{id}
POST /api/v1/notifications/{id}/mark-read
POST /api/v1/notifications/bulk-mark-read
GET /api/v1/notifications/unread-count
TemplatesΒΆ
GET /api/v1/notifications/templates
GET /api/v1/notifications/templates/{id}
POST /api/v1/notifications/templates
PUT /api/v1/notifications/templates/{id}
DELETE /api/v1/notifications/templates/{id}
POST /api/v1/notifications/templates/{id}/send
ChannelsΒΆ
GET /api/v1/notifications/channels
GET /api/v1/notifications/channels/{id}
POST /api/v1/notifications/channels
PUT /api/v1/notifications/channels/{id}
DELETE /api/v1/notifications/channels/{id}
POST /api/v1/notifications/channels/{id}/test
π Integration GuidesΒΆ
Payment Gateway IntegrationΒΆ
Stripe IntegrationΒΆ
{
"payment_method": "stripe",
"stripe_publishable_key": "pk_test_...",
"stripe_secret_key": "sk_test_...",
"webhook_secret": "whsec_...",
"supported_currencies": ["USD", "CAD", "INR"],
"payment_methods": ["card", "bank_transfer", "wallet"]
}
PayPal IntegrationΒΆ
{
"payment_method": "paypal",
"client_id": "client_id_here",
"client_secret": "client_secret_here",
"environment": "sandbox",
"webhook_url": "https://api.propertymgmt.com/webhooks/paypal"
}
Regional Payment MethodsΒΆ
India:
{
"upi": {
"enabled": true,
"providers": ["phonepe", "googlepay", "paytm"],
"merchant_id": "merchant_id_here"
},
"net_banking": {
"enabled": true,
"banks": ["hdfc", "icici", "sbi"]
},
"wallet": {
"enabled": true,
"providers": ["paytm", "phonepe", "amazonpay"]
}
}
Canada:
{
"interac": {
"enabled": true,
"merchant_id": "merchant_id_here"
},
"pre_authorized_debit": {
"enabled": true,
"processor": "nacha"
},
"credit_union": {
"enabled": true,
"providers": ["vancity", "coast_capital"]
}
}
Accounting Software IntegrationΒΆ
QuickBooks IntegrationΒΆ
{
"accounting_system": "quickbooks",
"client_id": "client_id_here",
"client_secret": "client_secret_here",
"environment": "sandbox",
"webhook_url": "https://api.propertymgmt.com/webhooks/quickbooks",
"sync_frequency": "hourly",
"entities": ["customers", "invoices", "payments", "expenses"]
}
Sage IntegrationΒΆ
{
"accounting_system": "sage",
"api_key": "api_key_here",
"environment": "production",
"webhook_url": "https://api.propertymgmt.com/webhooks/sage",
"sync_frequency": "daily",
"entities": ["customers", "invoices", "payments"]
}
Communication Service IntegrationΒΆ
Email Service (SendGrid)ΒΆ
{
"email_provider": "sendgrid",
"api_key": "api_key_here",
"from_email": "noreply@propertymgmt.com",
"webhook_url": "https://api.propertymgmt.com/webhooks/sendgrid",
"templates": {
"welcome": "d-welcome-template-id",
"invoice": "d-invoice-template-id",
"maintenance": "d-maintenance-template-id"
}
}
SMS Service (Twilio)ΒΆ
{
"sms_provider": "twilio",
"account_sid": "account_sid_here",
"auth_token": "auth_token_here",
"from_number": "+1234567890",
"webhook_url": "https://api.propertymgmt.com/webhooks/twilio"
}
WhatsApp Business APIΒΆ
{
"whatsapp_provider": "meta",
"access_token": "access_token_here",
"phone_number_id": "phone_number_id_here",
"webhook_verify_token": "verify_token_here",
"webhook_url": "https://api.propertymgmt.com/webhooks/whatsapp"
}
π SDK & Client LibrariesΒΆ
Official SDKsΒΆ
JavaScript/TypeScript SDKΒΆ
Usage Example:
import { PropertyManagementSDK } from '@propertymgmt/js-sdk';
const sdk = new PropertyManagementSDK({
apiKey: 'your_api_key',
environment: 'production'
});
// Get properties
const properties = await sdk.properties.list({
page: 1,
pageSize: 20
});
// Create a property
const property = await sdk.properties.create({
name: 'Sunset Apartments',
type: 'residential',
address: {
street: '123 Main St',
city: 'Vancouver',
province: 'BC',
postalCode: 'V6B 1A1'
}
});
Python SDKΒΆ
Usage Example:
from propertymgmt import PropertyManagementSDK
sdk = PropertyManagementSDK(
api_key='your_api_key',
environment='production'
)
# Get properties
properties = sdk.properties.list(
page=1,
page_size=20
)
# Create a property
property = sdk.properties.create(
name='Sunset Apartments',
type='residential',
address={
'street': '123 Main St',
'city': 'Vancouver',
'province': 'BC',
'postal_code': 'V6B 1A1'
}
)
Java SDKΒΆ
<dependency>
<groupId>com.propertymgmt</groupId>
<artifactId>java-sdk</artifactId>
<version>1.0.0</version>
</dependency>
Usage Example:
import com.propertymgmt.PropertyManagementSDK;
PropertyManagementSDK sdk = new PropertyManagementSDK.Builder()
.apiKey("your_api_key")
.environment("production")
.build();
// Get properties
PropertyList properties = sdk.properties().list()
.page(1)
.pageSize(20)
.execute();
// Create a property
Property property = sdk.properties().create()
.name("Sunset Apartments")
.type("residential")
.address(new Address("123 Main St", "Vancouver", "BC", "V6B 1A1"))
.execute();
Community SDKsΒΆ
PHP SDKΒΆ
Ruby SDKΒΆ
Go SDKΒΆ
π§ͺ Testing & DebuggingΒΆ
API Testing ToolsΒΆ
Postman CollectionΒΆ
Download the complete Postman collection:
cURL ExamplesΒΆ
Authentication:
# Login
curl -X POST https://api.propertymgmt.com/api/v1/identity/login \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"password": "password123"
}'
# Use token
curl -X GET https://api.propertymgmt.com/api/v1/properties \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
Property Management:
# Get properties
curl -X GET "https://api.propertymgmt.com/api/v1/properties?page=1&page_size=20" \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
# Create property
curl -X POST https://api.propertymgmt.com/api/v1/properties \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Sunset Apartments",
"type": "residential",
"address": {
"street": "123 Main St",
"city": "Vancouver",
"province": "BC",
"postal_code": "V6B 1A1"
}
}'
Testing EnvironmentΒΆ
Sandbox EnvironmentΒΆ
Base URL: https://api-sandbox.propertymgmt.com
Test Data: Pre-populated with sample properties and users
Rate Limits: Higher limits for testing
Test CredentialsΒΆ
{
"admin_user": {
"email": "admin@sandbox.propertymgmt.com",
"password": "admin123"
},
"property_manager": {
"email": "manager@sandbox.propertymgmt.com",
"password": "manager123"
},
"tenant": {
"email": "tenant@sandbox.propertymgmt.com",
"password": "tenant123"
}
}
Debugging ToolsΒΆ
Request LoggingΒΆ
Response HeadersΒΆ
Error TrackingΒΆ
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Validation failed",
"details": [...],
"trace_id": "trace_123456789",
"correlation_id": "corr_987654321"
}
}
π Webhooks & Real-time UpdatesΒΆ
Webhook ConfigurationΒΆ
Webhook EndpointsΒΆ
Webhook EventsΒΆ
{
"events": [
"property.created",
"property.updated",
"property.deleted",
"tenant.created",
"tenant.updated",
"tenant.deleted",
"invoice.created",
"invoice.paid",
"maintenance.created",
"maintenance.completed",
"payment.received",
"payment.failed"
]
}
Webhook Payload ExampleΒΆ
{
"event": "property.created",
"timestamp": "2024-01-15T10:30:00Z",
"data": {
"property_id": "prop_123456789",
"name": "Sunset Apartments",
"type": "residential",
"organization_id": "org_987654321"
},
"webhook_id": "webhook_123456789"
}
Real-time UpdatesΒΆ
WebSocket ConnectionΒΆ
const ws = new WebSocket('wss://api.propertymgmt.com/ws');
ws.onmessage = function(event) {
const update = JSON.parse(event.data);
switch(update.type) {
case 'maintenance_update':
handleMaintenanceUpdate(update.data);
break;
case 'payment_received':
handlePaymentUpdate(update.data);
break;
case 'notification':
handleNotification(update.data);
break;
}
};
Server-Sent Events (SSE)ΒΆ
const eventSource = new EventSource('/api/v1/events');
eventSource.onmessage = function(event) {
const update = JSON.parse(event.data);
handleRealTimeUpdate(update);
};
eventSource.addEventListener('maintenance', function(event) {
const maintenanceUpdate = JSON.parse(event.data);
handleMaintenanceUpdate(maintenanceUpdate);
});
π Additional ResourcesΒΆ
Documentation LinksΒΆ
Support & CommunityΒΆ
ChangelogΒΆ
π― Getting StartedΒΆ
Quick Start GuideΒΆ
- Get API Credentials
- Sign up at Property Management Platform
- Navigate to Settings > API Keys
-
Generate your first API key
-
Test Authentication
-
Make Your First API Call
-
Explore the API
- Use the Interactive API Explorer
- Download the Postman Collection
- Check out Code Examples
Next StepsΒΆ
This documentation is continuously updated. For the latest version, visit docs.propertymgmt.com