Supergood | MRI Software API

Programmatically access MRI Software property portfolios, units and leases, resident ledgers, maintenance work orders, and AP workflows with a stable REST API. Supergood builds and operates production-grade, unofficial MRI integrations so your team can automate operations without heavy custom engineering or brittle scrapers.

Plain English: MRI Software is real estate management software used by residential and commercial landlords to run properties, collect rent, handle maintenance, and manage real estate accounting. An unofficial API lets you pull properties and units, leases and residents, rent charges and payments, work orders and inspections, vendors and AP invoices—and push new records or updates back into MRI.

For a tech company integrating with MRI, this means you can ingest real-time portfolio, occupancy, and delinquency data to power dashboards; sync AP invoices and GL distributions to your ERP (e.g., QuickBooks, Xero, NetSuite); automate maintenance creation from your product or IoT events; streamline resident onboarding and lease updates; and keep downstream systems (CRM, analytics, BI, scheduling) in lockstep.

What is MRI Software?

MRI Software (https://www.mrisoftware.com/) is a global real estate platform for property management, leasing, facilities, and investment/accounting. Operators across residential, commercial, affordable/public housing, and corporate occupier portfolios use MRI to manage leases and residents/tenants, collect payments, track work orders, and run real estate accounting with robust GL/AP/AR and reporting.

Core product areas include:

  • Property & Portfolio Management (Properties, Units/Spaces, Availability, Rent Rolls)
  • Leasing & Resident/Tenant Management (Applications, Leases, Parties, Renewals, Move-in/Move-out)
  • Maintenance & Facilities (Work Orders, Inspections, Vendors, SLA/Dispatch)
  • Payments & Ledgers (Resident/Tenant Ledgers, Charges, Credits, Payment Processing)
  • Accounting (GL, AP/AR, Budgets, CAM Reconciliations, Lease Accounting/ASC 842)

Common data entities:

  • Companies, Portfolios, Properties (addresses, attributes, ownership)
  • Units/Spaces and Floor Plans (status, market rent, occupancy)
  • Leases and Parties (residents/tenants, terms, charges, balances)
  • Resident/Tenant Profiles (contacts, communications, portal status)
  • Work Orders and Inspections (categories, priorities, vendors, SLAs)
  • Vendors and AP (invoices, POs, distributions, approvals)
  • GL Accounts and Journal Entries (periods, posting status)
  • Documents and Attachments (leases, notices, photos)

The MRI Software Integration Challenge

Teams rely on MRI daily, but turning portal-based, module-specific workflows into clean APIs can be challenging:

  • Fragmented modules: Residential, Commercial, facilities, and AP each have distinct data models and permissions
  • Mixed interfaces: Cloud products, legacy modules, and partner solutions (e.g., facilities and AP) vary in API maturity and formats
  • Authentication complexity: SSO/MFA and session lifecycles complicate headless automation
  • Accounting rigor: GL periods, distributions, and approval states require careful handling for compliant posting
  • Data access friction: Exports and custom reports may not be real-time; official API access can require additional licensing and setup

How Supergood Creates MRI APIs

Supergood reverse-engineers authenticated browser flows and network interactions to deliver a resilient API endpoint layer for your MRI 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

Portfolio & Occupancy Data Sync

  • Mirror portfolios, properties, and units into your data warehouse
  • Keep availability, status, and market rent current for analytics
  • Standardize addresses, property codes, and unit identifiers across systems

Leasing & Resident Operations

  • Ingest applications, leases, and balances for CRM and customer success workflows
  • Push lease updates (e.g., move-in/out, renewals) and add one-time charges or concessions
  • Power resident-facing experiences with real-time ledger and payment status

Maintenance & Field Service

  • Create and dispatch work orders from your app or IoT alerts
  • Ingest status changes, labor/materials, and photos to drive SLAs and follow-ups
  • Sync vendor assignments and completions into analytics and QA/QC processes

Financials: AP/AR & Accounting Sync

  • Submit vendor invoices with GL distributions and track approvals and posting
  • Pull resident/tenant payments, charges, and adjustments to reconcile with ERP/accounting (e.g., QuickBooks, Xero, NetSuite)
  • Normalize cost centers, properties, and account codes across portfolios

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_mri_3f92d1",
    "name": "Portfolio Admin",
    "entitlements": ["properties", "units", "leases", "maintenance", "accounting"]
  }
}

Properties & Units

GET /properties: List properties with summary details and unit occupancy.

Query parameters

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

Example response

{
  "items": [
    {
      "propertyId": "prop_a12f90",
      "code": "MR-GLEN-01",
      "name": "Glenview Apartments",
      "type": "residential",
      "status": "active",
      "address": {
        "line1": "455 Glenview Dr",
        "city": "Cleveland",
        "region": "OH",
        "postalCode": "44114",
        "country": "US"
      },
      "unitSummary": {
        "total": 120,
        "occupied": 110,
        "vacant": 8,
        "notice": 2
      },
      "marketRentRange": { "min": 950.0, "max": 1950.0 },
      "updatedAt": "2026-01-20T13:45:00Z"
    }
  ],
  "page": 1,
  "pageSize": 50,
  "total": 1
}

Leases & Residents

GET /leases: Retrieve leases with resident parties, terms, and balances.

Query parameters

  • propertyId: string
  • unitId: string
  • status: active | pending | past | evicted
  • moveInFrom, moveInTo: ISO 8601 dates
  • updatedFrom, updatedTo: ISO 8601 timestamps
  • page, pageSize: integers for pagination

