Supergood | Entrata API

Supergood | Entrata API

Programmatically access Entrata property data, unit availability, leasing workflows, resident ledgers, payments, and maintenance with a stable REST API. Supergood builds and operates production-grade, unofficial Entrata integrations so your team can automate onsite and back-office processes without heavy custom engineering or vendor marketplace hurdles.

Plain English: Entrata is property management software used by multifamily owners and operators to run communities end-to-end—marketing and leads, online applications and screening, lease execution and renewals, resident portal and payments, maintenance, utilities, and accounting. An unofficial API lets you programmatically pull properties and units (with pricing and availability), prospects and applications, leases and residents, ledger charges and payments, and work orders—and push new records or updates (e.g., lease offers, resident contact updates, maintenance requests) back into Entrata.

For a tech company integrating with Entrata, this means you can ingest real-time inventory and pricing to power websites and ILS syndication, sync leases and payments to your CRM or accounting (e.g., QuickBooks, Xero), automate resident communications and approvals from your product, or enrich your platform with maintenance workflows, inspections, and documents. You can also trigger resident portal invites, pre-fill applications, create work orders from IoT sensors, attach photos, and keep stakeholder systems (ERP, analytics, CRM, scheduling) aligned.

What is Entrata?

Entrata (https://www.entrata.com/) is a cloud platform for multifamily property management that centralizes leasing, resident engagement, operations, and accounting across portfolios, communities, and onsite teams. Operators use Entrata to publish unit availability and pricing, capture leads and applications, run screening, execute leases and renewals with e-signatures, manage resident ledgers and payments, coordinate maintenance and inspections, and reconcile financials—with resident and vendor portals for collaboration.

Core product areas include:

  • Leasing & Marketing (Websites, ILS feeds, CRM/Leads, Applications, Screening, Pricing/Availability)
  • Resident Experience (Resident Portal, Communications, E-Signatures, Renewals)
  • Operations (Maintenance Work Orders, Inspections, Inventory, Vendors)
  • Financials (General Ledger, Resident Ledgers, Charges, Payments, Deposits, Bank Reconciliation)
  • Utilities & Services (Utility Billing, Move-In/Move-Out Service Flows)

Common data entities:

  • Companies/Portfolios, Users, Roles/Permissions (Corporate, Onsite, Vendor, Resident)
  • Properties/Communities (metadata, addresses, IDs, time zones)
  • Units & Floorplans (attributes, amenities, pricing, status)
  • Prospects/Leads & Applications (contact details, status, screening results)
  • Residents/Tenants (contacts, preferences, portal status)
  • Leases & Renewals (terms, rent, fees, concessions, signatures)
  • Ledger Charges & Payments (rent, utilities, deposits, adjustments)
  • Maintenance Work Orders & Inspections (category, priority, assignments, attachments)
  • Vendors (contacts, work categories, compliance)

The Entrata Integration Challenge

Multifamily teams rely on Entrata daily, but turning portal-first workflows into API-driven automation can be difficult:

  • Marketplace constraints: Official integrations often require vendor programs, per-door fees, or limited scopes; many teams report API access costs and functionality constraints.
  • Batch exports: Key data may be delivered via scheduled SFTP or reports instead of real-time APIs, complicating automation and data freshness.
  • Role-aware portals: Corporate, onsite staff, residents, and vendors see different data and approval states; automation must respect entitlements.
  • Financial rigor: Ledgers, deposits, fees, and proration demand careful handling to avoid reconciliation drift.
  • Pricing & availability: Dynamic unit pricing, notices, and turn statuses change frequently and span multiple views.
  • Authentication complexity: SSO/MFA and session lifecycles complicate headless automation for large portfolios.
  • Data spread: Leasing, resident, financial, and maintenance objects live across modules with context in multiple screens.

How Supergood Creates Entrata APIs

Supergood reverse-engineers authenticated browser flows and network interactions to deliver a resilient API endpoint layer for your Entrata tenant.

  • Handles username/password, SSO/OAuth, and MFA (SMS, email, TOTP) securely
  • Maintains session continuity with automated refresh and change detection
  • Normalizes responses so you can integrate once and rely on consistent objects across modules
  • Aligns with customer entitlements and role-based permissions to ensure compliant access

Use Cases

Unit & Availability Data Sync

  • Mirror properties, units, floorplans, and pricing into your internal systems
  • Keep availability and notice statuses current for websites, ILS feeds, and analytics
  • Normalize amenities, beds/baths, market rent, and ready dates for multi-property operations

Leasing & Resident Lifecycle Automation

  • Create lease offers and push resident details from your platform
  • Trigger portal invites, approvals, and e-signature workflows
  • Automate renewals and update contact preferences at scale

Maintenance & Vendor Ops

  • Create work orders from inspections, sensors, or resident-facing tools
  • Route requests to onsite staff or vendors and attach photos/documents
  • Track status and SLA compliance with alerts and dashboards

Financials: Ledgers, Payments, and Accounting Sync

  • Pull resident ledger charges and payments for reconciliation
  • Feed real-time payment events to ERP/accounting (e.g., QuickBooks, Xero)
  • Normalize fee codes, taxes, and proration across properties

Available Endpoints

Authentication

POST /sessions: Establish a session using credentials. Supergood manages MFA (SMS, email, TOTP) and SSO/OAuth when enabled. Returns a short-lived auth token maintained by the platform.

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/sessions \
  --header 'Authorization: Basic <Base64 encoded token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "username": "[email protected]",
    "password": "<password>",
    "mfa": { "type": "totp", "code": "123456" }
  }'

