Skip to content

Requests

The Request object represents a buyer's property search request in the EstatePrime system. This object is returned in JSON format, containing all available values for a request including its search criteria, locations, and related contacts.

Object

The Request object represents an individual buyer request. Below are the fields included in a Request object:

Example

json
{
  "id": 88,
  "date_created": "2025-02-05 11:20:00",
  "date_updated": "2025-03-10 09:15:00",
  "created_by": 3,
  "store_id": 2,
  "source_id": 1,
  "status": "active",
  "availability": "sale",
  "category": "residential",
  "subcategories": ["apartment", "maisonette"],
  "price_min": 100000,
  "price_max": 220000,
  "price_per_sqm_min": null,
  "price_per_sqm_max": null,
  "size_min": 70,
  "size_max": 120,
  "year_built_min": 2000,
  "year_built_max": null,
  "rooms_min": 2,
  "rooms_max": 3,
  "floor_min": null,
  "floor_max": null,
  "has_elevator": false,
  "extra_fields": {
    "1": "some value",
    "3": [2, 5]
  },
  "contacts": [23, 45],
  "users": [3, 8],
  "tags": [7, 12],
  "locations": [
    {
      "area_level1": 5,
      "area_level2": 12,
      "area_level3": null
    },
    {
      "area_level1": 5,
      "area_level2": 14,
      "area_level3": null
    }
  ]
}
  • id (int): The system id of the request.
  • date_created (string): The date and time the request was created in YYYY-MM-DD HH:MM:SS format.
  • date_updated (string): The date and time the request was last updated in YYYY-MM-DD HH:MM:SS format.
  • created_by (int): The user ID of the user who created the request.
  • store_id (int): The ID of the office/store this request belongs to.
  • source_id (int, nullable): The ID of the source from which the request originated.
  • status (string): The request status. Possible values: active, inactive.
  • availability (string): The desired availability type. Possible values: sale, rent, auction, shortterm.
  • category (string): The desired property category. Possible values: residential, commercial, land, other.
  • subcategories (array of strings): A list of desired property subcategory keys. Possible values: apartment, maisonette, detached, villa, loft, residential_building, apartment_complex, farmhouse, houseboat, other_residential, office, store, warehouse, hotel, commercial_building, hall, industrial_space, craft_space, other_commercial, plot, parcel, island, parking, business, air, other.
  • price_min (int, nullable): Minimum desired price.
  • price_max (int, nullable): Maximum desired price.
  • price_per_sqm_min (int, nullable): Minimum desired price per square meter.
  • price_per_sqm_max (int, nullable): Maximum desired price per square meter.
  • size_min (int, nullable): Minimum desired size in square meters.
  • size_max (int, nullable): Maximum desired size in square meters.
  • year_built_min (int, nullable): Minimum desired year of construction.
  • year_built_max (int, nullable): Maximum desired year of construction.
  • rooms_min (int, nullable): Minimum desired number of rooms/bedrooms.
  • rooms_max (int, nullable): Maximum desired number of rooms/bedrooms.
  • floor_min (float, nullable): Minimum desired floor number.
  • floor_max (float, nullable): Maximum desired floor number.
  • has_elevator (boolean): Whether the buyer requires an elevator.
  • extra_fields (object): Custom field values keyed by custom field ID. Values vary by field type. Empty object {} if none are set.
  • contacts (array of integers): A list of contact IDs associated with this request (the buyers).
  • users (array of integers): A list of user IDs (agents) responsible for this request.
  • tags (array of integers): A list of tag IDs associated with the request.
  • locations (array of objects): A list of desired location areas. Each object includes:
    • area_level1 (int): Region ID. Always present.
    • area_level2 (int, nullable): Municipality/district ID, or null if the entire region is desired.
    • area_level3 (int, nullable): Neighbourhood ID, or null if the entire municipality is desired.

Get requests

/api/requests (GET)

Fetch a paginated list of requests. Deleted requests (status = 99) are always excluded.

Request

  • Method: GET
  • Headers: Include authentication headers as described in the Authentication section.
  • Body: JSON object with the following optional parameters:
    • page (int): The page number to fetch. Defaults to 1.
    • status (string): Filter by status. Possible values: active, inactive.
    • availability (string): Filter by availability type. Possible values: sale, rent, auction, shortterm.
    • category (string): Filter by property category. Possible values: residential, commercial, land, other.
    • store_id (int): Filter by office/store ID.
    • contact_id (int): Filter by associated contact ID.
    • user_id (int): Filter by associated agent user ID.
    • date_created (object): Filter by creation date range. Must include:
      • min (string): The minimum date in YYYY-MM-DD HH:MM:SS format, or null for no lower limit.
      • max (string): The maximum date in YYYY-MM-DD HH:MM:SS format, or null for no upper limit.
    • date_updated (object): Filter by last update date range. Must include:
      • min (string): The minimum date in YYYY-MM-DD HH:MM:SS format, or null for no lower limit.
      • max (string): The maximum date in YYYY-MM-DD HH:MM:SS format, or null for no upper limit.

Example Body

json
{
  "page": 1,
  "status": "active",
  "availability": "sale",
  "category": "residential",
  "date_created": {
    "min": "2025-01-01 00:00:00",
    "max": null
  }
}

Response

  • 200 OK: Returns a JSON array of request objects.

Example Response

