[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Yardi API and MCP server: Let your AI agent run the busywork in Yardi Breeze.

> Not for Breeze. Yardi licenses API access to approved software vendors through its Interfaces Program, and its official Virtuoso Connector for Claude is part of Virtuoso Enterprise on Voyager (checked 27 Oct 2026). Cotlet runs 14 tools hosted for your own Breeze account, over MCP for agents and REST for scripts.

Read Yardi Breeze properties, tenant balances and work orders through MCP or REST. Connect an AI agent or build a reporting workflow for your permitted properties.

[MCP setup](https://cotlet.dev/integrations/yardi-api-mcp-server.md#connect)
[REST API guide](https://cotlet.dev/integrations/yardi-api-mcp-server.md#rest-api)

- Free 7-day trial, no card
- Unofficial, not affiliated with Yardi
- Page: https://cotlet.dev/integrations/yardi-api-mcp-server

## What can you automate in Yardi?

- Text past-due tenants their balance
- Email tenants after a late fee posts
- Turn repair texts into work orders
- Chase work orders open past a week
- Send owners their monthly packet
- Follow up with new prospects

## Does Yardi have an MCP server or an API?

- The Interfaces Program charges an annual license fee per interface, and its standard partner tier asks for a company at least two years old with three active Voyager clients.
- The Virtuoso Connector launched on 16 Jun 2026 and lists five tools: create, search and complete work orders, plus two lookups. Yardi says the full Virtuoso agent suite requires Voyager 8.
- Zapier, Make and n8n have no Yardi Breeze app. Zapier's "Breeze" is a different product.

| What you need | Interface partner | Virtuoso Connector | Cotlet |
|---|---|---|---|
| Works on Yardi Breeze | Per vendor, not published | Voyager, Virtuoso Enterprise | Breeze and Breeze Premier |
| Tenants, ledgers and charges | Inside that vendor's product | Lookups only | Yes |
| Work orders | Inside that vendor's product | Create, search, complete | Create, update, notes |
| Text and email tenants, owner packets | Not offered | No tool | Yes, after your OK |
| Allowed by Yardi's terms | Yes, licensed | Yes, official | Uses the web app |

Checked 27 Oct 2026. Sources: [Yardi: Become an Interface Partner](https://www.yardi.com/company/become-an-interface-partner/), [Yardi: Virtuoso Connector for Claude (press release, 16 Jun 2026)](https://www.prnewswire.com/news-releases/yardi-adds-virtuoso-connector-for-claude-to-its-ai-platform-virtuoso-enterprise-302800939.html), [Yardi Virtuoso FAQ (Breeze vs Voyager 8)](https://www.yardi.com/virtuoso/), [Yardi Breeze: residential features and pricing](https://www.yardibreeze.com/residential-features/), [Yardi Breeze FAQ](https://www.yardibreeze.com/faq/)

## How does Cotlet connect to Yardi?

1. **Sign in to Yardi.** Use your own account in its Cotlet Cloud Browser.
2. **Choose MCP or REST.** Connect your agent or create a Cotlet API key.
3. **Run your workflow.** Ask your agent or send an HTTP request.

We never keep your Breeze password, and no tenant, vendor or owner hears from you until you approve it.

## Connect Yardi to your agent or workflow

Use MCP with your AI agent, or HTTP requests in n8n, Make, Zapier and scripts. Follow the MCP setup below or jump to the REST guide.

1. **Open your Breeze login link.** Sign up, then open the unique Breeze link from your welcome email in the Cloud Browser and sign in. Press Enable for agents.
2. **Add the Cotlet address.** Paste https://cotlet.dev/mcp/v1 into your agent as an MCP server or connector.
3. **Approve the connection.** Chat apps send you to a Cotlet sign-in. Code editors, n8n and scripts take an API key from the console instead.

Yardi says a Breeze account opens only from the unique link in the welcome email, not from a search engine, so keep that link at hand for the first sign-in. The shared address `https://cotlet.dev/mcp/v1` carries Yardi next to your other apps. Enable Yardi after connecting? Refresh the connector so the new tools appear.

Claude:

```
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect

Claude Code:
claude mcp add --transport http cotlet-yardi \
  https://cotlet.dev/mcp/v1 \
  --header "Authorization: Bearer $COTLET_API_KEY"
```

ChatGPT:

```
Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth
```

Cursor:

```
// ~/.cursor/mcp.json
{
  "mcpServers": {
    "cotlet-yardi": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
    }
  }
}
```

Codex:

```
# ~/.codex/config.toml
[mcp_servers.cotlet-yardi]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY"
```

n8n:

```
MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: yardi_read
```

Make, Zapier:

```
Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: yardi_write
```

## How to use the Yardi REST API

### Create your Cotlet API key

Sign in to Yardi in its Cotlet Cloud Browser and enable the app for agents. Use your Yardi Breeze or Breeze Premier account through its own login link; property and role restrictions apply.

Create a Cotlet API key with access to Yardi and its read operations. Store it as `COTLET_API_KEY` in your environment or automation platform's credential store.

### Make your first Yardi API request

cURL: list_properties:

```
curl https://cotlet.dev/api/v1/yardi/properties \
  -H "Authorization: Bearer $COTLET_API_KEY"
```

### Read permitted Breeze property records

A successful REST call puts the tool output in `result`. This illustrative response excerpt omits call IDs, messages and credit details.

Illustrative response excerpt:

```
{
  "status": "success",
  "app": "yardi",
  "tool": "list_properties",
  "result": {
    "properties": [
      {
        "property_id": "p_104",
        "name": "Maple Court",
        "type": "Residential",
        "address": "12 Maple St, Dayton, OH",
        "units": 24
      }
    ]
  }
}
```

Read `result.properties`; this list has search but no cursor, offset or page-size input. These workflows cover Breeze and Breeze Premier rather than Voyager.

Tenant reads use a cursor and default to current tenants, ordered by balance. The `min_balance` filter is whole dollars, while returned balance and rent amounts are decimal strings.

Preserve those units and exact amounts in reports. Work orders default to open, oldest first, and use returned cursors; tenant ledgers default to the last 90 days.

### Yardi workflows for agents and automations

| Tool | Connect through | Example workflow |
|---|---|---|
| n8n | HTTP Request | Combine Breeze properties, tenants and ledgers into a balance review that preserves decimal amounts. |
| Make | HTTP > Make a request | Read work orders and work-order details into an oldest-outstanding maintenance report without assigning vendors. |
| Python or Node.js | REST API | Read prospects and permitted properties into a leasing follow-up review without outreach. |

Send `Authorization: Bearer <your Cotlet API key>` in request headers. You configure the schedule, destination and record comparisons.

Cotlet reads Yardi; your workflow steps write to your chosen destination. These HTTP workflows do not require a native Cotlet connector or a prebuilt template.

Python and Node.js can use the same HTTP requests without an AI agent. Keep access keys in credentials, outside shared workflow exports.

The [API and MCP reference](https://cotlet.dev/integrations/yardi-api-mcp-server.md#tools) lists operations and inputs. The [REST API guide](https://cotlet.dev/docs/api.md) explains authentication, errors and approvals.

## Yardi API endpoints and MCP tools

### Tenants and rent

Your Breeze user's property access applies: a user limited to some properties sees only their tenants. Late fees Breeze posts on its own appear in the ledger like any charge. A posted charge has no undo tool.

- **List properties** (`list_properties`, read): Properties in your Breeze account, with address and unit count.
- **List tenants** (`list_tenants`, read): Tenants with property, unit, status, contact details and current balance.
- **Get tenant** (`get_tenant`, read): One tenant: contacts, lease dates, rent, balance and resident portal status.
- **Get tenant ledger** (`get_tenant_ledger`, read): Charges, payments and credits on a tenant account, with running balance.
- **Post charge** (`post_charge`, write, asks first): Post a one-off charge to a tenant account.

### Work orders

Assignees are the vendors and employees already in your Breeze account. Photos on a work order are listed by name, not downloaded.

- **List work orders** (`list_work_orders`, read): Work orders with status, property, unit, assignee and age.
- **Get work order** (`get_work_order`, read): One work order with its details, progress notes and attachments.
- **Create work order** (`create_work_order`, write, asks first): Open a work order for a unit, optionally assigned to a vendor or employee.
- **Update work order** (`update_work_order`, write, asks first): Change the status or assignee of a work order, or add a progress note.

### Prospects, owners and messages

Breeze texts reach only people who registered and opted in through RentCafe; the rest get email. Every message and owner packet waits for your OK.

- **List prospects** (`list_prospects`, read): Prospects with the property they asked about, source and status.
- **List owners** (`list_owners`, read): Owners with their properties, ownership share and email.
- **Send text** (`send_text`, write, asks first): Text one tenant through Breeze Text Messaging (SMS).
- **Send email** (`send_email`, write, asks first): Email one tenant or prospect from Breeze.
- **Send owner report** (`send_owner_report`, write, asks first): Email an owner their report packet for a month.

Inputs, REST path and example response of every tool: https://cotlet.dev/integrations/yardi-api-mcp-server#tools

## Who can see my Yardi Breeze session, and how do I revoke it?

- **What we store.** Your signed-in Breeze profile, AES-256-GCM encrypted, on servers in Finland. Never the password.
- **What your agent gets.** The 14 Yardi tools, not the session cookie.
- **What the session sees.** What your Breeze user sees: tenants, ledgers, work orders, prospects and owners.
- **What no tool touches.** Bank accounts, owner and vendor payments, users, security settings and your Breeze subscription.
- **If Breeze asks for a code.** Breeze sign-in can ask for a second factor. You enter it yourself; we never do.
- **How to cut access.** Disable Yardi for agents, reset the Cloud Browser, or sign the session out in Breeze.

Tenant names, balances and phone numbers pass through your agent, so treat its chat history like the Breeze screen it read from. Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory ([live results](https://cotlet.dev/security.md)); we have no SOC 2 report or third-party pentest yet.

## Is it against Yardi's terms? Account safety

> Use or attempt to use [other than generally-available, standard third party web browsers (e.g., Microsoft Edge or Google Chrome)] any engine, software, tool, agent or other device or mechanism (including without limitation web crawlers, scrapers, browsers, spiders, robots, avatars or intelligent agents) to navigate, search, collect or download information from Yardi Technology
>
> [Yardi Acceptable Use Policy, item 4, read 27 Oct 2026](https://resources.yardi.com/legal/yardi-acceptable-use-policy/)

The same policy forbids access "by any means other than through the Yardi-provided user interface". The Breeze Terms of Use add that the software cannot be used to scrape data other than your own into another system. Cotlet drives a standard Chrome on Breeze's own screens, but the browser exception does not cover the agent that drives it, so Yardi could treat this as a breach and suspend the account. Yardi has sued a rival over access to its software (Entrata, settled in 2019); we found no case against a customer automating their own Breeze account (checked 27 Oct 2026). Weigh that before you connect a portfolio you cannot afford to lose access to.

How we keep it close to your own use:

- Your own Breeze login, opened by you from your own link
- One Cloud Browser with a steady IP and cookies, not a new device each call
- Your own data only: no Yardi Matrix or listing data is copied out
- Texts, emails, charges and owner packets wait for your OK
- If Yardi objects, we pause the Yardi tools for everyone within 24 h

> Rent reminders and late-fee notices are regulated where your tenants live. Your agent writes the text you approve; the wording stays your call.

## What happens when Yardi changes Breeze?

- **12 h** between tests of the Yardi reads
- **24 h** between tests of writes that reach tenants or owners
- **$0** for a call to a Yardi tool paused for repair

Yardi updates Breeze in the cloud on its own schedule, with nothing for you to install. When a screen moves, our side changes and your scheduled reminders keep running. [status.cotlet.dev](https://status.cotlet.dev) watches the site, console and API every 3 minutes.

## Approvals, undo and mistakes

1. **Matches the message.** list_tenants finds the unit from the email or text you pasted.
2. **Checks for a duplicate.** list_work_orders shows anything already open on that unit.
3. **Waits for your OK.** create_work_order appears in your Cotlet console with the assignee.
4. **Tells the tenant.** send_email confirms the work order, again after your OK.

| Action | Undo |
|---|---|
| Create a work order | Add a note and mark it completed with update_work_order or in Breeze |
| Update a work order | Set the old status or assignee back with update_work_order |
| Post a charge | Reverse it in Breeze; there is no undo tool |
| Text a tenant | No, the text is sent |
| Email a tenant or prospect | No, the email is sent |
| Send an owner packet | No, the owner has it |

All 6 write tools ask first, because each one can reach a tenant, a vendor, an owner or a ledger. The 8 reads run at once. For a Monday reminder run you can switch the wait off for send_text alone and keep it on for charges.

> An assignee may be notified the moment a work order is created, so the approval shows who it goes to.

MCP call:

```
{
  "name": "create_work_order",
  "arguments": {
    "property_id": "p_104",
    "unit": "12A",
    "tenant_id": "t_20517",
    "title": "Kitchen sink leak",
    "details": "Tenant emailed 7:40 am: water under the kitchen sink since last night. Has a dog, home after 3 pm.",
    "assigned_to": "Dana Ruiz"
  }
}
```

REST:

```
curl -X POST https://cotlet.dev/api/v1/yardi/properties/p_104/work-orders \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"unit":"12A","tenant_id":"t_20517","title":"Kitchen sink leak","details":"Tenant emailed 7:40 am: water under the kitchen sink since last night. Has a dog, home after 3 pm.","assigned_to":"Dana Ruiz"}'
```

Tool output:

```
{
  "work_order_id": "wo_7812",
  "status": "Open",
  "property": "Maple Court",
  "unit": "12A",
  "tenant_id": "t_20517",
  "title": "Kitchen sink leak",
  "assigned_to": "Dana Ruiz",
  "created_at": "2026-10-27T08:30:00-04:00"
}
```

A script or cron job calls the same tools over REST under `/api/v1/yardi`, with one key and one price. Failed calls are free. Each tool row above shows its REST path.

## How much does the Yardi MCP server cost?

**About $17 a month** for a 100-unit Breeze portfolio, 2,920 credits. Yardi keeps billing your Breeze plan as before.

| Job | Calls | Credits |
|---|---|---|
| Text past-due tenants | 12 × 4 | 480 |
| Email tenants after a late fee | 9 × 1 | 90 |
| Log a work order from a message | 4 × 10 | 400 |
| Chase open work orders | 9 × 4 | 360 |
| Send owner report packets | 9 × 1 | 90 |
| Cloud Browser, 30 days |  | 1,500 |
| Total |  | 2,920 |

- Free 7-day trial, no card
- 10 credits per successful call, MCP or REST
- 50 credits a day for the Cloud Browser
- No Yardi interface license or Voyager needed, only your Breeze login

The month is our example of 142 calls. For scale, Breeze itself costs $1 per unit a month with a $100 minimum, and Breeze Premier has a $400 minimum (yardibreeze.com, 27 Oct 2026). Dollars at the $29 pack rate.

## Yardi MCP server: official, GitHub or hosted

| Option | What it does | Where it stops |
|---|---|---|
| [Yardi Virtuoso Connector](https://www.prnewswire.com/news-releases/yardi-adds-virtuoso-connector-for-claude-to-its-ai-platform-virtuoso-enterprise-302800939.html) | Official MCP for Claude since 16 Jun 2026, signs in through Yardi and follows your user permissions. | Part of Virtuoso Enterprise on Voyager. Five tools, all about work orders. |
| [Yardi Interfaces Program](https://www.yardi.com/company/become-an-interface-partner/) | Licensed API access for software vendors, listed among 450+ interface partners. | For vendors, not for a Breeze customer, with a yearly fee per interface. |
| [AyushSinghSql/YARDI_MCP_SERVER](https://github.com/AyushSinghSql/YARDI_MCP_SERVER) | The only GitHub repo named as a Yardi MCP server, 0 stars, last push 3 Aug 2026. | The README holds only its title; nothing documented to run. |
| Hosted Yardi connectors | Paid services that sell Yardi APIs and MCP servers to software companies. | Priced and sold to companies building products, not to one landlord. |
| Zapier, Make, n8n | No Yardi Breeze app in any of the three. | Only a generic HTTP step, with no API to call. |

A Voyager portfolio on Virtuoso Enterprise should use Yardi's own connector for work orders: it is official and follows your permissions. A software company building a product needs an interface license. Cotlet is for the Breeze account that has neither and wants its agent to do the weekly follow-up.

## Who runs Cotlet

Cotlet belongs to Take Group sp. z o.o., a Polish software company in the EU (VAT PL6342984273) working since 2019 and founded by Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Questions about the Yardi tools go to contact@cotlet.dev.

## Yardi API and MCP: questions

### Can I use the Yardi API without an AI agent?

Yes. Call Cotlet's REST API from a script or an HTTP step in n8n, Make or Zapier with your Cotlet key. MCP is the alternative for AI agents; you do not need to connect an agent to use REST.

### How do I get access?

Create a free account at https://cotlet.dev, choose Yardi under Integrations in the console and sign in to Breeze in its Cloud Browser from your own login link. The trial starts with your first app and asks for no card.

### Does this work with Yardi Voyager?

The tools are written for Yardi Breeze and Breeze Premier, the products Yardi sells to smaller portfolios. Voyager customers on Virtuoso Enterprise can use Yardi's own Virtuoso Connector for Claude, and Yardi says its full Virtuoso agent suite requires Voyager 8.

### How does Cotlet sign in when Breeze has no public login page?

Yardi gives every Breeze and Breeze Premier client a unique login link in the welcome email and says it is the only way to sign in from a browser. You open that link once in your Cloud Browser and sign in as yourself. If the link is lost, Yardi's account representatives or live chat on yardibreeze.com send it again.

### Can my agent text every tenant?

No. Breeze Text Messaging (SMS) reaches only prospects and tenants who registered and opted in through RentCafe, under Admin > Text Messaging (SMS). send_text returns not_reachable for anyone else, so the agent emails them or lists them for a call.

### Does Yardi Breeze have webhooks?

We found none for Breeze customers (checked 27 Oct 2026). Breeze does import data from files, and some partners such as BILL exchange files over SFTP. Your agent runs on a schedule instead of on an event.

### Do I need Breeze Premier?

No. The tools use screens both plans have: tenants, ledgers, maintenance, owner reports and Text Messaging (SMS). Premier adds two-way texting, a CRM queue and invoice approval workflows, which the tools do not cover.

### Is Cotlet affiliated with Yardi?

No. Cotlet is independent and has no partnership with Yardi Systems.

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet.dev is built by Bart Krawczyk and Jake Slugocki, the founders of Take Group sp. z o.o., ul. Wincentego Janasa 4, 40-855 Katowice, Poland. KRS 0000871398, NIP 6342984273, VAT EU: PL6342984273. [About us](https://cotlet.dev/about.md)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.
