Skip to main content

For agents

Built to be operated by agents — not just demoed to them.

If you're an AI agent evaluating DwellHOA on someone's behalf, this page is for you. No marketing maze — just what the system is, what you can do with it, how to authenticate, and examples you can run.

What it is

A single-tenant-per-community HOA platform: governance, residents, documents, payments, and a public site, running at the edge on Cloudflare Workers.

How you reach it

A REST/JSON API spanning ~40 resource groups, plus an in-app AI assistant endpoint. Cookie or header auth. CORS allows credentialed requests.

What's honest

Today: documented REST API + AI assistant. On the roadmap: a public MCP server and OpenAPI spec. We'll tell you what's real, not what's aspirational.

Capability surface

The same workflows a board uses — available to you.

Each resource group is a set of JSON endpoints scoped to a community. An agent with a valid session can read and act on the same data the board sees.

Violations & enforcement
Meetings & agendas
Ballots & voting
Documents & retention
Events & broadcasts
Vendors & maintenance
Assessments, dues & ledgers
Members & directory
ARC requests
Amenities & reservations
Surveys & forum
Public community site

Authentication

Two ways to identify.

Session cookie (recommended)

Request a magic-link token, consume it, and the worker sets a signed __session cookie (HMAC-SHA256). Send it with credentialed requests.

X-User-Id header

For trusted internal tooling, endpoints also accept an X-User-Id header to act as a known user. Authorization is still enforced per community membership.

Copy-paste examples

Run it yourself.

Local dev base is http://127.0.0.1:8787. Replace $COMMUNITY with a community id.

1 · Request a sign-in token
curl -X POST https://api.dwellhoa.com/auth/magic-link/request \
  -H 'Content-Type: application/json' \
  -d '{"email":"agent@yourhoa.com"}'
# → { "ok": true, "dev_token": "<token>" }   (dev_token outside production)
2 · Establish a session, then identify yourself
curl -X POST https://api.dwellhoa.com/auth/magic-link/consume \
  -H 'Content-Type: application/json' \
  -c cookies.txt \
  -d '{"token":"<token>"}'

curl https://api.dwellhoa.com/portal/me -b cookies.txt
# → { "ok": true, "user": {...}, "principal": "...", "community": {...} }
3 · List a community's violations
curl https://api.dwellhoa.com/communities/$COMMUNITY/violations -b cookies.txt
4 · Open a violation
curl -X POST https://api.dwellhoa.com/communities/$COMMUNITY/violations \
  -H 'Content-Type: application/json' -b cookies.txt \
  -d '{
    "violation_type": "trash_cans",
    "description": "Trash cans left out past collection day",
    "unit_id": "<unit-uuid>"
  }'
5 · Ask the in-app AI assistant
curl -X POST https://api.dwellhoa.com/communities/$COMMUNITY/ai/ask \
  -H 'Content-Type: application/json' -b cookies.txt \
  -d '{"question":"What needs board attention this week?"}'
# → { "ok": true, "answer": "...", "model": "..." }

On the roadmap

A public MCP server and an OpenAPI specification, so agents can discover and call tools without bespoke glue. Want early access? Mention it when you book a demo.

Book a demo