PropLane
  • Pricing
  • Why PropLane
  • Contact
Book a demoStart freeLog in
PropLane
PropLane
Download on theApp Store

Product

  • Why PropLane
  • Pricing
  • Docs
  • MCP & API
  • Mobile app
  • Security
  • Reviews
  • About us

Who it's for

  • Managers
  • Residents
  • Vendors

Support

  • Contact us
  • Support
  • Partner inquiries

Contact

  • (510) 309-8345
  • support@prop-lane.space
  • 5259 Brooklyn Ave NE, Seattle, WA 98105
© 2026 PropLane. All rights reserved.
Privacy PolicyTerms of ServiceSMS TermsSupportContact
Developers

MCP server & API

Connect your agent to 118 manager tools through MCP or a scoped REST API key. Both use the same tool layer as PropLane’s assistant.

On this page
Start here
  • Connect your agent
  • Create an API key
  • Choose a connection
Reference
  • Tools
  • Write actions
  • REST API
Operating
  • Limits & errors
  • Security
Start here

Connect your agent

Connect an MCP client by adding https://proplane.ai/api/mcp. On first use, the client opens PropLane so you can sign in and approve access.

Claude Code can add the remote server with:

terminal
claude mcp add --transport http proplane https://proplane.ai/api/mcp

Any Streamable HTTP client can use the same URL. MCP uses browser authorization, not a long-lived API key in your client configuration.

To inspect the protocol directly, send JSON-RPC over POST:

curl
curl -X POST https://proplane.ai/api/mcp \
  -H "Authorization: Bearer <OAuth access token>" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Start here

Create a REST API key

Create a REST API key when an integration needs only selected product areas or tools. Go to Settings → API & MCP and choose Create API key.

  • Read grants lookup tools for the selected product area.
  • Write adds proposal tools and includes that area’s read tools.
  • Advanced tools narrows either choice to exact tool names.

PropLane shows the key once and stores only its hash. If you lose it, revoke it and create another. See Write actions before granting write tools.

Start here

Choose a connection

Choose MCP for the complete manager assistant surface. Choose REST for an explicit tool allowlist. Credentials for one transport do not work on the other.

  • MCP uses OAuth 2.1, dynamic client registration, PKCE S256, short-lived access tokens, and rotating refresh tokens.
  • REST uses a manually created bearer key and exposes only its saved tool allowlist.
  • Both derive account scope from the credential and require in-product approval for writes.

MCP is stateless Streamable HTTP. It supports initialize, tools/list, tools/call, and ping. GET returns 405. It negotiates versions 2024-11-05 through 2025-06-18 and answers newer clients with the latest supported version.

Reference

Tools

Call tools/list for each tool’s JSON Schema. This live registry contains 40 read and 78 write tools.

MCP lists the complete manager catalog. REST lists only the key’s allowlist, and the gateway rejects any hidden tool name you try to guess.

Read (40)

