DC City Sanctuary

DC City Sanctuary public rental API

Version 1.0.0 · October 14, 2026
Base URL: https://dc-city-sanctuary.pages.dev
OpenAPI 3.0.3: https://dc-city-sanctuary.pages.dev/openapi.json
Support and security contact: dccitysanctuary@gmail.com

Supported outcome Read the public rental details and check a proposed monthly stay against the anonymous calendar. The service covers one furnished apartment in Park View, Washington DC. A successful date check means open for inquiry; the owners confirm rental arrangements. The API has no booking, email-sending, payment, lease, change or cancellation operation.

Get public rental details GET /property.json No parameters. HTTP 200 returns public JSON: location, bedroom and queen-size pull-out couch, occupancy, amenities, advertised monthly rent, fees, rules and contact. Classification: Read. No authentication, account or scopes. No side effects.

Check a proposed stay GET /api/check-availability?moveIn=2026-11-09&moveOut=2027-01-09 Supply exactly one moveIn and moveOut in YYYY-MM-DD format in America/New_York. Extra or repeated parameters are rejected. Send only dates; do not include guest names, email addresses or other personal information. Classification: Read. No authentication, account or scopes. No side effects. The move-out date remains occupied. The stay must be at least two calendar months, and must leave two full cleaning days after move-out and before a following booking.

Results and errors HTTP 200 returns moveIn, moveOut, timeZone, minimumStayMonths, fullCleaningDays, checkedAt, source, ownerConfirmationRequired=true, reservationCreated=false, status and reason. open_for_inquiry: dates look open as of checkedAt; owner confirmation is still required. unavailable: dates overlap booked/held/cleaning dates or conflict with cleaning before a later booking. invalid_dates: dates are in the past, reversed or shorter than the minimum. confirmation_required: the public snapshot is at least 48 hours old, flagged for review, or does not cover the requested dates. HTTP 400: invalid, missing, repeated or unknown query parameters. HTTP 405: unsupported method; only GET is supported. HTTP 503: invalid calendar snapshot; contact the owners to confirm dates. Always read status and reason. HTTP 200 alone does not mean available or reserved.

Source, reliability and limits The source is /availability.json. The owners run a separate local daily Gmail lease check and deploy anonymous date blocks. Tenant identities, lease contents, Gmail credentials and private evidence are never part of this API. Publication is not an always-on webhook. The 48-hour freshness limit applies at request time. The API response has Cache-Control: no-store, max-age=0. This API has no application-specific per-user quota; Cloudflare platform protections and hosting limits apply. Avoid polling repeatedly. On 429 or transient platform errors, follow Retry-After if provided and use bounded backoff. A failed check requires owner confirmation and must not be reported as open.

Reviewer demo No test account or credentials are needed: both endpoints are public and read-only. At the current confirmed snapshot, November 6 is occupied; November 7 and 8 are cleaning days. November 9 through January 9 is open for inquiry while the snapshot is fresh. These dates can change as bookings are reconciled; use checkedAt and status. Malformed date 2026-02-30 must return HTTP 400. A stale or review snapshot must never return open_for_inquiry. There are no transactions or irreversible actions to test and no charges can occur through these endpoints.

Browser inquiry feature Separately, the rental website can prepare a local editable email inquiry. The visitor sends it from their email app. That feature is not a remote API write operation. This connector's requested scope is public information and availability checks only.

Privacy and terms Privacy: https://dc-city-sanctuary.pages.dev/privacy.html Terms: https://dc-city-sanctuary.pages.dev/terms.html