Example response

{
  "authToken": "eyJhbGciOi...",
  "expiresIn": 3600,
  "user": {
    "id": "u_ent_729c10",
    "name": "Regional Manager",
    "entitlements": ["properties", "units", "leasing", "residents", "maintenance", "financials"]
  }
}

POST /sessions/refresh: Refresh an existing token to keep sessions uninterrupted.

Properties

GET /properties: List properties with filters and summary details.

Query parameters

  • portfolioId: string
  • region: string
  • status: active | inactive
  • updatedFrom, updatedTo: ISO 8601 timestamps
  • page, pageSize: integers for pagination

Example response

{
  "items": [
    {
      "propertyId": "prop_21a91f0",
      "name": "Lakeview Apartments",
      "code": "LV-OMA-001",
      "status": "active",
      "address": {
        "line1": "125 Lakeview Ct",
        "city": "Omaha",
        "region": "NE",
        "postalCode": "68130",
        "country": "US"
      },
      "timezone": "America/Chicago",
      "unitCount": 220,
      "occupancyRate": 0.96,
      "averageMarketRent": 1320.00,
      "updatedAt": "2026-01-20T13:45:00Z"
    }
  ],
  "page": 1,
  "pageSize": 50,
  "total": 1
}

Units

GET /properties/{propertyId}/units: List units with attributes, pricing, and availability.

Query parameters

  • status: available | occupied | notice | down | turn
  • minBeds, maxBeds: integers
  • maxRent: number
  • updatedFrom, updatedTo: ISO 8601 timestamps
  • page, pageSize: integers for pagination
curl --request GET \
  --url https://api.supergood.ai/integrations/<integration_id>/properties/prop_21a91f0/units?status=available&page=1&pageSize=100 \
  --header 'Authorization: Bearer <authToken>'

Example response

{
  "items": [
    {
      "unitId": "unit_7c3d21",
      "unitNumber": "A-204",
      "floorplanCode": "2B-2B-980",
      "bedrooms": 2,
      "bathrooms": 2,
      "squareFeet": 980,
      "status": "available",
      "marketRent": 1395.00,
      "concession": 100.00,
      "effectiveRent": 1295.00,
      "availabilityDate": "2026-02-01",
      "amenities": ["Balcony", "In-Unit Laundry", "Covered Parking"],
      "buildingId": "bld_9ab441",
      "floor": 2,
      "updatedAt": "2026-01-22T08:15:12Z"
    }
  ],
  "page": 1,
  "pageSize": 100,
  "total": 1
}

Leases

POST /properties/{propertyId}/leases: Create a lease record with terms, rent, fees, and resident metadata.

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/properties/prop_21a91f0/leases \
  --header 'Authorization: Bearer <authToken>' \
  --header 'Content-Type: application/json' \
  --data '{
    "unitId": "unit_7c3d21",
    "primaryResidentId": "res_88b32e",
    "coResidentIds": ["res_91c20a"],
    "startDate": "2026-02-15",
    "endDate": "2027-02-14",
    "rent": 1295.00,
    "fees": [
      {"code": "pet_fee", "description": "Pet Fee", "amount": 25.00, "frequency": "monthly"},
      {"code": "parking", "description": "Covered Parking", "amount": 50.00, "frequency": "monthly"}
    ],
    "deposit": 300.00,
    "concessions": [{"code": "move_in_special", "amount": 200.00, "appliesOn": "2026-02-15"}],
    "requiresSignature": true,
    "sendResidentPortalInvite": true,
    "referenceId": "crm-opp-2981"
  }'

