Skip to main content

Resume subscription

METHODURL
POST/subscriptions/{subscriptionId}/resume
EXAMPLEhttps://test.api.revuppayments.com/v2/subscriptions/{subscriptionId}/resume

Endpoint to resume a paused subscription.


Success responses - Resume subscription​

HTTP CODEDESCRIPTION
200Subscription has been resumed and the response is in the body in JSON format.

Success response example - Resume subscription​

{
"id": "0195146b-fb77-73b4-bb92-ba8bc2180433",
"planId": "4aa7c1e4-cf8c-4d1c-a6ad-451dd07411ee",
"status": "fulfilled",
"cycle": 1,
"createdAt": "2025-02-17T15:00:12.491953Z",
"modifiedAt": "2025-02-17T15:07:14.095555Z"
}

Error responses - Resume subscription​

HTTP CODEERROR CODEERROR MESSAGEDESCRIPTION
5000900Internal Server ErrorThe server experienced an unexpected error.
4040020Subscription not foundSubscription %s not found

Bulk resume subscriptions​

METHODURL
POST/subscriptions/bulk/resume
EXAMPLEhttps://test.api.revuppayments.com/v2/subscriptions/bulk/resume

Queues a resume command for every subscription in the request. The endpoint validates the request, publishes one command per subscription and answers 202 Accepted: no resume logic runs synchronously, so 202 means the request was queued, never that it was completed.

curl --location 'https://test.api.revuppayments.com/v2/subscriptions/bulk/resume' \
--header 'Content-Type: application/json' \
--header 'x-api-key: {X_API_KEY}' \
--data '{
"subscriptions": [
"0195146b-fb77-73b4-bb92-ba8bc2180433",
"0195146c-1a2b-73b4-bb92-ba8bc2180999"
]
}'

Headers

NameDescriptionRequired
X_API_KEYMerchant API key. The merchant is resolved from this key; it is never sent in the path or body.YES
Content-TypeMust be application/json.YES

Body

NameDescriptionRequired
subscriptionsArray of subscription IDs (UUID) to resume. Must contain at least 1 and at most 3000 identifiers. Every identifier must be a valid UUID.YES

Example Response — 202 Accepted

{
"requestId": "0195146b-fb77-73b4-bb92-ba8bc2180433",
"operation": "RESUME",
"acceptedCount": 2
}
FieldDescription
requestIdCorrelation identifier shared by every command published for this request. Use it to trace the operation in the logs. It is not a bulk-job identifier and cannot be queried.
operationThe requested operation: RESUME.
acceptedCountNumber of subscription commands successfully queued.

First retry after resuming a paused subscription

When a paused subscription with a pending payment is resumed, the pending payment is charged immediately. If the payment fails, the first retry may occur sooner than the retry interval configured in the plan, potentially as soon as the following day.

This is expected behavior. Retry dates are calculated based on the payment's original due date, which remains unchanged while the subscription is paused. Upon resumption, the system schedules the next retry according to the original retry schedule, without replaying retries that would have occurred during the pause.

Example: For a plan configured with retries every 7 days, resuming a subscription on September 29 may trigger an immediate payment attempt. If that attempt fails, the next retry may occur on September 30, rather than 7 days later. Subsequent retries follow the configured 7-day interval.

Important considerations:

  • This behavior affects only the first retry after resuming a paused subscription with a pending payment.
  • The first retry may occur anywhere from a few hours to the full configured retry interval after the failed charge, depending on when the subscription is resumed.
  • The configured number of retries is not affected; only the timing of the first retry may differ from the expected interval.
  • Merchants should account for this behavior when resuming subscriptions to avoid assuming that the configured retry interval will always apply immediately after the first failed charge.