Place a pass window by hand
Places a window by hand on a kind: pass plan. This is how schedule_mode: fixed gets its dates, and how a repeating plan gets the one-off that does not fit its pattern.
curl -X POST https://api.subscriby.net/v1/projects/$PROJECT_ID/plans/$PLAN_ID/pass-windows \
-H "Authorization: Bearer $SUBSCRIBY_TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"starts_at": "2026-09-20 09:00",
"duration_minutes": 180
}'
Answers 201 with the new window: status: scheduled, source: manual, holders: 0. The request above and "starts_at": "2026-09-20T09:00:00-04:00" describe the same instant for a plan in America/New_York, and both come back as "2026-09-20T13:00:00+00:00". Raises pass.window_scheduled with source: manual.
A manual window is never touched by regeneration: editing pass.slots on the plan rebuilds the generated windows and leaves this one where you put it. Every pass series with a rule is asked to look at the new date afterwards, so a matching series absorbs it as described on the Plans page.
Each refusal below is a 422 VALIDATION_FAILED naming the field, the same wording the dashboard's panel shows.
Request
- Base URL: https://api.subscriby.net
- URL: https://api.subscriby.net/v1/projects/{project}/plans/{plan}/pass-windows
- Auth: HTTP bearer
Path parameters
The project, resolved by the route binder.
The plan, resolved within the project.
Headers
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.
Request body
Response
The window.
Example response
{
"data": {
"id": "3d5a8c72-b016-4e94-8fa7-61c209d4e738",
"plan_id": "c4e82f16-93a7-4d5b-b81c-6e0f27a94d3b",
"plan_name": "Match Day Pass",
"starts_at": "2026-09-20T13:00:00+00:00",
"ends_at": "2026-09-20T16:00:00+00:00",
"timezone": "America/New_York",
"local_range": "Sun 20 Sep 2026, 09:00 – 12:00 EDT",
"duration_minutes": 180,
"status": "scheduled",
"source": "generated",
"sellable": true,
"holders": 38
}
}Changes
No recorded changes to this operation across all 1 revision of this API.