Example response

{
  "leaseId": "lease_51af80",
  "number": "LV-2026-01234",
  "status": "pending_signature",
  "rent": 1295.00,
  "deposit": 300.00,
  "createdAt": "2026-01-21T11:20:44Z"
}

Maintenance Work Orders

POST /properties/{propertyId}/work-orders: Create a maintenance request with category, priority, scheduling, and attachments.

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/properties/prop_21a91f0/work-orders \
  --header 'Authorization: Bearer <authToken>' \
  --header 'Content-Type: application/json' \
  --data '{
    "unitId": "unit_7c3d21",
    "residentId": "res_88b32e",
    "category": "Plumbing",
    "subcategory": "Leak",
    "description": "Kitchen sink slow leak under faucet.",
    "priority": "normal",
    "accessPermission": "enter_with_notice",
    "scheduleWindowStart": "2026-02-02T09:00:00-06:00",
    "scheduleWindowEnd": "2026-02-02T12:00:00-06:00",
    "attachments": [
      {"fileName": "leak_photo.jpg", "uploadToken": "upl_7fa223"}
    ],
    "notifyResident": true,
    "assignedVendorId": "ven_451293"
  }'

Example response

{
  "workOrderId": "wo_90e412",
  "number": "WO-2026-00451",
  "status": "open",
  "createdAt": "2026-01-21T10:03:11Z"
}

Get full API Specs →


Technical Specifications

  • Authentication: Username/password with MFA (SMS, email, TOTP) and SSO/OAuth where enabled; supports service accounts or customer-managed credentials
  • Response format: JSON with consistent resource schemas and pagination across modules
  • Rate limits: Tuned for enterprise throughput while honoring customer entitlements and usage controls
  • Session management: Automatic reauth and cookie/session rotation with health checks
  • Data freshness: Near real-time retrieval of properties, units, leasing, residents, maintenance, and financial objects
  • Security: Encrypted transport, scoped tokens, and audit logging; respects Entrata role-based permissions
  • Webhooks: Optional asynchronous delivery for long-running workflows (e.g., signatures, renewals, maintenance updates)

Performance Characteristics

  • Latency: Sub-second responses for list/detail queries under normal load
  • Throughput: Designed for high-volume unit availability sync and leasing/maintenance processing
  • Reliability: Retry logic, backoff, and idempotency keys minimize duplicate actions
  • Adaptation: Continuous monitoring for UI/API changes with rapid adapter updates

Getting Started

  1. Schedule Integration Assessment

Book a 30-minute session to confirm your modules, licensing, and authentication model.

  1. Supergood Builds and Validates Your API

We deliver a hardened Entrata adapter tailored to your workflows and entitlements.

  1. Deploy with Monitoring

Go live with continuous monitoring and automatic adjustments as Entrata evolves.

Schedule Integration Call →


Frequently Asked Questions

Q: Which Entrata modules can this integration cover?

Supergood supports workflows across commonly used modules such as Leasing & Marketing (Units, Floorplans, Pricing/Availability, Applications), Resident Experience (Portal Invites, Renewals), Operations (Maintenance Work Orders, Inspections), and Financials (Resident Ledgers, Payments), subject to your licensing and entitlements. We scope coverage during integration assessment.

Q: How are MFA and SSO handled for automation?

We support username/password + MFA (SMS, email, TOTP) and can operate behind SSO/OAuth when enabled. Sessions are refreshed automatically with secure challenge handling.

Q: Can you sync payments and charges to our accounting system?

Yes. We can normalize ledger charges, payments, and fee codes to match your ERP/accounting schema and deliver updates via webhooks or polling while complying with rate and permission constraints. We commonly integrate with QuickBooks and Xero.

Q: Are lease e-signatures and resident approvals supported?

Yes. We support retrieving signature artifacts, monitoring approval states, and uploading attachments via signed uploads with checksum validation and time-limited URLs. Approval and signature requirements are modeled explicitly in our normalized responses.



Ready to automate your Entrata workflows?

Supergood can have your Entrata integration live in days with no ongoing engineering maintenance.

Get Started →

Read more