---
title: "Enroll a screen programmatically"
method: POST
path: "/v1/screens/enroll"
tags: ["screens"]
---

# Enroll a screen programmatically

`POST /v1/screens/enroll`

## Request

- Base URL: `https://api.brixsignage.com`
- URL: `https://api.brixsignage.com/v1/screens/enroll`
- Auth: HTTP bearer

Create a screen and pair it in a single call using a workspace API key, without a 6-digit pairing code. This is intended for automated device provisioning. The returned device token is shown once and cannot be retrieved again. The screen is created in the workspace the API key belongs to; an API key scoped to one organization node creates the screen under that node, while an account-wide key can target any node in the account.

## Request body

- object
  - `name` string: Default `New screen`.
  - `nodeId` string
  - `billingGroupId` string, nullable

## Response `201`

Success.

- object
  - `data` object, required
    - `screenId` string, required
    - `name` string, required
    - `status` string, required
    - `deviceToken` string, required: The device credential. Shown ONCE: install it on the device; it cannot be read again.
    - `space` object, required
      - `id` string, required
      - `name` string, nullable, required
    - `node` object, nullable, required
      - `id` string, required
      - `name` string, nullable, required

## Other responses

- `401`: Missing, expired or revoked bearer token.
- `403`: The token lacks the permission this operation needs (see `x-brix-permission`).
- `404`: The location does not exist.
- `409`: The account is suspended or cancelled.
- `429`: More than 60 enrollments a minute.
- `5XX`: Server error. The body carries a `requestId` to quote to support.

---

[API](https://skmtc.dev/brixsignage/apis/brix-api.md) · [All operations](https://skmtc.dev/brixsignage/apis/brix-api/llms.txt) · [OpenAPI document](https://skmtc.dev/brixsignage/apis/brix-api/revisions/02fd3665dc7d?raw)
