Skip to main content

Compounds Management

Manage and retrieve compound information and their units using the Compounds API.

Get Compounds for Organization

Retrieves a paginated list of compounds for the organization with optional filtering and search capabilities.

Endpoint

GET /external/apis/v1.0/compounds

Headers

HeaderTypeRequiredDescription
api-keystringYesAPI key for authentication

Query Parameters

Pagination Parameters

ParameterTypeRequiredDefaultDescription
pagenumberNo1The page number to retrieve (minimum: 1)
limitnumberNo10Number of items per page (minimum: 1, maximum: 100)
allnumberNo0Return all results without pagination. Options: 0 (paginated) or 1 (all results)

Request Example

Basic Request with Pagination

curl -X GET "https://api.sakneen.com/external/apis/v1.0/compounds?page=1&limit=20" \
-H "api-key: your-api-key"

Request to Get All Compounds

curl -X GET "https://api.sakneen.com/external/apis/v1.0/compounds?all=1" \
-H "api-key: your-api-key"

Response

Success Response (200 OK)

{
"data": [
{
"_id": "691dc2308d882bd47368661a",
"isDeleted": false,
"organizationId": "691dc2308d882bd473686611",
"type": "Compound",
"area": 6115,
"mainImageUrl": "https://loremflickr.com/3543/341?lock=8944094847880925",
"mainBannerUrl": "https://picsum.photos/seed/eg63G/1357/1356",
"media": [
{
"image": "https://picsum.photos/seed/EeQ33FNdk/3441/2587",
"type": "image"
},
{
"image": "https://picsum.photos/seed/Bfyrei7U9A/1836/3961",
"type": "image"
}
],
"constructionUpdates": [
{
"image": "https://loremflickr.com/714/712?lock=5238549307544312",
"type": "image"
}
],
"showOnMap": true,
"isPublished": true,
"isPublic": false,
"logo": "https://picsum.photos/seed/9GT605R8FG/630/451",
"saleType": "primary",
"mapHealthCheck": true,
"numberOfUnits": 222,
"mainBrochure": {
"dateUploaded": "2025-11-19T13:12:16.376Z",
"name": "Des Moines Main Brochure",
"url": "https://loremflickr.com/3194/302?lock=6831798650377823"
},
"brochures": [
{
"dateUploaded": "2025-11-19T13:12:16.376Z",
"name": "Des Moines Brochure",
"url": "https://picsum.photos/seed/2Nige/1361/396"
}
],
"isNewLaunch": false,
"EOIUnitTypes": [],
"EOIUnitPreferences": [],
"EOIForm": [],
"offerJsons": [],
"allowPriceRange": false,
"showInLeadFeedback": false,
"isAdminOnly": false,
"commercialBuildingsOrder": [],
"showInEcommerce": false,
"__v": 0,
"createdAt": "2025-11-19T13:12:16.378Z",
"updatedAt": "2025-11-19T13:12:16.378Z",
"organization": {
"_id": "691dc2308d882bd473686611",
"name": "lasirena",
"logo": "https://www.lasirena-egypt.com/wp-content/uploads/2019/07/Lasirena-Logo.png"
},
"description": "Alioqui denuo dolores videlicet soleo pecco. Aegre quibusdam quas conicio. Confero ulciscor sol.",
"name": "Des Moines",
"slug": "des-moines"
}
],
"pagination": {
"count": 1,
"limit": 2,
"pages": 2,
"total": 3
}
}

Response Fields

