-
Notifications
You must be signed in to change notification settings - Fork 1
api index
github-actions[bot] edited this page Jun 19, 2026
·
1 revision
360Ghar exposes a single REST surface at /api/v1/* plus two MCP servers at /mcp and /mcp-admin. This page maps the REST route groups. For the MCP surface, see features/mcp-servers.md. For auth, see authentication.md.
Active contributors: Saksham, Ravi
All REST routers are mounted by app/api/api_v1/api.py onto a single APIRouter named api_router, which the app factory mounts at /api/v1. The file imports 38 endpoint modules and calls include_router for each, with explicit prefix and tags. Tags drive the OpenAPI grouping in Swagger UI at /api/v1/docs.
| Prefix | Tag | Module | Notes |
|---|---|---|---|
/auth |
auth | app/api/api_v1/endpoints/auth.py |
Account deletion, config. No login/refresh/logout - clients use Supabase SDK. |
/users |
users | users.py |
Profile, preferences, account. |
/properties |
properties | properties.py |
Marketplace listings, search, recommendations, cursor-paginated. |
/visits |
visits | visits.py |
Property tours and flatmate meetings. |
/bookings |
bookings | bookings.py |
360 Stays short-stay reservations. |
/swipes |
swipes | swipes.py |
Tinder-like property and user interactions. |
/payments |
payments | payments.py |
Razorpay integration. |
/agents |
agents | agents.py |
Agent directory, profiles, interactions. |
/amenities |
amenities | amenities.py |
Amenity catalog. |
/upload |
upload | upload.py |
Cloudinary media uploads. |
| (none) | core | core.py |
Misc: pages, FAQs, bug reports, app versions. |
/blog |
blog | blog.py |
Blog posts, categories, tags, SEO fields. |
/flatmates |
flatmates, flatmates-admin |
flatmates.py, flatmates_admin.py
|
Two routers share the prefix. Admin handles moderation. |
/notifications |
notifications | notifications.py |
In-app notification center. |
| (root) | oauth | oauth/ |
OAuth 2.1 endpoints for MCP. Mounted at root for MCP compatibility. |
/pm/dashboard |
pm-dashboard | pm_dashboard.py |
PM owner/agent overview. |
/pm/properties |
pm-properties | pm_properties.py |
Managed property CRUD. |
/pm/assignments |
pm-assignments | pm_assignments.py |
Owner-to-RM assignments. |
/pm/applications, /pm/public
|
pm-applications, pm-public | pm_applications.py |
Rental applications. Public router for applicant-facing flows. |
/pm/tenants |
pm-tenants | pm_tenants.py |
Tenant management. |
/pm/leases |
pm-leases | pm_leases.py |
Lease lifecycle. |
/pm/rent |
pm-rent | pm_rent.py |
Rent charges and payments. |
/pm/expenses |
pm-expenses | pm_expenses.py |
Owner expenses. |
/pm/maintenance |
pm-maintenance | pm_maintenance.py |
Maintenance requests and work orders. |
/pm/documents |
pm-documents | pm_documents.py |
PM document storage. |
/pm/inspections |
pm-inspections | pm_inspections.py |
Move-in/move-out checklists. |
/pm/reports |
pm-reports | pm_reports.py |
PM financial and occupancy reports. |
/design-studio |
design-studio | design_studio.py |
AI image generation (auth required). |
/vastu |
vastu | vastu.py |
Vastu checker (public). |
/tours |
tours | tours.py |
Virtual tour CRUD. |
/scenes |
scenes | scenes.py |
Tour scenes. |
/hotspots |
hotspots | hotspots.py |
Scene hotspots. |
| (none) | floor-plans | floor_plans.py |
Floor plan upload and processing. |
/dashboard |
dashboard | dashboard.py |
Tour analytics dashboard. |
/public |
public-tours | public.py |
Unauthenticated tour viewer. |
/ai |
ai | ai.py |
Tour AI processing endpoints. |
/custom-domains |
custom-domains | custom_domains.py |
Vanity domain DNS verification. |
/agent |
ai-agent | agent_chat.py |
Pydantic AI agent chat (auth + public). |
/data-hub |
data-hub | data_hub/ |
Bank auctions, RERA, circle rates, gazette, jamabandi, zoning, neighbourhood. |
| (root) | webhooks | webhooks/ |
Inbound integrations. Router carries its own /webhooks/auth prefix. |
-
/health- root-level health check (Railway healthcheck target) -
/api/v1/health- redirects to/health -
/api/v1/docs- Swagger UI -
/api/v1/redoc- ReDoc -
/api/v1/openapi.yaml- OpenAPI spec
- Endpoints are thin controllers. They validate input via Pydantic schemas, enforce auth through dependencies, and delegate to
app/services/. - List endpoints return 3-tuples
(items, next_cursor, has_more)for keyset cursor pagination (June 2026 refactor). - Streaming endpoints (SSE, AI agent chat) release the main DB session and use the background pool via
get_bg_db. - MCP routes (
/mcp,/mcp-admin) are mounted outsideapi_routerand bypass the request ID middleware for streaming tool calls.
- Features overview
- Ghar Core (marketplace)
- 360 Stays (bookings)
- 360 Flatmates
- Property Management
- 360 Virtual Tours
- 360 Data Hub
- MCP servers and widgets
- AI agent
- Blog and SEO
- Notifications
- Vastu analyzer