---
title: "Bulk upsert shared store entries"
method: POST
path: "/shared-stores/{store_id}/entries/bulk"
tags: ["Shared Stores"]
---

# Bulk upsert shared store entries

`POST /shared-stores/{store_id}/entries/bulk`

## Request

- Base URL: `https://api.mosaic.so`
- URL: `https://api.mosaic.so/shared-stores/{store_id}/entries/bulk`
- Auth: HTTP bearer

Upsert between 1 and 5,000 entries without taking the store beyond 10,000 total entries. If an entry ID occurs more than once, its last occurrence wins.

## Request body

- object
  - `entries` object[], required
    - `display_name` string, required: Human-readable entry label.
    - `metadata` object, nullable: Caller-defined JSON object up to 256,000 UTF-8 bytes. Omitted or null becomes an empty object.
    - `entry_id` string, required

## Response `200`

Entries written

- object
  - `success` true, required
  - `count` integer, required: Number of unique entry IDs written.
  - `entries` SharedStoreEntry[], required: Written entries. Array ordering is not an API contract.
    - `entry_id` string, required: Caller-defined ID, unique within the store.
    - `display_name` string, required: Human-readable entry label.
    - `metadata` object, required: Non-null JSON object containing caller-defined values.
    - `created_at` string, date-time, required: UTC creation timestamp; preserved when an entry is replaced.

## Other responses

- `400`: Entry list or metadata is invalid
- `401`: Shared Store authentication failed
- `403`: The organization does not have API access
- `404`: The store does not exist or belongs to another organization
- `409`: New IDs would take the store beyond 10,000 entries
- `413`: Bulk request or metadata is too large
- `500`: Entries could not be written

---

[API](https://skmtc.dev/mosaic/apis/mosaic-ai-api.md) - [All operations](https://skmtc.dev/mosaic/apis/mosaic-ai-api/llms.txt) - [OpenAPI document](https://skmtc.dev/mosaic/apis/mosaic-ai-api/revisions/c20e9fc606a4?raw)
