Skip to content

Get project details

GET
/projects/{id}
curl --request GET \
--url https://agent-dev.azizdubai.com/projects/1 \
--header 'X-API-Key: <X-API-Key>'

Returns the location, cost, payment plan, media, units, nearby amenities and developer-selected features/amenities of a project in a single response.

The amenities block is filtered by AMENITIEST_RADIUS: when the variable is set, only facilities closer than that distance are returned.

A draft (is_draft) or deleted project returns 404, in the same way as a non-existent ID.

id
required
integer
>= 1

Project ID.

The project.

Media typeapplication/json
object
status
required
string
Allowed value: success
data
required

The shape depends on the operation.

data
required
object
id
integer
company_id
integer
author_id
integer
area_id
integer
area_name
string
area_city
string
name
string
type

Property type

integer
status
integer
description
string
launch_date
string | null format: date-time
launch_time
string | null
developer_registration_id
string
trakheesi_project_id
string
escrow_account
string
oqood_registration
string
is_draft

Always false — drafts are never returned.

boolean
created_at
string format: date-time
updated_at
string format: date-time
readiness_progress
integer
<= 100
is_branded
boolean
service_charge

Service charge per ft².

number | null format: double
development_status
integer
Allowed values: 0 1 2 3
resale_conditions
string | null
total_floors
integer
floors_formula
string | null
floor_plan_file
One of:

The same file without internal fields, as it appears within a project.

object
id
integer
original_name
string
mime_type
string
path
string
url
string
size
integer format: int64
brochure_file
One of:

The same file without internal fields, as it appears within a project.

object
id
integer
original_name
string
mime_type
string
path
string
url
string
size
integer format: int64
general_plan_file
One of:

The same file without internal fields, as it appears within a project.

object
id
integer
original_name
string
mime_type
string
path
string
url
string
size
integer format: int64
location
One of:
object
latitude
number format: double
longitude
number format: double
address
string
cost
One of:
object
currency
string
unit_price

Base project price

number format: double
commission_type

1 — percentage (commission_percent), 2 — fixed amount (commission_amount).

integer
Allowed values: 1 2
commission_percent
number | null format: double
commission_amount
number | null format: double
payment_plans
Array<object>
object
type

1 — down payment, 2 — during construction, 3 — on completion.

integer
Allowed values: 1 2 3
percent
number format: double
media
object
images
Array<object>
object
id
integer
sort_order
integer
file
One of:

The same file without internal fields, as it appears within a project.

object
id
integer
original_name
string
mime_type
string
path
string
url
string
size
integer format: int64
videos
Array<object>
object
id
integer
sort_order
integer
file
One of:

The same file without internal fields, as it appears within a project.

object
id
integer
original_name
string
mime_type
string
path
string
url
string
size
integer format: int64
presentation_urls

Links to tours and presentations, as strings rather than files.

Array<string>
units
Array<object>

A unit within the project response.

object
id
integer
unit_number
string
bedrooms

0 — studio.

integer
status
integer
Allowed values: 1 2 3 4 5
furnishing
integer
Allowed values: 1 2 3 4
parking
integer
floor
integer
price

In the key’s prices.

number format: double
unit_area

Area in m².

number format: double
plan_file
One of:

The same file without internal fields, as it appears within a project.

object
id
integer
original_name
string
mime_type
string
path
string
url
string
size
integer format: int64
amenities

Eight categories of nearby facilities (points of interest around the project). Not to be confused with the preferences block, which contains the features and amenities of the project itself.

object
airports_ports
Array<object>
object
distance

Distance from the project to the facility, in metres; calculated at import time.

number | null
amenity

A nearby facility from its category’s master table. Only the fields below are common to all categories; the remaining 30–50 fields mirror the columns of the category’s source dataset and differ between categories — for example, curriculum and khda_rating for schools, specialty_type and emergency_24_7 for clinics, and retail_format and a set of scoring fields for retail. Coordinate field names also differ: latitude/longitude for airports and ports, asset_latitude/asset_longitude for all other categories.

object
id
integer
infra_id

Stable identifier of the facility in the source dataset.

string
infra_name
string
infra_type
string
status
string
created_at
string format: date-time
updated_at
string format: date-time
key
additional properties
any
education
Array<object>
object
distance

Distance from the project to the facility, in metres; calculated at import time.

number | null
amenity

A nearby facility from its category’s master table. Only the fields below are common to all categories; the remaining 30–50 fields mirror the columns of the category’s source dataset and differ between categories — for example, curriculum and khda_rating for schools, specialty_type and emergency_24_7 for clinics, and retail_format and a set of scoring fields for retail. Coordinate field names also differ: latitude/longitude for airports and ports, asset_latitude/asset_longitude for all other categories.

object
id
integer
infra_id

Stable identifier of the facility in the source dataset.

string
infra_name
string
infra_type
string
status
string
created_at
string format: date-time
updated_at
string format: date-time
key
additional properties
any
employment
Array<object>
object
distance

Distance from the project to the facility, in metres; calculated at import time.

number | null
amenity

A nearby facility from its category’s master table. Only the fields below are common to all categories; the remaining 30–50 fields mirror the columns of the category’s source dataset and differ between categories — for example, curriculum and khda_rating for schools, specialty_type and emergency_24_7 for clinics, and retail_format and a set of scoring fields for retail. Coordinate field names also differ: latitude/longitude for airports and ports, asset_latitude/asset_longitude for all other categories.

object
id
integer
infra_id

Stable identifier of the facility in the source dataset.

string
infra_name
string
infra_type
string
status
string
created_at
string format: date-time
updated_at
string format: date-time
key
additional properties
any
healthcare
Array<object>
object
distance

