Rentvine logo
    Property Management

    Metro 2 Integration for Rentvine

    Connect to Rentvine's public API using your account-specific subdomain and HTTP Basic Auth. Metro2's current connector calls /leases/export, /tenants/search, /leases/{leaseID}, and /accounting/transactions/entries/search, joins lease and contact data, maps core balance and status fields into Metro 2 base records, validates them against CDIA rules, and stores raw API snapshots for audit and troubleshooting. Metro2 also keeps a legacy push ingest endpoint for teams that already normalize RentVine-shaped JSON outside the connector.

    How It Works

    Metro2 connects directly to your Rentvine account using API credentials. The current connector pulls lease export data, tenant contacts, lease detail for closed leases, and transaction entries via Rentvine's public API, transforms core fields into Metro 2 base records, validates them against CDIA rules, stores raw snapshots, and upserts accepted records. Trigger the pull with POST /api/v1/integrations/rentvine/sync.

    Rentvine logoRentvine
    Metro2Metro2
    Credit Bureaus

    API Integration Details

    Technical details about connecting to the Rentvine API.

    Authentication

    HTTP Basic Auth (API Key as username, API Secret as password)

    Base URL

    https://{account_code}.rentvine.com/api/manager

    Documentation

    View Docs

    Sandbox

    Not available

    Pricing

    See Rentvine for current product pricing and API availability details.

    Key API Endpoints

    MethodEndpointDescription
    POST/api/v1/integrations/rentvine/syncTriggers a full sync from Rentvine — pulls leases, tenants, and transactions, transforms to Metro 2, validates, and upserts records. Supports dry_run mode.
    POST/api/v1/integrations/rentvine/ingestLegacy push-based endpoint that accepts RentVine-native JSON (tenants, leases, payments). Still available but the sync endpoint is preferred.
    GET/tenants/searchReturns tenant contact objects with name, contact info, and date of birth.
    GET/leases/exportReturns leases with nested balances, unpaid charges, tenants, property, unit, and portfolio objects in a single response.
    GET/leases/{leaseID}Returns full lease detail including forwarding address fields for closed leases.
    GET/accounting/transactions/entries/searchReturns individual transaction entries with credit/debit amounts, date posted, and voided status. Paginated.

    Benefits

    Direct Pull Connector

    Metro2 can pull current lease, tenant, balance, and transaction-entry data directly from Rentvine's public API.

    Rich Lease Export Response

    The connector uses GET /leases/export to retrieve lease, balances, unpaid charges, property, unit, and tenant-reference data in one response.

    Closed-Lease Detail Support

    For closed leases, Metro2 calls GET /leases/{leaseID} to pick up fields such as closedDate and forwarding address when available.

    Transaction Entry Scaffolding

    Metro2 fetches GET /accounting/transactions/entries/search during sync and stores raw snapshots for downstream enrichment.

    Dry Runs and Audit Trail

    The sync endpoint supports dry_run mode and stores raw API snapshots for inspection and troubleshooting.

    Legacy Ingest Compatibility

    If you already shape RentVine-style JSON outside the connector, the legacy POST /api/v1/integrations/rentvine/ingest route remains available.

    Metro 2 Data Mapping

    How Rentvine data maps to Metro 2 Base Segment fields.

    Metro 2 FieldSourceAvailable
    Consumer Name (First, Last, MI)GET /tenants → contact object (first name, last name, middle name)
    Social Security NumberNot exposed in Rentvine public API docs; optionally matched in Metro2 by external contact ID
    Date of BirthGET /tenants → contact date of birth field
    Account NumberGenerated from Rentvine leaseID + contactID combination
    Account TypeCurrent sync transformer uses a fixed rental mapping with portfolio_type O and account_type 29
    Date OpenedGET /leases/export → lease start date
    Date ClosedGET /leases/{leaseID} → closedDate (actual close date, not scheduled end date)
    Current BalanceGET /leases/export → balances.unpaidTotalAmount (authoritative balance)
    Amount Past DueGET /leases/export → balances.pastDueTotalAmount (actual past-due amount)
    Highest Credit / Original Loan AmountGET /leases/export → unit.rent (monthly rent from unit record)
    Scheduled Monthly PaymentGET /leases/export → unit.rent (authoritative unit rent amount)
    Account StatusDerived from primaryLeaseStatusID + overdue rent aging in unpaid charges
    Payment RatingSet only when the mapped account status allows it under current Metro 2 rules
    Payment History ProfileTransaction entries are fetched today; current sync transformer does not populate this field yet
    ECOA CodeCurrent sync transformer uses ecoa_code 1
    Consumer AddressGET /leases/export → nested property and unit address fields

    Technical Notes

    • Rentvine API uses account-specific subdomains: {account_code}.rentvine.com/api/manager/. Your account code is your Rentvine subdomain.
    • Authentication is HTTP Basic Auth — API Key as username, API Secret as password. The secret is shown only once at creation; regenerating it invalidates the old secret immediately.
    • Response JSON uses camelCase keys with uppercase ID suffixes (for example, propertyID and leaseID).
    • The current Metro2 connector calls GET /leases/export, GET /tenants/search, GET /leases/{leaseID}, and GET /accounting/transactions/entries/search.
    • Rentvine's public API docs do not expose SSN fields. Metro2 can optionally match external SSNs by Rentvine contact ID and can also use date of birth from tenant records.
    • The sync endpoint supports dry_run mode and stores raw snapshots of Rentvine responses for inspection and troubleshooting.
    • The current sync transformer creates one base record per lease and tenant pairing.
    • Transaction entries are fetched and stored today, but payment_history_profile, date_last_payment, and actual_payment_amount are not yet populated in the sync transformer.
    • Metro2 also provides a legacy ingest endpoint (POST /api/v1/integrations/rentvine/ingest) for pre-formatted JSON.

    Get Set Up in 5 Steps

    1

    Get Your Metro2 API Key

    In Metro2, go to Settings > API Keys and generate a new key. This key authenticates sync requests to the Metro2 API.

    2

    Enter Your Rentvine API Credentials

    In Metro2's integration settings, enter your Rentvine account code (subdomain), API Key, and API Secret. These are created in Rentvine under Settings > Users, Roles and API.

    3

    Test the Connection

    Trigger a test sync via POST /api/v1/integrations/rentvine/sync with dry_run: true. Review the response for record counts and any validation errors before going live.

    4

    Provide External Consumer Identifiers if Needed

    Rentvine's public API docs do not expose SSN fields. If you want Metro2 to attach SSNs during sync, load them separately in Metro2 keyed by Rentvine contact ID. Date of birth can come from GET /tenants/search when available.

    5

    Run Production Syncs

    After dry runs look good, trigger production syncs through POST /api/v1/integrations/rentvine/sync and review accepted versus rejected records.

    Frequently Asked Questions

    Does Rentvine expose tenant SSNs through the public API?

    Rentvine's public API docs do not expose an SSN field. Metro2 can match externally managed SSNs by Rentvine contact ID and can also use date of birth from tenant records when available.

    What Rentvine API endpoints does Metro2 use?

    Metro2 currently uses GET /leases/export for lease, balance, unpaid-charge, property, unit, and tenant-reference data, GET /tenants/search for contact records, GET /leases/{leaseID} for closed-lease detail, and GET /accounting/transactions/entries/search for transaction-entry snapshots. All current connector calls are read-only.

    How does API authentication work?

    Rentvine uses HTTP Basic Authentication. Your API Key is the username and API Secret is the password, sent as a Base64-encoded Authorization header. Each account has a unique subdomain: {account_code}.rentvine.com/api/manager/. API keys are managed under Settings > Users, Roles and API.

    How is the Account Status derived today?

    The current sync transformer derives account status from primaryLeaseStatusID and overdue rent aging from unpaid rent charges. It does not yet build a full payment-history profile from transaction entries.

    How often does data sync from Rentvine?

    The documented Metro2 endpoint today is an on-demand POST /api/v1/integrations/rentvine/sync call. Teams can invoke that route on their own schedule if they want automated orchestration around it.

    Can I report for multiple properties and portfolios?

    Yes. Metro2 uses the GET /leases/export endpoint which returns nested portfolio, property, and unit data. You can select which portfolios and properties to include in credit reporting and configure different rules per property.

    What about the API Secret — can I retrieve it later?

    No. Rentvine only displays the API Secret once at creation. If you lose it, you'll need to regenerate the secret in Settings > Users, Roles and API > API tab, then update it in Metro2. Regenerating invalidates the old secret immediately.

    Does Rentvine have rate limits?

    Rentvine's public docs do not publish strict rate limits. Metro2 applies conservative pacing and retry logic when calling the API.

    What about partial payments and credits?

    Metro2 currently fetches and stores transaction entries during sync. The current mapper relies on Rentvine's balance and unpaid-charge fields for core record generation today, with deeper transaction-level enrichment left as follow-on work.

    Where is the full API documentation for the RentVine connector?

    The current developer guide for Metro2's RentVine connector is available at /developers/guides/rentvine-integration.

    Ready to Connect Rentvine?

    Start reporting to credit bureaus from Rentvine today. Our team will help you get set up quickly.