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}/entries — create
Body: { "items": [ { "data": { … }, "locale"?: "en", "state"?: "draft"|"published" }, … ] }
Update
[PATCH] /bulk/{collection_slug}/entries — update
Body: { "items": [ { "uuid": "…", "data": { … }, "locale"?: "en" }, … ] }
Saves never change publish state — call publish per UUID afterward if needed.
Delete
[DELETE] /bulk/{collection_slug}/entries — delete
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"}]}'