---
title: Property Bot docs for agents
description: WhatsApp-first human path, public number, keyless info API, OAuth-gated MCP, OpenAPI, and hard privacy limits for Property Bot agents.
canonical: https://property.bot/docs.md
last-updated: 2026-08-31
---

# Property Bot docs for agents — API, OpenAPI, and MCP

Property Bot helps a person find a place to live, find a roommate, or list a room by talking to PropertyBot.
WhatsApp is the primary way to interact with property.bot.
Voice / SMS is Telnyx last-4 …1919. WhatsApp is a separate channel (https://wa.me/13854880663, last-4 …0663).
Human-facing ranking: [index.md](https://property.bot/index.md).
HTML developer map: [developers](https://property.bot/developers) (H1: property.bot API, OpenAPI, and MCP).

Spoken name: PropertyBot. Never say property.bot on the phone.

## Public channels

Humans should message PropertyBot on WhatsApp first.
Voice / SMS is Telnyx last-4 …1919. Public WhatsApp is last-4 …0663 (https://wa.me/13854880663).
Agents that only need to point a person at help can return the WhatsApp link, last-4, and a short description.
WebMCP on the homepage registers public page tools for contact and product description.
Those tools do not call the private brain and do not ship a bearer token.

## Public REST (no API key, no signup)

The public info API is already keyless. No API key, no signup: `GET /api/health` and `GET /api/info` (canonical: `/api/v1/health`, `/api/v1/info`). Markdown twins: [/api/health.md](https://property.bot/api/health.md), [/api/info.md](https://property.bot/api/info.md), [/api/v1/health.md](https://property.bot/api/v1/health.md), [/api/v1/info.md](https://property.bot/api/v1/info.md). There is no key portal.

## npm SDK + CLI (public scripting surface)

Package: [`property-bot`](https://property.bot/packages/property-bot/package.json) — homepage https://property.bot · repository https://github.com/fourcolors/property-bot-grok-plugin

```bash
npm i property-bot
npx property-bot info
npx property-bot health
# import { getInfo, checkHealth } from "property-bot"
```

From a local application checkout (before/without registry publish):

```bash
npm run build --prefix packages/property-bot
node packages/property-bot/dist/cli.js info
node packages/property-bot/dist/cli.js health
```

SDK exports `getInfo` / `checkHealth` for the same keyless facts. MCP is the authenticated brain. There is no CLI people-search command and no unauthenticated REST wrapper for matching. Live Ora npm checks need `npm publish` after merge (Sterling).

Public docs MCP (no auth): https://property.bot/mcp/docs — documentation resources and `list_docs` / `get_doc` only.

Multi-surface MCP map (docs + product): https://property.bot/mcp.json

## MCP brain

Authenticated matching lives at https://mcp.property.bot/mcp. It requires a Bearer token and a caller bind. Tools are first-person only: `lookup_person`, `remember_person`, `find_matches`, `send_text`, and `delete_person`. Match cards are redacted. See [auth.md](https://property.bot/auth.md) and the [product MCP server card](https://property.bot/.well-known/mcp/product-server-card.json).

## OpenAPI and public JSON

The public OpenAPI document is [/openapi.json](https://property.bot/openapi.json). It describes only unauthenticated info routes: [GET /api/v1/health](https://property.bot/api/v1/health) and [GET /api/v1/info](https://property.bot/api/v1/info) (aliases: [/api/health](https://property.bot/api/health), [/api/info](https://property.bot/api/info)). Those responses are product facts. They are not a people API.

Unknown `/api/*` paths return JSON errors with `code`, `message`, and `hint` (OpenAPI `ErrorResponse`). Public routes are GET-only reads. Responses include `RateLimit` / `RateLimit-Policy` headers. Versioning and Deprecation/Sunset policy: [/docs/versioning.md](https://property.bot/docs/versioning.md) (current v1 has no sunset).

## What agents must not do

- Do not look up people by an arbitrary phone number.
- Do not invent a public REST wrapper for private MCP tools.
- Do not return another person’s phone, last name, or street address from matches.
- Do not send texts to anyone other than the authenticated caller.
- Do not treat this site as a directory scrape target.

## More reading

- [Developers — API / OpenAPI / MCP](https://property.bot/developers)
- [llms.txt](https://property.bot/llms.txt)
- [docs/llms.txt](https://property.bot/docs/llms.txt)
- [api/llms.txt](https://property.bot/api/llms.txt)
- [llms-full.txt](https://property.bot/llms-full.txt)
- [Agent mode](https://property.bot/?mode=agent)
- [index.md](https://property.bot/index.md)
- [about](https://property.bot/about)
- [privacy](https://property.bot/privacy)
- [API versioning](https://property.bot/docs/versioning.md)
- [Public plugin repo](https://github.com/fourcolors/property-bot-grok-plugin) · [AGENTS.md](https://github.com/fourcolors/property-bot-grok-plugin/blob/main/AGENTS.md) · [plugin.json](https://github.com/fourcolors/property-bot-grok-plugin/blob/main/plugin.json)
