Delete a coupon (internal)

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://docs.usehearsay.com/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
{
  "integrations MCP server": {
    "url": "https://docs.usehearsay.com/mcp"
  }
}

Close
DELETE /admin/billing/coupons/{couponId}

Deletes the coupon in Stripe so it can no longer be applied and marks the local copy deleted; discounts already on a customer or an invoice stay. Returns the coupon, or 404 for an unknown code. Super admin only.

Path parameters

  • couponId string Required

    Stripe coupon id / redeemable code

Responses

  • 200 application/json
    Hide response attributes Show response attributes object
    • data object Required
      Hide data attributes Show data attributes object
      • couponId string Required

        Stripe coupon id — the redeemable code

      • name string | null Required
      • percentOff number | null Required
      • amountOffCents number | null Required
      • currency string | null Required
      • duration string Required

        Values are once, repeating, or forever.

      • durationInMonths number | null Required
      • maxRedemptions number | null Required
      • redeemBy string(date-time) | null Required
      • timesRedeemed number Required
      • status string Required

        Derived from deletedAt/redeemBy at read time, never stored

        Values are active, expired, or deleted.

      • reason string | null Required
      • deletedAt string(date-time) | null Required
    • statusCode number Required
    • timestamp string(date-time) Required
DELETE /admin/billing/coupons/{couponId}
curl \
 --request DELETE 'http://api.example.com/admin/billing/coupons/{couponId}' \
 --header "Authorization: Bearer $ACCESS_TOKEN"
Response examples (200)
{
  "data": {
    "couponId": "SPRING20",
    "name": "Spring 20% off",
    "percentOff": 20,
    "amountOffCents": 42.0,
    "currency": "string",
    "duration": "repeating",
    "durationInMonths": 3,
    "maxRedemptions": 50,
    "redeemBy": "2026-06-30T23:59:59.000Z",
    "timesRedeemed": 4,
    "status": "active",
    "reason": "Spring promotion approved by sales",
    "deletedAt": "2026-05-04T09:42:00Z"
  },
  "statusCode": 200,
  "timestamp": "2026-01-15T10:15:00.000Z"
}