# Add an item to screens

**POST /items/integration/v2/business-locations/{businessLocationId}/items/{itemId}/screens**

Adds an existing item to v2 menu screens, using the item's current button styling and appending to each screen.
Every screen is handled independently, so one bad screen never blocks the others.
The call therefore answers `200` whenever the item exists and is active. Inspect `added`, `unchanged` and `failed` to find out what happened; fix the reported errors and retry only the screens in `failed`. Retrying is safe: a screen the item is already on, and that this location is allowed to write to, is reported in `unchanged`. A screen this location may not write to is reported in `failed` whether or not the item is already on it, since the permission is decided before anything is looked up on the screen.



## Servers
- Demo URL: https://api.trial.lsk.lightspeed.app (Demo URL)
- Production URL: https://api.lsk.lightspeed.app (Production URL)


## Authentication methods
- O auth2


## Parameters

### Path parameters

- **businessLocationId** (integer(int64))
  The unique identifier for the business location.

- **itemId** (integer(int64))
  Item id



### Body: application/json (object)

- **screenPlacements** (array[object])
  The screens to place the item on. Duplicates are collapsed and the order is preserved.



## Responses
### 200
Per-screen outcomes. Partial success is expected, and `failed` may contain every requested screen.


#### Body: application/json (object)
- **added** (array[integer(int64)])
  Screens the item was newly placed on.

- **unchanged** (array[integer(int64)])
  Screens the item was already on; nothing was written.

- **failed** (array[object])
  Screens the item could not be placed on, each with the error explaining why.


### 400
The request cannot be applied at all and no placements were written. Either the request body is malformed — `screenPlacements` was absent, empty, or carried a non-positive screen id — or the item is archived, reported as `ikentoo.error.item_is_archived`.


#### Body: application/json (object)
- **status** (string)
  The HTTP status, as its Spring `HttpStatus` name.

- **timestamp** (string(date-time))

- **message** (string)
  A human-readable summary of the failure.

- **errorCode** (string)
  A stable, machine-readable code identifying the failure.

- **details** (string)
  Context identifying what the failure applies to.

- **apiSubExceptions** (array[object])
  Per-field failures. Always present, and empty when the failure is not field-scoped.


### 404
No item with this id exists at this business location; no placements were written.

#### Body: application/json (object)
- **status** (string)
  The HTTP status, as its Spring `HttpStatus` name.

- **timestamp** (string(date-time))

- **message** (string)
  A human-readable summary of the failure.

- **errorCode** (string)
  A stable, machine-readable code identifying the failure.

- **details** (string)
  Context identifying what the failure applies to.

- **apiSubExceptions** (array[object])
  Per-field failures. Always present, and empty when the failure is not field-scoped.



[Powered by Bump.sh](https://bump.sh)