Available when selected in a product area or Advanced tools.

  • find_records

    Fuzzy-search the current landlord's residents, applications, vendors, properties, services, and leases by name, email, address, title, or unit, and return matching record ids with display labels.

  • get_application_details

    Get one of the current landlord's applications in detail: applicant name/email, stage, bucket, desired lease dates and term, room choice, derived screening status, and Checkr check status if one was run.

  • get_automation_settings

    Read the landlord's payment-reminder automation settings: pre-due reminder days, same-day and overdue-daily reminders, late-fee notice timing, and schedule visibility, plus a human-readable cadence summary.

  • get_dashboard_summary

    One-call portfolio overview for the current landlord: rent-roll and delinquency totals, property counts by status, open/scheduled services, pending applications, unread inbox threads, and calendar events in the next 7 days.

  • get_inspection

    Read a residency inspection and its move-in baseline.

  • get_listing_creation_checklist

    Read the step-by-step checklist for building a quality listing through chat: required fields, recommended copy, photo handling, and when to call create_listing_draft.

  • get_listing_media_inventory

    Read room, bathroom, and shared-space ids and photo counts for a listing so you can place uploaded images in the correct slots.

  • get_manager_profile

    Get the current landlord's own account profile: name, email, subscription plan and property count vs.

  • get_overdue_charges

    List the current landlord's overdue charges (past due and unpaid): tenants who are late on rent or other charges.

  • get_property_details

    Get one of the current landlord's properties in detail: title, address, zip, neighborhood, beds/baths, rent, lifecycle status, per-room name/rent/availability/move-in date, and which resident payment methods the listing accepts.

  • get_property_links

    Listing, tour, apply, and message links for one of the landlord's LIVE listings, ready to paste into a text reply, inbox reply, or message.

  • get_thread_messages

    Read one of the current landlord's inbox threads in full: subject, sender, folder, date, the original message body, and any reply messages.

  • list_applications

    List the current landlord's rental applications with applicant name, email, property, stage, status (pending/approved/rejected), and background-screening status (pending_review/passed/flagged/not_applicable).

  • list_calendar_events

    List the current landlord's calendar entries: schedule records, confirmed events/tours (type planned_event), and tour requests (type tour_inquiry, with status).

  • list_charges

    List the current landlord's household charges (rent, deposits, fees, and other charges), optionally filtered by status or resident.

  • list_co_managers

    List the co-managers linked to the current landlord's workspace - accepted account links plus legacy pro-relationship links - with name, email, link direction, and assigned property ids.

  • list_documents

    List documents in the current landlord's Document Library (the Documents -> Library tab): display name, category (lease/insurance/tax/notice/invoice/inspection/photo/other), what the document is filed against (property, lease, resident, vendor, or service), who it is shared with, expiry date, and signature status.

  • list_inbox_threads

    List the current landlord's message inbox threads (subject, sender, preview, folder, unread flag), optionally filtered by folder (inbox/sent/trash), unread state, or a search string over subject/sender/preview.

  • list_inspections

    List visible residency inspection reports and placements, with how many photos each side has added.

  • list_lease_sections

    List the sections in one of the landlord's generated HTML leases, including whether each section is editable.

  • list_leases

    List the current landlord's leases with their status (Draft, Manager Review, Resident Signature Pending, Manager Signature Pending, Fully Signed, Voided), resident, property, and lease dates.

  • list_open_tour_slots

    List the tour times currently open for a property, with the host for each.

  • list_promotions

    List the current landlord's marketing promotions from the Promotion page (AI flyer/social campaigns) with id, title, property, status (draft/generated), flyer template, and whether each carries a generated flyer image and/or marketing text.

  • list_properties

    List the current landlord's own properties/listings with title, address, unit, beds/baths, rent, and lifecycle status (pending, live, review, request_change, unlisted, rejected).

  • list_property_lease_template_sections

    List editable sections of a property's lease template (long-term or short-term) while the manager is in the Lease modal.

  • list_residents

    List the current landlord's active residents (approved applicants) with name, email, property, room, and monthly rent.

  • list_scheduled_messages

    List the current landlord's scheduled outbound messages (send time, status, subject, recipient).

  • list_service_requests

    List the current landlord's resident add-on service requests (e.g.

  • list_sms_conversations

    Find work-number text conversations from Communication, including potential tenants who have never applied or created an account.

  • list_tour_inquiries

    List tour requests submitted by prospective tenants for the current landlord's properties: guest name/email, requested time windows, property, and status (pending/accepted/declined).

  • list_vendors

    List the current landlord's vendors (contractors/service providers) with name, trade, contact info, active status, and the properties they cover.

  • list_work_order_bids

    List the vendor bids submitted on one of the landlord's services (from list_work_orders): vendor name, labor amount, materials, proposed time, note, and status.

  • list_work_orders

    List the current landlord's maintenance services with their human service reference, status, priority, property/unit, resident, scheduled date, cost, assigned vendor, bidding state, and vendor-marked-done/paid automation status.

  • listing_syndication_status

    Read-only: whether one of the current landlord's properties is opted into the Zillow Rental Network (Zillow, Trulia, HotPads) feed, and the feed's current answer for it (sent / live / rejected, with reasons).

  • portfolio_import_status

    Get the status of one portfolio (spreadsheet / rent-roll) import the manager already uploaded at /portal/properties/import: how many properties, rooms, residents, charges, and tasks it will create, and which residents still have unanswered questions (a missing lease end date, rent, or contact info) before it can be created.

  • preview_utility_allocation

    Compute an actual approved utility bill allocation using dated placements.

  • review_inspection_deposit

    Compare a photographed move-out inspection to its move-in baseline and review manager-proposed deductions against approved bills.

  • run_financial_report

    Run a financial report over the current landlord's books and return its computed columns, rows, and totals.

  • suggest_bank_statement_matches

    Suggest owner-scoped income/expense matches for an imported bank statement by signed amount and dates within three days.

  • suggest_vendors_for_work_order

    Suggest a ranked shortlist of candidate vendors for one of the landlord's services, based on trade/category match, property coverage, and fairness (least-recently-assigned first).

