# Rentals API reference Use this as compact context for the bluedoor Rentals API. Primary URLs: - API base URL: https://api.bluedoor.sh/rentals/v1 - OpenAPI JSON: https://bluedoor.sh/apis/rentals/docs/openapi.json - Upstream OpenAPI JSON: https://api.bluedoor.sh/rentals/v1/openapi.json - Docs: https://bluedoor.sh/apis/rentals/docs - Landing page: https://bluedoor.sh/apis/rentals - Data pages: https://bluedoor.sh/data/rentals Authentication and rate limits: - Anonymous reads are public and rate limited. - Email-authenticated API keys are minted through POST /v1/auth/otp and POST /v1/auth/verify. - Use Authorization: Bearer , x-api-key, or api_key query. - Responses expose x-rate-limit-limit, x-rate-limit-remaining, x-rate-limit-reset, and x-rate-limit-tier. - Auth routes and API key storage follow the standard bluedoor API boundary. Important routes: - GET /health - GET /v1 - GET /v1/openapi.json - GET /v1/stats - GET /v1/sources - GET /v1/sources/{source_id} - GET /v1/properties/search - GET /v1/properties/{property_key} - GET /v1/properties/{property_key}/floorplans - GET /v1/properties/{property_key}/units - GET /v1/properties/{property_key}/expenses - GET /v1/properties/{property_key}/amenities - GET /v1/units/search - GET /v1/units/{unit_key} - GET /v1/units/{unit_key}/rent-options - GET /v1/units/{unit_key}/all-in - GET /v1/units/{unit_key}/expenses - GET /v1/markets - GET /v1/managers - POST /v1/auth/otp - POST /v1/auth/verify - POST /v1/auth/limits/requests Examples: ```bash curl "https://api.bluedoor.sh/rentals/v1/stats" curl "https://api.bluedoor.sh/rentals/v1/properties/search?state=TX&max_rent=2500" curl "https://api.bluedoor.sh/rentals/v1/properties/udr%3A11375?include=counts" curl "https://api.bluedoor.sh/rentals/v1/units/search?q=mesquite&state=TX" curl "https://api.bluedoor.sh/rentals/v1/units/udr%3A11375%3A2319512/rent-options" curl "https://api.bluedoor.sh/rentals/v1/sources/udr" ```