Create a contact
Create a private CRM contact without initiating outreach.
/v1/leadsRequires the leads:write scope
Requires leads:write. The canonical contact types are demandante, propietario, agencia-inmobiliaria, entidad-bancaria and proveedor-servicios. Phone numbers are normalized to international E.164; email addresses are validated.
The response is 201 with the new id. Contacts and their personal data are private to the workspace; this operation does not publish them on the property portal or start automated outreach. Use Create an inquiry for a form with configured follow-up.
The optional Idempotency-Key header has the same 24-hour replay and conflict rules as property creation.
Example request
curl -X POST "https://api.vestta.app/v1/leads" \
-H "X-Api-Key: $VESTTA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Ana García",
"type": "demandante",
"phone_number_1": "+34600111222",
"source": "integration"
}'Authorization
X-Api-KeystringheaderrequiredYour API key,
AC_LIVE_<key_id>.<secret>.Authorization: ApiKey <key>is also accepted.
Request headers
idempotency-keystring1–200 chars
Request body
application/json · required
namestringrequired1–200 charstypestringrequiredOne of
demandantepropietarioagencia-inmobiliariaentidad-bancariaproveedor-serviciosphone_number_1stringrequired5–30 charsphone_number_2string≤ 30 charslandline_phonestring≤ 30 charspersonal_emailstring≤ 254 charsprofessional_emailstring≤ 254 charspreferred_languagestring default:esOne of
esgbfrgeitactiveboolean default:truesourcestring1–100 chars default:external_apisearch_preferencesarray of objects
Response
201 Successful response.
Response fields
statusstring default:okalwaysokidintegerrequired
Errors
Error bodies and how to handle each case: Errors.