Introduction
What the Maalam Integration API is for, and the shape of it.
Maalam hosts the booking journey for a real-estate developer: a buyer opens a unit, verifies their phone, signs the reservation agreement and pays the deposit — all on Maalam. What Maalam needs from you is the catalogue those buyers choose from, and what you need from Maalam is to know when one of them has taken a unit.
This API is both halves.
Two directions
Your system → Maalam. A REST API for projects and units: create, replace, patch, delete, get and search. Authenticated with an API key the owner of your Maalam workspace creates.
Maalam → your system. Webhooks: a signed POST to an endpoint you register, the moment a
unit is held, released, reserved or sold. That state exists only in Maalam, so this is the only
way to have it.
Keyed by your own identifiers
A project is addressed by its slug and a unit by its code — the identifiers your system
already has. You never store a Maalam id. Sending the same unit twice is the same unit: every
PUT is idempotent, which is what lets a nightly full re-sync be safe.
PUT /v1/integration/projects/alasala/units/A-101What Maalam keeps for itself
A unit's status is Maalam's to set once a buyer is involved. held, reserved and sold
follow the bookings; your system reads them and never writes them. The one thing your system
does decide is whether a unit is on sale at all — available or unavailable — and the API
will refuse to let it override a buyer mid-way through. See Catalogue.
Base URL
All paths on this site are relative to:
https://api.maalam.sa/v1/integrationWhere to start
The Quickstart goes from a key to a unit a buyer can open in about ten minutes. The API reference is generated from the API itself and cannot drift from it.