apply_coupon
Swiggy Instamart: Apply a coupon code to the current cart. Returns the full updated cart with discount reflected in billBreakdown. Gated — only available for whitelisted accounts.
Swiggy Instamart: Apply a coupon code to the current Instamart cart. The coupon code is case-insensitive (auto-uppercased). Returns the full updated cart with the discount reflected in billBreakdown — same structure as get_cart.
Whitelist gate: This tool is only enabled for whitelisted accounts. Non-whitelisted users receive
success: falsewith a specific error message — treat it as a business gate, not a tool error.
Example
const result = await client.callTool({
name: "apply_coupon",
arguments: {
couponCode: "SAVE100",
},
});Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
couponCode | string | yes | Coupon code to apply. Case-insensitive — automatically uppercased. Use a code from list_coupons. |
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
Success — returns the full updated cart (same shape as get_cart):
{
"success": true,
"data": { /* full cart object — same structure as get_cart response */ },
"message": "optional human-readable message"
}
datais the complete updated cart. The discount is reflected indata.billBreakdown. There is no separate "coupon applied" confirmation field — checkbillBreakdownfor the discount amount.
Non-whitelisted users:
{
"success": false,
"error": { "message": "Coupon tools are not enabled for your account yet." }
}
On other failures (invalid code, expired, etc.):
{
"success": false,
"error": { "message": "description of what went wrong" }
}
See Error codes for the full catalogue.
Details
| Field | Value |
|---|---|
| Name | apply_coupon |
| MCP Server | Instamart |
| Endpoint | POST mcp.swiggy.com/im |
| Stage | Cart |
| Behaviour | mutating |
Agent guidance
Call list_coupons first to get valid codes and their applicabilityStatus. Pass a code with applicabilityStatus: "APPLICABLE" into this tool.
Next in this journey →
Continue with checkout to place the order.