{
  "slug": "stripe-subscriptions-can-be-paused-and-resumed-on-demand-18253f992aab",
  "title": "Stripe Subscriptions can be paused and resumed on demand",
  "tools": [
    "stripe"
  ],
  "tags": [
    "agent"
  ],
  "introduced_at": "2026-09-30T00:00:00.000Z",
  "announced_at": "2026-09-30T00:00:00.000Z",
  "effective_at": null,
  "date_basis": "source-publication",
  "status": "unknown",
  "how": {
    "incantation": "When pausing or resuming a subscription, use flexible billing mode and handle its paused status and pause/resume events to update service access. Stripe’s versioned pause and resume API details, including the new fields, were not accessible in the documentation search.",
    "examples": [
      "curl https://api.stripe.com/v1/subscriptions/<SUBSCRIPTION_ID>/resume \\\n  -u \"<SECRET_KEY>:\" \\\n  -d billing_cycle_anchor=now"
    ],
    "gotchas": [
      "Version: 2026-09-30.endive",
      "billing_cycle_anchor: Resume-time billing cycle anchor: `now` or `unchanged`; defaults to `now`.",
      "status: Subscription status may be `paused`. The current object reference does not document `status_details`.",
      "customer.subscription.paused: Event emitted when a subscription enters `status=paused`; not when payment collection is paused.",
      "customer.subscription.resumed: Event emitted when a subscription is no longer paused; not when payment collection resumes.",
      "Prerequisite: Flexible billing mode requires Stripe API version `2025-06-30.basil` or later. API-created subscriptions use flexible mode by default on `2025-09-30.clover` or later; otherwise set the billing mode explicitly or migrate existing subscriptions.",
      "Prerequisite: The Subscription reference says a paused subscription does not generate invoices; pausing payment collection leaves status unchanged and still generates invoices.",
      "Flexible billing mode must be enabled to pause a subscription.",
      "Pausing a subscription stops invoice generation; pausing payment collection instead continues invoice generation but pauses payment collection.",
      "Docs conflict: Current subscription object reference says a subscription can only enter `paused` when a trial ends without a payment method. The release note describes on-demand pausing; this reference may predate the stated release version, so it does not establish the new behavior."
    ]
  },
  "why_it_matters": "When implementing subscription lifecycle handling, pause and resume a subscription and update service access based on subscription events.",
  "sources": [
    "https://docs.stripe.com/changelog/endive/2026-09-30/pause-subscription",
    "https://docs.stripe.com/api/subscriptions/resume?lang=java",
    "https://docs.stripe.com/api/subscriptions?lang=go&lang%29=",
    "https://docs.stripe.com/api/events/types?event_types-invoice.payment_succeeded=",
    "https://docs.stripe.com/billing/subscriptions/billing-mode"
  ],
  "rank": 0.95059,
  "judge": {
    "publish": true,
    "judge_model": "codex-cli/gpt-6-luna+typesafe/jev-1.13.0",
    "prompt_version": "extract-v7+enrich-v2+judge-v2x3+jev-publish-v1"
  },
  "review_state": "approved",
  "provenance": {
    "run_id": "wave1b-tools-20261017",
    "verdict_id": "wave1b-tools-20261017:wave1b-tools-20261017-4db0c67f15bcb9e7-0:gate",
    "evidence_hash": "691e7d1973e4ee33bb9d1da870659bf1215d80ccc97bb7d8c2c5f5a8af5a6d85"
  },
  "review": {
    "draft_hash": "1099c07029586a597dbbbe013e369eb0e24c0fb0c9e88c2e7dcd7664fa9e7186",
    "reviewer": "publication-gate",
    "reviewed_at": "2026-10-07T00:00:00.000Z",
    "decision": "wave1b-tools-20261017:gate",
    "reason": "2 of 3 judge runs approved with p_yes >= 0.9 (mean 0.95 >= 0.9; 2 needed) and Jev gave 0.73 (>= 0.6 needed)."
  }
}
