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.
Responses
-
Per-screen outcomes. Partial success is expected, and
failedmay contain every requested screen. -
The request cannot be applied at all and no placements were written. Either the request body is malformed —
screenPlacementswas absent, empty, or carried a non-positive screen id — or the item is archived, reported asikentoo.error.item_is_archived. -
No item with this id exists at this business location; no placements were written.
curl \
--request POST 'https://api.trial.lsk.lightspeed.app/items/integration/v2/business-locations/{businessLocationId}/items/{itemId}/screens' \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"screenPlacements": [
{
"screenId": 101
}
]
}'
{
"screenPlacements": [
{
"screenId": 101
}
]
}
{
"added": [
101,
102
],
"unchanged": [
103
],
"failed": [
{
"screenId": 101,
"error": {
"status": "BAD_REQUEST",
"timestamp": "2026-05-04T09:42:00Z",
"message": "string",
"errorCode": "ikentoo.error.name.in-use",
"details": "My Item",
"apiSubExceptions": [
{
"field": "string",
"rejectedValue": "string",
"message": "string"
}
]
}
}
]
}
{
"status": "BAD_REQUEST",
"timestamp": "2026-05-04T09:42:00Z",
"message": "string",
"errorCode": "ikentoo.error.name.in-use",
"details": "My Item",
"apiSubExceptions": [
{
"field": "string",
"rejectedValue": "string",
"message": "string"
}
]
}
{
"status": "BAD_REQUEST",
"timestamp": "2026-05-04T09:42:00Z",
"message": "string",
"errorCode": "ikentoo.error.name.in-use",
"details": "My Item",
"apiSubExceptions": [
{
"field": "string",
"rejectedValue": "string",
"message": "string"
}
]
}