Admin — subscriptions
7 endpoints in this group. All paths are prefixed with /api/v1.
Endpoints in this group#
POST /api/v1/admin/subscriptions— Admin Create SubscriptionPOST /api/v1/admin/subscriptions/bulk— Admin Bulk Subscription ActionPOST /api/v1/admin/subscriptions/{subscription_id}/cancel— Admin Cancel SubscriptionGET /api/v1/admin/subscriptions/{subscription_id}/history— Admin Subscription HistoryPOST /api/v1/admin/subscriptions/{subscription_id}/override— Admin Override SubscriptionPOST /api/v1/admin/subscriptions/{subscription_id}/resume— Admin Resume SubscriptionPOST /api/v1/admin/subscriptions/{subscription_id}/suspend— Admin Suspend Subscription
POST /api/v1/admin/subscriptions — Admin Create Subscription {#post-api-v1-admin-subscriptions}#
Parameters:
authorization(header, string, optional)
Body: AdminSubscriptionCreateRequest — {tenant_id, partner_id, service_slug, plan_id + 1 more}
Responses:
201— Successful Response. Returns:ApiResponse_SubscriptionResponse_— {data,meta}422— Validation Error. Returns:HTTPValidationError— {detail}
POST /api/v1/admin/subscriptions/bulk — Admin Bulk Subscription Action {#post-api-v1-admin-subscriptions-bulk}#
Apply the same lifecycle action to many subscriptions at once.
Best-effort: per-row failures are reported back with the reason rather than rolling back the whole batch.
Parameters:
authorization(header, string, optional)
Body: BulkActionRequest — {subscription_ids, action, reason}
Responses:
200— Successful Response. Returns:ApiResponse_BulkActionResult_— {data,meta}422— Validation Error. Returns:HTTPValidationError— {detail}
POST /api/v1/admin/subscriptions/{subscription_id}/cancel — Admin Cancel Subscription {#post-api-v1-admin-subscriptions-subscription-id-cancel}#
Cancel a subscription. Default is end-of-period (sets status='cancelling', cancel_requested_at=now); set immediate=true to terminate right away.
Parameters:
subscription_id(path, string, required)authorization(header, string, optional)
Body: CancelRequest — {immediate, reason}
Responses:
200— Successful Response. Returns:ApiResponse_SubscriptionResponse_— {data,meta}422— Validation Error. Returns:HTTPValidationError— {detail}
GET /api/v1/admin/subscriptions/{subscription_id}/history — Admin Subscription History {#get-api-v1-admin-subscriptions-subscription-id-history}#
Audit-log entries scoped to this subscription, newest first.
Parameters:
subscription_id(path, string, required)authorization(header, string, optional)
Responses:
200— Successful Response. Returns:ApiResponse_list_SubscriptionHistoryEntry__— {data,meta}422— Validation Error. Returns:HTTPValidationError— {detail}
POST /api/v1/admin/subscriptions/{subscription_id}/override — Admin Override Subscription {#post-api-v1-admin-subscriptions-subscription-id-override}#
Parameters:
subscription_id(path, string, required)authorization(header, string, optional)
Body: AdminSubscriptionOverrideRequest — {plan_id, status}
Responses:
200— Successful Response. Returns:ApiResponse_SubscriptionResponse_— {data,meta}422— Validation Error. Returns:HTTPValidationError— {detail}
POST /api/v1/admin/subscriptions/{subscription_id}/resume — Admin Resume Subscription {#post-api-v1-admin-subscriptions-subscription-id-resume}#
Bring a subscription back to 'active' from 'cancelling' or 'suspended'.
Parameters:
subscription_id(path, string, required)authorization(header, string, optional)
Responses:
200— Successful Response. Returns:ApiResponse_SubscriptionResponse_— {data,meta}422— Validation Error. Returns:HTTPValidationError— {detail}
POST /api/v1/admin/subscriptions/{subscription_id}/suspend — Admin Suspend Subscription {#post-api-v1-admin-subscriptions-subscription-id-suspend}#
Suspend an active subscription (admin-driven pause).
Parameters:
subscription_id(path, string, required)authorization(header, string, optional)
Responses:
200— Successful Response. Returns:ApiResponse_SubscriptionResponse_— {data,meta}422— Validation Error. Returns:HTTPValidationError— {detail}