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: false with a specific error message — treat it as a business gate, not a tool error.

See apply_coupon in actionComing soon

Example

const result = await client.callTool({
  name: "apply_coupon",
  arguments: {
    couponCode: "SAVE100",
  },
});

Parameters

ParameterTypeRequiredDescription
couponCodestringyesCoupon 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"
}
  • data is the complete updated cart. The discount is reflected in data.billBreakdown. There is no separate "coupon applied" confirmation field — check billBreakdown for 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

FieldValue
Nameapply_coupon
MCP ServerInstamart
EndpointPOST mcp.swiggy.com/im
StageCart
Behaviourmutating

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.