Read bookings, messages and price suggestions, and (with confirmation) approve a guest reply or change a nightly price. Replies go out through the host's own PMS connection; this API never sees PMS credentials.
POST https://api.cohostbnb.xyz/v1/agent/keys with your dashboard admin token, body {"label":"my agent","scopes":["read"]}. The key starts with cbnb_ak_, is shown once and stored only as a hash. Revoke with DELETE /v1/agent/keys/{id}.curl -H "Authorization: Bearer cbnb_ak_..." https://api.cohostbnb.xyz/v1/agent/listings. Spec: /openapi.json (OpenAPI 3.1, x-pricing on every metered path); human reference: /docs.https://api.cohostbnb.xyz/mcp with the same Bearer header. Discovery: /.well-known/mcp.json.
Example client config: {"mcpServers":{"cohostbnb":{"type":"http","url":"https://api.cohostbnb.xyz/mcp","headers":{"Authorization":"Bearer ${COHOSTBNB_API_KEY}"}}}}mcp-stdio/ of the API repo (COHOSTBNB_API_KEY env var); it calls the REST API with your key.| Name | Scope | What it does |
|---|---|---|
cohostbnb_list_listings | read | List listings with nightly price and last calendar sync. |
cohostbnb_list_bookings | read | List bookings, newest first, optional listing filter. |
cohostbnb_list_messages | read | List inbound and outbound guest messages. |
cohostbnb_list_drafts | read | List AI reply drafts awaiting approval. |
cohostbnb_list_pricing_suggestions | read | List nightly price suggestions with explanations. |
cohostbnb_list_pms_connections | read | Show PMS connection status (credentials never returned). |
cohostbnb_export_data | read | Export listings, bookings, messages, drafts as JSON. |
cohostbnb_get_usage | billing | This month's metered calls, free quota and remaining quota. |
cohostbnb_approve_draft | write | Send a draft reply to the guest via the connected PMS. Needs confirm=true. |
cohostbnb_reject_draft | write | Discard a draft so it is never sent. Needs confirm=true. |
cohostbnb_set_listing_price | write | Change a listing's live nightly price (state-rule gates apply). Needs confirm=true. |
Scopes: read, write, billing. No key: 401. Revoked key: 401. Key without the scope: 403 insufficient_scope:<scope>. Write tools refuse unless confirm is true. Writes accept an Idempotency-Key header.
60 requests per minute per key. Every response carries X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset. Over the limit: 429 with Retry-After seconds. Error body: {"error":"http_error","detail":"rate_limited"}.
Agent and MCP calls: $0 per call, 1000 free calls per month per account. Over that, calls are metered and visible at GET /v1/usage; they are not billed because no metered price is published. Plans (see /pricing):
| Plan | List price | Stripe lookup key |
|---|---|---|
| Free | $0 / month | - |
| Host | $15 / month per listing | f6576_live_cohostbnb_host_monthly |
| Autopilot | $25 / month per listing | f6576_live_cohostbnb_autopilot_monthly |
GET /v1/export?format=json (or format=csv&object=bookings) returns your data in open formats. GET /v1/usage shows metered calls per key.