Plans
Unpublish a plan
Takes the plan off sale: active becomes false and plan.deactivated fires. Members who already joined keep their access; the plan stays fully editable and can be published again. A plan that is already off sale is answered as it is and emits nothing. Answers 200 with the plan.
post/v1/projects/{project}/plans/{plan}/unpublish
Request
- Base URL: https://api.subscriby.net
- URL: https://api.subscriby.net/v1/projects/{project}/plans/{plan}/unpublish
- Auth: HTTP bearer
Path parameters
projectstring uuid required
The project, resolved by the route binder.
planstring uuid required
The plan, resolved within the project by the route binder.
Headers
Idempotency-Keystring uuid required
A key unique to this operation, such as a fresh UUID. The same key replays the original 2xx response for 24 hours (with Idempotent-Replay: true), so a retry after a timeout never repeats the write; the same key with a different body is refused with 409.
Response
The plan, inactive.
Example response
{
"data": {
"id": "c4e82f16-93a7-4d5b-b81c-6e0f27a94d3b",
"project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",
"kind": "subscription",
"name": "Premium Monthly",
"description": "Unlimited access to the research channel.",
"price": "29.00",
"currency": {
"id": "8f27a0d4-63be-4915-8c07-1a5d9e34b628",
"iso": "USD",
"symbol": "$"
},
"active": true,
"sales_cap": 10,
"sales_cap_sold": 3,
"cadence": "Per Month",
"resources": [
{
"id": "b73c5f21-9d80-4a6e-8215-4f70ce13a9d6",
"name": "Research channel",
"kind": "telegram:supergroup",
"connector": "telegram"
}
],
"billing": {
"billing_cycle": "month",
"billing_cycle_count": 1,
"recurring": true,
"trial_days": 7,
"trial_type": "plan"
},
"pass": {
"timezone": "America/New_York",
"schedule_mode": "repeating",
"recurrence": "weekly",
"sales_cutoff_minutes": 60,
"sales_cutoff_anchor": "before_start",
"slots": [
{
"start_time": "09:00",
"duration_minutes": 840
}
],
"upcoming_windows": [
{
"id": "3d5a8c72-b016-4e94-8fa7-61c209d4e738",
"starts_at": "2026-09-20T13:00:00Z",
"ends_at": "2026-09-21T03:00:00Z",
"status": "scheduled"
}
]
},
"pass_series": {
"timezone": "America/New_York",
"prevent_overlaps": true,
"sales_cutoff_anchor": "before_start",
"seat_cap": 50,
"seats_taken": 37,
"seats_remaining": 13,
"starts_at": "2026-09-20T13:00:00Z",
"ends_at": "2026-11-29T22:00:00Z",
"window_count": 10,
"presale_hours": 48,
"windows": [
{
"id": "3d5a8c72-b016-4e94-8fa7-61c209d4e738",
"plan_id": "0b8e6a2f-4c1d-4e3a-9f52-7d6c1b2a3e45",
"plan_name": "Match Day Pass",
"starts_at": "2026-09-20T13:00:00Z",
"ends_at": "2026-09-20T16:00:00Z",
"status": "scheduled"
}
],
"rules": [
{
"source_plan_id": "0b8e6a2f-4c1d-4e3a-9f52-7d6c1b2a3e45",
"kind": "date_range",
"from_at": "2026-09-01T00:00:00Z",
"to_at": "2026-12-01T00:00:00Z"
}
]
},
"created_at": "2026-05-18T10:05:00Z",
"updated_at": "2026-05-18T10:05:00Z"
}
}Changes
No recorded changes to this operation across all 1 revision of this API.