export interface Item { item?: Record | null; } export interface InsertRequest { /** Item to insert. */ item?: Record | null; /** ID of the collection in which to insert the item. */ dataCollectionId?: string; } export 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" } export interface Options { } export interface InsertResponse { /** Inserted item. */ item?: Record | null; } export 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; } export interface UpdateResponse { /** Updated item */ item?: Record | null; } export interface SaveRequest { /** Item to insert or update. */ item?: Record | null; /** ID of the collection in which to insert or update the item. */ dataCollectionId?: string; } export interface SaveResponse { /** Inserted or updated item. */ item?: Record | null; } export interface PatchRequest { /** item id to patch */ itemId?: string; /** Patch data */ patch?: Record | null; /** Data access options */ options?: Options; /** ID of the collection */ dataCollectionId?: string; } export interface PatchResponse { /** Patched item */ item?: Record | null; } export interface PatchWhereRequest { /** Data segment */ segment?: Segment; /** filter items to patch */ filter?: any; /** Patch data */ patch?: Record | null; /** Data access options */ options?: Options; /** ID of the collection */ dataCollectionId?: string; } export interface PatchWhereResponse { /** Number of patched items */ totalCount?: number; totalAffectedValues?: number; } export interface GetRequest { /** ID of the item to retrieve. */ itemId: string; /** ID of the collection from which to retrieve the item. */ dataCollectionId?: string; } export interface ReadOptions { } export interface GetResponse { /** Retrieved item. */ item?: Record | null; } export interface RemoveRequest { /** ID of the item to remove. */ itemId: string; /** ID of the collection from which to remove the item. */ dataCollectionId?: string; } export interface RemoveResponse { /** Removed item. */ item?: Record | null; } export interface TruncateRequest { /** ID of the collection to truncate. */ dataCollectionId?: string; } export interface TruncateResponse { } export 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; } export 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[]; } export interface Sorting { /** Name of the field to sort by. */ fieldName?: string; /** Sort order. */ order?: SortOrder; } export declare enum SortOrder { ASC = "ASC", DESC = "DESC" } export interface Paging { /** Number of items to load. */ limit?: number | null; /** Number of items to skip in the current sort order. */ offset?: number | null; } export 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 */ export 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; } export interface CursorPaging { /** Number of items to load. */ 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; } export 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; } export 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; } export 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; } export 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; } export interface AggregationResponse { /** Aggregation results. */ items?: Record[] | null; /** Paging information. */ pagingMetadata?: PagingMetadataV2; } export 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; } export interface CountResponse { /** Count of items matching the query. */ totalCount?: number; /** * *Deprecated.** Refer to `totalCount` instead. * @deprecated */ totalResults?: number; } export 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; } export interface DistinctResponse { /** List of distinct values contained in the property specified in `propertyName`. */ items?: any[]; /** Paging information. */ pagingMetadata?: PagingMetadataV2; } export interface BulkInsertRequest { /** Items to insert. */ items: Record[] | null; /** ID of the collection in which to insert the items. */ dataCollectionId?: string; } export interface BulkInsertResponse { /** IDs of items inserted. */ insertedItemIds?: string[]; /** Error details for items that couldn't be inserted. */ errors?: BulkError[]; } export 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; } export interface ApplicationError { /** Error code. */ code?: string; /** Error description. */ description?: string; /** Error data. */ data?: Record | null; } export interface Details { /** Application error. */ applicationError?: ApplicationError; } export interface BulkSaveRequest { /** Items to insert or update. */ items: Record[] | null; /** ID of the collection in which to insert or update the items. */ dataCollectionId?: string; } export 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[]; } export interface BulkUpdateRequest { /** Items to update. */ items: Record[] | null; /** ID of the collection in which to update items. */ dataCollectionId?: string; } export interface BulkUpdateResponse { /** IDs of items updated. */ updatedItemIds?: string[]; /** Errors for items that couldn't be updated. */ errors?: BulkError[]; } export interface BulkPatchRequest { /** List of items and their patches */ entries?: Entry[]; /** Data access options */ options?: Options; /** ID of the collection */ dataCollectionId?: string; } export interface Entry { /** item id to patch */ itemId?: string; /** Patch data */ patch?: Record | null; } export interface BulkPatchResponse { /** Patched item ids */ patchedItemIds?: string[]; /** Errors */ errors?: BulkError[]; } export interface BulkRemoveRequest { /** IDs of items to remove. */ entries?: BulkRemoveRequestEntry[]; /** ID of the collection from which to remove the items. */ dataCollectionId?: string; } export interface BulkRemoveRequestEntry { /** ID of item to remove. */ itemId?: string; } export interface BulkRemoveResponse { /** IDs of items removed. */ removedItemIds?: string[]; /** Errors for items that couldn't be removed. */ errors?: BulkError[]; } export 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; } export declare enum Order { ASC = "ASC", DESC = "DESC" } export 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; } export 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 */ export 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; } export interface BulkInsertReferencesRequest { /** References to insert. */ references: Reference[]; /** ID of the collection containing the referring item. */ dataCollectionId?: string; } export 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; } export interface BulkInsertReferencesResponse { } export 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; } export interface BulkReplaceReferencesResponse { } export interface BulkRemoveReferencesRequest { /** References to be removed. */ references: Reference[]; /** ID of the collection containing the referring item. */ dataCollectionId?: string; } export interface BulkRemoveReferencesResponse { } export 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; } export interface IsReferencedResponse { /** Whether the specified property of the referring item contains a reference to the specified referenced item. */ isReferenced?: boolean; } export 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; } export interface RestoreFromTrashBinResponse { item?: Record | null; } export interface QueryResponseNonNullableFields { totalCount: number; totalResults: number; partialIncludes: boolean; } export interface CountResponseNonNullableFields { totalCount: number; totalResults: number; } interface ApplicationErrorNonNullableFields { code: string; description: string; } interface DetailsNonNullableFields { applicationError?: ApplicationErrorNonNullableFields; } interface BulkErrorNonNullableFields { message: string; details?: DetailsNonNullableFields; originalIndex: number; } export interface BulkInsertResponseNonNullableFields { insertedItemIds: string[]; errors: BulkErrorNonNullableFields[]; } export interface BulkSaveResponseNonNullableFields { insertedItemIds: string[]; updatedItemIds: string[]; errors: BulkErrorNonNullableFields[]; } export interface BulkUpdateResponseNonNullableFields { updatedItemIds: string[]; errors: BulkErrorNonNullableFields[]; } export interface BulkRemoveResponseNonNullableFields { removedItemIds: string[]; errors: BulkErrorNonNullableFields[]; } interface ReferencedEntityNonNullableFields { referenceId: string; } export interface QueryReferencedResponseNonNullableFields { totalCount: number; totalResults: number; entities: ReferencedEntityNonNullableFields[]; } export interface IsReferencedResponseNonNullableFields { isReferenced: boolean; } /** * 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 * @permissionScope Write Data Items * @permissionScopeId SCOPE.DC-DATA.WRITE * @applicableIdentity APP * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.Insert * @deprecated * @targetRemovalDate 2025-06-01 */ export declare function insert(options?: InsertOptions): Promise; export 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 * @permissionScope Write Data Items * @permissionScopeId SCOPE.DC-DATA.WRITE * @applicableIdentity APP * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.Update * @deprecated * @targetRemovalDate 2025-06-01 */ export declare function update(options?: UpdateOptions): Promise; export 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 * @permissionScope Write Data Items * @permissionScopeId SCOPE.DC-DATA.WRITE * @applicableIdentity APP * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.Save * @deprecated * @targetRemovalDate 2025-06-01 */ export declare function save(options?: SaveOptions): Promise; export 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 */ export declare function get(itemId: string, options?: GetOptions): Promise; export 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 * @permissionScope Write Data Items * @permissionScopeId SCOPE.DC-DATA.WRITE * @applicableIdentity APP * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.Remove * @deprecated * @targetRemovalDate 2025-06-01 */ export declare function remove(itemId: string, options?: RemoveOptions): Promise; export 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 * @permissionScope Write Data Items * @permissionScopeId SCOPE.DC-DATA.WRITE * @applicableIdentity APP * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.Truncate * @deprecated * @targetRemovalDate 2025-06-01 */ export declare function truncate(options?: TruncateOptions): Promise; export 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 */ export declare function query(options?: QueryOptions): Promise; export 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 * @permissionScope Read Data Items * @permissionScopeId SCOPE.DC-DATA.READ * @permissionScope Manage Data Items * @permissionScopeId SCOPE.DC-DATA.MANAGE-DATA * @applicableIdentity APP * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.Aggregate * @deprecated * @targetRemovalDate 2025-06-01 */ export declare function aggregate(options?: AggregateOptions): Promise; export 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 */ export declare function count(options?: CountOptions): Promise; export 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 */ export declare function distinct(options?: DistinctOptions): Promise; export 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 * @permissionScope Write Data Items * @permissionScopeId SCOPE.DC-DATA.WRITE * @applicableIdentity APP * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.BulkInsert * @deprecated * @targetRemovalDate 2025-06-01 */ export declare function bulkInsert(options?: BulkInsertOptions): Promise; export 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 * @permissionScope Write Data Items * @permissionScopeId SCOPE.DC-DATA.WRITE * @applicableIdentity APP * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.BulkSave * @deprecated * @targetRemovalDate 2025-06-01 */ export declare function bulkSave(options?: BulkSaveOptions): Promise; export 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 * @permissionScope Write Data Items * @permissionScopeId SCOPE.DC-DATA.WRITE * @applicableIdentity APP * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.BulkUpdate * @deprecated * @targetRemovalDate 2025-06-01 */ export declare function bulkUpdate(options?: BulkUpdateOptions): Promise; export 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 * @permissionScope Write Data Items * @permissionScopeId SCOPE.DC-DATA.WRITE * @applicableIdentity APP * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.BulkRemove * @deprecated * @targetRemovalDate 2025-06-01 */ export declare function bulkRemove(options?: BulkRemoveOptions): Promise; export 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 */ export declare function queryReferenced(options?: QueryReferencedOptions): Promise; export 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 * @permissionScope Write Data Items * @permissionScopeId SCOPE.DC-DATA.WRITE * @applicableIdentity APP * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.BulkInsertReferences * @deprecated * @targetRemovalDate 2025-06-01 */ export declare function bulkInsertReferences(options?: BulkInsertReferencesOptions): Promise; export interface BulkInsertReferencesOptions { /** References to insert. */ 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 * @permissionScope Write Data Items * @permissionScopeId SCOPE.DC-DATA.WRITE * @applicableIdentity APP * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.BulkReplaceReferences * @deprecated * @targetRemovalDate 2025-06-01 */ export declare function bulkReplaceReferences(options?: BulkReplaceReferencesOptions): Promise; export 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 * @permissionScope Write Data Items * @permissionScopeId SCOPE.DC-DATA.WRITE * @applicableIdentity APP * @fqn com.wixpress.cloud.data.api.dataservice.WixDataService.BulkRemoveReferences * @deprecated * @targetRemovalDate 2025-06-01 */ export declare function bulkRemoveReferences(options?: BulkRemoveReferencesOptions): Promise; export interface BulkRemoveReferencesOptions { /** References to be removed. */ 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 */ export declare function isReferenced(options?: IsReferencedOptions): Promise; export 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 {};