import { CreateDataCollectionRequest as CreateDataCollectionRequest$1, CreateDataCollectionResponse as CreateDataCollectionResponse$1, GetDataCollectionRequest as GetDataCollectionRequest$1, GetDataCollectionResponse as GetDataCollectionResponse$1, ListDataCollectionsRequest as ListDataCollectionsRequest$1, ListDataCollectionsResponse as ListDataCollectionsResponse$1, UpdateDataCollectionRequest as UpdateDataCollectionRequest$1, UpdateDataCollectionResponse as UpdateDataCollectionResponse$1, DeleteDataCollectionRequest as DeleteDataCollectionRequest$1, DeleteDataCollectionResponse as DeleteDataCollectionResponse$1, RestoreDataCollectionRequest as RestoreDataCollectionRequest$1, RestoreDataCollectionResponse as RestoreDataCollectionResponse$1, PatchDataCollectionRequest as PatchDataCollectionRequest$1, PatchDataCollectionResponse as PatchDataCollectionResponse$1, CreateDataCollectionFieldRequest as CreateDataCollectionFieldRequest$1, CreateDataCollectionFieldResponse as CreateDataCollectionFieldResponse$1, UpdateDataCollectionFieldRequest as UpdateDataCollectionFieldRequest$1, UpdateDataCollectionFieldResponse as UpdateDataCollectionFieldResponse$1, DeleteDataCollectionFieldRequest as DeleteDataCollectionFieldRequest$1, DeleteDataCollectionFieldResponse as DeleteDataCollectionFieldResponse$1, AddDataCollectionPluginRequest as AddDataCollectionPluginRequest$1, AddDataCollectionPluginResponse as AddDataCollectionPluginResponse$1, DeleteDataCollectionPluginRequest as DeleteDataCollectionPluginRequest$1, DeleteDataCollectionPluginResponse as DeleteDataCollectionPluginResponse$1, PatchDataCollectionFieldRequest as PatchDataCollectionFieldRequest$1, PatchDataCollectionFieldResponse as PatchDataCollectionFieldResponse$1 } from './index.typings.js'; import '@wix/sdk-types'; /** A data collection determines the structure of data to be stored in a database. */ interface DataCollection { /** * Collection ID. For example, `my-first-collection`. May include a namespace. * @immutable * @maxLength 256 */ id?: string; /** * Collection type. Indicates how the collection was created and how it is stored. * @readonly */ collectionType?: CollectionTypeWithLiterals; /** * ID of the app that defined this collection. For collections defined by Wix users, this value is null. * @format GUID * @readonly */ ownerAppId?: string | null; /** * Maximum number of items returned in a single query, based on the underlying storage. * Native collections have a maximum page size of 1000 for offset-based queries or 100 for cursor-based queries. * External collections' maximum page size defaults to 50, but an external provider can set any maximum value up to 1000. * @readonly */ maxPageSize?: number | null; /** * Collection's display name as shown in the CMS. For example, `My First Collection`. * @maxLength 1000 */ displayName?: string | null; /** * Default item sorting order when a query doesn't specify one. * @readonly */ defaultDisplayOrder?: Sort; /** * UI-friendly namespace of the Wix app with which the data collection is associated, such as Stores or Bookings. * Empty for all data collections not owned by Wix apps. * @readonly * @maxLength 1000 */ displayNamespace?: string | null; /** * Field whose value the CMS displays to represent the collection item when referenced in a different collection. * @maxLength 1000 */ displayField?: string | null; /** * Capabilities the collection supports. * @readonly */ capabilities?: CollectionCapabilities; /** * Collection's field structure. * @maxSize 1000 */ fields?: Field[]; /** [Permissions](https://dev.wix.com/docs/api-reference/business-solutions/cms/collection-management/data-collections/introduction#permissions) required to access and modify collection items, defined by the lowest role needed to perform each action. */ permissions?: Permissions; /** * Collection's current revision number, which increments each time the collection is updated. For an update operation to succeed, you must specify the latest revision number. * @readonly */ revision?: string | null; /** * Plugins the collection uses. Plugins apply additional capabilities to the collection or extend its functionality. * @maxSize 100 */ plugins?: Plugin[]; /** * Paging modes the collection supports. In native collections, offset-based paging is supported by default. * @readonly * @maxSize 2 */ pagingModes?: PagingModeWithLiterals[]; /** * Date the collection was created. * @readonly */ createdDate?: Date | null; /** * Date the collection was last updated. * @readonly */ updatedDate?: Date | null; } declare enum CollectionType { /** User-created collection. */ NATIVE = "NATIVE", /** [Collection](https://support.wix.com/en/article/velo-working-with-wix-app-collections-and-code#what-are-wix-app-collections) created by a Wix app when it is installed. This type of collection can be modified dynamically by that app (for example, Wix Forms). */ WIX_APP = "WIX_APP", /** Collection created by a Wix Blocks app. */ BLOCKS_APP = "BLOCKS_APP", /** Collection located in externally connected storage. */ EXTERNAL = "EXTERNAL" } /** @enumType */ type CollectionTypeWithLiterals = CollectionType | 'NATIVE' | 'WIX_APP' | 'BLOCKS_APP' | 'EXTERNAL'; interface Sort { /** * Field to sort by. * @maxLength 1000 */ fieldKey?: string; /** * Sort order. Use `ASC` for ascending order or `DESC` for descending order. * * Default: `ASC` */ direction?: DirectionWithLiterals; } declare enum Direction { ASC = "ASC", DESC = "DESC" } /** @enumType */ type DirectionWithLiterals = Direction | 'ASC' | 'DESC'; interface CollectionCapabilities { /** * Data operations the collection supports. The listed operations can be performed on data the collection contains. * * > **Note**: The `PATCH` and `BULK_PATCH` oeprations aren't currently supported. * @maxSize 100 */ dataOperations?: DataOperationWithLiterals[]; /** * Collection operations supported. The listed operations can be performed on the collection itself. * @maxSize 100 */ collectionOperations?: CollectionOperationWithLiterals[]; /** Maximum number of indexes for the collection. */ indexLimits?: IndexLimits; } declare enum DataOperation { AGGREGATE = "AGGREGATE", BULK_INSERT = "BULK_INSERT", BULK_REMOVE = "BULK_REMOVE", BULK_SAVE = "BULK_SAVE", BULK_UPDATE = "BULK_UPDATE", COUNT = "COUNT", DISTINCT = "DISTINCT", FIND = "FIND", GET = "GET", INSERT = "INSERT", INSERT_REFERENCE = "INSERT_REFERENCE", IS_REFERENCED = "IS_REFERENCED", QUERY_REFERENCED = "QUERY_REFERENCED", REMOVE = "REMOVE", REMOVE_REFERENCE = "REMOVE_REFERENCE", REPLACE_REFERENCES = "REPLACE_REFERENCES", SAVE = "SAVE", TRUNCATE = "TRUNCATE", UPDATE = "UPDATE", PATCH = "PATCH", BULK_PATCH = "BULK_PATCH" } /** @enumType */ type DataOperationWithLiterals = DataOperation | 'AGGREGATE' | 'BULK_INSERT' | 'BULK_REMOVE' | 'BULK_SAVE' | 'BULK_UPDATE' | 'COUNT' | 'DISTINCT' | 'FIND' | 'GET' | 'INSERT' | 'INSERT_REFERENCE' | 'IS_REFERENCED' | 'QUERY_REFERENCED' | 'REMOVE' | 'REMOVE_REFERENCE' | 'REPLACE_REFERENCES' | 'SAVE' | 'TRUNCATE' | 'UPDATE' | 'PATCH' | 'BULK_PATCH'; declare enum CollectionOperation { /** Allows updating the collection's structure, for example adding, updating, or deleting fields. If not included, the collection's structure can't be changed. */ UPDATE = "UPDATE", /** Allows deleting the entire collection. If not included, the collection can't be deleted. */ REMOVE = "REMOVE" } /** @enumType */ type CollectionOperationWithLiterals = CollectionOperation | 'UPDATE' | 'REMOVE'; interface IndexLimits { /** Maximum number of regular (non-unique) indexes allowed for this collection. */ regular?: number; /** Maximum number of unique indexes allowed for this collection. */ unique?: number; /** Maximum number of regular and unique indexes allowed for this collection. */ total?: number; } interface IndexQuotaLimits { /** * limit of regular single-field indexes, even if 0 1-field indices may be created using * 3-field quota (if available) */ regular1Field?: number; /** limit of regular indexes up to 3-fields (in addition to 1-field indexes quota) */ regular3Field?: number; /** limit of unique indexes */ unique1Field?: number; /** Maximum number of regular and unique indexes allowed for this collection. */ total?: number; } interface Field extends FieldRangeValidationsOneOf { /** Range of possible values for a numerical field. */ numberRange?: NumberRange; /** Length range permitted for a text field. Relevant for fields that hold strings, such as those of type `TEXT` or `RICH_TEXT`. */ stringLengthRange?: StringLengthRange; /** Array size range permitted. Relevant for fields that hold arrays, such as those of type `ARRAY`, `ARRAY_STRING`, or `ARRAY_DOCUMENT`. */ arraySizeRange?: ArraySizeRange; /** * Unique identifier for the field. For example, `firstName`. * @maxLength 1000 */ key?: string; /** * Field's display name when displayed in the CMS. For example, `First Name`. * @maxLength 1000 */ displayName?: string | null; /** * Field's data type. * * Learn more about [data types in Wix Data](https://dev.wix.com/docs/rest/business-solutions/cms/data-types-in-wix-data). */ type?: TypeWithLiterals; /** Metadata for complex data types. This property only exists for references, multi-references, objects, and arrays. */ typeMetadata?: TypeMetadata; /** * Whether the field is a system field. * @readonly */ systemField?: boolean; /** * Capabilities the field supports. * @readonly */ capabilities?: FieldCapabilities; /** Whether the field is encrypted. */ encrypted?: boolean; /** * Field description. * @maxLength 16000 */ description?: string | null; /** * Whether the field is read-only. A read-only field can't be changed. * * Default: `false` */ readOnly?: boolean | null; /** * Whether the field is immutable. An immutable field can be set once, but then cannot be updated. * * Default: `false` */ immutable?: boolean | null; /** * Whether the field is required. * * Default: `false` */ required?: boolean | null; /** * Additional optional plugins for the field. * @maxSize 100 */ plugins?: FieldPlugin[]; /** * This indicates that this fields is conditional and is not retrieved by default. * @readonly */ condition?: FieldCondition; } /** @oneof */ interface FieldRangeValidationsOneOf { /** Range of possible values for a numerical field. */ numberRange?: NumberRange; /** Length range permitted for a text field. Relevant for fields that hold strings, such as those of type `TEXT` or `RICH_TEXT`. */ stringLengthRange?: StringLengthRange; /** Array size range permitted. Relevant for fields that hold arrays, such as those of type `ARRAY`, `ARRAY_STRING`, or `ARRAY_DOCUMENT`. */ arraySizeRange?: ArraySizeRange; } interface TextValidation { /** Minimum permitted length for a text field. */ minLength?: number | null; /** Maximum permitted length for a text field. */ maxLength?: number | null; /** Custom regex pattern for string validation. */ pattern?: string | null; } interface EnumValues { /** * Allowed enum values for string fields. * @minSize 1 * @maxSize 512 * @maxLength 1000 */ values?: string[]; } declare enum Type { UNKNOWN_FIELD_TYPE = "UNKNOWN_FIELD_TYPE", /** Plain-text string. */ TEXT = "TEXT", /** Number. */ NUMBER = "NUMBER", /** Date string in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DD`. */ DATE = "DATE", /** [JavaScript Date object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) ([SDK](https://dev.wix.com/docs/sdk/backend-modules/data/data-types-in-wix-data)) or an object in the following format: `"someFieldKey": { "$date": "YYYY-MM-DDTHH:mm:ss.sssZ"}` ([REST](https://dev.wix.com/docs/rest/business-solutions/cms/data-types-in-wix-data)). */ DATETIME = "DATETIME", /** Web URL or a [Media Manager](https://dev.wix.com/docs/rest/assets/media/media-manager/introduction) URL. */ IMAGE = "IMAGE", /** Boolean `true` or `false` value. */ BOOLEAN = "BOOLEAN", /** Web URL or a [Media Manager](https://dev.wix.com/docs/rest/assets/media/media-manager/introduction) URL. */ DOCUMENT = "DOCUMENT", /** URL in one of the following formats: `http://`, `https://`, `ftp://`, `mailto:`, `sms:`, `tel:`. */ URL = "URL", /** [Rich-text](https://dev.wix.com/docs/rest/articles/getting-started/rich-text) string that may contain a subset of HTML tags. */ RICH_TEXT = "RICH_TEXT", /** Web URL or a [Media Manager](https://dev.wix.com/docs/rest/assets/media/media-manager/introduction) URL. */ VIDEO = "VIDEO", /** Any field type. */ ANY = "ANY", /** Array of strings. */ ARRAY_STRING = "ARRAY_STRING", /** Array of documents: web or [Media Manager](https://dev.wix.com/docs/rest/assets/media/media-manager/introduction) URLs. */ ARRAY_DOCUMENT = "ARRAY_DOCUMENT", /** Web URL or a [Media Manager](https://dev.wix.com/docs/rest/assets/media/media-manager/introduction) URL. */ AUDIO = "AUDIO", /** Time string in `hh:mm:ss.SSS` format. */ TIME = "TIME", /** Language codes in [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) format. These may include country codes in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#officially_assigned_code_elements) format. */ LANGUAGE = "LANGUAGE", /** [Rich content](https://dev.wix.com/docs/ricos/getting-started/introduction). */ RICH_CONTENT = "RICH_CONTENT", /** Array of web or [Media Manager](https://dev.wix.com/docs/rest/assets/media/media-manager/introduction) URLs. */ MEDIA_GALLERY = "MEDIA_GALLERY", /** Physical address object ([SDK](https://dev.wix.com/docs/sdk/backend-modules/data/data-types-in-wix-data#address-object) | [REST](https://dev.wix.com/docs/rest/business-solutions/cms/data-types-in-wix-data#address-object)). */ ADDRESS = "ADDRESS", /** [Dynamic page link](https://support.wix.com/en/article/cms-linking-to-dynamic-pages). */ PAGE_LINK = "PAGE_LINK", /** * Reference to another item in another collection. See Query Referenced Data Items ([SDK](https://dev.wix.com/docs/sdk/backend-modules/data/items/query-referenced) | [REST](https://dev.wix.com/docs/rest/business-solutions/cms/data-items/query-referenced-data-items)) to learn about item references. * * If you select this type, then you must pass the `referencedCollectionId` field as well. */ REFERENCE = "REFERENCE", /** References to multiple items in another collection. See Query Referenced Data Items ([SDK](https://dev.wix.com/docs/sdk/backend-modules/data/items/query-referenced) | [REST](https://dev.wix.com/docs/rest/business-solutions/cms/data-items/query-referenced-data-items)) to learn about item references. */ MULTI_REFERENCE = "MULTI_REFERENCE", /** JSON object. */ OBJECT = "OBJECT", /** Array. */ ARRAY = "ARRAY", /** Deprecated type that might appear in legacy collections. */ LEGACY_TIME = "LEGACY_TIME", /** Deprecated type that might appear in legacy collections. */ LEGACY_BOOK = "LEGACY_BOOK", /** Deprecated type that might appear in legacy collections. */ LEGACY_EXTERNAL_URL = "LEGACY_EXTERNAL_URL", /** Deprecated type that might appear in legacy collections. */ LEGACY_BROKEN_REFERENCE = "LEGACY_BROKEN_REFERENCE", /** Deprecated type that might appear in legacy collections. */ LEGACY_IMAGE = "LEGACY_IMAGE", /** Deprecated type that might appear in legacy collections. */ LEGACY_COLOR = "LEGACY_COLOR", /** Deprecated type that might appear in legacy collections. */ LEGACY_EXTERNAL_VIDEO = "LEGACY_EXTERNAL_VIDEO" } /** @enumType */ type TypeWithLiterals = Type | 'UNKNOWN_FIELD_TYPE' | 'TEXT' | 'NUMBER' | 'DATE' | 'DATETIME' | 'IMAGE' | 'BOOLEAN' | 'DOCUMENT' | 'URL' | 'RICH_TEXT' | 'VIDEO' | 'ANY' | 'ARRAY_STRING' | 'ARRAY_DOCUMENT' | 'AUDIO' | 'TIME' | 'LANGUAGE' | 'RICH_CONTENT' | 'MEDIA_GALLERY' | 'ADDRESS' | 'PAGE_LINK' | 'REFERENCE' | 'MULTI_REFERENCE' | 'OBJECT' | 'ARRAY' | 'LEGACY_TIME' | 'LEGACY_BOOK' | 'LEGACY_EXTERNAL_URL' | 'LEGACY_BROKEN_REFERENCE' | 'LEGACY_IMAGE' | 'LEGACY_COLOR' | 'LEGACY_EXTERNAL_VIDEO'; interface TypeMetadata extends TypeMetadataMetadataOneOf { /** Metadata for a reference field. */ reference?: Reference; /** Metadata for a multi-reference field. */ multiReference?: MultiReference; /** Metadata for an object field. */ object?: _Object; /** Metadata for an array field. */ array?: _Array; /** Metadata for a page link field. */ pageLink?: PageLink; } /** @oneof */ interface TypeMetadataMetadataOneOf { /** Metadata for a reference field. */ reference?: Reference; /** Metadata for a multi-reference field. */ multiReference?: MultiReference; /** Metadata for an object field. */ object?: _Object; /** Metadata for an array field. */ array?: _Array; /** Metadata for a page link field. */ pageLink?: PageLink; } interface FieldCapabilities { /** * Whether the collection can be sorted by this field. * * Default: `false` */ sortable?: boolean; /** * Query operators that can be used for this field. * @maxSize 100 */ queryOperators?: QueryOperatorWithLiterals[]; } declare enum QueryOperator { EQ = "EQ", LT = "LT", GT = "GT", NE = "NE", LTE = "LTE", GTE = "GTE", STARTS_WITH = "STARTS_WITH", ENDS_WITH = "ENDS_WITH", CONTAINS = "CONTAINS", HAS_SOME = "HAS_SOME", HAS_ALL = "HAS_ALL", EXISTS = "EXISTS", URLIZED = "URLIZED" } /** @enumType */ type QueryOperatorWithLiterals = QueryOperator | 'EQ' | 'LT' | 'GT' | 'NE' | 'LTE' | 'GTE' | 'STARTS_WITH' | 'ENDS_WITH' | 'CONTAINS' | 'HAS_SOME' | 'HAS_ALL' | 'EXISTS' | 'URLIZED'; interface ObjectField { /** * Field ID. * @maxLength 1000 */ key?: string; /** * Display name for the field. * @maxLength 1000 */ displayName?: string | null; /** * Field type. * * Learn more about [data types in Wix Data](https://dev.wix.com/docs/rest/business-solutions/cms/data-types-in-wix-data). */ type?: TypeWithLiterals; /** Metadata for complex data types. This property only exists for references, multi-references, objects, and arrays. */ typeMetadata?: TypeMetadata; /** * Capabilities the object field supports. * @readonly */ capabilities?: FieldCapabilities; } interface FieldsPattern { /** @maxLength 1000 */ pattern?: string; lowercase?: boolean; } interface UrlizedOnlyPattern { /** @maxLength 1000 */ pattern?: string; } interface Calculator extends CalculatorPatternOneOf { /** Value is calculated according to pattern, whitespaces are replaced with dash [-]. */ fieldsPattern?: FieldsPattern; /** Value is only URL encoded. */ urlizedOnlyPattern?: UrlizedOnlyPattern; } /** @oneof */ interface CalculatorPatternOneOf { /** Value is calculated according to pattern, whitespaces are replaced with dash [-]. */ fieldsPattern?: FieldsPattern; /** Value is only URL encoded. */ urlizedOnlyPattern?: UrlizedOnlyPattern; } declare enum PageLinkType { /** Default value. This value is unused. */ UNKNOWN_PAGE_LINK_TYPE = "UNKNOWN_PAGE_LINK_TYPE", /** * Page link with field substitution patterns stored in the data collection. * Example: "path/{plainField}" where plainField can be any supported type. * Can be persistent (stored in database) or overlay (calculated on-the-fly). */ COLLECTION_DEFINED = "COLLECTION_DEFINED", /** * Page link with field substitution patterns provided by Routers Config. * Only supports SLUG type fields in the template (e.g., "products/{slug}"). * Always read-only overlay fields (never persisted in database). * Page link definitions are NOT stored in the data collection. */ ROUTER_DEFINED = "ROUTER_DEFINED" } /** @enumType */ type PageLinkTypeWithLiterals = PageLinkType | 'UNKNOWN_PAGE_LINK_TYPE' | 'COLLECTION_DEFINED' | 'ROUTER_DEFINED'; interface Reference { /** * Referenced collection ID. * @maxLength 256 */ referencedCollectionId?: string; } interface MultiReference { /** * Referenced collection ID. * @maxLength 256 */ referencedCollectionId?: string; /** * Referencing field ID. * @maxLength 1000 */ referencingFieldKey?: string; /** * Display name in the CMS for the referenced data. * @maxLength 1000 */ referencingDisplayName?: string; } interface _Object { /** * Fields within the object. * @maxSize 1000 */ fields?: ObjectField[]; } interface _Array { /** Element's data type. */ elementType?: TypeWithLiterals; /** Metadata for complex data types. This property only exists for references, multi-references, objects, and arrays. */ typeMetadata?: TypeMetadata; } interface PageLink { calculator?: Calculator; /** * Defines reference to router pattern in the site document. * @maxLength 1000 */ linkedRouterPage?: string | null; } interface Slug { /** * @minLength 1 * @maxLength 1000 */ pattern?: string; } interface Text extends TextValidationOneOf { textValidation?: TextValidation; enumValues?: EnumValues; defaultValue?: string | null; } /** @oneof */ interface TextValidationOneOf { textValidation?: TextValidation; enumValues?: EnumValues; } interface _Number { defaultValue?: number | null; /** Minimum permitted value for a numerical field. */ min?: number | null; /** Maximum permitted value for a numerical field. */ max?: number | null; } interface _Date extends _DateDefaultValueOneOf, _DateMinDateOneOf, _DateMaxDateOneOf { defaultValueFixed?: Date | null; defaultValueOffsetFromNowInDays?: number | null; minDateFixed?: Date | null; minValueOffsetFromNowInDays?: number | null; maxDateFixed?: Date | null; maxValueOffsetFromNowInDays?: number | null; } /** @oneof */ interface _DateDefaultValueOneOf { defaultValueFixed?: Date | null; defaultValueOffsetFromNowInDays?: number | null; } /** @oneof */ interface _DateMinDateOneOf { minDateFixed?: Date | null; minValueOffsetFromNowInDays?: number | null; } /** @oneof */ interface _DateMaxDateOneOf { maxDateFixed?: Date | null; maxValueOffsetFromNowInDays?: number | null; } interface Datetime extends DatetimeDefaultValueOneOf, DatetimeMinDateOneOf, DatetimeMaxDateOneOf { defaultValueFixed?: Date | null; defaultValueOffsetFromNowInSeconds?: number | null; minDateFixed?: Date | null; minDateOffsetFromNowInSeconds?: number | null; maxDateFixed?: Date | null; maxDateOffsetFromNowInSeconds?: number | null; } /** @oneof */ interface DatetimeDefaultValueOneOf { defaultValueFixed?: Date | null; defaultValueOffsetFromNowInSeconds?: number | null; } /** @oneof */ interface DatetimeMinDateOneOf { minDateFixed?: Date | null; minDateOffsetFromNowInSeconds?: number | null; } /** @oneof */ interface DatetimeMaxDateOneOf { maxDateFixed?: Date | null; maxDateOffsetFromNowInSeconds?: number | null; } interface Image { defaultValue?: string | null; } interface _Boolean { defaultValue?: boolean | null; } interface Document { defaultValue?: string | null; } interface Url { /** @format URI */ defaultValue?: string | null; textValidation?: TextValidation; } interface RichText { defaultValue?: string | null; /** Minimum permitted length for a string field. */ minLength?: number | null; /** Maximum permitted length for a string field. */ maxLength?: number | null; } interface Video { defaultValue?: string | null; } interface ArrayString { defaultValue?: string[] | null; /** Minimum permitted number of items in an array field. */ minSize?: number | null; /** Maximum permitted number of items in an array field. */ maxSize?: number | null; /** Minimum permitted length for a each item. */ minLengthForItem?: number | null; /** Maximum permitted length for a each item. */ maxLengthForItem?: number | null; } interface ArrayDocument { defaultValue?: string[] | null; /** Minimum permitted number of items in an array field. */ minSize?: number | null; /** Maximum permitted number of items in an array field. */ maxSize?: number | null; } interface Audio { defaultValue?: string | null; } interface Time { /** * Time value in format: hh:mm (e.g., "00:00", "09:30"). * @minLength 5 * @maxLength 5 */ defaultValue?: string | null; /** * Minimum permitted time-of-day (inclusive). * Time value in format: hh:mm (e.g., "00:00", "09:30"). * @minLength 5 * @maxLength 5 */ minTime?: string | null; /** * Maximum permitted time-of-day (inclusive). * Time value in format: hh:mm (e.g., "23:59", "17:00"). * @minLength 5 * @maxLength 5 */ maxTime?: string | null; } interface RichContent { defaultValue?: Record | null; } interface MediaGallery { defaultValue?: Record[] | null; } interface Address { defaultValue?: Record | null; } interface Email { /** @format EMAIL */ defaultValue?: string | null; } interface LegacyColor { defaultValue?: string | null; } interface NumberRange { /** * Minimum permitted value for a numerical field. * * Default: No validation */ min?: number | null; /** * Maximum permitted value for a numerical field. * * Default: No validation */ max?: number | null; } interface StringLengthRange { /** * Minimum permitted length for a text field. * * Default: No validation */ minLength?: number | null; /** * Maximum permitted length for a text field. * * Default: No validation */ maxLength?: number | null; } interface ArraySizeRange { /** * Minimum permitted number of items in an array field. Relevant for fields that hold arrays, such as those of type `ARRAY`, `ARRAY_STRING`, or `ARRAY_DOCUMENT`. * * Default: No validation */ minSize?: number | null; /** * Maximum permitted number of items in an array field. Relevant for fields that hold arrays, such as those of type `ARRAY`, `ARRAY_STRING`, or `ARRAY_DOCUMENT`. * * Default: No validation */ maxSize?: number | null; } /** Optional plug-in aspects for fields */ interface FieldPlugin extends FieldPluginOptionsOneOf { /** Options for the CMS plugin. */ cmsOptions?: CmsOptions; /** Options for the CATEGORY_FIELD plugin. */ categoryFieldOptions?: CategoryFieldOptions; type?: FieldPluginTypeWithLiterals; } /** @oneof */ interface FieldPluginOptionsOneOf { /** Options for the CMS plugin. */ cmsOptions?: CmsOptions; /** Options for the CATEGORY_FIELD plugin. */ categoryFieldOptions?: CategoryFieldOptions; } declare enum FieldPluginType { /** Uknown plugin type. */ UNKNOWN = "UNKNOWN", /** CMS-related field attributes */ CMS = "CMS" } /** @enumType */ type FieldPluginTypeWithLiterals = FieldPluginType | 'UNKNOWN' | 'CMS'; /** Options for the CMS plugin. */ interface CmsOptions { /** * Indicates an internal CMS field. The CMS does not display internal fields. * * Default: `false` */ internal?: boolean; } /** Options for the CATEGORY_FIELD plugin. */ interface CategoryFieldOptions { /** * Transient input-only flag. When set to `true` during create/update, designates * this category field's group as the target for `_primaryCategory`. The flag is * not persisted; `_primaryCategory` remains the source of truth. * * Default: `false` */ isPrimary?: boolean; } interface FieldCondition { /** * If `group_name` is set, this field will not be present in query results. To retrieve this field, pass `group_name` value to `includeFieldGroups` parameter in query operations. * @maxLength 100 */ groupName?: string | null; /** If present, the field may be omitted from the results, if the requester lacks sufficient permissions to access data stored in the field. */ permission?: PermissionWithLiterals; } declare enum Permission { /** Any role can request the field. */ ANYONE = "ANYONE", /** Special permission required to request the field. */ RESTRICTED = "RESTRICTED" } /** @enumType */ type PermissionWithLiterals = Permission | 'ANYONE' | 'RESTRICTED'; /** Permissions defined by the lowest role needed to perform each action. */ interface Permissions { /** * Role required to insert items into the collection. * * Default: `CMS_EDITOR` */ insert?: RoleWithLiterals; /** * Role required to update collection items. * * Default: `CMS_EDITOR` */ update?: RoleWithLiterals; /** * Role required to remove items from the collection. * * Default: `CMS_EDITOR` */ remove?: RoleWithLiterals; /** * Role required to read collection items. * * Default: `SITE_MEMBER_AUTHOR` */ read?: RoleWithLiterals; } declare enum Role { /** Unknown role. */ UNKNOWN_ROLE = "UNKNOWN_ROLE", /** Site administrator. */ ADMIN = "ADMIN", /** Signed-in user who added content to this collection. */ SITE_MEMBER_AUTHOR = "SITE_MEMBER_AUTHOR", /** Any signed-in user. */ SITE_MEMBER = "SITE_MEMBER", /** Any site visitor. */ ANYONE = "ANYONE" } /** @enumType */ type RoleWithLiterals = Role | 'UNKNOWN_ROLE' | 'ADMIN' | 'SITE_MEMBER_AUTHOR' | 'SITE_MEMBER' | 'ANYONE'; /** Plugins that extend collection functionality. */ interface Plugin extends PluginOptionsOneOf { /** * Options for the Publish plugin. * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not. */ publishOptions?: PublishPluginOptions; /** Options for the Single Item plugin. */ singleItemOptions?: SingleItemPluginOptions; /** Options for the Urlized plugin. */ urlizedOptions?: UrlizedPluginOptions; /** Options for the Multilingual plugin. */ multilingualOptions?: MultilingualOptions; /** Options for the PageLink plugin. */ editablePageLinkOptions?: PageLinkPluginOptions; /** Options for the CMS plugin. */ cmsOptions?: PluginCmsOptions; /** Plugin type. */ type?: PluginTypeWithLiterals; } /** @oneof */ interface PluginOptionsOneOf { /** * Options for the Publish plugin. * This plugin allows items in a [data collection](https://dev.wix.com/docs/rest/business-solutions/cms/data-collections/data-collection-object) to be marked as draft or published. Published items are visible to site visitors, while draft items are not. */ publishOptions?: PublishPluginOptions; /** Options for the Single Item plugin. */ singleItemOptions?: SingleItemPluginOptions; /** Options for the Urlized plugin. */ urlizedOptions?: UrlizedPluginOptions; /** Options for the Multilingual plugin. */ multilingualOptions?: MultilingualOptions; /** Options for the PageLink plugin. */ editablePageLinkOptions?: PageLinkPluginOptions; /** Options for the CMS plugin. */ cmsOptions?: PluginCmsOptions; } declare enum Status { UNKNOWN_PUBLISH_PLUGIN_STATUS = "UNKNOWN_PUBLISH_PLUGIN_STATUS", PUBLISHED = "PUBLISHED", DRAFT = "DRAFT" } /** @enumType */ type StatusWithLiterals = Status | 'UNKNOWN_PUBLISH_PLUGIN_STATUS' | 'PUBLISHED' | 'DRAFT'; declare enum Format { UNKNOWN_URLIZED_PLUGIN_FORMAT = "UNKNOWN_URLIZED_PLUGIN_FORMAT", /** Letters are converted to lower case and spaces are replaced with dashes before generating the encoded URL. */ ORIGINAL = "ORIGINAL", /** No changes are made before generating the encoded URL. */ PLAIN = "PLAIN" } /** @enumType */ type FormatWithLiterals = Format | 'UNKNOWN_URLIZED_PLUGIN_FORMAT' | 'ORIGINAL' | 'PLAIN'; /** if CMS-defined sort is enabled and should be used in site */ interface SiteSort { /** * Field and order for the site sort. * @maxSize 100 */ sort?: Sort[]; } declare enum PluginType { /** Unknown plugin type. */ UNKNOWN_PLUGIN_TYPE = "UNKNOWN_PLUGIN_TYPE", /** Allows items to be marked as either draft or published. For each item you can set a publishing time when the item will become visible to site visitors. */ PUBLISH = "PUBLISH", /** Ensures the collection can have one item at most. Can only be applied to a new collection. */ SINGLE_ITEM = "SINGLE_ITEM", /** Generates item URLs for collections used by dynamic pages. */ URLIZED = "URLIZED", /** Deprecated. Will be removed in the future. */ GRIDAPPLESS = "GRIDAPPLESS", /** Indicates that the collection is translatable. This allows you to manage translation for selected fields using [Wix Multilingual](https://www.wix.com/app-market/wix-multilingual). */ MULTILINGUAL = "MULTILINGUAL", /** Indicates that collection is shared with current site. */ SHARED = "SHARED", /** Indicates that page link fields are persisted and can be updated. */ EDITABLE_PAGE_LINK = "EDITABLE_PAGE_LINK", /** CMS-specific collection properties. */ CMS = "CMS" } /** @enumType */ type PluginTypeWithLiterals = PluginType | 'UNKNOWN_PLUGIN_TYPE' | 'PUBLISH' | 'SINGLE_ITEM' | 'URLIZED' | 'GRIDAPPLESS' | 'MULTILINGUAL' | 'SHARED' | 'EDITABLE_PAGE_LINK' | 'CMS'; interface PublishPluginOptions { /** Default status. */ defaultStatus?: StatusWithLiterals; } interface SingleItemPluginOptions { /** * ID of the single item in this collection. If you insert or update an item, its ID value is always changed to this. * @maxLength 16000 */ singleItemId?: string; } interface UrlizedPluginOptions { /** Encoding method for generating a URL in ASCII characters. */ format?: FormatWithLiterals; } interface MultilingualOptions { /** * IDs of fields to allow translation. * @maxSize 1000 * @maxLength 1000 */ translatableFieldKeys?: string[]; } interface PageLinkPluginOptions { isPersisted?: boolean; isMutable?: boolean; } interface PluginCmsOptions { /** CMS sort, applied when a collection is displayed on a site. */ siteSort?: SiteSort; } interface CatalogOptions { /** * *Required** - the field key that contains the catalog item name - field must be of type TEXT. * @maxLength 1000 */ name?: string; /** * *Required** - the field key that contains the catalog item price - field must be of type NUMBER. * @maxLength 1000 */ price?: string; /** * the field key that contains the catalog item URL - field must be of type URL. * @maxLength 1000 */ url?: string | null; /** * the field key that contains the catalog item description - field must be of type TEXT. * @maxLength 1000 */ description?: string | null; /** * the field key that contains the catalog item image - field must be of type IMAGE. * @maxLength 1000 */ image?: string | null; /** * the field key that contains the catalog item quantity - field must be of type NUMBER. * @maxLength 1000 */ quantity?: string | null; /** * the field key that contains the catalog item digital file * @maxLength 1000 */ digitalFile?: string | null; /** * the field key that contains the catalog item weight - field must be of type NUMBER. * @maxLength 1000 */ weight?: string | null; /** * the field key that contains the catalog item SKU - field must be of type TEXT. * @maxLength 1000 */ sku?: string | null; /** * the field key that contains the catalog item shippable flag - field must be of type BOOLEAN. * @maxLength 1000 */ shippable?: string | null; } declare enum PagingMode { /** Offset-based paging. */ OFFSET = "OFFSET", /** Cursor-based paging. */ CURSOR = "CURSOR" } /** @enumType */ type PagingModeWithLiterals = PagingMode | 'OFFSET' | 'CURSOR'; /** Permissions defined by access level for each action. */ interface DataPermissions { /** * Access level required to read collection items. * * Default: `SITE_MEMBER_AUTHOR` */ itemRead?: AccessLevelWithLiterals; /** * Access level required to insert items into the collection. * * Default: `CMS_EDITOR` */ itemInsert?: AccessLevelWithLiterals; /** * Access level required to update collection items. * * Default: `CMS_EDITOR` */ itemUpdate?: AccessLevelWithLiterals; /** * Access level required to remove items from the collection. * * Default: `CMS_EDITOR` */ itemRemove?: AccessLevelWithLiterals; } /** * Describes who can perform certain actions. * Each level includes all levels below it (except UNDEFINED). */ declare enum AccessLevel { /** Not set. */ UNDEFINED = "UNDEFINED", /** Any subject, including visitors. */ ANYONE = "ANYONE", /** Any signed-in user (both site members and collaborators). */ SITE_MEMBER = "SITE_MEMBER", /** Any signed-in user, but site members only have access to own items. */ SITE_MEMBER_AUTHOR = "SITE_MEMBER_AUTHOR", /** Site collaborator that has a role with CMS Access permission. */ CMS_EDITOR = "CMS_EDITOR", /** CMS administrators and users or roles granted with special access. */ PRIVILEGED = "PRIVILEGED" } /** @enumType */ type AccessLevelWithLiterals = AccessLevel | 'UNDEFINED' | 'ANYONE' | 'SITE_MEMBER' | 'SITE_MEMBER_AUTHOR' | 'CMS_EDITOR' | 'PRIVILEGED'; interface AllowedDataPermissions { /** If data items read permitted */ itemRead?: boolean; /** If for data items insert permitted */ itemInsert?: boolean; /** If data items update permitted */ itemUpdate?: boolean; /** If data items removal permitted */ itemRemove?: boolean; } interface DataCollectionClonedEvent { /** * Instance ID of the collection from which the data is cloned. * @format GUID */ originInstanceId?: string; /** * ID of the collection from which the data is cloned. * @maxLength 256 */ originId?: string; } interface DataCollectionChangedEvent { /** * list of new fields * @maxSize 1000 */ fieldsAdded?: Field[]; /** * list of changed fields * @maxSize 1000 */ fieldsUpdated?: FieldUpdate[]; /** * list of removed fields * @maxSize 1000 */ fieldsRemoved?: Field[]; /** * list of new plugins * @maxSize 100 */ pluginsAdded?: Plugin[]; /** * list of changed plugins * @maxSize 100 */ pluginsUpdated?: PluginUpdate[]; /** * list of removed plugins * @maxSize 100 */ pluginsRemoved?: Plugin[]; /** Permission change details. Only present if permissions were actually changed. */ permissionsUpdated?: PermissionsUpdate; /** Strict mode change details. Only present if strict mode was actually changed. */ strictModeUpdated?: StrictModeUpdate; } interface FieldUpdate { /** previous state of the field */ previous?: Field; /** current state of the field */ current?: Field; } interface PluginUpdate { /** previous state of the plugin */ previous?: Plugin; /** current state of the plugin */ current?: Plugin; } interface PermissionsUpdate { /** Previous permissions state. */ previous?: DataPermissions; /** Current permissions state. */ current?: DataPermissions; } interface StrictModeUpdate { /** Previous strict mode value. */ previous?: boolean | null; /** Current strict mode value. */ current?: boolean | null; } interface DataCollectionEvictedEvent { /** * ID of the collection that was permanently deleted. * @minLength 1 * @maxLength 1000 */ id?: string; } interface CreateDataCollectionRequest { /** Collection details. */ collection: DataCollection; } interface CreateDataCollectionResponse { /** Details of collection created. */ collection?: DataCollection; } interface GetDataCollectionRequest { /** * ID of the collection to retrieve. * @maxLength 256 */ dataCollectionId: string; /** * Whether to retrieve data from the primary database instance. * This decreases performance but ensures data retrieved is up to date even immediately after an update. * Learn more about [Wix Data and eventual consistency](https://dev.wix.com/api/rest/wix-data/wix-data/eventual-consistency). * * Default: `false` */ consistentRead?: boolean; /** * List of specific field names to return, if empty all fields are returned. * Affects all returned collections * @maxSize 100 * @maxLength 1000 */ fields?: string[]; } declare enum Segment { UNKNOWN_SEGMENT = "UNKNOWN_SEGMENT", PUBLIC = "PUBLIC", DEV = "DEV" } /** @enumType */ type SegmentWithLiterals = Segment | 'UNKNOWN_SEGMENT' | 'PUBLIC' | 'DEV'; interface GetDataCollectionResponse { /** Details of the collection requested. */ collection?: DataCollection; } interface ListDataCollectionsRequest { /** * Defines how collections in the response are sorted. * * Default: Ordered by ID in ascending order. */ sort?: Sorting; /** Pagination information. */ paging?: Paging; /** * Whether to retrieve data from the primary database instance. * This decreases performance but ensures data retrieved is up to date even immediately after an update. * Learn more about [Wix Data and eventual consistency](https://dev.wix.com/api/rest/wix-data/wix-data/eventual-consistency). * * Default: `false` */ consistentRead?: boolean; /** * List of specific field names to return, if empty all fields are returned. * Affects all returned collections * @maxSize 100 * @maxLength 128 */ fields?: string[]; } interface Sorting { /** * Name of the field to sort by. * @maxLength 1000 */ 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. */ limit?: number | null; /** Number of items to skip in the current sort order. */ offset?: number | null; } interface ListDataCollectionsResponse { /** List of collections. */ collections?: DataCollection[]; /** 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; } interface BulkGetDataCollectionsRequest { /** * IDs of the collections to retrieve. * @minSize 1 * @maxSize 100 * @maxLength 256 */ dataCollectionIds?: string[]; /** * Whether to include deleted collections. * * Default: `false` */ showDeletedCollections?: boolean; /** * Whether the returned collection list should include referenced collections. * * Default: `false` */ includeReferencedCollections?: boolean; /** Sorting preferences. */ sort?: Sorting; /** * Whether to retrieve data from the primary database instance. * This decreases performance but ensures data retrieved is up to date even immediately after an update. * Learn more about [Wix Data and eventual consistency](https://dev.wix.com/api/rest/wix-data/wix-data/eventual-consistency). * * Default: `false` */ consistentRead?: boolean; /** * List of specific field names to return, if empty all fields are returned. * Affects all returned collections * @maxSize 100 * @maxLength 1000 */ fields?: string[]; } interface BulkGetDataCollectionsResponse { /** * List of requested collections. * When `include_referenced_collections` is `true` in the request, referenced collections are included here. */ activeCollections?: DataCollection[]; /** List of requested deleted collections. Only populated when `showDeletedCollections` is true in the request. */ deletedCollections?: DataCollection[]; /** List of failed collections. */ failedCollections?: FailedCollection[]; } interface ApplicationError { /** Error code. */ code?: string; /** Description of the error. */ description?: string; /** Data related to the error. */ data?: Record | null; } interface FailedCollection { /** * IDs of the failed collection. * @maxLength 255 */ collectionId?: string; /** Reason of the failure. */ error?: ApplicationError; } interface UpdateDataCollectionRequest { /** Updated collection details. The existing collection is replaced with this version. */ collection: DataCollection; } interface UpdateDataCollectionResponse { /** Updated collection details. */ collection?: DataCollection; } interface DeleteDataCollectionRequest { /** * ID of the collection to delete. * @maxLength 256 */ dataCollectionId: string; } interface DeleteDataCollectionResponse { } interface RestoreDataCollectionRequest { /** * Data Collection ID to restore * @maxLength 256 */ dataCollectionId?: string; } interface RestoreDataCollectionResponse { /** Restored data collection */ dataCollection?: DataCollection; } interface PatchDataCollectionRequest { /** Data collection to update. */ dataCollection: DataCollection; } interface PatchDataCollectionResponse { /** Updated data collection. */ dataCollection?: DataCollection; } interface CreateDataCollectionFieldRequest { /** * ID of the data collection to update. * @maxLength 256 */ dataCollectionId: string; /** New field to add. */ field: Field; } interface CreateDataCollectionFieldResponse { /** Updated data collection. */ dataCollection?: DataCollection; } interface UpdateDataCollectionFieldRequest { /** * ID of the data collection to update. * @maxLength 256 */ dataCollectionId: string; /** Field to update. */ field: Field; } interface UpdateDataCollectionFieldResponse { /** Updated data collection. */ dataCollection?: DataCollection; } interface DeleteDataCollectionFieldRequest { /** * ID of the data collection to update. * @maxLength 256 */ dataCollectionId: string; /** * ID of the field to delete. * @maxLength 1000 */ fieldKey: string; } interface DeleteDataCollectionFieldResponse { /** Updated data collection. */ dataCollection?: DataCollection; } interface AddDataCollectionPluginRequest { /** * ID of the data collection to update. * @maxLength 256 */ dataCollectionId: string; /** * Plugin to add to the collection. Must include the plugin type and any type-specific configuration. * If a plugin of the same type already exists in the collection, this operation fails. */ plugin: Plugin; } interface AddDataCollectionPluginResponse { /** Updated data collection. */ dataCollection?: DataCollection; } interface DeleteDataCollectionPluginRequest { /** * ID of the data collection to update. * @maxLength 256 */ dataCollectionId: string; /** Plugin type to remove. */ pluginType: PluginTypeWithLiterals; } interface DeleteDataCollectionPluginResponse { /** Updated data collection. */ dataCollection?: DataCollection; } interface PatchDataCollectionFieldRequest { /** * ID of the data collection to update. * @maxLength 256 */ dataCollectionId: string; /** Field to update. */ field: Field; } interface PatchDataCollectionFieldResponse { /** Updated data collection. */ dataCollection?: DataCollection; } interface UpdateDataPermissionsRequest { /** * ID of data collections to update * @maxLength 256 */ dataCollectionId?: string; /** Data permissions to set */ dataPermissions?: DataPermissions; } interface UpdateDataPermissionsResponse { /** Updated data collection */ dataCollection?: DataCollection; } interface BulkGetDataCollectionsPageBySnapshotsRequest extends BulkGetDataCollectionsPageBySnapshotsRequestTenantModeOptionsOneOf { appOptions?: AppOptions; /** * Ids of schema snapshot * @format GUID * @minSize 1 * @maxSize 1000 */ snapshotIds?: string[]; /** Pagination information. */ paging?: Paging; /** * Tenant mode * Default: META_SITE */ tenantMode?: TenantModeWithLiterals; } /** @oneof */ interface BulkGetDataCollectionsPageBySnapshotsRequestTenantModeOptionsOneOf { appOptions?: AppOptions; } declare enum TenantMode { /** MetaSite */ META_SITE = "META_SITE", /** Account */ ACCOUNT = "ACCOUNT", /** App */ APP = "APP" } /** @enumType */ type TenantModeWithLiterals = TenantMode | 'META_SITE' | 'ACCOUNT' | 'APP'; interface AppOptions { /** * App definition id * @format GUID */ appDefId?: string; } interface BulkGetDataCollectionsPageBySnapshotsResponse { /** List of snapshot collection map */ snapshotCollections?: SnapshotCollection[]; /** Paging information. */ pagingMetadata?: PagingMetadataV2; } interface SnapshotCollection { /** * snapshot to which collection belongs * @format GUID */ snapshotId?: string; /** snapshot collection */ collection?: DataCollection; /** * snapshot of collection indexes * @maxSize 100 */ indexes?: Index[]; } /** An index is a map of a collection's data, organized according to specific fields to increase query speed. */ interface Index { /** * ID of the index. * @readonly * @format GUID */ id?: string; /** * Name of the index. * @minLength 1 * @maxLength 128 */ name?: string; /** * Fields for which the index is defined. * * Max: 3 fields (for a unique index: 1 field) * @minSize 1 * @maxSize 3 */ fields?: IndexField[]; /** * Current status of the index. * @readonly */ status?: IndexStatusWithLiterals; /** * Contains details about the reasons for failure when `status` is `FAILED`. * @readonly */ failure?: Failure; /** * Whether the index enforces uniqueness of values in the field for which it's defined. * If `true`, the index can have only 1 field. * * Default: `false` */ unique?: boolean; /** * Whether the index ignores case. * * Default: `false` */ caseInsensitive?: boolean; /** * Source of the index. See index sources in [Index Types](https://dev.wix.com/docs/api-reference/business-solutions/cms/indexes/index-types#index-sources). * * Default: `USER` */ source?: IndexSourceWithLiterals; } /** * Order determines how values are ordered in the index. This is important when * ordering and/or range querying by indexed fields. */ declare enum Order { ASC = "ASC", DESC = "DESC" } /** @enumType */ type OrderWithLiterals = Order | 'ASC' | 'DESC'; interface IndexField { /** * Path of the field to index. For example: `title` or `options.price`. * @minLength 1 * @maxLength 128 */ path?: string; /** * Sort order for the index. Base on how the data is regularly queried. * * Default: `ASC` */ order?: OrderWithLiterals; } declare enum IndexStatus { /** Place holder. Never returned by the service. */ UNKNOWN = "UNKNOWN", /** Index creation is in progress. */ BUILDING = "BUILDING", /** Index has been successfully created and can be used in queries. */ ACTIVE = "ACTIVE", /** Index is in the process of being dropped. */ DROPPING = "DROPPING", /** Index has been dropped successfully. */ DROPPED = "DROPPED", /** Index creation has failed. */ FAILED = "FAILED", /** Index contains incorrectly indexed data. */ INVALID = "INVALID" } /** @enumType */ type IndexStatusWithLiterals = IndexStatus | 'UNKNOWN' | 'BUILDING' | 'ACTIVE' | 'DROPPING' | 'DROPPED' | 'FAILED' | 'INVALID'; interface Failure { /** * Error code. * - `WDE0112`: Unknown error while building collection index. * - `WDE0113`: Duplicate key error while building collection index. * - `WDE0114`: Document too large while building collection index. * @maxLength 7 */ code?: string; /** * Description of the failure. * @maxLength 1024 */ description?: string; /** * ID of the data item that caused the failure. * For example, if `unique` is `true`, the ID of an item containing a duplicate value. * @maxLength 16000 */ itemId?: string | null; } declare enum IndexSource { /** Place holder. Never returned by the service. */ UNKNOWN_INDEX_SOURCE = "UNKNOWN_INDEX_SOURCE", /** * Automatically created by Wix for all collections. * * System indexes are created for essential attributes, such as ID and creation date. * You can't delete them and they don't count towards the index limit. */ SYSTEM = "SYSTEM", /** Created by a Wix user via the API or in the dashboard. */ USER = "USER", /** * Created automatically by Wix based on a Wix user's queries. * * For large collections, Wix identifies slow-running queries and creates indexes automatically to improve performance. * These indexes don't count towards the index limit. They're created dynamically, and may be deleted if they no longer fit * the system's parameters. To keep an automatic index permanently, manually create an identical `USER` index. */ AUTO = "AUTO" } /** @enumType */ type IndexSourceWithLiterals = IndexSource | 'UNKNOWN_INDEX_SOURCE' | 'SYSTEM' | 'USER' | 'AUTO'; interface CreateDataCollectionsSnapshotRequest { } interface CreateDataCollectionsSnapshotResponse { /** * created snapshot ID * @format GUID */ snapshotId?: string; /** data collections in snapshot */ snapshotCollections?: DataCollection[]; } interface CreateAppCollectionsSnapshotRequest { /** * Snapshot ID to create * @format GUID */ snapshotId?: string; /** * App def id of the app that owns the snapshot * @format GUID */ appDefId?: string; /** * Collections to include in the snapshot * @maxSize 1000 */ collections?: CollectionDefinition[]; /** * Whether to remove snapshot with all its collections if it already exists. * Existing snapshot must be owned by the same app. */ replaceIfExists?: boolean; } interface CollectionDefinition { /** Data collection */ collection?: DataCollection; /** * Indexes for the data collection * @maxSize 100 */ indexes?: Index[]; } interface CreateAppCollectionsSnapshotResponse { } interface RestoreDataCollectionsFromSnapshotRequest { /** * snapshot ID to restore * @format GUID */ snapshotId?: string; /** * collection IDs to restore, if empty – all collections would be restored * @maxSize 1000 * @maxLength 256 * @deprecated * @replacedBy restoration_collections * @targetRemovalDate 2025-12-31 */ dataCollectionIds?: string[]; /** * collection to restore, if empty – all collections would be restored * @maxSize 1000 */ restorationCollections?: RestorationCollection[]; } interface Destination { /** * Collection id. * @minLength 1 * @maxLength 1000 */ dataCollectionId?: string; /** * Display name. When not specified value is taken from the snapshot. * @maxLength 1000 */ displayName?: string | null; } interface RestorationCollection { /** * Collection ID to restore * @minLength 1 * @maxLength 1000 */ dataCollectionId?: string; /** * Destination where to restore the collection. * When not specified destination is taken from snapshot. */ destination?: Destination; } interface RestoreDataCollectionsFromSnapshotResponse { /** restored collections */ restoredCollections?: DataCollection[]; } interface DeleteDataCollectionsSnapshotRequest { /** * snapshot ID to delete * @format GUID */ snapshotId?: string; } interface DeleteDataCollectionsSnapshotResponse { } interface CreateMigratedCollectionsSnapshotRequest { /** @format GUID */ existingSnapshotId?: string; /** @maxLength 255 */ newNamespace?: string; /** @maxLength 255 */ existingNamespace?: string; } interface CreateMigratedCollectionsSnapshotResponse { /** @format GUID */ snapshotId?: string; } interface DomainEvent extends DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; /** Event ID. With this ID you can easily spot duplicated events and ignore them. */ id?: string; /** * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities. * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`. */ entityFqdn?: string; /** * Event action name, placed at the top level to make it easier for users to dispatch messages. * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`. */ slug?: string; /** ID of the entity associated with the event. */ entityId?: string; /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */ eventTime?: Date | null; /** * Whether the event was triggered as a result of a privacy regulation application * (for example, GDPR). */ triggeredByAnonymizeRequest?: boolean | null; /** If present, indicates the action that triggered the event. */ originatedFrom?: string | null; /** * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number. * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it. */ entityEventSequence?: string | null; } /** @oneof */ interface DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; } interface EntityCreatedEvent { entityAsJson?: string; /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */ restoreInfo?: RestoreInfo; } interface RestoreInfo { deletedDate?: Date | null; } interface EntityUpdatedEvent { /** * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff. * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects. * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it. */ currentEntityAsJson?: string; } interface EntityDeletedEvent { /** Entity that was deleted. */ deletedEntityAsJson?: string | null; } interface ActionEvent { bodyAsJson?: string; } interface MessageEnvelope { /** * App instance ID. * @format GUID */ instanceId?: string | null; /** * Event type. * @maxLength 150 */ eventType?: string; /** The identification type and identity data. */ identity?: IdentificationData; /** Stringify payload. */ data?: string; /** Details related to the account */ accountInfo?: AccountInfo; } interface IdentificationData extends IdentificationDataIdOneOf { /** * ID of a site visitor that has not logged in to the site. * @format GUID */ anonymousVisitorId?: string; /** * ID of a site visitor that has logged in to the site. * @format GUID */ memberId?: string; /** * ID of a Wix user (site owner, contributor, etc.). * @format GUID */ wixUserId?: string; /** * ID of an app. * @format GUID */ appId?: string; /** @readonly */ identityType?: WebhookIdentityTypeWithLiterals; } /** @oneof */ interface IdentificationDataIdOneOf { /** * ID of a site visitor that has not logged in to the site. * @format GUID */ anonymousVisitorId?: string; /** * ID of a site visitor that has logged in to the site. * @format GUID */ memberId?: string; /** * ID of a Wix user (site owner, contributor, etc.). * @format GUID */ wixUserId?: string; /** * ID of an app. * @format GUID */ appId?: string; } declare enum WebhookIdentityType { UNKNOWN = "UNKNOWN", ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR", MEMBER = "MEMBER", WIX_USER = "WIX_USER", APP = "APP" } /** @enumType */ type WebhookIdentityTypeWithLiterals = WebhookIdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' | 'MEMBER' | 'WIX_USER' | 'APP'; interface AccountInfo { /** * ID of the Wix account associated with the event. * @format GUID */ accountId?: string | null; /** * ID of the parent Wix account. Only included when accountId belongs to a child account. * @format GUID */ parentAccountId?: string | null; /** * ID of the Wix site associated with the event. Only included when the event is tied to a specific site. * @format GUID */ siteId?: string | null; } type __PublicMethodMetaInfo = { getUrl: (context: any) => string; httpMethod: K; path: string; pathParams: M; __requestType: T; __originalRequestType: S; __responseType: Q; __originalResponseType: R; }; declare function createDataCollection(): __PublicMethodMetaInfo<'POST', {}, CreateDataCollectionRequest$1, CreateDataCollectionRequest, CreateDataCollectionResponse$1, CreateDataCollectionResponse>; declare function getDataCollection(): __PublicMethodMetaInfo<'GET', { dataCollectionId: string; }, GetDataCollectionRequest$1, GetDataCollectionRequest, GetDataCollectionResponse$1, GetDataCollectionResponse>; declare function listDataCollections(): __PublicMethodMetaInfo<'GET', {}, ListDataCollectionsRequest$1, ListDataCollectionsRequest, ListDataCollectionsResponse$1, ListDataCollectionsResponse>; declare function updateDataCollection(): __PublicMethodMetaInfo<'PUT', {}, UpdateDataCollectionRequest$1, UpdateDataCollectionRequest, UpdateDataCollectionResponse$1, UpdateDataCollectionResponse>; declare function deleteDataCollection(): __PublicMethodMetaInfo<'DELETE', { dataCollectionId: string; }, DeleteDataCollectionRequest$1, DeleteDataCollectionRequest, DeleteDataCollectionResponse$1, DeleteDataCollectionResponse>; declare function restoreDataCollection(): __PublicMethodMetaInfo<'POST', { dataCollectionId: string; }, RestoreDataCollectionRequest$1, RestoreDataCollectionRequest, RestoreDataCollectionResponse$1, RestoreDataCollectionResponse>; declare function patchDataCollection(): __PublicMethodMetaInfo<'PATCH', { dataCollectionId: string; }, PatchDataCollectionRequest$1, PatchDataCollectionRequest, PatchDataCollectionResponse$1, PatchDataCollectionResponse>; declare function createDataCollectionField(): __PublicMethodMetaInfo<'POST', {}, CreateDataCollectionFieldRequest$1, CreateDataCollectionFieldRequest, CreateDataCollectionFieldResponse$1, CreateDataCollectionFieldResponse>; declare function updateDataCollectionField(): __PublicMethodMetaInfo<'POST', {}, UpdateDataCollectionFieldRequest$1, UpdateDataCollectionFieldRequest, UpdateDataCollectionFieldResponse$1, UpdateDataCollectionFieldResponse>; declare function deleteDataCollectionField(): __PublicMethodMetaInfo<'POST', {}, DeleteDataCollectionFieldRequest$1, DeleteDataCollectionFieldRequest, DeleteDataCollectionFieldResponse$1, DeleteDataCollectionFieldResponse>; declare function addDataCollectionPlugin(): __PublicMethodMetaInfo<'POST', {}, AddDataCollectionPluginRequest$1, AddDataCollectionPluginRequest, AddDataCollectionPluginResponse$1, AddDataCollectionPluginResponse>; declare function deleteDataCollectionPlugin(): __PublicMethodMetaInfo<'POST', {}, DeleteDataCollectionPluginRequest$1, DeleteDataCollectionPluginRequest, DeleteDataCollectionPluginResponse$1, DeleteDataCollectionPluginResponse>; declare function patchDataCollectionField(): __PublicMethodMetaInfo<'PATCH', { dataCollectionId: string; }, PatchDataCollectionFieldRequest$1, PatchDataCollectionFieldRequest, PatchDataCollectionFieldResponse$1, PatchDataCollectionFieldResponse>; export { AccessLevel as AccessLevelOriginal, type AccessLevelWithLiterals as AccessLevelWithLiteralsOriginal, type AccountInfo as AccountInfoOriginal, type ActionEvent as ActionEventOriginal, type AddDataCollectionPluginRequest as AddDataCollectionPluginRequestOriginal, type AddDataCollectionPluginResponse as AddDataCollectionPluginResponseOriginal, type Address as AddressOriginal, type AllowedDataPermissions as AllowedDataPermissionsOriginal, type AppOptions as AppOptionsOriginal, type ApplicationError as ApplicationErrorOriginal, type ArrayDocument as ArrayDocumentOriginal, type ArraySizeRange as ArraySizeRangeOriginal, type ArrayString as ArrayStringOriginal, type Audio as AudioOriginal, type BulkGetDataCollectionsPageBySnapshotsRequest as BulkGetDataCollectionsPageBySnapshotsRequestOriginal, type BulkGetDataCollectionsPageBySnapshotsRequestTenantModeOptionsOneOf as BulkGetDataCollectionsPageBySnapshotsRequestTenantModeOptionsOneOfOriginal, type BulkGetDataCollectionsPageBySnapshotsResponse as BulkGetDataCollectionsPageBySnapshotsResponseOriginal, type BulkGetDataCollectionsRequest as BulkGetDataCollectionsRequestOriginal, type BulkGetDataCollectionsResponse as BulkGetDataCollectionsResponseOriginal, type Calculator as CalculatorOriginal, type CalculatorPatternOneOf as CalculatorPatternOneOfOriginal, type CatalogOptions as CatalogOptionsOriginal, type CategoryFieldOptions as CategoryFieldOptionsOriginal, type CmsOptions as CmsOptionsOriginal, type CollectionCapabilities as CollectionCapabilitiesOriginal, type CollectionDefinition as CollectionDefinitionOriginal, CollectionOperation as CollectionOperationOriginal, type CollectionOperationWithLiterals as CollectionOperationWithLiteralsOriginal, CollectionType as CollectionTypeOriginal, type CollectionTypeWithLiterals as CollectionTypeWithLiteralsOriginal, type CreateAppCollectionsSnapshotRequest as CreateAppCollectionsSnapshotRequestOriginal, type CreateAppCollectionsSnapshotResponse as CreateAppCollectionsSnapshotResponseOriginal, type CreateDataCollectionFieldRequest as CreateDataCollectionFieldRequestOriginal, type CreateDataCollectionFieldResponse as CreateDataCollectionFieldResponseOriginal, type CreateDataCollectionRequest as CreateDataCollectionRequestOriginal, type CreateDataCollectionResponse as CreateDataCollectionResponseOriginal, type CreateDataCollectionsSnapshotRequest as CreateDataCollectionsSnapshotRequestOriginal, type CreateDataCollectionsSnapshotResponse as CreateDataCollectionsSnapshotResponseOriginal, type CreateMigratedCollectionsSnapshotRequest as CreateMigratedCollectionsSnapshotRequestOriginal, type CreateMigratedCollectionsSnapshotResponse as CreateMigratedCollectionsSnapshotResponseOriginal, type DataCollectionChangedEvent as DataCollectionChangedEventOriginal, type DataCollectionClonedEvent as DataCollectionClonedEventOriginal, type DataCollectionEvictedEvent as DataCollectionEvictedEventOriginal, type DataCollection as DataCollectionOriginal, DataOperation as DataOperationOriginal, type DataOperationWithLiterals as DataOperationWithLiteralsOriginal, type DataPermissions as DataPermissionsOriginal, type DatetimeDefaultValueOneOf as DatetimeDefaultValueOneOfOriginal, type DatetimeMaxDateOneOf as DatetimeMaxDateOneOfOriginal, type DatetimeMinDateOneOf as DatetimeMinDateOneOfOriginal, type Datetime as DatetimeOriginal, type DeleteDataCollectionFieldRequest as DeleteDataCollectionFieldRequestOriginal, type DeleteDataCollectionFieldResponse as DeleteDataCollectionFieldResponseOriginal, type DeleteDataCollectionPluginRequest as DeleteDataCollectionPluginRequestOriginal, type DeleteDataCollectionPluginResponse as DeleteDataCollectionPluginResponseOriginal, type DeleteDataCollectionRequest as DeleteDataCollectionRequestOriginal, type DeleteDataCollectionResponse as DeleteDataCollectionResponseOriginal, type DeleteDataCollectionsSnapshotRequest as DeleteDataCollectionsSnapshotRequestOriginal, type DeleteDataCollectionsSnapshotResponse as DeleteDataCollectionsSnapshotResponseOriginal, type Destination as DestinationOriginal, Direction as DirectionOriginal, type DirectionWithLiterals as DirectionWithLiteralsOriginal, type Document as DocumentOriginal, type DomainEventBodyOneOf as DomainEventBodyOneOfOriginal, type DomainEvent as DomainEventOriginal, type Email as EmailOriginal, type EntityCreatedEvent as EntityCreatedEventOriginal, type EntityDeletedEvent as EntityDeletedEventOriginal, type EntityUpdatedEvent as EntityUpdatedEventOriginal, type EnumValues as EnumValuesOriginal, type FailedCollection as FailedCollectionOriginal, type Failure as FailureOriginal, type FieldCapabilities as FieldCapabilitiesOriginal, type FieldCondition as FieldConditionOriginal, type Field as FieldOriginal, type FieldPluginOptionsOneOf as FieldPluginOptionsOneOfOriginal, type FieldPlugin as FieldPluginOriginal, FieldPluginType as FieldPluginTypeOriginal, type FieldPluginTypeWithLiterals as FieldPluginTypeWithLiteralsOriginal, type FieldRangeValidationsOneOf as FieldRangeValidationsOneOfOriginal, type FieldUpdate as FieldUpdateOriginal, type FieldsPattern as FieldsPatternOriginal, Format as FormatOriginal, type FormatWithLiterals as FormatWithLiteralsOriginal, type GetDataCollectionRequest as GetDataCollectionRequestOriginal, type GetDataCollectionResponse as GetDataCollectionResponseOriginal, type IdentificationDataIdOneOf as IdentificationDataIdOneOfOriginal, type IdentificationData as IdentificationDataOriginal, type Image as ImageOriginal, type IndexField as IndexFieldOriginal, type IndexLimits as IndexLimitsOriginal, type Index as IndexOriginal, type IndexQuotaLimits as IndexQuotaLimitsOriginal, IndexSource as IndexSourceOriginal, type IndexSourceWithLiterals as IndexSourceWithLiteralsOriginal, IndexStatus as IndexStatusOriginal, type IndexStatusWithLiterals as IndexStatusWithLiteralsOriginal, type LegacyColor as LegacyColorOriginal, type ListDataCollectionsRequest as ListDataCollectionsRequestOriginal, type ListDataCollectionsResponse as ListDataCollectionsResponseOriginal, type MediaGallery as MediaGalleryOriginal, type MessageEnvelope as MessageEnvelopeOriginal, type MultiReference as MultiReferenceOriginal, type MultilingualOptions as MultilingualOptionsOriginal, type NumberRange as NumberRangeOriginal, type ObjectField as ObjectFieldOriginal, Order as OrderOriginal, type OrderWithLiterals as OrderWithLiteralsOriginal, type PageLink as PageLinkOriginal, type PageLinkPluginOptions as PageLinkPluginOptionsOriginal, PageLinkType as PageLinkTypeOriginal, type PageLinkTypeWithLiterals as PageLinkTypeWithLiteralsOriginal, type PagingMetadataV2 as PagingMetadataV2Original, PagingMode as PagingModeOriginal, type PagingModeWithLiterals as PagingModeWithLiteralsOriginal, type Paging as PagingOriginal, type PatchDataCollectionFieldRequest as PatchDataCollectionFieldRequestOriginal, type PatchDataCollectionFieldResponse as PatchDataCollectionFieldResponseOriginal, type PatchDataCollectionRequest as PatchDataCollectionRequestOriginal, type PatchDataCollectionResponse as PatchDataCollectionResponseOriginal, Permission as PermissionOriginal, type PermissionWithLiterals as PermissionWithLiteralsOriginal, type Permissions as PermissionsOriginal, type PermissionsUpdate as PermissionsUpdateOriginal, type PluginCmsOptions as PluginCmsOptionsOriginal, type PluginOptionsOneOf as PluginOptionsOneOfOriginal, type Plugin as PluginOriginal, PluginType as PluginTypeOriginal, type PluginTypeWithLiterals as PluginTypeWithLiteralsOriginal, type PluginUpdate as PluginUpdateOriginal, type PublishPluginOptions as PublishPluginOptionsOriginal, QueryOperator as QueryOperatorOriginal, type QueryOperatorWithLiterals as QueryOperatorWithLiteralsOriginal, type Reference as ReferenceOriginal, type RestorationCollection as RestorationCollectionOriginal, type RestoreDataCollectionRequest as RestoreDataCollectionRequestOriginal, type RestoreDataCollectionResponse as RestoreDataCollectionResponseOriginal, type RestoreDataCollectionsFromSnapshotRequest as RestoreDataCollectionsFromSnapshotRequestOriginal, type RestoreDataCollectionsFromSnapshotResponse as RestoreDataCollectionsFromSnapshotResponseOriginal, type RestoreInfo as RestoreInfoOriginal, type RichContent as RichContentOriginal, type RichText as RichTextOriginal, Role as RoleOriginal, type RoleWithLiterals as RoleWithLiteralsOriginal, Segment as SegmentOriginal, type SegmentWithLiterals as SegmentWithLiteralsOriginal, type SingleItemPluginOptions as SingleItemPluginOptionsOriginal, type SiteSort as SiteSortOriginal, type Slug as SlugOriginal, type SnapshotCollection as SnapshotCollectionOriginal, SortOrder as SortOrderOriginal, type SortOrderWithLiterals as SortOrderWithLiteralsOriginal, type Sort as SortOriginal, type Sorting as SortingOriginal, Status as StatusOriginal, type StatusWithLiterals as StatusWithLiteralsOriginal, type StrictModeUpdate as StrictModeUpdateOriginal, type StringLengthRange as StringLengthRangeOriginal, TenantMode as TenantModeOriginal, type TenantModeWithLiterals as TenantModeWithLiteralsOriginal, type Text as TextOriginal, type TextValidationOneOf as TextValidationOneOfOriginal, type TextValidation as TextValidationOriginal, type Time as TimeOriginal, type TypeMetadataMetadataOneOf as TypeMetadataMetadataOneOfOriginal, type TypeMetadata as TypeMetadataOriginal, Type as TypeOriginal, type TypeWithLiterals as TypeWithLiteralsOriginal, type UpdateDataCollectionFieldRequest as UpdateDataCollectionFieldRequestOriginal, type UpdateDataCollectionFieldResponse as UpdateDataCollectionFieldResponseOriginal, type UpdateDataCollectionRequest as UpdateDataCollectionRequestOriginal, type UpdateDataCollectionResponse as UpdateDataCollectionResponseOriginal, type UpdateDataPermissionsRequest as UpdateDataPermissionsRequestOriginal, type UpdateDataPermissionsResponse as UpdateDataPermissionsResponseOriginal, type Url as UrlOriginal, type UrlizedOnlyPattern as UrlizedOnlyPatternOriginal, type UrlizedPluginOptions as UrlizedPluginOptionsOriginal, type Video as VideoOriginal, WebhookIdentityType as WebhookIdentityTypeOriginal, type WebhookIdentityTypeWithLiterals as WebhookIdentityTypeWithLiteralsOriginal, type _Array as _ArrayOriginal, type _Boolean as _BooleanOriginal, type _DateDefaultValueOneOf as _DateDefaultValueOneOfOriginal, type _DateMaxDateOneOf as _DateMaxDateOneOfOriginal, type _DateMinDateOneOf as _DateMinDateOneOfOriginal, type _Date as _DateOriginal, type _Number as _NumberOriginal, type _Object as _ObjectOriginal, type __PublicMethodMetaInfo, addDataCollectionPlugin, createDataCollection, createDataCollectionField, deleteDataCollection, deleteDataCollectionField, deleteDataCollectionPlugin, getDataCollection, listDataCollections, patchDataCollection, patchDataCollectionField, restoreDataCollection, updateDataCollection, updateDataCollectionField };