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.
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:
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 -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"}'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.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.
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 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.
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_recordsFuzzy-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_detailsGet 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_settingsRead 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_summaryOne-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_inspectionRead a residency inspection and its move-in baseline.
get_listing_creation_checklistRead 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_inventoryRead room, bathroom, and shared-space ids and photo counts for a listing so you can place uploaded images in the correct slots.
get_manager_profileGet the current landlord's own account profile: name, email, subscription plan and property count vs.
get_overdue_chargesList the current landlord's overdue charges (past due and unpaid): tenants who are late on rent or other charges.
get_property_detailsGet 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_linksListing, 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_messagesRead one of the current landlord's inbox threads in full: subject, sender, folder, date, the original message body, and any reply messages.
list_applicationsList 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_eventsList the current landlord's calendar entries: schedule records, confirmed events/tours (type planned_event), and tour requests (type tour_inquiry, with status).
list_chargesList the current landlord's household charges (rent, deposits, fees, and other charges), optionally filtered by status or resident.
list_co_managersList 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_documentsList 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_threadsList 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_inspectionsList visible residency inspection reports and placements, with how many photos each side has added.
list_lease_sectionsList the sections in one of the landlord's generated HTML leases, including whether each section is editable.
list_leasesList 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_slotsList the tour times currently open for a property, with the host for each.
list_promotionsList 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_propertiesList 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_sectionsList editable sections of a property's lease template (long-term or short-term) while the manager is in the Lease modal.
list_residentsList the current landlord's active residents (approved applicants) with name, email, property, room, and monthly rent.
list_scheduled_messagesList the current landlord's scheduled outbound messages (send time, status, subject, recipient).
list_service_requestsList the current landlord's resident add-on service requests (e.g.
list_sms_conversationsFind work-number text conversations from Communication, including potential tenants who have never applied or created an account.
list_tour_inquiriesList 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_vendorsList the current landlord's vendors (contractors/service providers) with name, trade, contact info, active status, and the properties they cover.
list_work_order_bidsList 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_ordersList 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_statusRead-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_statusGet 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_allocationCompute an actual approved utility bill allocation using dated placements.
review_inspection_depositCompare a photographed move-out inspection to its move-in baseline and review manager-proposed deductions against approved bills.
run_financial_reportRun a financial report over the current landlord's books and return its computed columns, rows, and totals.
suggest_bank_statement_matchesSuggest owner-scoped income/expense matches for an imported bank statement by signed amount and dates within three days.
suggest_vendors_for_work_orderSuggest 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_bidAccept 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_inquiryAccept a pending tour request (id from list_tour_inquiries), putting the tour on the calendar and clearing competing requests for the same slot.
add_vendorAdd a new vendor (contractor / service provider) to the landlord's vendor directory with a name, trade, and optional contact details.
allocate_utility_billCreate utility charges from a reviewed actual bill and occupancy allocation.
amend_leaseChange a fully signed lease's move-out (end) date - extend, renew, or shorten it.
apply_listing_photosPlace uploaded listing photos into the correct house gallery, room, bathroom, or shared-space slots on an open listing.
approve_and_pay_work_orderApprove 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_billApprove a pending accounts-payable bill so it can be paid.
approve_owner_distributionApprove a draft owner distribution statement.
assign_vendorAssign one of the landlord's vendors to a service (or reassign from the current vendor).
book_tourBook a tour on the landlord's calendar at a specific open time, without needing an existing tour request.
cancel_calendar_eventCancel (delete) one of the current landlord's confirmed calendar events.
cancel_scheduled_messageCancel one of the landlord's own not-yet-sent scheduled messages so it never goes out.
cancel_scheduled_reminderCancel one upcoming automatic payment reminder for a specific charge (e.g.
cancel_tourCancel a booked tour and notify the guest by email.
complete_work_orderMark one of the landlord's services completed and log its labor/materials costs as expense entries for reports.
confirm_tour_inquiryConfirm a pending tour request into a booked tour at the given open slot and notify the guest.
copy_listing_photosCopy 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_eventCreate 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_chargeCreate a new pending charge (rent, deposit, fee, etc.) for one of the landlord's approved residents.
create_lease_draftStart a new lease draft for one of the landlord's own residents (also used for renewals).
create_listing_draftCreate a rich property listing DRAFT from facts gathered in chat (address, rent, beds/baths, description, amenities, and housePhotoUrls from uploaded images).
create_manager_billCreate a new accounts-payable bill (an unpaid obligation owed to a vendor).
create_manager_budgetCreate a budget for a property/fiscal-year/category (integer cents).
create_owner_distributionCreate a draft owner distribution statement for a property and period.
create_promotionCreate a marketing promotion and generate its printable flyer copy for the landlord.
create_propertyCreate a minimal property stub from basic facts only (no photos or rich marketing copy).
create_work_orderCreate a new maintenance service in the landlord's queue (manager-initiated, starts in the open bucket, no vendor assigned).
decide_service_requestApprove or deny one of the landlord's pending add-on service requests (parking, storage, cleaning, equipment rentals - the Services -> Requests tab).
delete_chargePermanently delete one of the landlord's charges and its ledger entries.
delete_promotionPermanently delete one of the landlord's promotions, including its generated flyer and text copies.
dispose_inspection_depositFinalize explicitly manager-reviewed deposit deductions backed by a photographed move-out inspection and approved bills.
dispose_security_depositDispose a held security deposit at move-out.
file_inspection_photoFile a photo uploaded by this caller into their assigned-room inspection.
generate_promotion_flyerGenerate 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_vendorEmail a vendor from the directory an invite link to create their own PropLane vendor portal account.
mark_charge_paidRecord that a resident paid one of the landlord's charges outside PropLane (cash or check).
offer_to_vendorsInvite 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_inspectionOpen the move-in or move-out photo report for an approved residency, creating it if it does not exist yet.
order_background_checkOrder a paid background/screening check (Checkr or Certn) for one of the landlord's applicants.
propose_lease_section_editPropose a text-only edit to one editable section of a lease in manager review.
propose_property_lease_template_section_editPropose a text edit to one section of a property lease template (PropLane default long-term or short-term).
reconcile_bank_statement_lineReconcile a bank statement line: mark it cleared and/or match it to a ledger entry.
record_bill_paymentMark 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_expenseRecord a manual expense entry in the landlord's books (same bookkeeping as the Financials page).
record_incomeRecord a manual income entry in the landlord's books (rent collected outside PropLane, fees, other income - same bookkeeping as the Financials page).
record_move_outRecord a resident's move-out date on their application record (bookkeeping only).
reply_to_sms_conversationPropose a text to an existing Communication work-number conversation, including phone-only potential tenants.
reply_to_threadReply to an existing inbox conversation: the reply is appended to the landlord's thread and delivered to the other person.
reschedule_reminderMove one upcoming automatic payment reminder for a specific charge to a new send time.
reschedule_tourMove a booked tour to a new time and email the guest the new time.
restore_scheduled_reminderTurn a cancelled automatic payment reminder back on for one charge (the inverse of cancel_scheduled_reminder).
revoke_resident_accessPlatform administrators only: permanently remove a resident's portal sign-in access.
save_inspection_observationsSave only the caller's explicitly provided inspection notes.
schedule_messageSchedule 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_visitSchedule (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_signatureSend 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_messageSend a message from the landlord to specific recipients by email and/or to all of their current residents at once.
send_rent_reminderSend a confirmed payment reminder to residents with overdue charges.
send_resident_welcomeSend the resident welcome / account-setup email (with their PropLane ID and portal signup link) for an approved application.
send_work_order_reminderSend the assigned vendor a reminder about one of the landlord's services (email + PropLane inbox), restating the service and its visit details.
set_resident_approvalTurn a resident's portal access on or off by setting their application-approved flag.
share_property_linkEmail a prospect an apply link, tour-scheduling link, or full listing details for one of the landlord's LIVE listings.
update_application_bucketMove one of the landlord's applications between the pending, approved, and rejected buckets.
update_automation_settingsChange 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_chargeUpdate the amount, due date, or title of one of the landlord's existing unpaid charges.
update_lease_draftUpdate the unit or notes on one of the landlord's existing lease drafts (use list_leases to find the lease id).
update_lease_packetUpdate 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_draftUpdate an existing listing draft (status draft) with more photos, copy, or pricing from chat.
update_manager_availabilityAdd 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_budgetUpdate an existing budget for a property/fiscal-year/category (upsert on the same key).
update_promotionRename one of the landlord's promotions and/or change its status (draft/generated).
update_propertyUpdate one of the current landlord's properties: monthly rent, beds, baths, description, or toggle a listing between live and unlisted.
update_property_lease_configUpdate 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_rentSet the monthly rent for ONE room on a by-room listing (e.g.
update_threadMark 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_vendorUpdate a vendor's trade, active status, notes, or phone in the landlord's vendor directory.
void_leasePermanently void a lease so it can no longer be signed or enforced.
Every external write has two steps. The tool validates input, stores it server-side, and returns a preview with an actionId. Nothing changes yet.
# 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.confirm_action or self-approve.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.
Call a REST key’s selected tools over plain HTTP. MCP OAuth tokens are refused on these routes.
# 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.
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.isError: true and a readable message, not a transport error.Treat each credential as a revocable key to one manager’s permitted tool surface.
Found a problem? Tell us.