Skip to main content
The renewal cycle endpoints expose the Admin renewal queue and let you act on individual cycles. You can list scheduled or failed cycles for DataTable views, fetch a full detail payload including attempt history and approval state, force-run a cycle manually, and approve or reject pending subscription changes before a cycle executes. All routes require an authenticated Medusa Admin user. All mutations are workflow-backed and return the refreshed detail payload.
All routes require an authenticated Medusa Admin user. Unauthenticated requests return 401.

Status values

Approval status values: pending, approved, rejected. When approval is not required, the approval object returns status: null. Attempt status values: processing, succeeded, failed.

GET /admin/renewals

Returns the paginated renewal queue for Admin DataTable views.

Query parameters

number
Number of results per page.
number
Zero-based result offset for pagination.
string
Free-text search across subscription reference, customer name, and product title.
string
Field to sort by. Database-backed: scheduled_for, updated_at, created_at, status, approval_status, processed_at. In-memory: last_attempt_status, subscription_reference, customer_name, product_title, order_display_id.
string
Sort direction. One of asc or desc.
string | string[]
Filter by cycle status.
string | string[]
Filter by approval status.
string
ISO datetime lower bound for scheduled_for.
string
ISO datetime upper bound for scheduled_for.
string | string[]
Filter by the status of the most recent attempt.
string
Filter to renewals for a specific subscription.
string
Filter by the ID of the order generated by a renewal.

Response

object[]
required
Array of renewal cycle list items.
number
required
Total matching records.
number
required
Page size used.
number
required
Result offset used.
Response example

Errors


GET /admin/renewals/:id

Returns the full detail payload for a single renewal cycle, including the full attempt history and operational metadata.

Path parameters

string
required
Renewal cycle ID.

Response

Returns a renewal object with all list fields plus:
object
required
Response example

Errors


POST /admin/renewals/:id/force

Manually triggers execution for a renewal cycle, ignoring its scheduled date.

Path parameters

string
required
Renewal cycle ID.

Body parameters

string
Optional reason for the manual trigger.
Request example

Errors


POST /admin/renewals/:id/approve-changes

Approves pending subscription changes for a renewal cycle that requires approval before execution.

Path parameters

string
required
Renewal cycle ID.

Body parameters

string
Optional approval reason.
Request example

Errors


POST /admin/renewals/:id/reject-changes

Rejects pending subscription changes for a renewal cycle. reason is required for rejections.

Path parameters

string
required
Renewal cycle ID.

Body parameters

string
required
Reason for rejection. Required.
Request example

Errors