import { NonNullablePaths } from '@wix/sdk-types'; interface Item { item?: Record | null; } interface InsertRequest { /** Item to insert. */ item?: Record | null; /** ID of the collection in which to insert the item. */ dataCollectionId?: string; } declare enum Segment { /** Access database used in the Live site. */ LIVE = "LIVE", /** Access staging (sandbox) database used in the editor. */ SANDBOX = "SANDBOX", /** Access deleted database used in the Live site. */ TRASH_LIVE = "TRASH_LIVE" } /** @enumType */ type SegmentWithLiterals = Segment | 'LIVE' | 'SANDBOX' | 'TRASH_LIVE'; interface Options { } interface InsertResponse { /** Inserted item. */ item?: Record | null; } interface UpdateRequest { /** Item to update. The existing item is replaced with this version. */ item: Record | null; /** ID of the collection containing the existing item. */ dataCollectionId?: string; } interface UpdateResponse { /** Updated item */ item?: Record | null; } interface SaveRequest { /** Item to insert or update. */ item?: Record | null; /** ID of the collection in which to insert or update the item. */ dataCollectionId?: string; } interface SaveResponse { /** Inserted or updated item. */ item?: Record | null; } interface PatchRequest { /** item id to patch */ itemId?: string; /** Patch data */ patch?: Record | null; /** Data access options */ options?: Options; /** ID of the collection */ dataCollectionId?: string; } interface PatchResponse { /** Patched item */ item?: Record | null; } interface PatchWhereRequest { /** Data segment */ segment?: SegmentWithLiterals; /** filter items to patch */ filter?: any; /** Patch data */ patch?: Record | null; /** Data access options */ options?: Options; /** ID of the collection */ dataCollectionId?: string; } interface PatchWhereResponse { /** Number of patched items */ totalCount?: number; totalAffectedValues?: number; } interface GetRequest { /** ID of the item to retrieve. */ itemId: string; /** ID of the collection from which to retrieve the item. */ dataCollectionId?: string; } interface ReadOptions { } interface GetResponse { /** Retrieved item. */ item?: Record | null; } interface RemoveRequest { /** ID of the item to remove. */ itemId: string; /** ID of the collection from which to remove the item. */ dataCollectionId?: string; } interface RemoveResponse { /** Removed item. */ item?: Record | null; } interface TruncateRequest { /** ID of the collection to truncate. */ dataCollectionId?: string; } interface TruncateResponse { } interface QueryRequest { /** Query preferences. For more details on using queries, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language). */ dataQuery?: QueryV2; /** * Whether to omit the total count in the response. * When `true`, the `pagingMetadata` object in the response doesn't contain a `total` field. * * Default: `false` */ omitTotalCount?: boolean; /** * Properties for which to include referenced items in the query's results. * Up to 50 referenced items can be included for each item that matches the query. * If more than 50 items are referenced, `partialIncludes` in the response is `true`. */ includeReferencedItems?: string[]; /** ID of the collection to query. */ dataCollectionId?: string; } interface Query { /** * Filter object in the following format: * `"filter" : { * "fieldName1": "value1", * "fieldName2":{"$operator":"value2"} * }` * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains` */ filter?: any; /** * Sort object in the following format: * `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]` */ sort?: Sorting[]; /** Paging options to limit and skip the number of items. */ paging?: Paging; /** Array of projected fields. A list of specific field names to return. */ fields?: string[]; } interface Sorting { /** Name of the field to sort by. */ fieldName?: string; /** Sort order. */ order?: SortOrderWithLiterals; } declare enum SortOrder { ASC = "ASC", DESC = "DESC" } /** @enumType */ type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC'; interface Paging { /** * Number of items to load. * @max 1000 */ limit?: number | null; /** Number of items to skip in the current sort order. */ offset?: number | null; } interface QueryV2 extends QueryV2PagingMethodOneOf { /** Paging options to limit and skip 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 in the following format: * `"filter" : { * "fieldName1": "value1", * "fieldName2":{"$operator":"value2"} * }` * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains` */ filter?: Record | null; /** * Sort object in the following format: * `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]` */ sort?: Sorting[]; /** Array of projected fields. A list of specific field names to return. */ fields?: string[]; } /** @oneof */ interface QueryV2PagingMethodOneOf { /** Paging options to limit and skip 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 CursorPaging { /** * Number of items to load. * @max 1000 */ limit?: number | null; /** * Pointer to the next or previous page in the list of results. * * You can get the relevant cursor token * from the `pagingMetadata` object in the previous call's response. * Not relevant for the first request. */ cursor?: string | null; } interface QueryResponse { /** Retrieved items. */ items?: Record[] | null; /** * *Deprecated.** Refer to 'pagingMetadata' instead. Total number of items satisfying the query. * @deprecated */ totalCount?: number; /** * *Deprecated.** Refer to 'pagingMetadata' instead. Total number of items satisfying the query. * @deprecated */ totalResults?: number; /** Whether referenced items are trimmed from the results. This occurs when there are more than 50 referenced items. */ partialIncludes?: boolean; /** Paging information. */ pagingMetadata?: 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 pointing to next page in the list of results. */ next?: string | null; /** Cursor pointing to previous page in the list of results. */ prev?: string | null; } interface AggregationRequest { /** Paging preferences. */ paging?: Paging; /** Filter applied to the collection's data prior to running the aggregation. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section) for information on how to structure a filter object. */ initialFilter?: Record | null; /** * Object defining the steps of the aggregation to be This is an object defining aggregation itself. * * * Grouping rule is defined as _id field. It takes a form of: * { * "_id": "$field" * } * * If multiple fields are used for grouping, Group takes a form of: * { * "_id": { * "field1": "$field1" * "field2": "$field2" * } * } * * * Aggregation functions are defined as special field definitions. * * Average: * { * "_id": "$field" * "my_avg": { * "$avg": "$other_field" * } * } * * Max: * { * "_id": "$field" * "my_max": { * "$max": "$other_field" * } * } * * Min: * { * "_id": "$field" * "my_min": { * "$min": "$other_field" * } * } * * Sum: * { * "_id": "$field" * "my_sum": { * "$sum": "$other_field" * } * } */ aggregation?: Record | null; /** Filter applied to the processed data following the aggregation. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section) for information on how to structure a filter object. */ finalFilter?: Record | null; /** Sorting preferences. */ sort?: Sorting[]; /** ID of the collection on which to run the aggregation. */ dataCollectionId?: string; } interface AggregationResponse { /** Aggregation results. */ items?: Record[] | null; /** Paging information. */ pagingMetadata?: PagingMetadataV2; } interface CountRequest { /** Filter preferences defining the query. For more information on how to structure a filter object, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section). */ filter?: Record | null; /** ID of the collection for which to count query results. */ dataCollectionId?: string; } interface CountResponse { /** Count of items matching the query. */ totalCount?: number; /** * *Deprecated.** Refer to `totalCount` instead. * @deprecated */ totalResults?: number; } interface DistinctRequest { /** Query preferences. For more details on using queries, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language). */ dataQuery?: QueryV2; /** Property name for which to return all distinct values. */ propertyName: string; /** ID of the collection to query. */ dataCollectionId?: string; /** * Whether to omit the total count in the response. * When `true`, the `pagingMetadata` object in the response doesn't contain a `total` field. * * Default: `false` */ omitTotalCount?: boolean; } interface DistinctResponse { /** List of distinct values contained in the property specified in `propertyName`. */ items?: any[]; /** Paging information. */ pagingMetadata?: PagingMetadataV2; } interface BulkInsertRequest { /** Items to insert. */ items: Record[] | null; /** ID of the collection in which to insert the items. */ dataCollectionId?: string; } interface BulkInsertResponse { /** IDs of items inserted. */ insertedItemIds?: string[]; /** Error details for items that couldn't be inserted. */ errors?: BulkError[]; } interface BulkError { /** ID of the item that couldn't be inserted. */ itemId?: string | null; /** Error message. */ message?: string; /** Error details. */ details?: Details; /** Index of the failed item in the `items` paramater of the request. */ originalIndex?: number; } interface ApplicationError { /** Error code. */ code?: string; /** Error description. */ description?: string; /** Error data. */ data?: Record | null; } interface Details { /** Application error. */ applicationError?: ApplicationError; } interface BulkSaveRequest { /** Items to insert or update. */ items: Record[] | null; /** ID of the collection in which to insert or update the items. */ dataCollectionId?: string; } interface BulkSaveResponse { /** IDs of items inserted. */ insertedItemIds?: string[]; /** IDs of items updated. */ updatedItemIds?: string[]; /** Errors for items that couldn't be inserted or updated. */ errors?: BulkError[]; } interface BulkUpdateRequest { /** Items to update. */ items: Record[] | null; /** ID of the collection in which to update items. */ dataCollectionId?: string; } interface BulkUpdateResponse { /** IDs of items updated. */ updatedItemIds?: string[]; /** Errors for items that couldn't be updated. */ errors?: BulkError[]; } interface BulkPatchRequest { /** List of items and their patches */ entries?: Entry[]; /** Data access options */ options?: Options; /** ID of the collection */ dataCollectionId?: string; } interface Entry { /** item id to patch */ itemId?: string; /** Patch data */ patch?: Record | null; } interface BulkPatchResponse { /** Patched item ids */ patchedItemIds?: string[]; /** Errors */ errors?: BulkError[]; } interface BulkRemoveRequest { /** IDs of items to remove. */ entries?: BulkRemoveRequestEntry[]; /** ID of the collection from which to remove the items. */ dataCollectionId?: string; } interface BulkRemoveRequestEntry { /** ID of item to remove. */ itemId?: string; } interface BulkRemoveResponse { /** IDs of items removed. */ removedItemIds?: string[]; /** Errors for items that couldn't be removed. */ errors?: BulkError[]; } interface QueryReferencedRequest { /** ID of the referring item. */ referringItemId: string; /** Property containing the references to the referenced items. */ propertyName: string; /** Paging preferences. */ paging?: Paging; /** ID of the collection containing the referring item. */ dataCollectionId?: string; /** * Whether to omit the total count in the response. * When `true`, the `pagingMetadata` object in the response doesn't contain a `total` field. * * Default: `false` */ omitTotalCount?: boolean; } declare enum Order { ASC = "ASC", DESC = "DESC" } /** @enumType */ type OrderWithLiterals = Order | 'ASC' | 'DESC'; interface QueryReferencedResponse { /** * *Deprecated.** Refer to `entities` instead. List of referenced items. * @deprecated */ items?: Record[] | null; /** * *Deprecated**. Refer to 'pagingMetadata' instead. Total number of referenced items satisfying the query. * @deprecated */ totalCount?: number; /** * *Deprecated**. Refer to 'pagingMetadata' instead. Total number of referenced items satisfying the query. * @deprecated */ totalResults?: number; /** List of referenced items and/or IDs. For successfully resolved references, the referenced data item appears. For references that can't be resolved, the ID appears. */ entities?: ReferencedEntity[]; /** Paging information. */ pagingMetadata?: PagingMetadataV2; } interface ReferencedEntity extends ReferencedEntityEntityOneOf { /** Data item referenced. */ item?: Record | null; /** Unresolved ID. Appears instead of the data item when the reference doesn't resolve. For example, when an ID isn't found or if an item is in draft state. */ referenceId?: string; } /** @oneof */ interface ReferencedEntityEntityOneOf { /** Data item referenced. */ item?: Record | null; /** Unresolved ID. Appears instead of the data item when the reference doesn't resolve. For example, when an ID isn't found or if an item is in draft state. */ referenceId?: string; } interface BulkInsertReferencesRequest { /** * References to insert. * @minSize 1 */ references: Reference[]; /** ID of the collection containing the referring item. */ dataCollectionId?: string; } interface Reference { /** Property containing the references to the referenced items. */ propertyName?: string; /** ID of the referring item. */ referringItemId?: string; /** ID of the referenced item. */ referencedItemId?: string; } interface BulkInsertReferencesResponse { } interface BulkReplaceReferencesRequest { /** Property containing the references to the referenced items. */ propertyName: string; /** ID of the referring item. */ referringItemId: string; /** List of new referenced item IDs to replace the existing ones. */ newReferencedItemIds?: string[]; /** ID of the collection containing the referring item. */ dataCollectionId?: string; } interface BulkReplaceReferencesResponse { } interface BulkRemoveReferencesRequest { /** * References to be removed. * @minSize 1 */ references: Reference[]; /** ID of the collection containing the referring item. */ dataCollectionId?: string; } interface BulkRemoveReferencesResponse { } interface IsReferencedRequest { /** Property that may contain a reference to the specified item. */ propertyName: string; /** ID of the referring item. */ referringItemId: string; /** ID of the item that may be referenced. */ referencedItemId: string; /** ID of the collection containing the referring item. */ dataCollectionId?: string; } interface IsReferencedResponse { /** Whether the specified property of the referring item contains a reference to the specified referenced item. */ isReferenced?: boolean; } interface RestoreFromTrashBinRequest { /** * Deprecated, use dataCollectionId instead. * Collection name * @deprecated Deprecated, use dataCollectionId instead. * Collection name * @replacedBy data_collection_id */ collectionName?: string; /** Item id */ itemId?: string; /** Data access options */ options?: Options; /** ID of the collection */ dataCollectionId?: string; } interface RestoreFromTrashBinResponse { item?: Record | null; } /** * Adds an item to a collection. * * When an item is inserted into a collection, the following properties and values are added to it: * * `_id`: A unique identifier for an item in a collection. You can optionally provide your own ID when inserting the item. If you specify an ID that already exists in the collection, the insertion will fail. * * `_createdDate`: The date the item was added to the collection. * * `_updatedDate`: The date the item was last modified. When the item is first inserted, `_createdDate` and `_updatedDate` have the same value. * @internal * @documentationMaturity preview * @permissionId WIX_DATA.INSERT * @applicableIdentity APP * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.Insert * @deprecated * @targetRemovalDate 2025-06-01 */ declare function insert(options?: InsertOptions): Promise; interface InsertOptions { /** Item to insert. */ item?: Record | null; /** ID of the collection in which to insert the item. */ dataCollectionId?: string; } /** * Updates an item in a collection. * * An item ID must be submitted as part of the request, either as a path parameter or within the `item` body parameter. If an item is found in the specified collection with * the same ID, that item is updated. If the collection doesn't contain an item with that ID, the request fails. * * When an item is updated, its `_updatedDate` property is changed to the current date. * * **Note:** * After an item is updated, it only contains the properties included in the Update Data Item request. If the existing item has properties with values and those properties * aren't included in the updated item, their values are lost. * @internal * @documentationMaturity preview * @requiredField options.item * @permissionId WIX_DATA.UPDATE * @applicableIdentity APP * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.Update * @deprecated * @targetRemovalDate 2025-06-01 */ declare function update(options?: NonNullablePaths): Promise; interface UpdateOptions { /** Item to update. The existing item is replaced with this version. */ item: Record | null; /** ID of the collection containing the existing item. */ dataCollectionId?: string; } /** * Inserts or updates an item in a collection. * * The Save Data Item endpoint inserts or updates the specified item, depending on whether it already exists in the collection. * * * If you don't provide an ID, a new item is created. * * * If you provide an ID that doesn't exist in the collection, a new item is created with that ID. * * * If an item with the ID you provide already exists in the collection, that item is updated. When an item is updated, its `_updatedDate` property is changed to the current date. * * ***Note:*** When you provide an item with an ID that already exists in the collection, the item you provide completely replaces the existing item with that ID. * This means that all of the item's previous properties and values are lost. * @internal * @documentationMaturity preview * @permissionId WIX_DATA.UPDATE * @applicableIdentity APP * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.Save * @deprecated * @targetRemovalDate 2025-06-01 */ declare function save(options?: SaveOptions): Promise; interface SaveOptions { /** Item to insert or update. */ item?: Record | null; /** ID of the collection in which to insert or update the item. */ dataCollectionId?: string; } /** * Retrieves an item from a collection. * @param itemId - ID of the item to retrieve. * @internal * @documentationMaturity preview * @requiredField itemId * @permissionId WIX_DATA.FIND * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.Get * @deprecated * @targetRemovalDate 2025-06-01 */ declare function get(itemId: string, options?: GetOptions): Promise; interface GetOptions { /** ID of the collection from which to retrieve the item. */ dataCollectionId?: string; } /** * Removes an item from a collection. * * If any items in other collections reference the removed item in a reference or multi-reference field, the field is cleared. * * **Note:** * Once an item has been removed from a collection, it can't be restored. * @param itemId - ID of the item to remove. * @internal * @documentationMaturity preview * @requiredField itemId * @permissionId WIX_DATA.REMOVE * @applicableIdentity APP * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.Remove * @deprecated * @targetRemovalDate 2025-06-01 */ declare function remove(itemId: string, options?: RemoveOptions): Promise; interface RemoveOptions { /** ID of the collection from which to remove the item. */ dataCollectionId?: string; } /** * Removes all items from a collection. Site owner (`ADMIN`) permissions are required in order to invoke this operation. * * If any items in other collections reference the removed items in reference or multi-reference fields, those fields are cleared. * * **Note:** * Once items have been removed from a collection, they can't be restored. * @internal * @documentationMaturity preview * @permissionId WIX_DATA.TRUNCATE * @applicableIdentity APP * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.Truncate * @deprecated * @targetRemovalDate 2025-06-01 */ declare function truncate(options?: TruncateOptions): Promise; interface TruncateOptions { /** ID of the collection to truncate. */ dataCollectionId?: string; } /** * Retrieves a list of items, on the basis of the filtering, sorting, and paging preferences you provide. * * For more details on using queries, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language). * @public * @documentationMaturity preview * @permissionId WIX_DATA.FIND * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.Query * @deprecated * @targetRemovalDate 2025-06-01 */ declare function query(options?: QueryOptions): Promise>; interface QueryOptions { /** Query preferences. For more details on using queries, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language). */ dataQuery?: QueryV2; /** * Whether to omit the total count in the response. * When `true`, the `pagingMetadata` object in the response doesn't contain a `total` field. * * Default: `false` */ omitTotalCount?: boolean; /** * Properties for which to include referenced items in the query's results. * Up to 50 referenced items can be included for each item that matches the query. * If more than 50 items are referenced, `partialIncludes` in the response is `true`. */ includeReferencedItems?: string[]; /** ID of the collection to query. */ dataCollectionId?: string; } /** @internal * @documentationMaturity preview * @permissionId WIX_DATA.AGGREGATE * @applicableIdentity APP * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.Aggregate * @deprecated * @targetRemovalDate 2025-06-01 */ declare function aggregate(options?: AggregateOptions): Promise>; interface AggregateOptions { /** Paging preferences. */ paging?: Paging; /** Filter applied to the collection's data prior to running the aggregation. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section) for information on how to structure a filter object. */ initialFilter?: Record | null; /** * Object defining the steps of the aggregation to be This is an object defining aggregation itself. * * * Grouping rule is defined as _id field. It takes a form of: * { * "_id": "$field" * } * * If multiple fields are used for grouping, Group takes a form of: * { * "_id": { * "field1": "$field1" * "field2": "$field2" * } * } * * * Aggregation functions are defined as special field definitions. * * Average: * { * "_id": "$field" * "my_avg": { * "$avg": "$other_field" * } * } * * Max: * { * "_id": "$field" * "my_max": { * "$max": "$other_field" * } * } * * Min: * { * "_id": "$field" * "my_min": { * "$min": "$other_field" * } * } * * Sum: * { * "_id": "$field" * "my_sum": { * "$sum": "$other_field" * } * } */ aggregation?: Record | null; /** Filter applied to the processed data following the aggregation. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section) for information on how to structure a filter object. */ finalFilter?: Record | null; /** Sorting preferences. */ sort?: Sorting[]; /** ID of the collection on which to run the aggregation. */ dataCollectionId?: string; } /** * Returns the number of items in a collection that match a query. * @internal * @documentationMaturity preview * @permissionId WIX_DATA.FIND * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.Count * @deprecated * @targetRemovalDate 2025-06-01 */ declare function count(options?: CountOptions): Promise>; interface CountOptions { /** Filter preferences defining the query. For more information on how to structure a filter object, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_the-filter-section). */ filter?: Record | null; /** ID of the collection for which to count query results. */ dataCollectionId?: string; } /** * Retrieves a list of distinct values for a given property in all items that match a query, without duplicates. * * As with the [Query Data Items]() endpoint, this endpoint retrieves items based on the filtering, sorting, and paging preferences you provide. * However, the Query Distinct Values endpoint doesn't return all of the full items that match the query. * Rather, it returns all unique values of the property you specify in `propertyName` for items that match the query. * If more than one item has the same value for that property, that value appears only once. * * For more details on using queries, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language). * @internal * @documentationMaturity preview * @requiredField options.propertyName * @permissionId WIX_DATA.FIND * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.Distinct * @deprecated * @targetRemovalDate 2025-06-01 */ declare function distinct(options?: NonNullablePaths): Promise>; interface DistinctOptions { /** Query preferences. For more details on using queries, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language). */ dataQuery?: QueryV2; /** Property name for which to return all distinct values. */ propertyName: string; /** ID of the collection to query. */ dataCollectionId?: string; /** * Whether to omit the total count in the response. * When `true`, the `pagingMetadata` object in the response doesn't contain a `total` field. * * Default: `false` */ omitTotalCount?: boolean; } /** * Adds multiple items to a collection. * * When each item is inserted into a collection, the following properties and values are added to it: * * `_id`: A unique identifier for an item in a collection. You can optionally provide your own ID when inserting the item. If you specify an ID that already exists in the collection, the insertion will fail. * * `_createdDate`: The date the item was added to the collection. * * `_updatedDate`: The date the item was last modified. When the item is first inserted, `_createdDate` and `_updatedDate` have the same value. * * The endpoint returns a list of the IDs of items successfully inserted in `insertedItemIds`. * When any items can't be inserted, error details are provided for each failed item in `errors`. * @internal * @documentationMaturity preview * @requiredField options.items * @permissionId WIX_DATA.INSERT * @applicableIdentity APP * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.BulkInsert * @deprecated * @targetRemovalDate 2025-06-01 */ declare function bulkInsert(options?: NonNullablePaths): Promise>; interface BulkInsertOptions { /** Items to insert. */ items: Record[] | null; /** ID of the collection in which to insert the items. */ dataCollectionId?: string; } /** * Inserts or updates multiple items in a collection. * * The Bulk Save Data Items endpoint inserts or updates each item, depending on whether it already exists in the collection. For each item: * * * If you don't provide an ID, a new item is created. * * * If you provide an ID that doesn't exist in the collection, a new item is created with that ID. * * * If an item with the ID you provide already exists in the collection, that item is updated. When an item is updated, its `_updatedDate` property is changed to the current date. * * The endpoint returns a list of the IDs of items successfully inserted in `insertedItemIds` and a list of the IDs of items successfully updated in `updatedItemIds`. * When any items can't be inserted or updated, error details are provided for each failed item in `errors`. * * ***Note:*** When you provide an item with an ID that already exists in the collection, the item you provide completely replaces the existing item with that ID. * This means that all of the item's previous properties and values are lost. * @internal * @documentationMaturity preview * @requiredField options.items * @permissionId WIX_DATA.UPDATE * @applicableIdentity APP * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.BulkSave * @deprecated * @targetRemovalDate 2025-06-01 */ declare function bulkSave(options?: NonNullablePaths): Promise>; interface BulkSaveOptions { /** Items to insert or update. */ items: Record[] | null; /** ID of the collection in which to insert or update the items. */ dataCollectionId?: string; } /** * Updates multiple items in a collection. * * Each item in the request must include an ID. If an item is found in the specified collection with * the same ID, that item is updated. If the collection doesn't contain an item with that ID, the update fails. * * When an item is updated, its `_updatedDate` property is changed to the current date. * * The endpoint returns a list of the IDs of items successfully updated in `updatedItemIds`. * When any items can't be inserted, error details are provided for each failed item in `errors`. * * **Note:** * After each item is updated, it only contains the properties included in the Update Data Item request. If the existing item has properties with values and those properties * aren't included in the updated item, their values are lost. * @internal * @documentationMaturity preview * @requiredField options.items * @permissionId WIX_DATA.UPDATE * @applicableIdentity APP * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.BulkUpdate * @deprecated * @targetRemovalDate 2025-06-01 */ declare function bulkUpdate(options?: NonNullablePaths): Promise>; interface BulkUpdateOptions { /** Items to update. */ items: Record[] | null; /** ID of the collection in which to update items. */ dataCollectionId?: string; } /** * Removes multiple items from a collection. * * If any items in other collections reference the removed items in reference or multi-reference fields, the fields are cleared. * * The endpoint returns a list of the IDs of items successfully removed in `removedItemIds`. * When any items can't be removed, error details are provided for each failed item in `errors`. * * **Note:** Once an item has been removed from a collection, it can't be restored. * @internal * @documentationMaturity preview * @permissionId WIX_DATA.REMOVE * @applicableIdentity APP * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.BulkRemove * @deprecated * @targetRemovalDate 2025-06-01 */ declare function bulkRemove(options?: BulkRemoveOptions): Promise>; interface BulkRemoveOptions { /** IDs of items to remove. */ entries?: BulkRemoveRequestEntry[]; /** ID of the collection from which to remove the items. */ dataCollectionId?: string; } /** * Gets the full items referenced in the specified property of an item. * * For example, suppose you have a **Movies** collection with an **Actors** field that contains references to items in a **People** collection. * Querying the **Movies** collection using the Query Referenced Data Items endpoint returns the relevant **People** items referenced in the **Actors** field of the specified **Movie** item. * This gives you information from the **People** collection about each of the actors in the specified movie. * @internal * @documentationMaturity preview * @requiredField options.propertyName * @requiredField options.referringItemId * @permissionId WIX_DATA.FIND * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.QueryReferenced * @deprecated * @targetRemovalDate 2025-06-01 */ declare function queryReferenced(options?: NonNullablePaths): Promise>; interface QueryReferencedOptions { /** ID of the referring item. */ referringItemId: string; /** Property containing the references to the referenced items. */ propertyName: string; /** Paging preferences. */ paging?: Paging; /** ID of the collection containing the referring item. */ dataCollectionId?: string; /** * Whether to omit the total count in the response. * When `true`, the `pagingMetadata` object in the response doesn't contain a `total` field. * * Default: `false` */ omitTotalCount?: boolean; } /** * Inserts one or more references in the specified properties of items in a collection. * * The Bulk Insert References endpoint adds one or more references to a collection. * Each new reference in the `references` field specifies a referring item's ID, the property in which to insert the reference, and the ID of the referenced item. * @internal * @documentationMaturity preview * @requiredField options.references * @requiredField options.references.propertyName * @requiredField options.references.referencedItemId * @requiredField options.references.referringItemId * @permissionId WIX_DATA.INSERT * @applicableIdentity APP * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.BulkInsertReferences * @deprecated * @targetRemovalDate 2025-06-01 */ declare function bulkInsertReferences(options?: NonNullablePaths): Promise; interface BulkInsertReferencesOptions { /** * References to insert. * @minSize 1 */ references: Reference[]; /** ID of the collection containing the referring item. */ dataCollectionId?: string; } /** * Replaces references in a specified property of a specified data item. * * The Bulk Replace References endpoint replaces the existing reference or references contained in the property specified in `propertyName` within the data item specified in `referringItemId`. * The endpoint removes existing references and in their place it adds references to the items specified in `newReferencedItemIds`. * @internal * @documentationMaturity preview * @requiredField options.propertyName * @requiredField options.referringItemId * @permissionId WIX_DATA.UPDATE * @applicableIdentity APP * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.BulkReplaceReferences * @deprecated * @targetRemovalDate 2025-06-01 */ declare function bulkReplaceReferences(options?: NonNullablePaths): Promise; interface BulkReplaceReferencesOptions { /** Property containing the references to the referenced items. */ propertyName: string; /** ID of the referring item. */ referringItemId: string; /** List of new referenced item IDs to replace the existing ones. */ newReferencedItemIds?: string[]; /** ID of the collection containing the referring item. */ dataCollectionId?: string; } /** * Removes one or more references. * @internal * @documentationMaturity preview * @requiredField options.references * @requiredField options.references.propertyName * @permissionId WIX_DATA.REMOVE * @applicableIdentity APP * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.BulkRemoveReferences * @deprecated * @targetRemovalDate 2025-06-01 */ declare function bulkRemoveReferences(options?: NonNullablePaths): Promise; interface BulkRemoveReferencesOptions { /** * References to be removed. * @minSize 1 */ references: Reference[]; /** ID of the collection containing the referring item. */ dataCollectionId?: string; } /** * Checks if a specific property of a referring item contains a reference to another specific item. * @internal * @documentationMaturity preview * @requiredField options.propertyName * @requiredField options.referencedItemId * @requiredField options.referringItemId * @permissionId WIX_DATA.FIND * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.IsReferenced * @deprecated * @targetRemovalDate 2025-06-01 */ declare function isReferenced(options?: NonNullablePaths): Promise>; interface IsReferencedOptions { /** Property that may contain a reference to the specified item. */ propertyName: string; /** ID of the referring item. */ referringItemId: string; /** ID of the item that may be referenced. */ referencedItemId: string; /** ID of the collection containing the referring item. */ dataCollectionId?: string; } export { type AggregateOptions, type AggregationRequest, type AggregationResponse, type ApplicationError, type BulkError, type BulkInsertOptions, type BulkInsertReferencesOptions, type BulkInsertReferencesRequest, type BulkInsertReferencesResponse, type BulkInsertRequest, type BulkInsertResponse, type BulkPatchRequest, type BulkPatchResponse, type BulkRemoveOptions, type BulkRemoveReferencesOptions, type BulkRemoveReferencesRequest, type BulkRemoveReferencesResponse, type BulkRemoveRequest, type BulkRemoveRequestEntry, type BulkRemoveResponse, type BulkReplaceReferencesOptions, type BulkReplaceReferencesRequest, type BulkReplaceReferencesResponse, type BulkSaveOptions, type BulkSaveRequest, type BulkSaveResponse, type BulkUpdateOptions, type BulkUpdateRequest, type BulkUpdateResponse, type CountOptions, type CountRequest, type CountResponse, type CursorPaging, type Cursors, type Details, type DistinctOptions, type DistinctRequest, type DistinctResponse, type Entry, type GetOptions, type GetRequest, type GetResponse, type InsertOptions, type InsertRequest, type InsertResponse, type IsReferencedOptions, type IsReferencedRequest, type IsReferencedResponse, type Item, type Options, Order, type OrderWithLiterals, type Paging, type PagingMetadataV2, type PatchRequest, type PatchResponse, type PatchWhereRequest, type PatchWhereResponse, type Query, type QueryOptions, type QueryReferencedOptions, type QueryReferencedRequest, type QueryReferencedResponse, type QueryRequest, type QueryResponse, type QueryV2, type QueryV2PagingMethodOneOf, type ReadOptions, type Reference, type ReferencedEntity, type ReferencedEntityEntityOneOf, type RemoveOptions, type RemoveRequest, type RemoveResponse, type RestoreFromTrashBinRequest, type RestoreFromTrashBinResponse, type SaveOptions, type SaveRequest, type SaveResponse, Segment, type SegmentWithLiterals, SortOrder, type SortOrderWithLiterals, type Sorting, type TruncateOptions, type TruncateRequest, type TruncateResponse, type UpdateOptions, type UpdateRequest, type UpdateResponse, aggregate, bulkInsert, bulkInsertReferences, bulkRemove, bulkRemoveReferences, bulkReplaceReferences, bulkSave, bulkUpdate, count, distinct, get, insert, isReferenced, query, queryReferenced, remove, save, truncate, update };