---
title: "Apply the optional cutoff behavior for a block whose cutoff has been reached."
method: PUT
path: "/booking/v1/block-actions/{id}/cutoff-optional"
tags: ["BlockActions"]
---

# Apply the optional cutoff behavior for a block whose cutoff has been reached.

`PUT /booking/v1/block-actions/{id}/cutoff-optional`

Internal callback the scheduler invokes when an 'Optional' block's cutoff timer fires. Depending on
the block's stored cutoff behavior, this either releases the block ('Optional' to 'Tentative') or
leaves it untouched. A stale fire - the block already left 'Optional', or its stored cutoff no longer
matches the payload - is a no-op.<br>You must have at least one of these scopes: 'blocks.manage, reservations.manage'.

## Path parameters

- `id` string, required

## Request body

- CutoffOptionalBlockModel
  - `expectedOptionalCutoffUtc` string, date-time, required — The optional cutoff timestamp the scheduler fired for. It is compared against the block's stored optional cutoff so a stale or replayed callback (the cutoff was moved, or the block already left 'Optional') is ignored.<br />A date and time (without fractional second part) in UTC or with UTC offset as defined in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO8601:2004</a>

## Response `204`

The callback was applied, or was a no-op for a stale fire.

## Other responses

- `400` — Bad request.
- `401` — You are unauthorized.
- `403` — Forbidden.
- `404` — The Request-URI could not be found.
- `415` — Unsupported media type.
- `422` — Validation errors in the request body or query params.
- `499` — Client closed request.
- `500` — An unexpected error occurred.
- `503` — The server is currently unavailable. Please try later.

---

[API](https://skmtc.dev/apaleo/apis/apaleo-booking-api.md) · [All operations](https://skmtc.dev/apaleo/apis/apaleo-booking-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/apaleo/apaleo-booking-api/revisions/6510a7df7143/schema)