Distance from the project to the facility, in metres; calculated at import time.

number | null
amenity

A nearby facility from its category’s master table. Only the fields below are common to all categories; the remaining 30–50 fields mirror the columns of the category’s source dataset and differ between categories — for example, curriculum and khda_rating for schools, specialty_type and emergency_24_7 for clinics, and retail_format and a set of scoring fields for retail. Coordinate field names also differ: latitude/longitude for airports and ports, asset_latitude/asset_longitude for all other categories.

object
id
integer
infra_id

Stable identifier of the facility in the source dataset.

string
infra_name
string
infra_type
string
status
string
created_at
string format: date-time
updated_at
string format: date-time
key
additional properties
any
lifestyle_outdoors
Array<object>
object
distance

Distance from the project to the facility, in metres; calculated at import time.

number | null
amenity

A nearby facility from its category’s master table. Only the fields below are common to all categories; the remaining 30–50 fields mirror the columns of the category’s source dataset and differ between categories — for example, curriculum and khda_rating for schools, specialty_type and emergency_24_7 for clinics, and retail_format and a set of scoring fields for retail. Coordinate field names also differ: latitude/longitude for airports and ports, asset_latitude/asset_longitude for all other categories.

object
id
integer
infra_id

Stable identifier of the facility in the source dataset.

string
infra_name
string
infra_type
string
status
string
created_at
string format: date-time
updated_at
string format: date-time
key
additional properties
any
retail
Array<object>
object
distance

Distance from the project to the facility, in metres; calculated at import time.

number | null
amenity

A nearby facility from its category’s master table. Only the fields below are common to all categories; the remaining 30–50 fields mirror the columns of the category’s source dataset and differ between categories — for example, curriculum and khda_rating for schools, specialty_type and emergency_24_7 for clinics, and retail_format and a set of scoring fields for retail. Coordinate field names also differ: latitude/longitude for airports and ports, asset_latitude/asset_longitude for all other categories.

object
id
integer
infra_id

Stable identifier of the facility in the source dataset.

string
infra_name
string
infra_type
string
status
string
created_at
string format: date-time
updated_at
string format: date-time
key
additional properties
any
roads_transport
Array<object>
object
distance

Distance from the project to the facility, in metres; calculated at import time.

number | null
amenity

A nearby facility from its category’s master table. Only the fields below are common to all categories; the remaining 30–50 fields mirror the columns of the category’s source dataset and differ between categories — for example, curriculum and khda_rating for schools, specialty_type and emergency_24_7 for clinics, and retail_format and a set of scoring fields for retail. Coordinate field names also differ: latitude/longitude for airports and ports, asset_latitude/asset_longitude for all other categories.

object
id
integer
infra_id

Stable identifier of the facility in the source dataset.

string
infra_name
string
infra_type
string
status
string
created_at
string format: date-time
updated_at
string format: date-time
key
additional properties
any
tourism_landmarks
Array<object>
object
distance

Distance from the project to the facility, in metres; calculated at import time.

number | null
amenity

A nearby facility from its category’s master table. Only the fields below are common to all categories; the remaining 30–50 fields mirror the columns of the category’s source dataset and differ between categories — for example, curriculum and khda_rating for schools, specialty_type and emergency_24_7 for clinics, and retail_format and a set of scoring fields for retail. Coordinate field names also differ: latitude/longitude for airports and ports, asset_latitude/asset_longitude for all other categories.

object
id
integer
infra_id

Stable identifier of the facility in the source dataset.

string
infra_name
string
infra_type
string
status
string
created_at
string format: date-time
updated_at
string format: date-time
key
additional properties
any
preferences
object
features
Array<object>
object
id
integer
name
string
type

1 — feature, 2 — amenity.

integer
Allowed values: 1 2
amenities
Array<object>
object
id
integer
name
string
type

1 — feature, 2 — amenity.

integer
Allowed values: 1 2

Example

{
"status": "success",
"data": {
"development_status": 0,
"cost": {
"currency": "AED",
"commission_type": 1
},
"payment_plans": [
{
"type": 1
}
],
"units": [
{
"status": 1,
"furnishing": 1
}
],
"preferences": {
"features": [
{
"name": "Infinity Pool",
"type": 1
}
],
"amenities": [
{
"name": "Infinity Pool",
"type": 1
}
]
}
}
}

A parameter or the request body failed validation.

Media typeapplication/json
object
status
required
string
Allowed value: error
message
required

Human-readable message.

string

Examples

ExamplebadID
{
"status": "error",
"message": "id must be a positive integer"
}

The key is missing (missing api key) or invalid (invalid api key). The latter covers unknown, revoked and deleted keys. Every operation requires a key, so any request without one receives this response.

Media typeapplication/json
object
status
required
string
Allowed value: error
message
required

Human-readable message.

string

Examples

Exampleinvalid
{
"status": "error",
"message": "invalid api key"
}

The key is valid, but it is restricted to a list of domains and the request’s Origin (or Referer) does not match any of them; or the key’s agency has no approved licence.

Media typeapplication/json
object
status
required
string
Allowed value: error
message
required

Human-readable message.

string

Examples

{
"status": "error",
"message": "origin is not allowed for this api key"
}

No record exists with the given ID — or it belongs to a developer the key’s agency has no approved contract with.

Media typeapplication/json
object
status
required
string
Allowed value: error
message
required

Human-readable message.

string

Examples

Exampleunit
{
"status": "error",
"message": "unit not found"
}

An unexpected error. The cause is logged; a generic message is returned.

Media typeapplication/json
object
status
required
string
Allowed value: error
message
required

Human-readable message.

string

Examples

Examplegeneric
{
"status": "error",
"message": "internal server error"
}