Ingest a rental lead
Create a rental-seeking lead from the compact payload used by rental landing forms.
/v1/ext/leads/ingestRequires the leads:ingest scope
On this page
Creates a lead looking to rent from a short form submission. Vestta turns the payload into a lead of type demandante with search preferences, and a readable summary of the form in its notes. For full control over the lead, use Create an inquiry instead.
How the payload is used
The lead is created with operation alquiler and property types apartamento and casa, rating 3, and high urgency (alta-urgencia).
Duplicates
If the workspace already has a lead with the same primary phone, nothing is created and the response is still 200, without a lead ID. The existing lead is not updated. This makes retries safe, but it also means a returning visitor's new form is not recorded.
If no phone field holds a valid number, the request fails with 422 and the message Invalid phone number. Use international format, e.g. +34600111222.
Example request
curl -X POST "https://api.vestta.app/v1/ext/leads/ingest" \
-H "X-Api-Key: $VESTTA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"id": "web-123",
"createdAt": "2026-09-22T10:30:00Z",
"source": "web",
"sourcePage": "https://example.com/alquiler",
"contact": {
"name": "Ana García",
"phone": "+34600111222"
},
"search": {
"budget": "900-1200",
"entryDate": "2026-10-01",
"exitDate": "2027-09-30",
"people": "2",
"area": "Madrid centro",
"habs": "2",
"pets": "No",
"workSituation": "Contrato indefinido",
"location": {
"name": "Madrid"
},
"freeText": "Preferimos una vivienda amueblada"
}
}'Authorization
X-Api-KeystringheaderrequiredYour API key,
AC_LIVE_<key_id>.<secret>.Authorization: ApiKey <key>is also accepted.
Request body
application/json · required
idstringrequiredYour identifier for the submission. Required, but not stored by Vestta.
createdAtstringrequiredWhen the form was submitted, ISO 8601. Required, but not stored by Vestta.
sourcestringrequiredWhere the lead comes from, e.g.
web. Stored as the lead source.sourcePagestringrequiredURL of the page with the form. Added to the lead notes.
contactRentingLeadContactrequiredsearchRentingLeadSearchrequired
Response
200 Successful response.
Response fields
statusstringrequired alwaysokauthenticated_asstringName of the business that owns the API key.
Errors
Error bodies and how to handle each case: Errors.