Skip to main content

Vendors

Service providers that tasks can be assigned to.

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

POST /vendors/create​

Create a new vendor (service provider). Required: name, role, mobile, email.

Required scope: vendors.write
MCP tool: vendors_create

Request body

FieldTypeRequiredDescription
namestringyesVendor name
rolestringyesVendor role (e.g. Plumber, Electrician, Cleaner)
mobilestringyesVendor mobile number
emailstringyesVendor email address

Example

curl -X POST 'https://core.mtro.app/vendors/create' \
-H 'Authorization: Bearer mtro_your_api_key' \
-H 'Content-Type: application/json' \
-d '{"name":"<name>","role":"<role>","mobile":"<mobile>","email":"<email>"}'

POST /vendors/delete​

Delete a vendor. This action cannot be undone.

Required scope: vendors.write
MCP tool: vendors_delete

Request body

FieldTypeRequiredDescription
vendorIdstringyesThe vendor ID to delete

Example

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

GET /vendors/get/{vendorId}​

Get detailed information about a specific vendor.

Required scope: vendors.read
MCP tool: vendors_get

Path parameters

NameTypeRequiredDescription
vendorIdstringyesThe vendor ID

Example

curl -X GET 'https://core.mtro.app/vendors/get/<vendorId>' \
-H 'Authorization: Bearer mtro_your_api_key'

Response

FieldType
vendorobject
errorboolean
Fields of vendor
FieldType
_idstring
namestring
rolestring
staffRolestring
ownerNamestring
mobilestring
phonestring
emailstring
servicesstring
addressstring
citystring
marketsany[]
groupsstring
referredBystring
shareVendorboolean
internalNotesstring
entityOwnerstring
imagesany[]
lastUpdatedinteger
__vinteger

GET /vendors/get/all​

List all vendors (service providers like plumbers, electricians, cleaners, etc.).

Required scope: vendors.read
MCP tool: vendors_list

Example

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

Response

FieldType
vendorsobject[]
errorboolean
Fields of vendors[]
FieldType
idstring
namestring
rolestring
staffRolestring
ownerNamestring
mobilestring
phonestring
emailstring
servicesstring
addressstring
citystring
marketsany[]
groupsstring
referredBystring
shareVendorboolean
internalNotesstring
entityOwnerstring
imagesany[]
lastUpdatedinteger

GET /vendors/get/entity/{entityId}​

Get all vendors belonging to a specific entity.

Required scope: vendors.read
MCP tool: vendors_get_by_entity

Path parameters

NameTypeRequiredDescription
entityIdstringyesThe entity ID

Example

curl -X GET 'https://core.mtro.app/vendors/get/entity/<entityId>' \
-H 'Authorization: Bearer mtro_your_api_key'

Response

FieldType
vendorsobject[]
errorboolean
Fields of vendors[]
FieldType
idstring
namestring
rolestring
staffRolestring
ownerNamestring
mobilestring
phonestring
emailstring
servicesstring
addressstring
citystring
marketsany[]
groupsstring
referredBystring
shareVendorboolean
internalNotesstring
entityOwnerstring
imagesany[]
lastUpdatedinteger

POST /vendors/update​

Update a vendor's information.

Required scope: vendors.write
MCP tool: vendors_update

Request body

FieldTypeRequiredDescription
vendorIdstringyesThe vendor ID to update
namestringnoUpdated name
rolestringnoUpdated role
mobilestringnoUpdated mobile number
emailstringnoUpdated email

Example

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