CommetCommet
GitHubDiscordStatus
Adjust balance POSTApply an Offer to a subscription PUTCancel subscription POSTChange plan POSTCreate a recovery payment link for a past due subscription POSTCreate subscription POSTGet active subscription GETGet subscription by ID GETList subscriptions GETPause subscription POSTPreview plan change POSTReactivate a past due or canceled subscription POSTRemove an Offer from a pending checkout DELETEResume subscription POSTRevoke scheduled pause DELETETop up balance POSTRevert scheduled cancellation POSTUpdate payment method POSTUpdate subscription pause PATCH
DocumentationKnowledge BaseBuild with AIAPI ReferenceWebhooks

Update subscription pause

Change the duration of a scheduled or active pause. Set durationDays to null to make it indefinite.

PATCH
/subscriptions/{id}/pause

Change the duration of a scheduled or active pause. Set durationDays to null to make it indefinite.

Authorization

ApiKeyAuth
x-api-key<token>

In: header

Path Parameters

id*string

Header Parameters

Idempotency-Key?string

Unique key used to safely retry this write for 24 hours without applying it twice.

Length1 <= length <= 200

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PATCH "https://example.com/subscriptions/string/pause" \  -H "Content-Type: application/json" \  -d '{    "durationDays": 1  }'
{  "id": "sub_1a2b3c4d",  "customerId": "cus_1a2b3c4d",  "plan": {    "id": "plan_1a2b3c4d",    "name": "Pro",    "basePrice": 2000  },  "name": "Pro",  "description": null,  "status": "paused",  "billingInterval": "monthly",  "trialEndsAt": null,  "currentPeriod": {    "start": "2026-09-07T12:00:00.000Z",    "end": "2026-10-07T12:00:00.000Z",    "daysRemaining": 30  },  "cancellation": null,  "cancelAtPeriodEnd": false,  "scheduledPlanChange": null,  "startDate": "2026-09-07T12:00:00.000Z",  "endDate": null,  "billingDayOfMonth": 7,  "nextBillingDate": null,  "checkoutUrl": null,  "createdAt": "2026-09-07T12:00:00.000Z",  "updatedAt": "2026-09-07T12:00:00.000Z",  "offerApplications": [],  "pause": {    "status": "active",    "mode": "immediate",    "requestedAt": "2026-09-07T12:00:00.000Z",    "effectiveAt": "2026-09-07T12:00:00.000Z",    "resumeAt": "2026-11-07T12:00:00.000Z"  },  "priceId": "price_1a2b3c4d",  "object": "subscription",  "livemode": false,  "consumptionModel": "metered",  "features": [    {      "code": "api_calls",      "name": "API Calls",      "type": "usage",      "usage": {        "current": 250,        "included": 1000,        "overageQuantity": 0,        "unlimited": false      }    }  ],  "credits": null,  "balance": null}
{  "error": {    "type": "validation_error",    "code": "validation_error",    "message": "The request contains an invalid parameter.",    "doc_url": "https://commet.co/docs/api-reference/2026-08-27/errors/validation_error.md"  }}
{  "error": {    "type": "authentication_error",    "code": "unauthorized",    "message": "A valid API key is required.",    "doc_url": "https://commet.co/docs/api-reference/2026-08-27/errors/unauthorized.md"  }}
{  "error": {    "type": "authentication_error",    "code": "forbidden",    "message": "You do not have permission to perform this operation.",    "doc_url": "https://commet.co/docs/api-reference/2026-08-27/errors/forbidden.md"  }}
{  "error": {    "type": "not_found_error",    "code": "not_found",    "message": "The requested resource was not found.",    "doc_url": "https://commet.co/docs/api-reference/2026-08-27/errors/not_found.md"  }}
{  "error": {    "type": "conflict_error",    "code": "idempotency_in_progress",    "message": "A request with this idempotency key is still being processed.",    "doc_url": "https://commet.co/docs/api-reference/2026-08-27/errors/idempotency_in_progress.md"  }}
{  "error": {    "type": "rate_limit_error",    "code": "rate_limited",    "message": "Too many requests. Retry after the interval specified in the Retry-After header.",    "doc_url": "https://commet.co/docs/api-reference/2026-08-27/errors/rate_limited.md"  }}
{  "error": {    "type": "internal_error",    "code": "internal_error",    "message": "An unexpected error occurred while processing the request.",    "doc_url": "https://commet.co/docs/api-reference/2026-08-27/errors/internal_error.md"  }}
{  "error": {    "type": "internal_error",    "code": "idempotency_unavailable",    "message": "Idempotency storage is temporarily unavailable. Retry with the same idempotency key.",    "doc_url": "https://commet.co/docs/api-reference/2026-08-27/errors/idempotency_unavailable.md"  }}

Update payment method POST

Creates a hosted checkout session for the customer to update the subscription's default payment method.

Advance test clock POST

Starts a durable run that moves the test clock forward and processes every billing deadline due before the target time. Poll GET /test-clock for progress and terminal results. Sandbox only.

durationDays*|null