> 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 # BulkCreateProjectItems # Package: portfolio # Namespace: ProjectItemsService # Method link: https://dev.wix.com/docs/api-reference/business-solutions/portfolio/project-items/bulk-create-project-items.md ## Permission Scopes: Manage Portfolio: SCOPE.PORTFOLIO.MANAGE-PORTFOLIO ## Introduction Creates multiple project items. To create a single project item, call Create Project Item. --- ## REST API ### Schema ``` Method: bulkCreateProjectItems Description: Creates multiple project items. To create a single project item, call Create Project Item. URL: https://www.wixapis.com/portfolio/project-items/api/v1/bulk/portfolio/items/create Method: POST # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: items Method parameters: param name: items | type: array | description: Project items to create. | required: true - ONE-OF: - name: image | type: Image | description: Information about the Wix Media image. - name: imageInfo | type: Image | description: Information about the Wix Media image. - name: id | type: string | description: WixMedia image GUID. Required. - name: height | type: integer | description: Original image height. Required. - name: width | type: integer | description: Original image width. Required. - name: altText | type: string | description: Image alt text. - name: filename | type: string | description: Image filename. - name: focalPoint | type: Point | description: Focal point of the image. - name: x | type: number | description: X-coordinate of the focal point. - name: y | type: number | description: Y-coordinate of the focal point. - name: video | type: Video | description: Information about the Wix Media video. - name: videoInfo | type: VideoV2 | description: Information about the Wix Media video. - name: id | type: string | description: WixMedia GUID. Required. - name: url | type: string | description: Video URL. - name: resolutions | type: array | description: Available resolutions for the video, starting with the optimal resolution. - name: url | type: string | description: Video URL. Required. - name: height | type: integer | description: Video height. Required. - name: width | type: integer | description: Video width. Required. - name: format | type: string | description: Video format for example, mp4, hls. Required. - name: quality | type: string | description: Video quality for example 480p, 720p. - name: filename | type: string | description: Video filename. - name: filename | type: string | description: Video filename. - name: posters | type: array | description: Video posters. - name: durationInMillis | type: integer | description: Manually defined Video duration in milliseconds. - name: projectId | type: string | description: Project GUID. - name: sortOrder | type: number | description: Index that determines which position a project is displayed in the project.
Default: [Epoch](https://www.epoch101.com/) timestamp.
- name: title | type: string | description: Project item title. - name: description | type: string | description: Project item description. - name: link | type: Link | description: Project item link. - name: text | type: string | description: Display text of the link. - name: url | type: string | description: Target URL of the link. - name: target | type: string | description: Whether the link opens in a new tab or window. One of: * `'_blank'`: The link opens in a new tab or window. * `'_self'`: The link opens in the same tab or window. param name: returnFullEntity | type: returnFullEntity | description: Whether to return the created project items. Set to `true` to return the project items in the response. Default: `false` Return type: BulkCreateProjectItemsResponse - name: results | type: array | description: List of individual Bulk Create Project Items results. - name: itemMetadata | type: ItemMetadata | description: Information about the created project item. Including its GUID, index in the bulk request and whether it was successfully created. - name: id | type: string | description: Item GUID. Should always be available, unless it's impossible (for example, when failing to create an item). - name: originalIndex | type: integer | description: Index of the item within the request array. Allows for correlation between request and response items. - name: success | type: boolean | description: Whether the requested action was successful for this item. When `false`, the `error` field is populated. - name: error | type: ApplicationError | description: Details about the error in case of failure. - 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: item | type: Item | description: Created project item. Only returned if `returnEntity` is set to `true` in the request. - ONE-OF: - name: image | type: Image | description: Information about the Wix Media image. - name: imageInfo | type: Image | description: Information about the Wix Media image. - name: id | type: string | description: WixMedia image GUID. Required. - name: url | type: string | description: Image URL. - name: height | type: integer | description: Original image height. Required. - name: width | type: integer | description: Original image width. Required. - name: altText | type: string | description: Image alt text. - name: filename | type: string | description: Image filename. - name: focalPoint | type: Point | description: Focal point of the image. - name: x | type: number | description: X-coordinate of the focal point. - name: y | type: number | description: Y-coordinate of the focal point. - name: video | type: Video | description: Information about the Wix Media video. - name: videoInfo | type: VideoV2 | description: Information about the Wix Media video. - name: id | type: string | description: WixMedia GUID. Required. - name: url | type: string | description: Video URL. - name: resolutions | type: array | description: Available resolutions for the video, starting with the optimal resolution. - name: url | type: string | description: Video URL. Required. - name: height | type: integer | description: Video height. Required. - name: width | type: integer | description: Video width. Required. - name: format | type: string | description: Video format for example, mp4, hls. Required. - name: quality | type: string | description: Video quality for example 480p, 720p. - name: filename | type: string | description: Video filename. - name: filename | type: string | description: Video filename. - name: posters | type: array | description: Video posters. - name: durationInMillis | type: integer | description: Manually defined Video duration in milliseconds. - name: projectId | type: string | description: Project GUID. - name: id | type: string | description: Project item GUID. - name: sortOrder | type: number | description: Index that determines which position a project is displayed in the project.
Default: [Epoch](https://www.epoch101.com/) timestamp.
- name: title | type: string | description: Project item title. - name: description | type: string | description: Project item description. - name: type | type: Type | description: Project item data type. - enum: - UNDEFINED: Undefined item type. - IMAGE: Image item type. - VIDEO: Video item type. - name: createdDate | type: string | description: Date and time the project item was created. - name: updatedDate | type: string | description: Date and time the project item was last updated. - name: link | type: Link | description: Project item link. - name: text | type: string | description: Display text of the link. - name: url | type: string | description: Target URL of the link. - name: target | type: string | description: Whether the link opens in a new tab or window. One of: * `'_blank'`: The link opens in a new tab or window. * `'_self'`: The link opens in the same tab or window. - name: bulkActionMetadata | type: BulkActionMetadata | description: Total number of successes and failures for Bulk Create Project Items. - name: totalSuccesses | type: integer | description: Number of items that were successfully processed. - name: totalFailures | type: integer | description: Number of items that couldn't be processed. - name: undetailedFailures | type: integer | description: Number of failures without details because detailed failure threshold was exceeded. ``` ### Examples ### Bulk Create Project Items ```curl curl -X POST \ 'https://www.wixapis.com/api/v1/bulk/portfolio/items/create' \ -H 'Authorization: ' \ -H 'Content-Type: application/json' \ -d '{ "items": [ { "projectId": "4c9e4567-e89b-12d3-a456-426614174002", "title": "Item Title 1", "description": "This is item description 1.", "sortOrder": 1.0, "type": "IMAGE", "image": { "imageInfo": { "url": "https://example.com/image1.jpg", "id": "8b7eef_afc3d989928f45198a16175e3c7aba3d" } }, "link": { "text": "Visit Site 1", "url": "https://site-1-example.com", "target": "_blank" } }, { "projectId": "ca3e4567-e89b-12d3-a756-426844174320", "title": "Item Title 2", "description": "This is item description 2.", "sortOrder": 2.0, "type": "VIDEO", "video": { "videoInfo": { "id": "4889bbcc7fb-66b77-888aaf-3c45227f", "url": "https://example.com/video.mp4" } }, "link": { "text": "Visit Site 2", "url": "https://site-2-example.com", "target": "_self" } } ], "returnFullEntity": true }' ``` --- ## JavaScript SDK ### Schema ``` Method: wixClientAdmin.portfolio.ProjectItemsService.bulkCreateProjectItems(options) Description: Creates multiple project items. To create a single project item, call Create Project Item. # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: options.items, options Method parameters: param name: options | type: BulkCreateProjectItemsOptions none | required: true - name: items | type: array | description: Project items to create. | required: true - ONE-OF: - name: image | type: Image | description: Information about the Wix Media image. - name: imageInfo | type: string | description: Information about the Wix Media image. - name: focalPoint | type: Point | description: Focal point of the image. - name: x | type: number | description: X-coordinate of the focal point. - name: y | type: number | description: Y-coordinate of the focal point. - name: video | type: Video | description: Information about the Wix Media video. - name: videoInfo | type: string | description: Information about the Wix Media video. - name: durationInMillis | type: integer | description: Manually defined Video duration in milliseconds. - name: projectId | type: string | description: Project GUID. - name: sortOrder | type: number | description: Index that determines which position a project is displayed in the project.
Default: [Epoch](https://www.epoch101.com/) timestamp.
- name: title | type: string | description: Project item title. - name: description | type: string | description: Project item description. - name: link | type: Link | description: Project item link. - name: text | type: string | description: Display text of the link. - name: url | type: string | description: Target URL of the link. - name: target | type: string | description: Whether the link opens in a new tab or window. One of: * `'_blank'`: The link opens in a new tab or window. * `'_self'`: The link opens in the same tab or window. - name: returnFullEntity | type: boolean | description: Whether to return the created project items. Set to `true` to return the project items in the response. Default: `false` Return type: PROMISE - name: results | type: array | description: List of individual Bulk Create Project Items results. - name: itemMetadata | type: ItemMetadata | description: Information about the created project item. Including its GUID, index in the bulk request and whether it was successfully created. - name: _id | type: string | description: Item GUID. Should always be available, unless it's impossible (for example, when failing to create an item). - name: originalIndex | type: integer | description: Index of the item within the request array. Allows for correlation between request and response items. - name: success | type: boolean | description: Whether the requested action was successful for this item. When `false`, the `error` field is populated. - name: error | type: ApplicationError | description: Details about the error in case of failure. - 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: item | type: Item | description: Created project item. Only returned if `returnEntity` is set to `true` in the request. - ONE-OF: - name: image | type: Image | description: Information about the Wix Media image. - name: imageInfo | type: string | description: Information about the Wix Media image. - name: focalPoint | type: Point | description: Focal point of the image. - name: x | type: number | description: X-coordinate of the focal point. - name: y | type: number | description: Y-coordinate of the focal point. - name: video | type: Video | description: Information about the Wix Media video. - name: videoInfo | type: string | description: Information about the Wix Media video. - name: durationInMillis | type: integer | description: Manually defined Video duration in milliseconds. - name: projectId | type: string | description: Project GUID. - name: _id | type: string | description: Project item GUID. - name: sortOrder | type: number | description: Index that determines which position a project is displayed in the project.
Default: [Epoch](https://www.epoch101.com/) timestamp.
- name: title | type: string | description: Project item title. - name: description | type: string | description: Project item description. - name: type | type: Type | description: Project item data type. - enum: - UNDEFINED: Undefined item type. - IMAGE: Image item type. - VIDEO: Video item type. - name: _createdDate | type: Date | description: Date and time the project item was created. - name: _updatedDate | type: Date | description: Date and time the project item was last updated. - name: link | type: Link | description: Project item link. - name: text | type: string | description: Display text of the link. - name: url | type: string | description: Target URL of the link. - name: target | type: string | description: Whether the link opens in a new tab or window. One of: * `'_blank'`: The link opens in a new tab or window. * `'_self'`: The link opens in the same tab or window. - name: bulkActionMetadata | type: BulkActionMetadata | description: Total number of successes and failures for Bulk Create Project Items. - name: totalSuccesses | type: integer | description: Number of items that were successfully processed. - name: totalFailures | type: integer | description: Number of items that couldn't be processed. - name: undetailedFailures | type: integer | description: Number of failures without details because detailed failure threshold was exceeded. ``` ### Examples ### bulkCreateProjectItems ```javascript import { projectItems } from '@wix/portfolio'; async function bulkCreateProjectItems(options) { const response = await projectItems.bulkCreateProjectItems(options); }; ``` ### bulkCreateProjectItems (with elevated permissions) ```javascript import { projectItems } from '@wix/portfolio'; import { auth } from '@wix/essentials'; async function myBulkCreateProjectItemsMethod(options) { const elevatedBulkCreateProjectItems = auth.elevate(projectItems.bulkCreateProjectItems); const response = await elevatedBulkCreateProjectItems(options); } ``` ### bulkCreateProjectItems (self-hosted) Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md). ```javascript import { createClient } from '@wix/sdk'; import { projectItems } from '@wix/portfolio'; // Import the auth strategy for the relevant access type // Import the relevant host module if needed const myWixClient = createClient ({ modules: { projectItems }, // Include the auth strategy and host as relevant }); async function bulkCreateProjectItems(options) { const response = await myWixClient.projectItems.bulkCreateProjectItems(options); }; ``` ---