Actions (78)

Available when selected. Each returns a preview and actionId; nothing changes until a signed-in manager approves it.

  • accept_bid

    Accept a vendor's submitted bid on one of the landlord's services: assigns that vendor at the bid's stored amount, declines every other submitted bid, withdraws outstanding offers, closes bidding, and notifies the winning and declined vendors.

  • accept_tour_inquiry

    Accept a pending tour request (id from list_tour_inquiries), putting the tour on the calendar and clearing competing requests for the same slot.

  • add_vendor

    Add a new vendor (contractor / service provider) to the landlord's vendor directory with a name, trade, and optional contact details.

  • allocate_utility_bill

    Create utility charges from a reviewed actual bill and occupancy allocation.

  • amend_lease

    Change a fully signed lease's move-out (end) date - extend, renew, or shorten it.

  • apply_listing_photos

    Place uploaded listing photos into the correct house gallery, room, bathroom, or shared-space slots on an open listing.

  • approve_and_pay_work_order

    Approve a finished service and pay the vendor: completes it, logs expenses, marks the vendor paid, and transfers the labor cost to the vendor's connected Stripe bank account.

  • approve_manager_bill

    Approve a pending accounts-payable bill so it can be paid.

  • approve_owner_distribution

    Approve a draft owner distribution statement.

  • assign_vendor

    Assign one of the landlord's vendors to a service (or reassign from the current vendor).

  • book_tour

    Book a tour on the landlord's calendar at a specific open time, without needing an existing tour request.

  • cancel_calendar_event

    Cancel (delete) one of the current landlord's confirmed calendar events.

  • cancel_scheduled_message

    Cancel one of the landlord's own not-yet-sent scheduled messages so it never goes out.

  • cancel_scheduled_reminder

    Cancel one upcoming automatic payment reminder for a specific charge (e.g.

  • cancel_tour

    Cancel a booked tour and notify the guest by email.

  • complete_work_order

    Mark one of the landlord's services completed and log its labor/materials costs as expense entries for reports.

  • confirm_tour_inquiry

    Confirm a pending tour request into a booked tour at the given open slot and notify the guest.

  • copy_listing_photos

    Copy uploaded listing photos and videos from one of the landlord's properties to another (house gallery, room photos, bathroom and shared-space photos, floor plans, and house video).

  • create_calendar_event

    Create a calendar event (inspection, meeting, blocked time, …) on the current landlord's calendar with a title, start/end time, and optional property (id from list_properties), attendee, and notes.

  • create_charge

    Create a new pending charge (rent, deposit, fee, etc.) for one of the landlord's approved residents.

  • create_lease_draft

    Start a new lease draft for one of the landlord's own residents (also used for renewals).

  • create_listing_draft

    Create a rich property listing DRAFT from facts gathered in chat (address, rent, beds/baths, description, amenities, and housePhotoUrls from uploaded images).

  • create_manager_bill

    Create a new accounts-payable bill (an unpaid obligation owed to a vendor).

  • create_manager_budget

    Create a budget for a property/fiscal-year/category (integer cents).

  • create_owner_distribution

    Create a draft owner distribution statement for a property and period.

  • create_promotion

    Create a marketing promotion and generate its printable flyer copy for the landlord.

  • create_property

    Create a minimal property stub from basic facts only (no photos or rich marketing copy).

  • create_work_order

    Create a new maintenance service in the landlord's queue (manager-initiated, starts in the open bucket, no vendor assigned).

  • decide_service_request

    Approve or deny one of the landlord's pending add-on service requests (parking, storage, cleaning, equipment rentals - the Services -> Requests tab).

  • delete_charge

    Permanently delete one of the landlord's charges and its ledger entries.

  • delete_promotion

    Permanently delete one of the landlord's promotions, including its generated flyer and text copies.

  • dispose_inspection_deposit

    Finalize explicitly manager-reviewed deposit deductions backed by a photographed move-out inspection and approved bills.

  • dispose_security_deposit

    Dispose a held security deposit at move-out.

  • file_inspection_photo

    File a photo uploaded by this caller into their assigned-room inspection.

  • generate_promotion_flyer

    Generate printable flyer copy for an existing promotion (promotionId from list_promotions or create_promotion) and mark it generated so it appears under Promotions → Image.

  • invite_vendor

    Email a vendor from the directory an invite link to create their own PropLane vendor portal account.

  • mark_charge_paid

    Record that a resident paid one of the landlord's charges outside PropLane (cash or check).

  • offer_to_vendors

    Invite one or more of the landlord's vendors to bid on a service: creates an offer per vendor, emails each an invitation with the service details, notifies their PropLane inbox, and opens bidding.

  • open_inspection

    Open the move-in or move-out photo report for an approved residency, creating it if it does not exist yet.

  • order_background_check

    Order a paid background/screening check (Checkr or Certn) for one of the landlord's applicants.

  • propose_lease_section_edit

    Propose a text-only edit to one editable section of a lease in manager review.

  • propose_property_lease_template_section_edit

    Propose a text edit to one section of a property lease template (PropLane default long-term or short-term).

  • reconcile_bank_statement_line

    Reconcile a bank statement line: mark it cleared and/or match it to a ledger entry.

  • record_bill_payment

    Mark an approved accounts-payable bill as paid: creates the expense entry and posts the cash-out GL entry (DR accounts payable / CR operating cash).

  • record_expense

    Record a manual expense entry in the landlord's books (same bookkeeping as the Financials page).

  • record_income

    Record a manual income entry in the landlord's books (rent collected outside PropLane, fees, other income - same bookkeeping as the Financials page).

  • record_move_out

    Record a resident's move-out date on their application record (bookkeeping only).

  • reply_to_sms_conversation

    Propose a text to an existing Communication work-number conversation, including phone-only potential tenants.

  • reply_to_thread

    Reply to an existing inbox conversation: the reply is appended to the landlord's thread and delivered to the other person.

  • reschedule_reminder

    Move one upcoming automatic payment reminder for a specific charge to a new send time.

  • reschedule_tour

    Move a booked tour to a new time and email the guest the new time.

  • restore_scheduled_reminder

    Turn a cancelled automatic payment reminder back on for one charge (the inverse of cancel_scheduled_reminder).

  • revoke_resident_access

    Platform administrators only: permanently remove a resident's portal sign-in access.

  • save_inspection_observations

    Save only the caller's explicitly provided inspection notes.

  • schedule_message

    Schedule a message from the landlord to one connected recipient (resident, co-manager, or vendor) to be delivered at a future date/time instead of immediately.

  • schedule_vendor_visit

    Schedule (or reschedule) the assigned vendor's service visit on one of the landlord's services and notify the vendor (email + PropLane inbox).

  • send_lease_for_signature

    Send a prepared lease to its resident for electronic signature: moves the lease to the resident's signing queue and notifies them in their portal inbox and by email.

  • send_message

    Send a message from the landlord to specific recipients by email and/or to all of their current residents at once.

  • send_rent_reminder

    Send a confirmed payment reminder to residents with overdue charges.

  • send_resident_welcome

    Send the resident welcome / account-setup email (with their PropLane ID and portal signup link) for an approved application.

  • send_work_order_reminder

    Send the assigned vendor a reminder about one of the landlord's services (email + PropLane inbox), restating the service and its visit details.

  • set_resident_approval

    Turn a resident's portal access on or off by setting their application-approved flag.

  • share_property_link

    Email a prospect an apply link, tour-scheduling link, or full listing details for one of the landlord's LIVE listings.

  • update_application_bucket

    Move one of the landlord's applications between the pending, approved, and rejected buckets.

  • update_automation_settings

    Change the landlord's default payment-reminder automation: pick a preset (basics, standard, gentle, minimal), customize pre-due days, same-day and daily overdue reminders, late-fee notice timing, and schedule visibility.

  • update_charge

    Update the amount, due date, or title of one of the landlord's existing unpaid charges.

  • update_lease_draft

    Update the unit or notes on one of the landlord's existing lease drafts (use list_leases to find the lease id).

  • update_lease_packet

    Update an in-review lease packet on the Leases page: change rent, utilities, deposit, move-in fee, lease dates, term, room, stay type (standard vs short-term), unit label, or notes.

  • update_listing_draft

    Update an existing listing draft (status draft) with more photos, copy, or pricing from chat.

  • update_manager_availability

    Add or remove the current landlord's tour-availability slots for one date and time window, either portfolio-wide or for a single property (propertyId from list_properties).

  • update_manager_budget

    Update an existing budget for a property/fiscal-year/category (upsert on the same key).

  • update_promotion

    Rename one of the landlord's promotions and/or change its status (draft/generated).

  • update_property

    Update one of the current landlord's properties: monthly rent, beds, baths, description, or toggle a listing between live and unlisted.

  • update_property_lease_config

    Update per-property lease document settings for a listing: PropLane standard lease (axis_default), custom manager terms addendum (custom_comments + customLeaseTerms), or a manager-uploaded PDF template (custom_format + leaseTemplateDocUrl).

  • update_room_rent

    Set the monthly rent for ONE room on a by-room listing (e.g.

  • update_thread

    Mark one of the landlord's own inbox threads read or unread, move it to trash (archive), or restore it from trash to its previous folder.

  • update_vendor

    Update a vendor's trade, active status, notes, or phone in the landlord's vendor directory.

  • void_lease

    Permanently void a lease so it can no longer be signed or enforced.

Reference

Write actions

Every external write has two steps. The tool validates input, stores it server-side, and returns a preview with an actionId. Nothing changes yet.

propose, then approve in PropLane
# 1. Propose the action. Nothing changes yet.
POST /api/v1/tools/send_rent_reminder
{ "chargeIds": ["charge_id_from_get_overdue_charges"] }

202 Accepted
{
  "status": "awaiting_confirmation",
  "actionId": "9c1f…",
  "expiresInSeconds": 900,
  "preview": {
    "title": "Send rent reminder",
    "confirmLabel": "Send reminder",
    "fields": [{ "label": "To", "value": "Sam Ortiz" }]
  }
}

# 2. A signed-in manager reviews and approves it in PropLane’s AI drafts.
# The API key cannot execute or approve the proposal.
  • Only a signed-in manager can approve or reject the proposal in PropLane. Bearer credentials cannot call confirm_action or self-approve.
  • Approval sends only the id. PropLane revalidates the stored input before running it.
  • A proposal expires after 15 minutes and can run once. A repeat approval returns 410.

External tools can approve or reject applications, create properties and listing drafts, and update drafts or property details. Drafts and new, pending, or in-review listings cannot be published through these tools: PropLane admin review is required. A previously published listing can be switched between live and unlisted.

Reference

REST API

Call a REST key’s selected tools over plain HTTP. MCP OAuth tokens are refused on these routes.

HTTP
# Every tool the key can reach, with JSON Schema
GET  /api/v1/tools

# Call one. The body IS the tool's input object.
POST /api/v1/tools/get_overdue_charges
{}

A completed read returns 200. A staged write returns 202. An invalid or refused call returns 400 with an error string.

Operating

Limits & errors

Use the status code to decide whether to retry, reauthorize, or change the request.

  • 429 means the rate limiter denied the request. A shared 60-request-per-minute IP limit runs before authentication, including for valid bearer requests. Authenticated credentials also have a 120-request-per-minute per-credential limit. The limiter fails closed if its backing service is unavailable.
  • 401 means the key is missing, unknown, revoked or expired. These are deliberately indistinguishable.
  • 403 means the key is valid but the account no longer has manager access.
  • MCP tool failures return a normal result with isError: true and a readable message, not a transport error.
Operating

Security

Treat each credential as a revocable key to one manager’s permitted tool surface.

  • PropLane derives the account from the credential, never model input. Arguments cannot widen that scope.
  • MCP and REST use bearer authentication. Ambient cookies are ignored.
  • A REST key is a credential, not standing authorization. PropLane revalidates the manager role on every request.
  • REST keys are stored hashed and cannot be displayed again.
  • Disconnecting an OAuth client in Settings → API & MCP revokes its active tokens immediately. Clients can also use the advertised RFC 7009 endpoint.
  • Treat resident and applicant text as untrusted data. It must never trigger a write on its own.

Found a problem? Tell us.