FieldTypeDescription
_idstringUnique identifier for the compound
isDeletedbooleanIndicates if the compound has been deleted
organizationIdstringID of the organization that owns the compound
typestringType of the entity (e.g., "Compound")
areanumberTotal area of the compound in square meters
mainImageUrlstringURL of the main image for the compound
mainBannerUrlstringURL of the main banner image
mediaarrayArray of media items (images/videos)
media[].imagestringURL of the media item
media[].typestringType of media (e.g., "image")
constructionUpdatesarrayArray of construction update media
constructionUpdates[].imagestringURL of the construction update image
constructionUpdates[].typestringType of media (e.g., "image")
showOnMapbooleanWhether to display compound on map
isPublishedbooleanWhether the compound is published
isPublicbooleanWhether the compound is publicly accessible
logostringURL of the compound logo
saleTypestringType of sale (e.g., "primary", "resale")
mapHealthCheckbooleanHealth check status for map integration
numberOfUnitsnumberTotal number of units in the compound
mainBrochureobjectMain brochure information
mainBrochure.dateUploadedstringISO 8601 timestamp of upload date
mainBrochure.namestringName of the brochure
mainBrochure.urlstringURL to download the brochure
brochuresarrayArray of additional brochures
brochures[].dateUploadedstringISO 8601 timestamp of upload date
brochures[].namestringName of the brochure
brochures[].urlstringURL to download the brochure
isNewLaunchbooleanIndicates if this is a new launch
EOIUnitTypesarrayArray of EOI (Expression of Interest) unit types
EOIUnitPreferencesarrayArray of EOI unit preferences
EOIFormarrayEOI form fields
offerJsonsarrayArray of offer configurations
allowPriceRangebooleanWhether price range filtering is allowed
showInLeadFeedbackbooleanWhether to show in lead feedback
isAdminOnlybooleanWhether compound is visible only to admins
commercialBuildingsOrderarrayOrder of commercial buildings
showInEcommercebooleanWhether to show in e-commerce
__vnumberVersion key (internal MongoDB field)
createdAtstringISO 8601 timestamp of creation date
updatedAtstringISO 8601 timestamp of last update
organizationobjectOrganization/developer information
organization._idstringOrganization unique identifier
organization.namestringOrganization name
organization.logostringOrganization logo URL
descriptionstringDescription of the compound
namestringName of the compound
slugstringURL-friendly identifier

Pagination Object

FieldTypeDescription
countnumberNumber of items in the current response
limitnumberMaximum number of items per page
pagesnumberTotal number of pages
totalnumberTotal number of compounds matching the query

Error Responses

400 Bad Request

{
"statusCode": 400,
"message": ["page must be a positive number", "limit must not exceed 100"],
"error": "Bad Request"
}

401 Unauthorized

{
"statusCode": 401,
"message": "Unauthorized",
"error": "Unauthorized"
}

500 Internal Server Error

{
"statusCode": 500,
"message": "Internal server error",
"error": "Internal Server Error"
}

Notes

  • When all=1 is set, the page and limit parameters are ignored
  • Maximum limit is capped at 100 items per page to ensure optimal performance
  • Results are typically sorted by compound creation date (newest first) unless specified otherwise

Get Compound Units

Retrieves all units for a specific compound with detailed information including unit designs, amenities, property types, and phases.

Endpoint

GET /external/apis/v1.0/compounds/:slug/units

Path Parameters

ParameterTypeRequiredDescription
slugstringYesThe compound slug identifier

Headers

HeaderTypeRequiredDescription
api-keystringYesAPI key for authentication

Request Example

curl -X GET "https://api.sakneen.com/external/apis/v1.0/compounds/compound-slug/units" \
-H "api-key: your-api-key"

Response

Success Response (200 OK)

