> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vturb.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update playback

> Pause behavior, the scroll-to-action moment, and what happens when the video ends.

The playback group governs how the video behaves while it plays — whether the
viewer can pause, when the page scrolls to your action, and what happens at the
end.

This is a [merge-patch](/guides/merge-patch): send only the keys you want to
change and everything else keeps its stored value.

## Loop back to a timestamp when the video ends

<CodeGroup>
  ```bash cURL theme={null}
  curl -X PATCH https://api.vturb.com/v1/videos/{id} \
    -H "Authorization: Bearer vt_..." \
    -H "Content-Type: application/json" \
    -d '{ "playback": { "action_after_finish": { "type": "loop", "start": 42 } } }'
  ```

  ```json Body theme={null}
  {
    "playback": {
      "action_after_finish": {
        "type": "loop",
        "start": 42
      }
    }
  }
  ```
</CodeGroup>

## The keys

| Key                         | Type    | Writes                                                |
| --------------------------- | ------- | ----------------------------------------------------- |
| `enabled`                   | boolean | Master switch for the group                           |
| `disable_pause`             | boolean | Ignore the viewer's pause clicks                      |
| `smart_pause`               | boolean | Pause automatically when the browser tab is hidden    |
| `scroll_to_action_in`       | integer | Second at which the page scrolls to the action        |
| `action_after_finish.type`  | string  | What to do at the end — `loop` is the only type today |
| `action_after_finish.start` | integer | Second the loop restarts from                         |

`action_after_finish` is validated as a pair: a `loop` needs a `start`, `start`
must be a non-negative number of seconds, and it can't sit beyond the video's
duration. Anything else is a `422 unprocessable_content`.