Example response

{
  "items": [
    {
      "leaseId": "lea_7b31d0",
      "propertyId": "prop_a12f90",
      "unitId": "unit_2C",
      "number": "L-2026-0142",
      "status": "active",
      "startDate": "2026-01-01",
      "endDate": "2026-12-31",
      "rent": 1450.00,
      "deposit": 1450.00,
      "balance": 275.50,
      "prorated": false,
      "parties": [
        { "partyId": "res_93e200", "role": "resident", "name": "T. Rivera", "email": "[email protected]", "phone": "+1-555-0102" },
        { "partyId": "res_93e201", "role": "occupant", "name": "J. Kim", "email": null, "phone": null }
      ],
      "lastPayment": {
        "paymentId": "pay_58c001",
        "date": "2026-01-05",
        "amount": 1200.00,
        "method": "ach",
        "posted": true
      },
      "charges": [
        { "code": "RENT", "description": "Monthly Rent", "amount": 1450.00, "period": "2026-01" },
        { "code": "UTIL", "description": "Utilities", "amount": 125.50, "period": "2026-01" }
      ],
      "updatedAt": "2026-01-21T10:03:11Z"
    }
  ],
  "page": 1,
  "pageSize": 50,
  "total": 1
}

Maintenance Work Orders

POST /maintenance/work-orders: Create a maintenance request with category, priority, access instructions, and optional vendor assignment.

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/maintenance/work-orders \
  --header 'Authorization: Bearer <authToken>' \
  --header 'Content-Type: application/json' \
  --data '{
    "propertyId": "prop_a12f90",
    "unitId": "unit_2C",
    "source": "resident_portal",
    "category": "plumbing",
    "problemCode": "LEAK-FAUCET",
    "priority": "high",
    "summary": "Kitchen faucet leaking at base",
    "description": "Leak worsens when faucet is turned left. Drip under sink.",
    "preferredAccessWindow": {
      "start": "2026-01-22T14:00:00Z",
      "end": "2026-01-22T18:00:00Z"
    },
    "accessInstructions": "Call before entering. Pet in bedroom.",
    "attachments": [
      { "fileName": "leak_photo.jpg", "uploadToken": "upl_0b8fe4" }
    ],
    "assign": { "vendorId": "ven_4410", "scheduledFor": "2026-01-23T16:00:00Z" },
    "referenceId": "iot-sensor-7921"
  }'

Example response

{
  "workOrderId": "wo_6fd210",
  "number": "WO-2026-10082",
  "status": "open",
  "sla": { "priority": "high", "targetHours": 24 },
  "createdAt": "2026-01-21T12:20:44Z"
}

Accounts Payable Invoices

POST /ap/invoices: Submit a vendor invoice with property allocation and GL distributions.

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/ap/invoices \
  --header 'Authorization: Bearer <authToken>' \
  --header 'Content-Type: application/json' \
  --data '{
    "vendorId": "ven_4410",
    "invoiceNumber": "INV-13455",
    "invoiceDate": "2026-01-20",
    "dueDate": "2026-02-19",
    "propertyId": "prop_a12f90",
    "amount": 285.50,
    "currency": "USD",
    "poNumber": null,
    "lines": [
      { "description": "Faucet replacement", "quantity": 1, "unitPrice": 175.00, "tax": 0.00 },
      { "description": "Labor (1.5h)", "quantity": 1.5, "unitPrice": 73.67, "tax": 0.00 }
    ],
    "distributions": [
      { "glAccount": "6400-REPAIRS", "costCenter": "Glenview", "amount": 285.50 }
    ],
    "attachments": [
      { "fileName": "vendor_invoice.pdf", "uploadToken": "upl_7fa223" }
    ],
    "submitForApproval": true,
    "referenceId": "wo_6fd210"
  }'

Example response

{
  "invoiceId": "ap_9074ff",
  "status": "pending_approval",
  "total": 285.50,
  "postingPeriod": "2026-01",
  "createdAt": "2026-01-21T13:48:02Z"
}

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, leases, maintenance, payments, and financial objects
  • Security: Encrypted transport, scoped tokens, and audit logging; respects MRI role-based permissions
  • Webhooks: Optional asynchronous delivery for long-running workflows (e.g., work-order status changes, AP approvals)

Performance Characteristics

  • Latency: Sub-second responses for list/detail queries under normal load
  • Throughput: Designed for high-volume lease/ledger sync and maintenance/AP 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 MRI adapter tailored to your workflows and entitlements.

  1. Deploy with Monitoring

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

Schedule Integration Call →


Frequently Asked Questions

Q: Which MRI modules can this integration cover?

Supergood supports workflows across commonly used modules such as Property/Unit Management, Leasing/Residents, Maintenance/Facilities, and Accounting (AP/AR, GL), 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 AP and resident ledgers to our accounting system?

Yes. We can normalize invoices, payments, and GL distributions to match your ERP/accounting schema (e.g., QuickBooks, Xero, NetSuite) and deliver updates via webhooks or polling while complying with rate and permission constraints.

Q: Do you support attachments and approval artifacts?

Yes. We support uploading documents via signed uploads and retrieving approval history, with checksum validation and time-limited URLs for secure access across maintenance and AP workflows.



Ready to automate your MRI Software workflows?

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

Get Started →

Read more