Create an inquiry
curl --request POST \
--url https://api.majarrah.io/v1/inquiries \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"property_id": "<string>",
"question": "<string>",
"preferred_contact": "<string>"
}
'import requests
url = "https://api.majarrah.io/v1/inquiries"
payload = {
"property_id": "<string>",
"question": "<string>",
"preferred_contact": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({property_id: '<string>', question: '<string>', preferred_contact: '<string>'})
};
fetch('https://api.majarrah.io/v1/inquiries', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.majarrah.io/v1/inquiries",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'property_id' => '<string>',
'question' => '<string>',
'preferred_contact' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.majarrah.io/v1/inquiries"
payload := strings.NewReader("{\n \"property_id\": \"<string>\",\n \"question\": \"<string>\",\n \"preferred_contact\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.majarrah.io/v1/inquiries")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"property_id\": \"<string>\",\n \"question\": \"<string>\",\n \"preferred_contact\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.majarrah.io/v1/inquiries")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"property_id\": \"<string>\",\n \"question\": \"<string>\",\n \"preferred_contact\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"inquiry": {
"id": "<string>",
"property_id": "<string>",
"user_id": "<string>",
"broker_id": "<string>",
"question": "<string>",
"status": "<string>",
"created_at": {}
},
"charged": true
}Inquiries
Create an inquiry
Submit a buyer inquiry against a property listing.
POST
/
v1
/
inquiries
Create an inquiry
curl --request POST \
--url https://api.majarrah.io/v1/inquiries \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"property_id": "<string>",
"question": "<string>",
"preferred_contact": "<string>"
}
'import requests
url = "https://api.majarrah.io/v1/inquiries"
payload = {
"property_id": "<string>",
"question": "<string>",
"preferred_contact": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({property_id: '<string>', question: '<string>', preferred_contact: '<string>'})
};
fetch('https://api.majarrah.io/v1/inquiries', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.majarrah.io/v1/inquiries",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'property_id' => '<string>',
'question' => '<string>',
'preferred_contact' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.majarrah.io/v1/inquiries"
payload := strings.NewReader("{\n \"property_id\": \"<string>\",\n \"question\": \"<string>\",\n \"preferred_contact\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.majarrah.io/v1/inquiries")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"property_id\": \"<string>\",\n \"question\": \"<string>\",\n \"preferred_contact\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.majarrah.io/v1/inquiries")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"property_id\": \"<string>\",\n \"question\": \"<string>\",\n \"preferred_contact\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"inquiry": {
"id": "<string>",
"property_id": "<string>",
"user_id": "<string>",
"broker_id": "<string>",
"question": "<string>",
"status": "<string>",
"created_at": {}
},
"charged": true
}Creates a new inquiry thread between the authenticated user and the property’s broker. Requires OAuth or API key authentication.
Request body
uuid
required
The ID of the property to inquire about.
string
required
The buyer’s initial message. Plain text, up to 2000 characters.
string
One of
whatsapp, phone, email. Defaults to whatsapp.Response
boolean
Whether a lead credit was charged to the broker’s workspace for this inquiry.
Example
curl https://api.majarrah.io/v1/inquiries \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"property_id": "e39a8b2b-...",
"question": "Is the price negotiable? Is there parking?"
}'
{
"inquiry": {
"id": "a4b1c2d3-...",
"property_id": "e39a8b2b-...",
"status": "open",
"created_at": "2026-09-20T14:30:00Z"
},
"charged": true
}
Errors
See Error Reference for shared error codes. Endpoint-specific:property_not_found— theproperty_iddoesn’t exist or is unpublished.self_inquiry_forbidden— you can’t inquire on your own listing.rate_limited— max 10 inquiries per hour per buyer.
Was this page helpful?