get_delivery_status
See get_delivery_status in actionComing soon
Usage notes
- Use for structured delivery ETA refreshes after an Instamart order is placed.
- Do not call in a tight loop. Wait for
pollIntervalSec, and stop whencancelledordeliveredistrue. - For a user-facing conversational tracking answer, prefer
track_order.
Example
const result = await client.callTool({
name: "get_delivery_status",
arguments: {
orderId: "ord_42",
addressId: "addr_01HXYZ",
},
});Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
orderId | string | yes | Order ID to fetch the delivery ETA for (required). |
addressId | string | yes | Delivery address ID for the order (required; coords resolved automatically). |
Session credentials (user identity, access token) are supplied automatically by the authenticated MCP session - you do not pass them in the tool call. See Authenticate.
Response
All Swiggy MCP tools return:
{
"success": true,
"data": { /* tool-specific payload */ },
"message": "optional human-readable message"
}
On failure:
{
"success": false,
"error": { "message": "description of what went wrong" }
}
See Error codes for the full catalogue.
Output schema
data: {
orderId: string;
deliveryBy: number | null; // epoch milliseconds
serverNow: number; // epoch milliseconds
etaText?: string;
cancelled?: boolean;
delivered?: boolean;
statusText?: string;
pollIntervalSec: number;
}
This schema documents the structured payload returned by get_delivery_status. Optional fields can vary by user state, cart state, and live Swiggy availability.
Schema notes
deliveryBy: absolute ETA as epoch milliseconds. It can benullwhen the tracking service does not provide a parseable ETA.serverNow: server timestamp as epoch milliseconds at call time; clients can use it to compute a countdown.pollIntervalSec: recommended wait before the next delivery-status check.cancelled/delivered: terminal delivery flags. Stop delivery-status polling when either istrue.statusText: human-readable tracking status, especially useful when numeric ETA is unavailable.orderId: order identifier for tracking, support, payment confirmation, and cancellation flows. Preserve formatting exactly as returned.pollIntervalSec: polling hints for status refreshes. Do not poll faster than the returned interval; stop when a terminal status is returned.deliveryBy/serverNow/etaText: ETA/tracking fields. Use formatted ETA text when present; timestamp fields can be used to compute countdowns.- Fields marked optional may be omitted depending on user state, cart/order state, and live Swiggy availability.
- Use returned identifiers and enum values exactly as provided; do not invent fallback IDs, status values, payment methods, or timestamps.
Details
| Field | Value |
|---|---|
| Name | get_delivery_status |
| MCP Server | Instamart |
| Endpoint | POST mcp.swiggy.com/im |
| Stage | Track |
| Behaviour | read-only |