---
title: "Play a slideshow on screens for a temporary period or until cancelled"
method: POST
path: "/v1/takeovers"
tags: ["Devices and streams"]
---

# Play a slideshow on screens for a temporary period or until cancelled

`POST /v1/takeovers`

## Request

- Base URL: `https://infoslides.app`
- URL: `https://infoslides.app/v1/takeovers`
- Auth: none declared

Temporarily overrides one or more screens with a slideshow from `startsAt` (default now) until `endsAt` or for `durationMinutes`, or indefinitely until ended: `{"deviceIds": ["..."], "slideshowId": "...", "startsAt": "2026-12-31T23:50:00", "endsAt": "2027-01-01T00:30:00"}` (or `deviceId` for one screen). Times with `Z` or an offset are exact instants; times without a zone are workspace local time. Crossing midnight is fine; `endsAt` must be after `startsAt`. Returns the takeover (a list, one per screen, when `deviceIds` names several), each with its `id` for `DELETE /v1/takeovers/{id}`. A slideshow that has never finished rendering takes over only once its first render completes; until then the screens keep their content.

## Headers

- `Idempotency-Key` string

## Request body

- V1CreateTakeoverRequest
  - `deviceId` string, uuid, nullable
  - `deviceIds` string[], nullable
  - `slideshowId` string, uuid
  - `durationMinutes` integer, nullable
  - `startsAt` string, date-time, nullable
  - `endsAt` string, date-time, nullable

## Response `200`

OK

---

[API](https://skmtc.dev/infoslides/apis/infoslides-agent-api.md) · [All operations](https://skmtc.dev/infoslides/apis/infoslides-agent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/infoslides/apis/infoslides-agent-api/revisions/d15bb7f8ee9d?raw)
