API Documentation

Powerful APIs to integrate RedBrick with your applications and workflows

REST
API Architecture
50+
API Endpoints
99.9%
API Uptime
JSON
Response Format

API Overview

๐Ÿข Properties API

Comprehensive property management endpoints for creating, updating, and retrieving property information including addresses, details, and compliance certificates.

  • Property CRUD operations
  • Address validation
  • EPC and compliance tracking
  • Property photos and documents

๐Ÿ‘ฅ Tenants API

Complete tenant lifecycle management including tenant creation, lease management, communication, and tenant portal access.

  • Tenant management
  • Lease agreements
  • Communication tracking
  • Document management

๐Ÿ”ง Maintenance API

Maintenance request management with contractor assignments, status tracking, and automated workflows for repairs and inspections.

  • Maintenance requests
  • Contractor management
  • Priority and status tracking
  • Photo documentation

๐Ÿ’ท Financial API

Financial operations including rent collection, expense tracking, arrears management, and comprehensive financial reporting.

  • Rent collection
  • Expense management
  • Financial reporting
  • Payment processing

๐Ÿ”” Webhooks API

Real-time event notifications for property updates, tenant changes, maintenance requests, and payment events.

  • Real-time notifications
  • Event subscriptions
  • Webhook verification
  • Retry mechanisms

๐Ÿ“Š Analytics API

Comprehensive analytics and reporting endpoints for portfolio performance, financial insights, and operational metrics.

  • Portfolio analytics
  • Financial reports
  • Performance metrics
  • Custom dashboards

๐Ÿ” Authentication

All API requests require authentication using API keys. You can manage your API keys in your RedBrick dashboard.

curl -H "Authorization: Bearer YOUR_API_KEY" \
     -H "Content-Type: application/json" \
     https://api.redbrick-lettings.co.uk/v1/properties

Base URL: https://api.redbrick-lettings.co.uk/v1

API Endpoints

Properties API

GET /properties List all properties

Retrieve a paginated list of all properties in your portfolio.

Query Parameters

Parameter Type Required Description
page integer Optional Page number (default: 1)
limit integer Optional Items per page (default: 20, max: 100)
status string Optional Filter by status: available, let, maintenance

Response Example

{
  "data": [
    {
      "id": "prop_123456",
      "address": {
        "line1": "123 Victoria Street",
        "line2": "Apartment 4B",
        "city": "Manchester",
        "postcode": "M1 2AB",
        "country": "GB"
      },
      "type": "flat",
      "bedrooms": 2,
      "bathrooms": 1,
      "epc_rating": "C",
      "monthly_rent": 1200.00,
      "currency": "GBP",
      "status": "let",
      "created_at": "2024-01-15T10:30:00Z"
    }
  ],
  "pagination": {
    "current_page": 1,
    "per_page": 20,
    "total": 45,
    "total_pages": 3
  }
}
POST /properties Create new property

Add a new property to your portfolio.

Request Body

{
  "address": {
    "line1": "456 Oxford Road",
    "city": "Manchester",
    "postcode": "M13 9GP",
    "country": "GB"
  },
  "type": "house",
  "bedrooms": 3,
  "bathrooms": 2,
  "monthly_rent": 1500.00,
  "currency": "GBP",
  "description": "Beautiful Victorian terraced house",
  "features": ["garden", "parking", "central_heating"]
}

Tenants API

POST /tenants Create new tenant

Add a new tenant to the system and assign to a property.

Request Body

{
  "first_name": "John",
  "last_name": "Smith",
  "email": "john.smith@email.com",
  "phone": "+44 7700 900123",
  "property_id": "prop_123456",
  "lease_start_date": "2024-02-01",
  "lease_end_date": "2025-01-31",
  "monthly_rent": 1200.00,
  "deposit_amount": 1400.00,
  "guarantor_required": false
}
GET /tenants/{tenant_id} Get tenant details

Retrieve detailed information about a specific tenant.

Response Example

{
  "id": "tenant_789012",
  "first_name": "John",
  "last_name": "Smith",
  "email": "john.smith@email.com",
  "phone": "+44 7700 900123",
  "property_id": "prop_123456",
  "lease": {
    "start_date": "2024-02-01",
    "end_date": "2025-01-31",
    "monthly_rent": 1200.00,
    "deposit_amount": 1400.00
  },
  "status": "active",
  "created_at": "2024-01-20T14:30:00Z"
}

Maintenance API

POST /maintenance Create maintenance request

Create a new maintenance request for a property.

Request Body

{
  "property_id": "prop_123456",
  "tenant_id": "tenant_789012",
  "title": "Leaking tap in kitchen",
  "description": "Kitchen tap is dripping constantly",
  "priority": "medium",
  "category": "plumbing",
  "emergency": false,
  "contractor_id": "contractor_345"
}
PUT /maintenance/{request_id} Update maintenance request

Update the status or details of an existing maintenance request.

Request Body

{
  "status": "completed",
  "completion_date": "2024-01-25T16:00:00Z",
  "cost": 75.00,
  "notes": "Replaced tap washer. Issue resolved.",
  "contractor_rating": 5
}

Rate Limits & Best Practices

โšก Rate Limits

  • Standard: 1000 requests/hour
  • Premium: 5000 requests/hour
  • Enterprise: 20000 requests/hour

Rate limit headers included in all responses.

๐Ÿ”„ Pagination

All list endpoints support pagination:

  • Use page and limit parameters
  • Maximum 100 items per page
  • Pagination metadata in response

๐Ÿ”” Webhooks

Subscribe to real-time events:

  • Property updates
  • Tenant changes
  • Maintenance requests
  • Payment events

SDKs and Tools

๐Ÿ“ฆ Official SDKs

  • JavaScript/Node.js SDK
  • Python SDK
  • PHP SDK
  • Ruby SDK
  • .NET SDK
View Documentation โ†’

๐Ÿงช Testing Tools

  • Sandbox Environment
  • Postman Collection
  • API Explorer
  • Test Data Generator
Access Sandbox โ†’

๐Ÿ›Ÿ Support

  • Developer Support Team
  • Community Forum
  • API Status Page
  • Integration Examples
Get Support โ†’