Bulk Content Entries

Bulk Content Entries

Atomic multi-create / update / delete for a collection. If one item fails, the whole request is rolled back.

Create

[POST] /bulk/{collection_slug}/entriescreate

Body: { "items": [ { "data": { … }, "locale"?: "en", "state"?: "draft"|"published" }, … ] }

Update

[PATCH] /bulk/{collection_slug}/entriesupdate

Body: { "items": [ { "uuid": "…", "data": { … }, "locale"?: "en" }, … ] }

Saves never change publish state — call publish per UUID afterward if needed.

Delete

[DELETE] /bulk/{collection_slug}/entriesdelete

Body: { "uuids": ["…", "…"] } (soft-delete).

Example

await client.content.bulkCreate('blog-posts', {
  items: [
    { data: { title: 'Post 1' }, state: 'draft', locale: 'en' },
    { data: { title: 'Post 2' }, state: 'published', locale: 'en' },
  ],
})
 
await client.content.bulkUpdate('blog-posts', {
  items: [{ uuid: '', data: { title: 'Renamed' } }],
})
 
await client.content.bulkDelete('blog-posts', { uuids: ['', ''] })
curl -X POST "https://your-domain.com/api/bulk/blog-posts/entries" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_PROJECT_TOKEN" \
  -H "project-id: YOUR_PROJECT_UUID" \
  -d '{"items":[{"data":{"title":"Post 1"},"state":"draft"}]}'

Search documentation

Find guides and reference pages