update_delivery
Modify delivery details like addresses, times, or instructions for an existing DoorDash order to correct information or adjust delivery parameters.
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)Handler function for the 'update_delivery' MCP tool. Destructures 'external_delivery_id' from args and forwards the rest to DoorDashClient.updateDelivery.handler: (client, args) => { const { external_delivery_id, ...updateArgs } = args; return client.updateDelivery(external_delivery_id, updateArgs); },
- index.js:133-156 (schema)Input schema (JSON Schema) for the 'update_delivery' tool, defining all updatable delivery 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'], },
- index.js:130-161 (registration)Registration of the 'update_delivery' tool in the TOOLS array used by MCP server for listing and calling 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); }, },