Each event will send a JSON object containing all the delivery information to the webhook_url.
For example, here is the JSON sent for a completed delivery with one dropoff.
{
"delivery_id":"e125a42b-b4c7-40a1-9c92-c0291616da59",
"size":"suv",
"price":23.64,
"price_with_credit":36.21,
"distance_estimate":9.026656517, //distance in miles
"job_description":"Delivering small items",
"cancellation":null,
"pickup_time":{
"date":"2026-04-14",
"time":"18:00",
"latest_date":"2026-04-14",
"latest_time":"20:00"
},
"pickup_stop":{
"id":"4a3e5df5-ad9d-4010-ada5-71648f82ee79",
"name":"Metrobi",
"address":"55 Court Street Boston MA 02108",
"tracking_code":"VHO2JV3ECCP9",
"lat":42.359308,
"lng":-71.058981,
"address2":null,
"instructions":null,
"business_name":null,
"contact":{
"phone":null,
"email":null
},
"completed_at":1776200546227, //timestamp in milliseconds
"status":"COMPLETED",
"type":"PICKUP",
"pods":[
{
"type":null,
"image":"4a3e5df5-ad9d-4010-ada5-71648f82ee75_loadedvan_1.jpg",
"imageType":"loadedvan",
"confirmedType":null,
"position":null,
"name":null,
"source":"CAMERA",
"status":"UPLOADED",
"meta":{
},
"updatedAt":1776200546700 //timestamp in milliseconds
}
],
"order_ids":"[]",
"estimated_arrival_time":1776211200000, //timestamp in milliseconds
"actual_arrival_time":null,
"deliver_after":null,
"deliver_before":null,
"tracking":{
"code":null,
"link":"https://test-deliver.metrobi.com/r/VHO2JV3ECCP9"
},
"webhook_url":null,
"price":null,
"price_with_credit":null,
"create_source":"DEFAULT"
},
"dropoff_stop":{
"id":"e125a42b-b4c7-40a1-9c92-c0291616da58",
"name":"John",
"address":"3 Cambridge Street Somerville, MA 02144",
"tracking_code":"K7QFBN58KJ3D",
"lat":42.4353033,
"lng":-71.1544177,
"address2":null,
"instructions":null,
"business_name":null,
"contact":{
"phone":null,
"email":null
},
"completed_at":1776210833216, //timestamp in milliseconds
"status":"COMPLETED",
"type":"DROPOFF",
"pods":[
{
"type":null,
"image":"e125a42b-b4c7-40a1-9c92-c0291616da58_deliveryphoto_1.jpg",
"imageType":"deliveryphoto",
"confirmedType":null,
"position":null,
"name":null,
"source":"CAMERA",
"status":"PROCESSED",
"meta":{
},
"updatedAt":1776210818539 //timestamp in milliseconds
}
],
"order_ids":"[]",
"estimated_arrival_time":1776213909000, //timestamp in milliseconds
"actual_arrival_time":null,
"deliver_after":null,
"deliver_before":null,
"tracking":{
"code":null,
"link":"https://test-deliver.metrobi.com/r/K7QFBN58KJ3D"
},
"webhook_url":"https://webhook.site/84d907e9-8470-4044-831d-26c60dc571e1",
"price":23.64,
"price_with_credit":36.206265060240966,
"create_source":"API"
},
"driver":{
"name":"Metrobi Driver",
"phone":"+16055552222"
},
"settings":{
"merge_delivery":false,
"return_to_pickup":false,
"merge_delivery_settings":null
},
"created_at":1776197466353, //timestamp in milliseconds
"updated_at":1776210834193, //timestamp in milliseconds
"all_stops":[
{
"id":"4a3e5df5-ad9d-4010-ada5-71648f82ee85",
"name":"Metrobi",
"address":"55 Court Street Boston MA 02108",
"tracking_code":"VHO2JV3ECC8F",
"lat":42.359308,
"lng":-71.058981,
"address2":null,
"instructions":null,
"business_name":null,
"contact":{
"phone":null,
"email":null
},
"completed_at":1776200546227, //timestamp in milliseconds
"status":"COMPLETED",
"type":"PICKUP",
"pods":[
{
"type":null,
"image":"4a3e7df6-ad8d-4010-ada5-71648f82ee75_loadedvan_1.jpg",
"imageType":"loadedvan",
"confirmedType":null,
"position":null,
"name":null,
"source":"CAMERA",
"status":"UPLOADED",
"meta":{
},
"updatedAt":1776200546700 //timestamp in milliseconds
}
],
"order_ids":"[]",
"estimated_arrival_time":1776211200000, //timestamp in milliseconds
"actual_arrival_time":null,
"deliver_after":null,
"deliver_before":null,
"tracking":{
"code":null,
"link":"https://test-deliver.metrobi.com/r/VHO2KV3ECC8F"
},
"webhook_url":null,
"price":null,
"price_with_credit":null,
"create_source":"DEFAULT"
},
{
"id":"e125a42b-b4c7-40a1-9c92-c0291616da98",
"name":"John",
"address":"3 Cambridge Street Somerville, MA 02144",
"tracking_code":"K7QFBN58KJ9D",
"lat":42.4353033,
"lng":-71.1544177,
"address2":null,
"instructions":null,
"business_name":null,
"contact":{
"phone":null,
"email":null
},
"completed_at":1776210833216, //timestamp in milliseconds
"status":"COMPLETED",
"type":"DROPOFF",
"pods":[
{
"type":null,
"image":"e125a42b-b4c7-40a1-9c92-c0291616da58_deliveryphoto_1.jpg",
"imageType":"deliveryphoto",
"confirmedType":null,
"position":null,
"name":null,
"source":"CAMERA",
"status":"PROCESSED",
"meta":{
},
"updatedAt":1776210818539
}
],
"order_ids":"[]",
"estimated_arrival_time":1776213909000, //timestamp in milliseconds
"actual_arrival_time":null,
"deliver_after":null,
"deliver_before":null,
"tracking":{
"code":null,
"link":"https://test-deliver.metrobi.com/r/K7QFBN58KJ9D"
},
"webhook_url":"https://webhook.site/84d907e9-8470-4044-831d-26c60dc571e1",
"price":23.64,
"price_with_credit":36.206265060240966,
"create_source":"API"
}
]
}
Stop types
Each stop in a delivery has a type field.
The stop's type can be:
- PICKUP
- DROPOFF
- RETURN
A delivery can have only one pickup stop and up to 50 dropoffs.
Delivery status
Each stop in a delivery has a status field that reflects the delivery status at that moment. The status change of a dropoff is what triggers the delivery events sent to the webhook.
The status can be:
- INPROGRESS
- COMPLETED
- CANCELLED
Track deliveries through the Metrobi receiver platform
Each stop in a delivery has a tracking link that can be used to follow the assigned driver’s live location through the Metrobi Receiver Platform once the stop is in progress.