json
{
  "status": 200,
  "page": 1,
  "total_pages": 4,
  "results_per_page": 50,
  "total_results": 183,
  "data": [
    {
      "id": 88,
      "date_created": "2025-02-05 11:20:00",
      "date_updated": "2025-03-10 09:15:00",
      "created_by": 3,
      "store_id": 2,
      "source_id": 1,
      "status": "active",
      "availability": "sale",
      "category": "residential",
      "subcategories": ["apartment", "maisonette"],
      "price_min": 100000,
      "price_max": 220000,
      "size_min": 70,
      "size_max": 120,
      "rooms_min": 2,
      "rooms_max": 3,
      "has_elevator": false,
      "extra_fields": {},
      "contacts": [23, 45],
      "users": [3, 8],
      "tags": [7, 12],
      "locations": [
        {
          "area_level1": 5,
          "area_level2": 12,
          "area_level3": null
        }
      ]
    }
    //Rest of the data...
  ]
}

Get single request

/api/requests/{id} (GET)

Get a single request by its id.

Request

  • Method: GET
  • Headers: Include authentication headers.
  • Path Params: The request id to be fetched.

Example Response

json
{
  "status": 200,
  "data": {
    "id": 88,
    "date_created": "2025-02-05 11:20:00",
    "date_updated": "2025-03-10 09:15:00",
    "created_by": 3,
    "store_id": 2,
    "source_id": 1,
    "status": "active",
    "availability": "sale",
    "category": "residential",
    "subcategories": ["apartment", "maisonette"],
    "price_min": 100000,
    "price_max": 220000,
    "price_per_sqm_min": null,
    "price_per_sqm_max": null,
    "size_min": 70,
    "size_max": 120,
    "year_built_min": 2000,
    "year_built_max": null,
    "rooms_min": 2,
    "rooms_max": 3,
    "floor_min": null,
    "floor_max": null,
    "has_elevator": false,
    "extra_fields": {
      "1": "some value",
      "3": [2, 5]
    },
    "contacts": [23, 45],
    "users": [3, 8],
    "tags": [7, 12],
    "locations": [
      {
        "area_level1": 5,
        "area_level2": 12,
        "area_level3": null
      },
      {
        "area_level1": 5,
        "area_level2": 14,
        "area_level3": null
      }
    ]
  }
}

Response

  • 200 OK: Returns the JSON object of the request.

Delete request

/api/requests/{id} (DELETE)

Soft-delete a request. The record is marked as deleted and excluded from all future list and single-fetch responses.

Request

  • Method: DELETE
  • Headers: Include authentication headers.
  • Path Params: The request id to be deleted.

Response

  • 200 OK: Returns the deleted request ID.

Example Response

json
{
  "status": 200,
  "deleted_id": 88
}

Get request sources

/api/requests/sources (GET)

Fetch the available request sources.

Request

  • Method: GET
  • Headers: Include authentication headers.

Response

  • 200 OK: Returns a JSON array of available request sources.

Example Response

json
{
  "status": 200,
  "data": [
    {
      "id": 1,
      "name": "Company Website"
    },
    {
      "id": 2,
      "name": "Social Media"
    }
  ]
}

Get request tags

/api/requests/tags (GET)

Fetch the available request tags.

Request

  • Method: GET
  • Headers: Include authentication headers.

Response

  • 200 OK: Returns a JSON array of available request tags.

Example Response

json
{
  "status": 200,
  "data": [
    {
      "id": 7,
      "name": "Urgent"
    },
    {
      "id": 12,
      "name": "High Budget"
    }
  ]
}

Get request custom fields

/api/requests/custom-fields (GET)

Fetch the available custom fields for requests.

Request

  • Method: GET
  • Headers: Include authentication headers.

Response

  • 200 OK: Returns a JSON array of available custom fields for requests.

Example Response

json
{
  "status": 200,
  "data": [
    {
      "id": 1,
      "name": "Preferred Neighbourhood Notes",
      "type": "textarea"
    },
    {
      "id": 2,
      "name": "Financing Method",
      "type": "select",
      "options": [
        {
          "id": 1,
          "name": "Cash"
        },
        {
          "id": 2,
          "name": "Bank Loan"
        },
        {
          "id": 3,
          "name": "Mixed"
        }
      ]
    }
  ]
}

Available custom field types

  • text: Text up to 255 characters.
  • textarea: Text up to 2500 characters.
  • wysiwyg: Text with HTML format.
  • number: Integer or decimal.
  • formatted_number: Integer or decimal that is formatted. E.g. 1,000,000.25.
  • select: Single select with options.
  • select_multi: Multiple select with options.
  • checkbox: Boolean.
  • file: Single file. (As a URL)
  • file_multi: Array of multiple files. (As URLs)
  • image: Single image. (As a URL)
  • image_multi: Array of multiple images. (As URLs)
  • address: Address. (E.g. Bellariastraße 6, 1010 Wien, Austria)
  • url: URL.
  • date: Date in YYYY-MM-DD format. (E.g. 2025-10-18)
  • datetime: Datetime in YYYY-MM-DD HH:MM:SS format. (E.g. 2025-10-18 18:24:10)
  • currency: Integer or decimal formatted as a currency. E.g. 1,000,000.25€.
  • user: Application user_id.
  • user_multi: An array of application user_id values.
  • contact: Another contact's id.
  • contact_multi: An array of multiple contact ids.

Last updated on May 9th, 2026.