Pause subscription
Pause an active subscription. While paused: - No new invoices are generated - The subscription status changes to "paused" - The customer retains access until the current period ends (depending on your business logic) **Behavior Options:** - `keep_as_draft`: Invoices are created as drafts (default) - `mark_uncollectible`: Invoices are marked uncollectible - `void`: Invoices are voided Optionally set `resumes_at` to automatically resume at a future date. --- **Related endpoints** - `POST /subscriptions` — Create a new subscription - `GET /subscriptions` — List subscriptions - `GET /subscriptions/{id}` — Get subscription by ID - `PATCH /subscriptions/{id}` — Update subscription details - `DELETE /subscriptions/{id}` — Delete subscription - `POST /subscriptions/{id}/change-plan` — Change subscription plan - `POST /subscriptions/{id}/change-quantity` — Change subscription quantity - `POST /subscriptions/{id}/preview-renewal` — Preview subscription renewal **Common errors** - `400 invalid_request` — malformed payload or failed validation. - `401 authentication_error` — missing, invalid, expired, or revoked credential. Codes: `authentication_failed`, `invalid_api_key`, `expired_api_key`, `api_key_revoked`, `session_invalid`, `merchant_required`. Carries a `WWW-Authenticate: Bearer` challenge. - `404 resource_missing` — the referenced resource does not exist or is not visible to your key. **Idempotency** Pass an `Idempotency-Key` header (UUID v4 recommended) to make retries safe. Keys are valid for 24 hours; see [the idempotency guide](/docs/fundamentals/idempotency).
Pause an active subscription. While paused:
- No new invoices are generated
- The subscription status changes to "paused"
- The customer retains access until the current period ends (depending on your business logic)
Behavior Options:
keep_as_draft: Invoices are created as drafts (default)mark_uncollectible: Invoices are marked uncollectiblevoid: Invoices are voided
Optionally set resumes_at to automatically resume at a future date.
Related endpoints
POST /subscriptions— Create a new subscriptionGET /subscriptions— List subscriptionsGET /subscriptions/{id}— Get subscription by IDPATCH /subscriptions/{id}— Update subscription detailsDELETE /subscriptions/{id}— Delete subscriptionPOST /subscriptions/{id}/change-plan— Change subscription planPOST /subscriptions/{id}/change-quantity— Change subscription quantityPOST /subscriptions/{id}/preview-renewal— Preview subscription renewal
Common errors
400 invalid_request— malformed payload or failed validation.401 authentication_error— missing, invalid, expired, or revoked credential. Codes:authentication_failed,invalid_api_key,expired_api_key,api_key_revoked,session_invalid,merchant_required. Carries aWWW-Authenticate: Bearerchallenge.404 resource_missing— the referenced resource does not exist or is not visible to your key.
Idempotency
Pass an Idempotency-Key header (UUID v4 recommended) to make retries safe. Keys are valid for 24 hours; see the idempotency guide.
Your RevKeen merchant API key. Create and manage keys in Dashboard → Settings → Developer. Use rk_sandbox_* for staging/test and rk_live_* for production. The same key may be sent as Authorization: Bearer <key> if that suits your HTTP client better. A missing, invalid, expired, or revoked key returns 401 with a WWW-Authenticate: Bearer challenge; a valid key without the required scope returns 403.
In: header
Path Parameters
Subscription UUID
uuidRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Parameters for pausing an active subscription. Specify when billing should resume.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://api.revkeen.com/v2/subscriptions/00000000-0000-0000-0000-000000000000/pause" \
-H "x-api-key: $REVKEEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"behavior": "keep_as_draft",
"resumes_at": "2024-02-15T00:00:00Z"
}'{ "data": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "merchant_id": "500924a8-3f5e-4c00-beb8-2efcde988aea", "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e", "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1", "price_id": "5eff5d89-979e-4e4f-aa76-6cbbbf11362c", "plan_id": "00713021-9aea-41da-9a88-87760c08fa72", "status": "string", "quantity": 0, "amount_minor": 0, "currency": "string", "billing_interval": "string", "current_period_start": "2019-08-24T14:15:22Z", "current_period_end": "2019-08-24T14:15:22Z", "trial_end": "2019-08-24T14:15:22Z", "canceled_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "dunning": { "is_in_dunning": true, "phase": 0, "phase_label": "string", "phase_severity": "info", "retry_count": 0, "total_possible_retries": 0, "next_retry_at": "2019-08-24T14:15:22Z", "days_in_dunning": 0, "access_restricted": true } }}List subscriptions GET
Retrieve a paginated list of subscriptions with optional filters --- **Related endpoints** - `POST /subscriptions` — Create a new subscription - `GET /subscriptions/{id}` — Get subscription by ID - `PATCH /subscriptions/{id}` — Update subscription details - `DELETE /subscriptions/{id}` — Delete subscription - `POST /subscriptions/{id}/change-plan` — Change subscription plan - `POST /subscriptions/{id}/change-quantity` — Change subscription quantity - `POST /subscriptions/{id}/preview-renewal` — Preview subscription renewal - `POST /subscriptions/{id}/pause` — Pause subscription **Common errors** - `401 authentication_error` — missing, invalid, expired, or revoked credential. Codes: `authentication_failed`, `invalid_api_key`, `expired_api_key`, `api_key_revoked`, `session_invalid`, `merchant_required`. Carries a `WWW-Authenticate: Bearer` challenge. **Pagination** Offset-based with `limit` (default 25, max 100) and `offset`. The response `pagination` block includes `total` and `hasMore`. See [the pagination guide](/docs/fundamentals/pagination) for SDK auto-paging helpers.
Preview subscription renewal POST
Preview the upcoming renewal dates and amounts for an existing subscription. This uses the same billing calculation logic as the actual scheduler to show exactly when and how much the subscription will be billed (Key Invariant #4: Preview === Scheduler). --- **Related endpoints** - `POST /subscriptions` — Create a new subscription - `GET /subscriptions` — List subscriptions - `GET /subscriptions/{id}` — Get subscription by ID - `PATCH /subscriptions/{id}` — Update subscription details - `DELETE /subscriptions/{id}` — Delete subscription - `POST /subscriptions/{id}/change-plan` — Change subscription plan - `POST /subscriptions/{id}/change-quantity` — Change subscription quantity - `POST /subscriptions/{id}/pause` — Pause subscription **Common errors** - `401 authentication_error` — missing, invalid, expired, or revoked credential. Codes: `authentication_failed`, `invalid_api_key`, `expired_api_key`, `api_key_revoked`, `session_invalid`, `merchant_required`. Carries a `WWW-Authenticate: Bearer` challenge. - `404 resource_missing` — the referenced resource does not exist or is not visible to your key. **Idempotency** Pass an `Idempotency-Key` header (UUID v4 recommended) to make retries safe. Keys are valid for 24 hours; see [the idempotency guide](/docs/fundamentals/idempotency).