Cancel a recurring add-on (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/orgs/{orgId}/recurring-addons/{addonId}

Stops the future periods of the add-on; the period under way is still billed in full, so this is not a refund. Cancelling an already cancelled add-on changes nothing; returns 404 when the add-on does not belong to the organization. Super admin only.

Path parameters

  • orgId string Required

    Id of the organization

  • addonId string Required

    Id of the recurring add-on record

application/json

Body Required

  • reason string Required

    Required audit reason — persisted on the BillingEvent

Responses

  • 200 application/json
    Hide response attributes Show response attributes object
    • data object Required
      Hide data attributes Show data attributes object
      • id string Required
      • organization string Required
      • case string | null Required
      • skuKey string Required

        Values are collection.phone, collection.social, collection.email, collection.ai-chat, collection.financial, collection.discord, collection.reddit, collection.linkedin, collection.legal, collection.file, collection.other, case.flat, case.pro-upgrade, addon.kit-rental, addon.laptop-rental, addon.laptop-rental-setup, addon.managed-service, addon.shipping, addon.live-bank, plan.base, source.per, ai.tokens-overage, adjustment.manual, or adjustment.discount.

      • recurrence string Required

        Values are monthly or semiannual.

      • startedAt string(date-time) Required

        Period anchor as well as the start date — every period falls on this day-of-month, not the 1st

      • canceledAt string(date-time) | null Required
      • status string Required

        Values are active or canceled.

      • externalRef string Required

        Caller-supplied dedup token

    • statusCode number Required
    • timestamp string(date-time) Required
DELETE /admin/orgs/{orgId}/recurring-addons/{addonId}
curl \
 --request DELETE 'http://api.example.com/admin/orgs/{orgId}/recurring-addons/{addonId}' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{
  "reason": "string"
}'
Request examples
{
  "reason": "string"
}
Response examples (200)
{
  "data": {
    "id": "65a1b2c3d4e5f6a7b8c9d0f1",
    "organization": "65a1b2c3d4e5f6a7b8c9d0e3",
    "case": "string",
    "skuKey": "addon.laptop-rental",
    "recurrence": "monthly",
    "startedAt": "2026-01-15T10:15:00.000Z",
    "canceledAt": "2026-05-04T09:42:00Z",
    "status": "active",
    "externalRef": "rental-2026-001"
  },
  "statusCode": 200,
  "timestamp": "2026-01-15T10:15:00.000Z"
}