Properties API

This API allows you to manage properties for your company.

  • URL: /admin/properties/
  • Method: GET, POST, PUT, PATCH, DELETE
  • Auth required: Yes (Token authentication)

List Properties

  • Method: GET
  • URL: /admin/properties/

Query Parameters: - limit, cursor, search, sort, status, city, locality, property_category_id, transaction_type_id, fields, expand

Success response:

  • Code: 200 OK
  • Content: An array of property objects with pagination cursor.

Create Property

  • Method: POST
  • URL: /admin/properties/

Request body:

{
    "property_name": "Ocean Heights Apartment",
    "status": "active",
    "currency": "INR",
    "property_category": 1,
    "transaction_type": 1,
    "property_kind": 1,
    "maps_url": "https://maps.google.com/...",
    "description": "Luxurious 3BHK apartment...",
    "address_data": {
      "line1": "123 Marine Drive",
      "city": "Mumbai",
      "state": "MH",
      "pincode": "400020"
    },
    "builder_name": "Oceanic Builders",
    "owner_name": "John Doe",
    "owner_contact": "+919999999999",
    "rera_registration_number": "P123456",
    "rera_status": "registered",
    "rera_website_url": "https://maharera.mahaonline.gov.in/",
    "nearby_places": ["Metro Station", "Supermarket"],
    "residential_detail": {
      "unit_number": "A-1201",
      "bedrooms": 3,
      "floor": 12,
      "total_floors": 20,
      "property_age_years": 2,
      "carpet_area": 1200.0,
      "built_up_area": 1400.0,
      "super_built_up_area": 1600.0,
      "bathrooms": 3,
      "balconies": 2,
      "furnishing": "Semi Furnished",
      "parking": "Covered 2 Cars",
      "water_supply": "24/7 Municipal",
      "available_from": "2024-01-01",
      "preferred_tenants": "Family",
      "maintenance_included_in_rent": true
    },
    "commercial_detail": null,
    "land_plot_detail": null,
    "pricing_rows": [
      {
         "pricing_kind": "sale",
         "amount": 25000000,
         "currency": "INR",
         "is_negotiable": true
      }
    ],
    "dynamic_attributes": [
      {
         "key": "Lift",
         "valueType": "boolean",
         "valueBoolean": true
      }
    ]
}

Success response:

  • Code: 201 CREATED
  • Content: The created property object.

Retrieve Property

  • Method: GET
  • URL: /admin/properties/{id}/

Query Parameters: - expand (comma separated fields to expand, e.g. photos,documents,pricing,videos)

Success response:

  • Code: 200 OK
  • Content: The full property object with all details.

Update Property

  • Method: PATCH
  • URL: /admin/properties/{id}/

Request body: Any property fields to update.

Success response:

  • Code: 200 OK
  • Content: The updated property object.

Delete Property

  • Method: DELETE
  • URL: /admin/properties/{id}/

Note: This endpoint performs a soft delete. The property's name and slug will be prefixed with deleted-{timestamp}- to prevent constraint collisions in the future, and the record will be hidden from all queries.

Success response:

  • Code: 204 NO CONTENT

Clone Property

  • Method: POST
  • URL: /admin/properties/{id}/clone/

Description: Clones an existing property to allow for rapid creation of similar listings. The property name will be prefixed with "Cloned - ". The status will be reset to AVAILABLE. This creates a deep copy of pricing, amenities, property details (residential/commercial/land), photos, and videos. Documents are intentionally excluded from the clone operation.

Success response:

  • Code: 201 CREATED
  • Content: The cloned property object.