{
"data": [
{
"_id": "691dd0f28ebfedf1459d8439",
"isDeleted": false,
"organizationId": "691dd0f28ebfedf1459d8425",
"locationId": "691dd0f28ebfedf1459d842e",
"paymentPlansIds": [
"63a2ea2b2b48f4b7190171b4",
"63a2ea2b2b48f4b7190171b5"
],
"maintenancePlanIds": [],
"clubPlanIds": [],
"unitDesignId": "691dd0f28ebfedf1459d8434",
"floor": {
"name": "Ground"
},
"amenitiesIds": [
"691dd0f28ebfedf1459d8436",
"691dd0f28ebfedf1459d8437"
],
"featuresIds": [],
"bua": 109,
"price": 4960641295871160,
"beds": 3,
"buildingId": "CH1",
"unitId": "CH11",
"media": [
{
"image": "https://img.sakneen.com//5b6c306b-d792-4321-bc55-fc237889f8c1-attachments/CH---Ground/Floor-Plan/Type-CH.jpeg",
"imageType": "floorplan",
"type": "image"
},
{
"image": "https://img.sakneen.com//7c4eae33-075a-4af0-8f70-695405a49017-attachments/CH---Ground/Gallery/a-(1).jpg",
"imageType": null,
"type": "image"
}
],
"status": "Available",
"rentalStatus": "Unavailable",
"propertyTypeId": "691dd0f28ebfedf1459d8432",
"finishingTypeId": "6399bff45e04ee7b2f7364b6",
"showForBrokers": false,
"brokersIds": [],
"saleType": "primary",
"brokersGroupsIds": [],
"listingType": [],
"addons": [],
"isAdminOnly": false,
"allowToTaskeen": false,
"priceByPaymentPlan": [],
"releaseIds": [],
"reviews": [
{
"hasIssue": 0,
"type": "unitDesign",
"approveStatus": "pending",
"approvedById": null,
"approvedDate": null,
"reviewStatus": "pending",
"reviewedById": null,
"reviewedDate": null
}
],
"__v": 0,
"createdAt": "2025-11-19T14:15:14.120Z",
"updatedAt": "2025-11-19T14:15:14.120Z",
"amenities": [
{
"_id": "691dd0f28ebfedf1459d8436",
"isDeleted": false,
"icon": "https://picsum.photos/seed/HtwE9NRMU/2195/2261",
"fontColor": "#af7ad0",
"backgroundColor": "#a5a660",
"__v": 0,
"createdAt": "2025-11-19T14:15:14.110Z",
"updatedAt": "2025-11-19T14:15:14.110Z",
"name": "lady"
}
],
"phase": {
"_id": "691dd0f28ebfedf1459d842e",
"isDeleted": false,
"organizationId": "691dd0f28ebfedf1459d8425",
"parentId": "691dd0f28ebfedf1459d842a",
"type": "Phase",
"landArea": 2086,
"mainImageUrl": "https://picsum.photos/seed/EapJKvC/1975/2969",
"media": [
{
"image": "https://picsum.photos/seed/AhNWr5C/607/1580",
"type": "image"
}
],
"brochures": [],
"createdAt": "2025-11-19T14:15:14.089Z",
"updatedAt": "2025-11-19T14:15:14.089Z",
"__v": 0,
"description": "Adfero coniecto harum eveniet votum curvo torrens amissio cotidie attero.",
"name": "famously cricket",
"slug": "denitrify-silently"
},
"type": {
"_id": "691dd0f28ebfedf1459d8432",
"isDeleted": false,
"propertyTypeCategoryId": "691dd0f28ebfedf1459d8431",
"organizationId": "691dd0f28ebfedf1459d8425",
"createdAt": "2025-11-19T14:15:14.097Z",
"updatedAt": "2025-11-19T14:15:14.097Z",
"__v": 0,
"name": "hunt",
"slug": "pleasure"
},
"unitDesign": {
"_id": "691dd0f28ebfedf1459d8434",
"isDeleted": false,
"organizationId": "691dd0f28ebfedf1459d8425",
"bua": 112,
"media": [],
"offerGallery": [],
"bedrooms": 2,
"amenitiesIds": [],
"locationsIds": [],
"addonsIds": [],
"reviewStatus": "reviewed",
"approveStatus": "approved",
"reviewedById": null,
"approvedById": null,
"approvedDate": null,
"reviewedDate": null,
"releaseIds": [],
"createdAt": "2025-11-19T14:15:14.105Z",
"updatedAt": "2025-11-19T14:15:14.105Z",
"__v": 0,
"type": null,
"description": "finally opposite napkin underneath service as crafty furthermore sardonic aw",
"name": "effector",
"slug": "effector"
},
"name": "CH11",
"slug": "ch11"
}
]
}

Response Fields

