Skip to main content

Leads

Inbound rental enquiries and their pipeline stage. Note that these endpoints are mounted under /webhooks, alongside unrelated provider callbacks.

5 endpoints. Every request needs an Authorization: Bearer mtro_... header, and responses follow the envelope described in Errors and conventions.

POST /webhooks/create-lead​

Create a new lead in the CRM pipeline.

Required scope: leads.write
MCP tool: leads_create

Request body

FieldTypeRequiredDescription
tenantNamestringyesLead contact name. Required by Core.
emailAddressstringnoLead email address
phoneNumberstringnoLead phone number
servicestringnoLead source, e.g. Furnished Finder, Airbnb, Manual. Defaults to Manual.
specialNotesstringnoNotes about the lead
stageIdstringnoPipeline stage ID. Read the stage list first, ids are per-entity.
propertyIdstringnoProperty ID if the lead is interested in a specific property
destinationstringnoDestination the lead is looking for
startDatenumbernoDesired start date as millisecond timestamp
endDatenumbernoDesired end date as millisecond timestamp
lengthOfStaystringnoDesired length of stay
numberOfTravelersnumbernoNumber of travelers
monthlyRatenumbernoMonthly rate the lead was quoted
staffingCompanystringnoStaffing or contracting company the lead works for
petInformationstringnoPets travelling with the lead

Example

curl -X POST 'https://core.mtro.app/webhooks/create-lead' \
-H 'Authorization: Bearer mtro_your_api_key' \
-H 'Content-Type: application/json' \
-d '{"tenantName":"<tenantName>"}'

POST /webhooks/delete-lead​

Delete a lead from the CRM. This action cannot be undone.

Required scope: leads.write
MCP tool: leads_delete

Request body

FieldTypeRequiredDescription
leadIdstringyesThe lead ID to delete

Example

curl -X POST 'https://core.mtro.app/webhooks/delete-lead' \
-H 'Authorization: Bearer mtro_your_api_key' \
-H 'Content-Type: application/json' \
-d '{"leadId":"<leadId>"}'

GET /webhooks/get/all​

List all leads/inquiries in the CRM pipeline.

Required scope: leads.read
MCP tool: leads_list

Example

curl -X GET 'https://core.mtro.app/webhooks/get/all' \
-H 'Authorization: Bearer mtro_your_api_key'

Response

FieldType
messagestring
errorboolean
webhooksobject[]
Fields of webhooks[]
FieldType
idstring
entityIdstring
userIdstring
operationIdstring
servicestring
rawDataobject
processedAtinteger
statusstring
convertedboolean
convertedAtinteger
convertedBookingIdstring
dontSendSmsboolean
pipelineStageIdstring
stagePositioninteger
lostReasonany
lostReasonOtherany
lostReasonAtany
lostReasonByany
stageMoveHistoryany[]

POST /webhooks/update-lead​

Update an existing lead's information.

Required scope: leads.write
MCP tool: leads_update

Request body

FieldTypeRequiredDescription
leadIdstringyesThe lead ID to update
tenantNamestringnoUpdated contact name
emailAddressstringnoUpdated email address
phoneNumberstringnoUpdated phone number
specialNotesstringnoUpdated notes
propertyIdstringnoUpdated property ID
destinationstringnoUpdated destination
startDatenumbernoUpdated start date as millisecond timestamp
endDatenumbernoUpdated end date as millisecond timestamp
lengthOfStaystringnoUpdated length of stay
numberOfTravelersnumbernoUpdated number of travelers
monthlyRatenumbernoUpdated monthly rate
staffingCompanystringnoUpdated staffing or contracting company
petInformationstringnoUpdated pet information

Example

curl -X POST 'https://core.mtro.app/webhooks/update-lead' \
-H 'Authorization: Bearer mtro_your_api_key' \
-H 'Content-Type: application/json' \
-d '{"leadId":"<leadId>"}'

POST /webhooks/update-stage​

Move a lead to a different pipeline stage.

Required scope: leads.write
MCP tool: leads_update_stage

Request body

FieldTypeRequiredDescription
leadIdstringyesThe lead ID to move
stageIdstringyesThe target pipeline stage ID

Example

curl -X POST 'https://core.mtro.app/webhooks/update-stage' \
-H 'Authorization: Bearer mtro_your_api_key' \
-H 'Content-Type: application/json' \
-d '{"leadId":"<leadId>","stageId":"<stageId>"}'