import { NonNullablePaths } from '@wix/sdk-types'; interface Item extends ItemMetadataOneOf { /** Information about the Wix Media image. */ image?: Image; /** Information about the Wix Media video. */ video?: Video; /** * Project ID. * @format GUID */ projectId?: string | null; /** * Project item ID. * @readonly * @format GUID */ _id?: string | null; /** * Index that determines which position a project is displayed in the project.
* * Default: [Epoch](https://www.epoch101.com/) timestamp.
*/ sortOrder?: number | null; /** Project item title. */ title?: string | null; /** Project item description. */ description?: string | null; /** * Project item data type. * @readonly */ type?: TypeWithLiterals; /** * Date and time the project item was created. * @readonly */ _createdDate?: Date | null; /** * Date and time the project item was last updated. * @readonly */ _updatedDate?: Date | null; /** Project item link. */ link?: Link; } /** @oneof */ interface ItemMetadataOneOf { /** Information about the Wix Media image. */ image?: Image; /** Information about the Wix Media video. */ video?: Video; } declare enum Type { /** Undefined item type. */ UNDEFINED = "UNDEFINED", /** Image item type. */ IMAGE = "IMAGE", /** Video item type. */ VIDEO = "VIDEO" } /** @enumType */ type TypeWithLiterals = Type | 'UNDEFINED' | 'IMAGE' | 'VIDEO'; interface Image { /** Information about the Wix Media image. */ imageInfo?: string; /** Focal point of the image. */ focalPoint?: Point; } declare enum ImageType { UNDEFINED = "UNDEFINED", WIX_MEDIA = "WIX_MEDIA", EXTERNAL = "EXTERNAL" } /** @enumType */ type ImageTypeWithLiterals = ImageType | 'UNDEFINED' | 'WIX_MEDIA' | 'EXTERNAL'; interface Point { /** X-coordinate of the focal point. */ x?: number; /** Y-coordinate of the focal point. */ y?: number; } interface UnsharpMasking { /** * Unsharp masking amount. Controls the sharpening strength.
* * Min: `0`
* Max: `5` * @max 5 */ amount?: number | null; /** Unsharp masking radius in pixels. Controls the sharpening width. */ radius?: number | null; /** * Unsharp masking threshold. Controls how different neighboring pixels must be for shapening to apply.
* * Min: `0`
* Max: `1` * @max 1 */ threshold?: number | null; } interface Video { /** Information about the Wix Media video. */ videoInfo?: string; /** Manually defined Video duration in milliseconds. */ durationInMillis?: number | null; } interface VideoResolution { /** * Video URL. Required. * @maxLength 8000 */ url?: string; /** Video height. Required. */ height?: number; /** Video width. Required. */ width?: number; /** * Video format for example, mp4, hls. Required. * @maxLength 50 */ format?: string; /** * Video quality for example 480p, 720p. * @maxLength 50 */ quality?: string | null; /** * Video filename. * @maxLength 512 */ filename?: string | null; } interface Tags { /** * List of tags assigned to the media item. * @maxSize 50 * @maxLength 100 */ values?: string[]; } interface Link { /** Display text of the link. */ text?: string | null; /** * Target URL of the link. * @format WEB_URL */ url?: string | null; /** * 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. * @maxLength 50 */ target?: string | null; } interface InvalidateCache extends InvalidateCacheGetByOneOf { /** * Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! * @format GUID */ metaSiteId?: string; /** * Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! * @format GUID */ siteId?: string; /** Invalidate by App */ app?: App; /** Invalidate by page id */ page?: Page; /** Invalidate by URI path */ uri?: URI; /** Invalidate by file (for media files such as PDFs) */ file?: File; /** Invalidate by custom tag. Tags used in BO invalidation are disabled for this endpoint (more info: https://wix-bo.com/dev/clear-ssr-cache) */ customTag?: CustomTag; /** Invalidate by multiple page ids */ pages?: Pages; /** Invalidate by multiple URI paths */ uris?: URIs; /** * tell us why you're invalidating the cache. You don't need to add your app name * @maxLength 256 */ reason?: string | null; /** Is local DS */ localDc?: boolean; hardPurge?: boolean; /** * Optional caller-provided ID for tracking this invalidation through the system. * When set, the corresponding CDN purge completion event will include this ID, * allowing you to confirm when the invalidation has fully propagated. * Example: generate a UUID, pass it here, and later match it in the CDN purge completion event. * @maxLength 256 */ correlationId?: string | null; } /** @oneof */ interface InvalidateCacheGetByOneOf { /** * Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! * @format GUID */ metaSiteId?: string; /** * Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! * @format GUID */ siteId?: string; /** Invalidate by App */ app?: App; /** Invalidate by page id */ page?: Page; /** Invalidate by URI path */ uri?: URI; /** Invalidate by file (for media files such as PDFs) */ file?: File; /** Invalidate by custom tag. Tags used in BO invalidation are disabled for this endpoint (more info: https://wix-bo.com/dev/clear-ssr-cache) */ customTag?: CustomTag; /** Invalidate by multiple page ids */ pages?: Pages; /** Invalidate by multiple URI paths */ uris?: URIs; } interface App { /** * The AppDefId * @minLength 1 */ appDefId?: string; /** * The instance Id * @format GUID */ instanceId?: string; } interface Page { /** * the msid the page is on * @format GUID */ metaSiteId?: string; /** * Invalidate by Page ID * @minLength 1 */ pageId?: string; } interface URI { /** * the msid the URI is on * @format GUID */ metaSiteId?: string; /** * URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes * @minLength 1 */ uriPath?: string; } interface File { /** * the msid the file is related to * @format GUID */ metaSiteId?: string; /** * Invalidate by filename (for media files such as PDFs) * @minLength 1 * @maxLength 256 */ fileName?: string; } interface CustomTag { /** * the msid the tag is related to * @format GUID */ metaSiteId?: string; /** * Tag to invalidate by * @minLength 1 * @maxLength 256 */ tag?: string; } interface Pages { /** * the msid the pages are on * @format GUID */ metaSiteId?: string; /** * Invalidate by multiple Page IDs in a single message * @maxSize 100 * @minLength 1 */ pageIds?: string[]; } interface URIs { /** * the msid the URIs are on * @format GUID */ metaSiteId?: string; /** * URI paths to invalidate (e.g. page/my/path) - without leading/trailing slashes * @maxSize 100 * @minLength 1 */ uriPaths?: string[]; } interface CreateProjectItemRequest { /** Project item to create. */ item: Item; } interface CreateProjectItemResponse { /** Newly created project item. */ item?: Item; } interface BulkCreateProjectItemsRequest { /** * Project items to create. * @minSize 1 * @maxSize 1000 */ items: Item[]; /** * Whether to return the created project items. * * Set to `true` to return the project items in the response. * * Default: `false` */ returnFullEntity?: boolean | null; } interface BulkCreateProjectItemsResponse { /** List of individual Bulk Create Project Items results. */ results?: BulkCreateProjectItemResult[]; /** Total number of successes and failures for Bulk Create Project Items. */ bulkActionMetadata?: BulkActionMetadata; } interface BulkCreateProjectItemResult { /** * Information about the created project item. * Including its ID, index in the bulk request and whether it was successfully created. */ itemMetadata?: ItemMetadata; /** Created project item. Only returned if `returnEntity` is set to `true` in the request. */ item?: Item; } interface ItemMetadata { /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */ _id?: string | null; /** Index of the item within the request array. Allows for correlation between request and response items. */ originalIndex?: number; /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */ success?: boolean; /** Details about the error in case of failure. */ error?: ApplicationError; } interface ApplicationError { /** Error code. */ code?: string; /** Description of the error. */ description?: string; /** Data related to the error. */ data?: Record | null; } interface BulkActionMetadata { /** Number of items that were successfully processed. */ totalSuccesses?: number; /** Number of items that couldn't be processed. */ totalFailures?: number; /** Number of failures without details because detailed failure threshold was exceeded. */ undetailedFailures?: number; } interface GetProjectItemRequest { /** * Project item ID. * @format GUID */ itemId: string; } interface GetProjectItemResponse { /** Project item. */ item?: Item; } interface ListProjectItemsRequest { /** * Project ID. * @format GUID */ projectId: string; /** Maximum number of items to return in the results. */ paging?: Paging; } interface Paging { /** Number of items to load. */ limit?: number | null; /** Number of items to skip in the current sort order. */ offset?: number | null; } interface ListProjectItemsResponse { /** Project items. */ items?: Item[]; /** * @deprecated * @targetRemovalDate 2025-05-25 */ pagingMetadataV2?: PagingMetadataV2; /** Paging metadata. */ metadata?: PagingMetadataV2; } interface PagingMetadataV2 { /** Number of items returned in the response. */ count?: number | null; /** Offset that was requested. */ offset?: number | null; /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */ total?: number | null; /** Flag that indicates the server failed to calculate the `total` field. */ tooManyToCount?: boolean | null; /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */ cursors?: Cursors; } interface Cursors { /** * Cursor string pointing to the next page in the list of results. * @maxLength 16000 */ next?: string | null; /** * Cursor pointing to the previous page in the list of results. * @maxLength 16000 */ prev?: string | null; } interface QueryProjectItemsRequest { /** WQL expression */ query?: QueryV2; } interface QueryV2 extends QueryV2PagingMethodOneOf { /** Paging options to limit and offset the number of items. */ paging?: Paging; /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */ cursorPaging?: CursorPaging; /** * Filter object. * * Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters). */ filter?: Record | null; /** * Sort object. * * Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#sorting). */ sort?: Sorting[]; /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */ fields?: string[]; /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */ fieldsets?: string[]; } /** @oneof */ interface QueryV2PagingMethodOneOf { /** Paging options to limit and offset the number of items. */ paging?: Paging; /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */ cursorPaging?: CursorPaging; } interface Sorting { /** * Name of the field to sort by. * @maxLength 512 */ fieldName?: string; /** Sort order. */ order?: SortOrderWithLiterals; } declare enum SortOrder { ASC = "ASC", DESC = "DESC" } /** @enumType */ type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC'; interface CursorPaging { /** * Maximum number of items to return in the results. * @max 100 */ limit?: number | null; /** * Pointer to the next or previous page in the list of results. * * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response. * Not relevant for the first request. * @maxLength 16000 */ cursor?: string | null; } interface QueryProjectItemsResponse { /** Project items. */ items?: Item[]; /** Paging metadata. */ metadata?: PagingMetadataV2; } interface UpdateProjectItemRequest { /** The project item to update. */ item: Item; } interface UpdateProjectItemResponse { /** The updated project item. */ item?: Item; } interface BulkUpdateProjectItemsRequest { /** * Project items to update. * @maxSize 100 */ items?: MaskedItem[]; /** * Whether to return the updated project items. * * Set to `true` to return the project items in the response. * * Default: `false` */ returnFullEntity?: boolean | null; } interface MaskedItem { /** Item to be updated. */ item?: Item; } interface BulkUpdateProjectItemsResponse { /** List of individual Bulk Update Project Items results. */ results?: BulkUpdateProjectItemResult[]; /** Total number of successes and failures for Bulk Update Project Items. */ bulkActionMetadata?: BulkActionMetadata; } interface BulkUpdateProjectItemResult { /** * Information about the updated project item. * Including its ID, index in the bulk request and whether it was successfully updated. */ itemMetadata?: ItemMetadata; /** Updated project item. Only returned if `returnEntity` is set to `true` in the request. */ item?: Item; } interface DeleteProjectItemRequest { /** * ID of the project item to delete. * @format GUID */ itemId: string; } interface DeleteProjectItemResponse { /** * ID of the deleted project item. * @format GUID */ itemId?: string; } interface BulkDeleteProjectItemsRequest { /** * IDs of project items to delete. * @format GUID * @minSize 1 * @maxLength 100 */ itemIds: string[]; } interface BulkDeleteProjectItemsResponse { /** List of individual Bulk Delete Project Items results. */ results?: BulkDeleteProjectItemResult[]; /** Total number of successes and failures for Bulk Delete Project Items. */ bulkActionMetadata?: BulkActionMetadata; } interface BulkDeleteProjectItemResult { /** * Information about the deleted project item. * Including its ID, index in the bulk request and whether it was successfully deleted. */ itemMetadata?: ItemMetadata; /** * ID of the deleted project item. * @format GUID */ itemId?: string; } interface CreateProjectGalleryRequest { /** * Id of Project to create * @format GUID */ projectId?: string; } interface CreateProjectGalleryResponse { /** * Id of created Project * @format GUID */ projectId?: string; /** * Id of created gallery * @format GUID */ galleryId?: string; } interface DomainEvent extends DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; /** Event ID. With this ID you can easily spot duplicated events and ignore them. */ _id?: string; /** * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities. * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`. */ entityFqdn?: string; /** * Event action name, placed at the top level to make it easier for users to dispatch messages. * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`. */ slug?: string; /** ID of the entity associated with the event. */ entityId?: string; /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */ eventTime?: Date | null; /** * Whether the event was triggered as a result of a privacy regulation application * (for example, GDPR). */ triggeredByAnonymizeRequest?: boolean | null; /** If present, indicates the action that triggered the event. */ originatedFrom?: string | null; /** * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number. * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it. */ entityEventSequence?: string | null; } /** @oneof */ interface DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; } interface EntityCreatedEvent { entity?: string; } interface RestoreInfo { deletedDate?: Date | null; } interface EntityUpdatedEvent { /** * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff. * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects. * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it. */ currentEntity?: string; } interface EntityDeletedEvent { /** Entity that was deleted. */ deletedEntity?: string | null; } interface ActionEvent { body?: string; } interface Empty { } interface DeletedProjectRestored { /** * the id of the project that was restored * @format GUID */ projectId?: string; /** timestamp for when the project was originally deleted. */ deletionTimestamp?: Date | null; } interface DuplicateProjectItemsRequest { /** * ID of the project containing the items to duplicate. * @format GUID */ originProjectId: string; /** * ID of the project where the duplicated items will be added. * @format GUID */ targetProjectId: string; } interface DuplicateProjectItemsResponse { /** * Project ID where the duplicated items have been added. * @format GUID */ projectId?: string; /** Bulk action metadata. */ bulkActionMetadata?: BulkActionMetadata; } interface MessageEnvelope { /** * App instance ID. * @format GUID */ instanceId?: string | null; /** * Event type. * @maxLength 150 */ eventType?: string; /** The identification type and identity data. */ identity?: IdentificationData; /** Stringify payload. */ data?: string; /** Details related to the account */ accountInfo?: AccountInfo; } interface IdentificationData extends IdentificationDataIdOneOf { /** * ID of a site visitor that has not logged in to the site. * @format GUID */ anonymousVisitorId?: string; /** * ID of a site visitor that has logged in to the site. * @format GUID */ memberId?: string; /** * ID of a Wix user (site owner, contributor, etc.). * @format GUID */ wixUserId?: string; /** * ID of an app. * @format GUID */ appId?: string; /** @readonly */ identityType?: WebhookIdentityTypeWithLiterals; } /** @oneof */ interface IdentificationDataIdOneOf { /** * ID of a site visitor that has not logged in to the site. * @format GUID */ anonymousVisitorId?: string; /** * ID of a site visitor that has logged in to the site. * @format GUID */ memberId?: string; /** * ID of a Wix user (site owner, contributor, etc.). * @format GUID */ wixUserId?: string; /** * ID of an app. * @format GUID */ appId?: string; } declare enum WebhookIdentityType { UNKNOWN = "UNKNOWN", ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR", MEMBER = "MEMBER", WIX_USER = "WIX_USER", APP = "APP" } /** @enumType */ type WebhookIdentityTypeWithLiterals = WebhookIdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' | 'MEMBER' | 'WIX_USER' | 'APP'; interface AccountInfo { /** * ID of the Wix account associated with the event. * @format GUID */ accountId?: string | null; /** * ID of the parent Wix account. Only included when accountId belongs to a child account. * @format GUID */ parentAccountId?: string | null; /** * ID of the Wix site associated with the event. Only included when the event is tied to a specific site. * @format GUID */ siteId?: string | null; } interface GenerateTokenForProjectItemsRequest { /** * Media ids of requested project items * @minSize 1 * @maxLength 100 */ mediaIds: string[]; } interface GenerateTokenForProjectItemsResponse { /** Generated media tokens for project items */ mediaTokens?: ProjectItemMediaToken[]; } interface ProjectItemMediaToken { /** Media id of project item */ mediaId?: string; /** Generated media token for project item */ mediaToken?: string; } interface BaseEventMetadata { /** * App instance ID. * @format GUID */ instanceId?: string | null; /** * Event type. * @maxLength 150 */ eventType?: string; /** The identification type and identity data. */ identity?: IdentificationData; /** Details related to the account */ accountInfo?: AccountInfo; } interface EventMetadata extends BaseEventMetadata { /** Event ID. With this ID you can easily spot duplicated events and ignore them. */ _id?: string; /** * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities. * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`. */ entityFqdn?: string; /** * Event action name, placed at the top level to make it easier for users to dispatch messages. * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`. */ slug?: string; /** ID of the entity associated with the event. */ entityId?: string; /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */ eventTime?: Date | null; /** * Whether the event was triggered as a result of a privacy regulation application * (for example, GDPR). */ triggeredByAnonymizeRequest?: boolean | null; /** If present, indicates the action that triggered the event. */ originatedFrom?: string | null; /** * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number. * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it. */ entityEventSequence?: string | null; accountInfo?: AccountInfoMetadata; } interface AccountInfoMetadata { /** ID of the Wix account associated with the event */ accountId: string; /** ID of the Wix site associated with the event. Only included when the event is tied to a specific site. */ siteId?: string; /** ID of the parent Wix account. Only included when 'accountId' belongs to a child account. */ parentAccountId?: string; } interface ProjectItemCreatedEnvelope { entity: Item; metadata: EventMetadata; } /** * Triggered when a project item is created. * @permissionScope Wix Multilingual - Nile Wrapper Domain Events Read * @permissionScopeId SCOPE.MULTILINGUAL.NILE_WRAPPER_DOMAIN_EVENTS_READ * @permissionScope Manage Portfolio * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO * @permissionId PORTFOLIO.PROJECT_ITEM_READ * @webhook * @eventType wix.portfolio.project_items.v1.project_item_created * @slug created */ declare function onProjectItemCreated(handler: (event: ProjectItemCreatedEnvelope) => void | Promise): void; interface ProjectItemDeletedEnvelope { metadata: EventMetadata; } /** * Triggered when a project item is deleted. * @permissionScope Wix Multilingual - Nile Wrapper Domain Events Read * @permissionScopeId SCOPE.MULTILINGUAL.NILE_WRAPPER_DOMAIN_EVENTS_READ * @permissionScope Manage Portfolio * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO * @permissionId PORTFOLIO.PROJECT_ITEM_READ * @webhook * @eventType wix.portfolio.project_items.v1.project_item_deleted * @slug deleted */ declare function onProjectItemDeleted(handler: (event: ProjectItemDeletedEnvelope) => void | Promise): void; interface ProjectItemUpdatedEnvelope { entity: Item; metadata: EventMetadata; } /** * Triggered when a project item is updated. * @permissionScope Wix Multilingual - Nile Wrapper Domain Events Read * @permissionScopeId SCOPE.MULTILINGUAL.NILE_WRAPPER_DOMAIN_EVENTS_READ * @permissionScope Manage Portfolio * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO * @permissionId PORTFOLIO.PROJECT_ITEM_READ * @webhook * @eventType wix.portfolio.project_items.v1.project_item_updated * @slug updated */ declare function onProjectItemUpdated(handler: (event: ProjectItemUpdatedEnvelope) => void | Promise): void; /** * Creates a project item. * @param item - Project item to create. * @public * @requiredField item * @permissionId PORTFOLIO.PROJECT_ITEM_CREATE * @applicableIdentity APP * @returns Newly created project item. * @fqn com.wixpress.portfolio.projectitems.ProjectItemsService.CreateProjectItem */ declare function createProjectItem(item: Item): Promise>; /** * Creates multiple project items. * * To create a single project item, call Create Project Item. * @public * @requiredField options.items * @permissionId PORTFOLIO.PROJECT_ITEM_CREATE * @applicableIdentity APP * @fqn com.wixpress.portfolio.projectitems.ProjectItemsService.BulkCreateProjectItems */ declare function bulkCreateProjectItems(options?: NonNullablePaths): Promise>; interface BulkCreateProjectItemsOptions { /** * Project items to create. * @minSize 1 * @maxSize 1000 */ items: Item[]; /** * Whether to return the created project items. * * Set to `true` to return the project items in the response. * * Default: `false` */ returnFullEntity?: boolean | null; } /** * Retrieves a project item. * @param itemId - Project item ID. * @public * @requiredField itemId * @permissionId PORTFOLIO.PROJECT_ITEM_READ * @applicableIdentity APP * @returns Project item. * @fqn com.wixpress.portfolio.projectitems.ProjectItemsService.GetProjectItem */ declare function getProjectItem(itemId: string): Promise>; /** * Retrieves a list of all project items in the specified project. * @param projectId - Project ID. * @public * @requiredField projectId * @permissionId PORTFOLIO.PROJECT_ITEM_READ * @applicableIdentity APP * @fqn com.wixpress.portfolio.projectitems.ProjectItemsService.ListProjectItems */ declare function listProjectItems(projectId: string, options?: ListProjectItemsOptions): Promise>; interface ListProjectItemsOptions { /** Maximum number of items to return in the results. */ paging?: Paging; } /** * Updates a project item. * @param _id - Project item ID. * @public * @requiredField _id * @requiredField item * @permissionId PORTFOLIO.PROJECT_ITEM_UPDATE * @applicableIdentity APP * @returns The updated project item. * @fqn com.wixpress.portfolio.projectitems.ProjectItemsService.UpdateProjectItem */ declare function updateProjectItem(_id: string, item: UpdateProjectItem): Promise>; interface UpdateProjectItem { /** Information about the Wix Media image. */ image?: Image; /** Information about the Wix Media video. */ video?: Video; /** * Project ID. * @format GUID */ projectId?: string | null; /** * Project item ID. * @readonly * @format GUID */ _id?: string | null; /** * Index that determines which position a project is displayed in the project.
* * Default: [Epoch](https://www.epoch101.com/) timestamp.
*/ sortOrder?: number | null; /** Project item title. */ title?: string | null; /** Project item description. */ description?: string | null; /** * Project item data type. * @readonly */ type?: TypeWithLiterals; /** * Date and time the project item was created. * @readonly */ _createdDate?: Date | null; /** * Date and time the project item was last updated. * @readonly */ _updatedDate?: Date | null; /** Project item link. */ link?: Link; } /** * Updates multiple project items. * * To update a single project item, call Update Project Item. * @public * @requiredField options.items.item * @requiredField options.items.item._id * @permissionId PORTFOLIO.PROJECT_ITEM_UPDATE * @applicableIdentity APP * @fqn com.wixpress.portfolio.projectitems.ProjectItemsService.BulkUpdateProjectItems */ declare function bulkUpdateProjectItems(options?: NonNullablePaths): Promise>; interface BulkUpdateProjectItemsOptions { /** * Project items to update. * @maxSize 100 */ items?: MaskedItem[]; /** * Whether to return the updated project items. * * Set to `true` to return the project items in the response. * * Default: `false` */ returnFullEntity?: boolean | null; } /** * Deletes a project item. * @param itemId - ID of the project item to delete. * @public * @requiredField itemId * @permissionId PORTFOLIO.PROJECT_ITEM_DELETE * @applicableIdentity APP * @fqn com.wixpress.portfolio.projectitems.ProjectItemsService.DeleteProjectItem */ declare function deleteProjectItem(itemId: string): Promise>; /** * Deletes multiple project items. * * To delete a single project item, call Delete Project Item. * @public * @requiredField options * @requiredField options.itemIds * @permissionId PORTFOLIO.PROJECT_ITEM_DELETE * @applicableIdentity APP * @fqn com.wixpress.portfolio.projectitems.ProjectItemsService.BulkDeleteProjectItems */ declare function bulkDeleteProjectItems(options: NonNullablePaths): Promise>; interface BulkDeleteProjectItemsOptions { /** * IDs of project items to delete. * @format GUID * @minSize 1 * @maxLength 100 */ itemIds: string[]; } /** * Duplicates project items from one project (the origin) to another project (the target). * *
* Important: * * Both the origin and target projects must exist before calling this method. *
* @param originProjectId - ID of the project containing the items to duplicate. * @public * @requiredField options * @requiredField options.targetProjectId * @requiredField originProjectId * @permissionId PORTFOLIO.PROJECT_ITEM_CREATE * @applicableIdentity APP * @fqn com.wixpress.portfolio.projectitems.ProjectItemsService.DuplicateProjectItems */ declare function duplicateProjectItems(originProjectId: string, options: NonNullablePaths): Promise>; interface DuplicateProjectItemsOptions { /** * ID of the project where the duplicated items will be added. * @format GUID */ targetProjectId: string; } /** * Generate media token for project items * @param mediaIds - Media ids of requested project items * @public * @requiredField mediaIds * @permissionId PORTFOLIO.PROJECT_ITEM_CREATE * @applicableIdentity APP * @fqn com.wixpress.portfolio.portfolioapp.MediaService.GenerateTokenForProjectItems */ declare function generateTokenForProjectItems(mediaIds: string[]): Promise>; export { type AccountInfo, type AccountInfoMetadata, type ActionEvent, type App, type ApplicationError, type BaseEventMetadata, type BulkActionMetadata, type BulkCreateProjectItemResult, type BulkCreateProjectItemsOptions, type BulkCreateProjectItemsRequest, type BulkCreateProjectItemsResponse, type BulkDeleteProjectItemResult, type BulkDeleteProjectItemsOptions, type BulkDeleteProjectItemsRequest, type BulkDeleteProjectItemsResponse, type BulkUpdateProjectItemResult, type BulkUpdateProjectItemsOptions, type BulkUpdateProjectItemsRequest, type BulkUpdateProjectItemsResponse, type CreateProjectGalleryRequest, type CreateProjectGalleryResponse, type CreateProjectItemRequest, type CreateProjectItemResponse, type CursorPaging, type Cursors, type CustomTag, type DeleteProjectItemRequest, type DeleteProjectItemResponse, type DeletedProjectRestored, type DomainEvent, type DomainEventBodyOneOf, type DuplicateProjectItemsOptions, type DuplicateProjectItemsRequest, type DuplicateProjectItemsResponse, type Empty, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type EventMetadata, type File, type GenerateTokenForProjectItemsRequest, type GenerateTokenForProjectItemsResponse, type GetProjectItemRequest, type GetProjectItemResponse, type IdentificationData, type IdentificationDataIdOneOf, type Image, ImageType, type ImageTypeWithLiterals, type InvalidateCache, type InvalidateCacheGetByOneOf, type Item, type ItemMetadata, type ItemMetadataOneOf, type Link, type ListProjectItemsOptions, type ListProjectItemsRequest, type ListProjectItemsResponse, type MaskedItem, type MessageEnvelope, type Page, type Pages, type Paging, type PagingMetadataV2, type Point, type ProjectItemCreatedEnvelope, type ProjectItemDeletedEnvelope, type ProjectItemMediaToken, type ProjectItemUpdatedEnvelope, type QueryProjectItemsRequest, type QueryProjectItemsResponse, type QueryV2, type QueryV2PagingMethodOneOf, type RestoreInfo, SortOrder, type SortOrderWithLiterals, type Sorting, type Tags, Type, type TypeWithLiterals, type URI, type URIs, type UnsharpMasking, type UpdateProjectItem, type UpdateProjectItemRequest, type UpdateProjectItemResponse, type Video, type VideoResolution, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, bulkCreateProjectItems, bulkDeleteProjectItems, bulkUpdateProjectItems, createProjectItem, deleteProjectItem, duplicateProjectItems, generateTokenForProjectItems, getProjectItem, listProjectItems, onProjectItemCreated, onProjectItemDeleted, onProjectItemUpdated, updateProjectItem };