> Portal Navigation:
> 
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt

# BulkPublishDataItemDrafts

# Package: cms

# Namespace: DataItemService

# Method link: https://dev.wix.com/docs/api-reference/business-solutions/cms/data-items/bulk-publish-data-item-drafts.md

## Permission Scopes:
Write Data Items: SCOPE.DC-DATA.WRITE

## Introduction

Publishes multiple pending drafts at once.


This method publishes each draft independently and supports partial success: if some drafts cannot be published, the remaining ones are still processed. For each item, the response includes an entry in `results` with success/error details. Use `results.itemMetadata.originalIndex` to correlate response entries with the request's `dataItemIds`.

Set `returnEntity` to `true` to include the published items in the response.

> **Notes:**
> - Each successfully published draft is deleted; the published item now contains the draft's content.
> - Per-item `NOT_FOUND` is reported in the result when no pending draft exists for a given `dataItemId`.
> - The order of `results` matches the order of `dataItemIds` in the request.

---

## REST API

### Schema

```
 Method: bulkPublishDataItemDrafts
 Description: Publishes multiple pending drafts at once.   This method publishes each draft independently and supports partial success: if some drafts cannot be published, the remaining ones are still processed. For each item, the response includes an entry in `results` with success/error details. Use `results.itemMetadata.originalIndex` to correlate response entries with the request's `dataItemIds`.  Set `returnEntity` to `true` to include the published items in the response.  > **Notes:** > - Each successfully published draft is deleted; the published item now contains the draft's content. > - Per-item `NOT_FOUND` is reported in the result when no pending draft exists for a given `dataItemId`. > - The order of `results` matches the order of `dataItemIds` in the request.
 URL: https://www.wixapis.com/wix-data/v2/bulk/items/publish-drafts
 Method: POST
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  dataCollectionId, dataItemIds
 Method parameters: 
   param name: dataCollectionId | type: dataCollectionId | description: GUID of the published data collection. | required: true | validation: maxLength 256
   param name: dataItemIds | type: array<dataItemIds> | description: IDs of the data items whose drafts will be published. Each GUID must reference an item with a pending draft; per-item `NOT_FOUND` is reported in the response when no draft exists for a given GUID. | required: true | validation: maxItems 1000, maxLength 128
   param name: returnEntity | type: returnEntity | description: Whether to return the published data items. When `true`, the `results` objects contain a `dataItem` field.  Default: `false`  
 Return type: BulkPublishDataItemDraftsResponse
  - name: results | type: array<BulkPublishDataItemDraftResult> | description: Per-item results, in the same order as `dataItemIds` in the request. Each entry includes success or error details and, when `returnEntity` is `true`, the published item.  
     - name: itemMetadata | type: ItemMetadata | description: Per-item success or failure details. Use `originalIndex` to match this result to an GUID in the request's `dataItemIds` array.  
        - name: id | type: string | description: Item GUID. Does not appear if the item GUID is missing. For example, when item creation fails.  | validation: maxLength 128
        - name: originalIndex | type: integer | description: Original index of the item in the array specified in the request. Use this to match items in the request with those in the response.  
        - name: success | type: boolean | description: Whether the requested action was successful. When `false`, the `error` field is populated.  
        - name: error | type: ApplicationError | description: In case of failure, the error details.  
           - name: code | type: string | description: Error code.  
           - name: description | type: string | description: Description of the error.  
           - name: data | type: object | description: Data related to the error.  
     - name: dataItem | type: DataItem | description: Published data item.  Returned only when `returnEntity` is `true` and this item was published successfully.  
        - name: id | type: string | description: Data item GUID.  When an item is inserted into a collection, the item's GUID is automatically assigned a random value. You can optionally provide a custom GUID in `dataItem.id` when inserting the item. If you specify an GUID that already exists in the collection, the insertion will fail.  | validation: maxLength 128, immutable
        - name: dataCollectionId | type: string | description: GUID of the collection this item belongs to.  This is the user-defined collection identifier set when the collection is created (for example, `EvalCustomers`), not a GUID.  | read-only: true | validation: maxLength 256
        - name: data | type: object | description: Data item contents.  Property-value pairs representing the data item's payload. When retrieving a data item, it also includes the following read-only fields:  + `_id`: Item GUID. + `_createdDate`: Date and time the item was added to the collection. + `_updatedDate`: Date and time the item was last modified. When the item is first inserted, `_createdDate` and `_updatedDate` have the same value. + `_owner`: GUID of the user who created the item. Can be modified with site owner permissions.  
  - name: bulkActionMetadata | type: BulkActionMetadata | description: Total numbers of items that succeeded and failed.  
     - name: totalSuccesses | type: integer | description: Number of items successfully processed.  
     - name: totalFailures | type: integer | description: Number of items that couldn't be processed.  


```

### Examples

### Publish multiple pending drafts
```curl
curl -X POST \
'https://www.wixapis.com/wix-data/v2/bulk/items/publish-drafts' \
-H 'Content-Type: application/json' \
-H 'Authorization: <AUTH>' \
-d '{
    "dataCollectionId": "tutorials",
    "dataItemIds": [
        "5331fc15-9441-4fd4-bc7b-7f6870c69228",
        "c1cce7fd-bfb6-4f34-b794-6e5364e19e79"
    ],
    "returnEntity": true
}'
```

---