update_delivery
Modify delivery details like addresses, times, or contact information for DoorDash orders to correct errors or adjust arrangements.
Instructions
Update delivery details such as addresses, times, or other parameters
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| external_delivery_id | Yes | The delivery ID to update | |
| pickup_address | No | New pickup address | |
| pickup_business_name | No | New pickup business name | |
| pickup_phone_number | No | New pickup phone number | |
| pickup_instructions | No | New pickup instructions | |
| dropoff_address | No | New dropoff address | |
| dropoff_business_name | No | New dropoff business name | |
| dropoff_phone_number | No | New dropoff phone number | |
| dropoff_instructions | No | New dropoff instructions | |
| dropoff_contact_given_name | No | Dropoff contact first name | |
| dropoff_contact_family_name | No | Dropoff contact last name | |
| contactless_dropoff | No | Whether delivery should be contactless | |
| tip | No | The tip amount in cents | |
| order_value | No | Updated order value in cents | |
| pickup_time | No | Preferred pickup time (ISO-8601 format) | |
| dropoff_time | No | Preferred dropoff time (ISO-8601 format) | |
| dropoff_requires_signature | No | Whether dropoff requires signature | |
| dropoff_cash_on_delivery | No | Cash to collect on delivery in cents |
Implementation Reference
- index.js:157-160 (handler)The handler function for the 'update_delivery' tool. It destructures the arguments to separate the external_delivery_id and passes the rest as updateArgs to the DoorDash client's updateDelivery method.handler: (client, args) => { const { external_delivery_id, ...updateArgs } = args; return client.updateDelivery(external_delivery_id, updateArgs); },
- index.js:133-156 (schema)Input schema for the update_delivery tool, specifying all possible parameters that can be updated for a delivery.inputSchema: { type: 'object', properties: { external_delivery_id: { type: 'string', description: 'The delivery ID to update' }, pickup_address: { type: 'string', description: 'New pickup address' }, pickup_business_name: { type: 'string', description: 'New pickup business name' }, pickup_phone_number: { type: 'string', description: 'New pickup phone number' }, pickup_instructions: { type: 'string', description: 'New pickup instructions' }, dropoff_address: { type: 'string', description: 'New dropoff address' }, dropoff_business_name: { type: 'string', description: 'New dropoff business name' }, dropoff_phone_number: { type: 'string', description: 'New dropoff phone number' }, dropoff_instructions: { type: 'string', description: 'New dropoff instructions' }, dropoff_contact_given_name: { type: 'string', description: 'Dropoff contact first name' }, dropoff_contact_family_name: { type: 'string', description: 'Dropoff contact last name' }, contactless_dropoff: { type: 'boolean', description: 'Whether delivery should be contactless' }, tip: { type: 'number', description: 'The tip amount in cents' }, order_value: { type: 'number', description: 'Updated order value in cents' }, pickup_time: { type: 'string', description: 'Preferred pickup time (ISO-8601 format)' }, dropoff_time: { type: 'string', description: 'Preferred dropoff time (ISO-8601 format)' }, dropoff_requires_signature: { type: 'boolean', description: 'Whether dropoff requires signature' }, dropoff_cash_on_delivery: { type: 'number', description: 'Cash to collect on delivery in cents' }, }, required: ['external_delivery_id'], },
- index.js:130-161 (registration)The complete tool registration object for 'update_delivery' in the TOOLS array, which is used by the MCP server for listing and executing tools.{ name: 'update_delivery', description: 'Update delivery details such as addresses, times, or other parameters', inputSchema: { type: 'object', properties: { external_delivery_id: { type: 'string', description: 'The delivery ID to update' }, pickup_address: { type: 'string', description: 'New pickup address' }, pickup_business_name: { type: 'string', description: 'New pickup business name' }, pickup_phone_number: { type: 'string', description: 'New pickup phone number' }, pickup_instructions: { type: 'string', description: 'New pickup instructions' }, dropoff_address: { type: 'string', description: 'New dropoff address' }, dropoff_business_name: { type: 'string', description: 'New dropoff business name' }, dropoff_phone_number: { type: 'string', description: 'New dropoff phone number' }, dropoff_instructions: { type: 'string', description: 'New dropoff instructions' }, dropoff_contact_given_name: { type: 'string', description: 'Dropoff contact first name' }, dropoff_contact_family_name: { type: 'string', description: 'Dropoff contact last name' }, contactless_dropoff: { type: 'boolean', description: 'Whether delivery should be contactless' }, tip: { type: 'number', description: 'The tip amount in cents' }, order_value: { type: 'number', description: 'Updated order value in cents' }, pickup_time: { type: 'string', description: 'Preferred pickup time (ISO-8601 format)' }, dropoff_time: { type: 'string', description: 'Preferred dropoff time (ISO-8601 format)' }, dropoff_requires_signature: { type: 'boolean', description: 'Whether dropoff requires signature' }, dropoff_cash_on_delivery: { type: 'number', description: 'Cash to collect on delivery in cents' }, }, required: ['external_delivery_id'], }, handler: (client, args) => { const { external_delivery_id, ...updateArgs } = args; return client.updateDelivery(external_delivery_id, updateArgs); }, },