---
title: "Item - Bulk Upsert"
method: PUT
path: "/item/bulk_upsert"
tags: ["item"]
---

# Item - Bulk Upsert

`PUT /item/bulk_upsert`

Create or update multiple items in a single request.

## Request body

- object
  - `items` object[], required — Array of item objects to upsert

## Response `200`

Items upserted

- object
  - `success` boolean, required — Whether the operation succeeded

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden. Insufficient permissions.
- `429` — Too many requests. Rate limit exceeded.
- `500` — Internal server error.

## Changes

- **2026-03-02** `fa53dd949b8e` — 1 breaking, 7 info
  - the request property `items` became required
  - api operation id `put_item_bulk_upsert` was added
  - added the media type `application/json` for the response with the status `200`
  - added the media type `application/json` for the response with the status `400`
  - …4 more
- **2024-04-22** `08cd9cfa14dd` — 1 breaking, 1 warning, 2 info
  - added required request body
  - deleted the `query` request parameter `items`
  - added the non-success response with the status `400`
  - added the non-success response with the status `401`
- **2024-04-19** `46ceda528000` — 2 breaking, 7 info
  - removed the request body
  - removed the media type `application/json` for the response with the status `200`
  - api operation id `put_item_bulk_upsert` removed and replaced with ``
  - added the new optional `query` request parameter `items`
  - …5 more

[Change history](https://skmtc.dev/skulabs/apis/skulabs-api/changes/item/bulk_upsert/put.md)

---

[API](https://skmtc.dev/skulabs/apis/skulabs-api.md) · [All operations](https://skmtc.dev/skulabs/apis/skulabs-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/skulabs/skulabs-api/revisions/4b5ec0ed78a6/schema)
