---
title: "Add a new TV or screen"
method: POST
path: "/v1/devices"
tags: ["Devices and streams"]
---

# Add a new TV or screen

`POST /v1/devices`

## Request

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

Registers a screen (TV, display, menu board) in the workspace: `{"name": "Lobby Screen", "resolution": {"width": 1920, "height": 1080}}` (`resolution` optional, snapped to the nearest supported preset; `1080` x `1920` for a portrait screen). Returns the device (201). It shows nothing until a TV is paired to it (`POST /v1/pairings` with its `deviceId`) and it has something to play (`POST /v1/devices/{id}/play`). When a TV is already showing its pairing screen, `POST /v1/pairings` with `qr` or `nickname` and a `slideshowId` does all of this in one call. Fails with `EmailNotVerified` until the owner email is verified, and `DeviceLimitReached` at the plan's screen limit.

## Headers

- `Idempotency-Key` string

## Request body

- V1CreateDeviceRequest
  - `name` string, nullable
  - `resolution` V1Resolution
    - `width` integer
    - `height` integer

## 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)
