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; } export {};