FieldTypeDescription
_idstringUnique identifier for the unit
isDeletedbooleanIndicates if the unit is marked as deleted
organizationIdstringReference to the organization
locationIdstringReference to the location/phase
paymentPlansIdsarrayArray of payment plan IDs
maintenancePlanIdsarrayArray of maintenance plan IDs
clubPlanIdsarrayArray of club plan IDs
unitDesignIdstringReference to the unit design
floorobjectFloor information
floor.namestringFloor name (e.g., "Ground", "First")
amenitiesIdsarrayArray of amenity IDs
featuresIdsarrayArray of feature IDs
buanumberBuilt-up area in square meters
pricenumberUnit price
bedsnumberNumber of bedrooms
buildingIdstringBuilding identifier
unitIdstringHuman-readable unit identifier
mediaarrayArray of media items (images/videos)
media[].imagestringURL of the media item
media[].imageTypestringType of image (e.g., "floorplan", null for general)
media[].typestringMedia type (e.g., "image")
statusstringCurrent unit status (e.g., "Available", "Sold")
rentalStatusstringRental status (e.g., "Unavailable")
propertyTypeIdstringReference to the property type
finishingTypeIdstringReference to the finishing type
showForBrokersbooleanWhether unit is visible to brokers
brokersIdsarrayArray of broker IDs with access
saleTypestringType of sale (e.g., "primary", "resale")
brokersGroupsIdsarrayArray of broker group IDs
listingTypearrayTypes of listing
addonsarrayAvailable addons for the unit
isAdminOnlybooleanWhether unit is visible only to admins
allowToTaskeenbooleanWhether unit is available for Taskeen
priceByPaymentPlanarrayPrice variations by payment plan
releaseIdsarrayArray of release IDs
reviewsarrayReview information for different aspects
reviews[].hasIssuenumberIssue flag (0 = no issue)
reviews[].typestringReview type (e.g., "unitDesign", "paymentPlan")
reviews[].approveStatusstringApproval status
reviews[].reviewStatusstringReview status
__vnumberVersion key (internal MongoDB field)
createdAtstringISO 8601 timestamp of unit creation
updatedAtstringISO 8601 timestamp of last update
amenitiesarrayPopulated amenities with full details
amenities[]._idstringAmenity unique identifier
amenities[].namestringAmenity name
amenities[].iconstringURL to amenity icon
amenities[].fontColorstringHex color code for text
amenities[].backgroundColorstringHex color code for background
phaseobjectPopulated phase/location information
phase._idstringPhase unique identifier
phase.namestringPhase name
phase.slugstringPhase slug
phase.descriptionstringPhase description
phase.typestringType (e.g., "Phase")
phase.landAreanumberLand area in square meters
phase.mainImageUrlstringMain image URL
phase.mediaarrayPhase media items
typeobjectProperty type information
type._idstringProperty type unique identifier
type.namestringProperty type name
type.slugstringProperty type slug
unitDesignobjectUnit design information
unitDesign._idstringUnit design unique identifier
unitDesign.namestringUnit design name
unitDesign.slugstringUnit design slug
unitDesign.descriptionstringUnit design description
unitDesign.buanumberDesign built-up area
unitDesign.bedroomsnumberNumber of bedrooms in design
unitDesign.reviewStatusstringReview status
unitDesign.approveStatusstringApproval status
namestringUnit name
slugstringURL-friendly unit identifier

Error Responses

404 Not Found

Returned when the compound slug doesn't exist.

{
"statusCode": 404,
"message": "There is no compound with slug: invalid-slug",
"error": "Not Found"
}

401 Unauthorized

Returned when the API key is missing or invalid.

{
"statusCode": 401,
"message": "Unauthorized",
"error": "Unauthorized"
}

500 Internal Server Error

{
"statusCode": 500,
"message": "Internal server error",
"error": "Internal Server Error"
}

Notes

  • All units for the compound are returned in a single response (no pagination)
  • Units include populated data for unitDesign, amenities, type, and phase
  • Only non-deleted units are returned
  • Media array includes both floor plans (with imageType: "floorplan") and gallery images
  • The language header determines the language of returned content
  • Reviews array contains status information for different unit aspects (design, payment plan, location, data)