import { CheckForSpamRequest as CheckForSpamRequest$1, CheckForSpamResponse as CheckForSpamResponse$1, CreateFormSpamSubmissionReportRequest as CreateFormSpamSubmissionReportRequest$1, CreateFormSpamSubmissionReportResponse as CreateFormSpamSubmissionReportResponse$1, GetFormSpamSubmissionReportRequest as GetFormSpamSubmissionReportRequest$1, GetFormSpamSubmissionReportResponse as GetFormSpamSubmissionReportResponse$1, DeleteFormSpamSubmissionReportRequest as DeleteFormSpamSubmissionReportRequest$1, DeleteFormSpamSubmissionReportResponse as DeleteFormSpamSubmissionReportResponse$1, BulkDeleteFormSpamSubmissionReportRequest as BulkDeleteFormSpamSubmissionReportRequest$1, BulkDeleteFormSpamSubmissionReportResponse as BulkDeleteFormSpamSubmissionReportResponse$1, BulkDeleteFormSpamSubmissionReportByFilterRequest as BulkDeleteFormSpamSubmissionReportByFilterRequest$1, BulkDeleteFormSpamSubmissionReportByFilterResponse as BulkDeleteFormSpamSubmissionReportByFilterResponse$1, ReportNotSpamSubmissionRequest as ReportNotSpamSubmissionRequest$1, ReportNotSpamSubmissionResponse as ReportNotSpamSubmissionResponse$1, BulkReportNotSpamSubmissionRequest as BulkReportNotSpamSubmissionRequest$1, BulkReportNotSpamSubmissionResponse as BulkReportNotSpamSubmissionResponse$1, ReportSpamSubmissionRequest as ReportSpamSubmissionRequest$1, ReportSpamSubmissionResponse as ReportSpamSubmissionResponse$1, BulkReportSpamSubmissionRequest as BulkReportSpamSubmissionRequest$1, BulkReportSpamSubmissionResponse as BulkReportSpamSubmissionResponse$1, QueryFormSpamSubmissionReportsByNamespaceRequest as QueryFormSpamSubmissionReportsByNamespaceRequest$1, QueryFormSpamSubmissionReportsByNamespaceResponse as QueryFormSpamSubmissionReportsByNamespaceResponse$1, CountFormSpamSubmissionReportsRequest as CountFormSpamSubmissionReportsRequest$1, CountFormSpamSubmissionReportsResponse as CountFormSpamSubmissionReportsResponse$1 } from './index.typings.mjs'; import '@wix/sdk-types'; /** * A form spam submission report stores a form submission that was flagged as spam, together with the reason it was flagged. * * Reports are deleted automatically after 30 days, unless the submission is restored as not spam. */ interface FormSpamSubmissionReport { /** * Form spam submission report ID. * @format GUID * @readonly */ id?: string | null; /** * ID of the form the submission was made on. * @format GUID * @immutable */ formId?: string; /** * Namespace of the app that the form belongs to. Copied from the form. * * Currently supports `wix.form_app.form`, the namespace of the Wix Forms app. * @minLength 10 * @maxLength 50 * @readonly */ namespace?: string; /** * Identity of the submitter: a member, visitor, app, or user. * @immutable */ submitter?: Submitter; /** * Submitted values. Each key is the `target` of a form field, and each value is what the submitter entered in that field. * * Validated against the form's fields when the report is created. * @immutable */ submissions?: Record; /** * Reason the submission was flagged as spam. * @immutable */ reportReason?: ReportReasonWithLiterals; /** * Date and time the original submission was created. * * When you create a report for an existing submission, specify the submission's creation date to keep it. Can't be in the future. * * Default: Date and time the report is created * @immutable */ createdDate?: Date | null; /** * Date and time the submission was reported as spam. * @readonly */ reportedDate?: Date | null; /** * Date and time the form spam submission report was last updated. * @readonly */ updatedDate?: Date | null; /** * Revision number, which increments by 1 each time the form spam submission report is updated. * * Ignored when creating a form spam submission report. * @readonly */ revision?: string | null; /** * Custom field data for the form spam submission report object. * * [Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the app dashboard before they can be accessed with API calls. */ extendedFields?: ExtendedFields; /** * Status of the submission when it was reported as spam. * * When the submission is restored as not spam, a `PENDING` status becomes `CONFIRMED`. Any other status is kept. * * Returned as `PENDING` when the status wasn't recorded. */ submissionStatusAtReport?: SubmissionStatusWithLiterals; /** * Payment details of the submission. * * Available only for forms with payments. */ orderDetails?: OrderDetails; /** * ID of the contact who submitted the form: the site member who submitted it, or the contact matched to the submitter. * @format GUID * @readonly */ contactId?: string | null; /** * ID of the user who is authorized to view the original submission. Copied from the submission's `accessRestriction`. * * When set, reading the report requires the same additional access check as reading the submission. * @format GUID * @immutable */ accessRestriction?: string | null; /** * Additional details about why the submission was flagged as spam. For example, the explanation returned by a spam moderation service plugin, or a note from the person who reported it. * @minLength 1 * @maxLength 255 */ reportReasonDescription?: string | null; /** * ID of the site the submission was made on. * * Returned only when the site shares its data with a parent site. In that case, spam submission reports from all child sites are stored on the parent site, and this field identifies which site the report came from. * @format GUID * @readonly */ childMetaSiteId?: string | null; } interface Submitter extends SubmitterSubmitterOneOf { /** * Member ID. * @format GUID */ memberId?: string | null; /** * Visitor ID. * @format GUID */ visitorId?: string | null; /** * Application ID. * @maxLength 36 */ applicationId?: string | null; /** * User ID. * @format GUID */ userId?: string | null; } /** @oneof */ interface SubmitterSubmitterOneOf { /** * Member ID. * @format GUID */ memberId?: string | null; /** * Visitor ID. * @format GUID */ visitorId?: string | null; /** * Application ID. * @maxLength 36 */ applicationId?: string | null; /** * User ID. * @format GUID */ userId?: string | null; } declare enum ReportReason { /** Too many submissions with the same email address in a short time. */ EMAIL_QUOTA_REACHED = "EMAIL_QUOTA_REACHED", /** The submitter's IP address is blocklisted. */ IP_BLOCKLISTED = "IP_BLOCKLISTED", /** An email address in the submission is blocklisted. */ EMAIL_BLOCKLISTED = "EMAIL_BLOCKLISTED", /** Flagged by an AI model that analyzes the submission text. Runs on forms with the `ADVANCED` spam protection level. */ AI_REPORTED = "AI_REPORTED", /** Reported as spam by a person, such as the site owner or a collaborator. */ MANUALLY_REPORTED = "MANUALLY_REPORTED", /** Flagged by a spam moderation service plugin installed on the site. */ MODERATION_SPI = "MODERATION_SPI", /** Flagged by a large language model (LLM) that analyzes the submission text. Runs on forms with the `ADVANCED` spam protection level, after all other checks found no spam. */ AI_REPORTED_LLM = "AI_REPORTED_LLM" } /** @enumType */ type ReportReasonWithLiterals = ReportReason | 'EMAIL_QUOTA_REACHED' | 'IP_BLOCKLISTED' | 'EMAIL_BLOCKLISTED' | 'AI_REPORTED' | 'MANUALLY_REPORTED' | 'MODERATION_SPI' | 'AI_REPORTED_LLM'; interface ExtendedFields { /** * Extended field data. Each key corresponds to the namespace of the app that created the extended fields. * The value of each key is structured according to the schema defined when the extended fields were configured. * * You can only access fields for which you have the appropriate permissions. * * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields). */ namespaces?: Record>; } declare enum SubmissionStatus { /** A submission is created, but has not yet been recorded in the Wix Forms collection. */ PENDING = "PENDING", /** A submission is recorded in the Wix Forms collection. */ CONFIRMED = "CONFIRMED", /** A form submission requiring payment is created. */ PAYMENT_WAITING = "PAYMENT_WAITING", /** An order of a form submission is canceled. */ PAYMENT_CANCELED = "PAYMENT_CANCELED" } /** @enumType */ type SubmissionStatusWithLiterals = SubmissionStatus | 'PENDING' | 'CONFIRMED' | 'PAYMENT_WAITING' | 'PAYMENT_CANCELED'; interface OrderDetails { /** * ID of the checkout created for the submission. * @format GUID * @readonly */ checkoutId?: string; } interface CheckForSpamRequest { /** Submission to check. */ submission: FormSubmission; } /** Form submission that was created or retrieved. */ interface FormSubmission { /** * Submission ID. * @format GUID * @readonly */ id?: string | null; /** * ID of the form which the submission belongs to. * @format GUID * @immutable */ formId?: string; /** * The app which the form submissions belong to. A submission inherits the namespace from its form schema, so you can't set it directly. * * For example, a submission of a form visible in the Wix Forms app has the namespace `wix.form_app.form`, the namespace of the Wix Forms app, whose app ID is `225dd912-7dea-4738-8688-4b8c6955ffc2`. * * See a list of namespaces for [apps made by Wix](https://dev.wix.com/docs/api-reference/crm/forms/form-schemas/introduction#namespaces-of-apps-made-by-wix) section. * To retrieve the ID for a Wix app, see [Apps Created By Wix](https://dev.wix.com/docs/rest/articles/get-started/apps-created-by-wix). * @minLength 10 * @maxLength 50 * @readonly */ namespace?: string; /** * Status of the submission. * * The status a submission is created with depends on the form's namespace and on whether the form collects payment, so read it from the response rather than assuming. * * A submission for a form that collects payment starts as `PAYMENT_WAITING`. Otherwise, most namespaces record the submission immediately as `CONFIRMED`. Namespaces that need to complete another step first, such as taking payment for a pricing plan, create the submission as `PENDING` and confirm it later with Confirm Submission. * * A `PENDING` submission isn't recorded yet, and is deleted automatically if it isn't confirmed in time. */ status?: SubmissionStatusWithLiterals; /** * Values the visitor submitted. * * Each key is the `target` of a field in the form schema, which is the field's stable storage key rather than its ID or label. Only keys matching a field target are accepted. * * Each value's shape follows that field's `inputType`: `STRING` fields submit a string, `NUMBER` a number, `BOOLEAN` a boolean, and `ARRAY` an array of the selected option values. Date and time fields are strings. A choice field submits an option's `value`, not its ID or its label. * * 3 input types submit structured values: `ADDRESS` submits an address object, `PAYMENT` an array holding 1 product object per item bought, and `SCHEDULING` an appointment object. * * For the full mapping, see [About Submission Values](https://dev.wix.com/docs/api-reference/crm/forms/form-submissions/about-submission-values). */ submissions?: Record; /** * Date and time the form submission was created. * @immutable */ createdDate?: Date | null; /** * Date and time the form submission was updated. * @readonly */ updatedDate?: Date | null; /** * Revision number, which increments by 1 each time the form submission is updated. To prevent conflicting changes, the existing revision must be used when updating a form submission. * @readonly */ revision?: string | null; /** * ID of the visitor that submitted the form. * @readonly */ submitter?: Submitter; /** Whether a site owner marked a submission as "seen". */ seen?: boolean; /** Data extension object that holds users' and apps' fields. */ extendedFields?: ExtendedFields; /** * Order details.
* Note: This object is only applicable when submitting a form in the Wix Payments app. */ orderDetails?: FormSubmissionOrderDetails; /** * Contact ID of a site visitor who created the submission. * @format GUID * @readonly * @immutable */ contactId?: string | null; /** * Authorized viewer ID. * @format GUID * @immutable */ accessRestriction?: string | null; /** Tag IDs collections associated with the current entity. */ tags?: PublicTags; /** * Appointment details. * This object is only applicable when submitting a form that creates a booking appointment. */ appointmentDetails?: AppointmentDetails; /** * ID of the child site the submission was made on. * * Only present when the form was submitted on a site that shares its data with a parent site. In that case submissions from every child site are stored on the parent site, and this field identifies which child site the submission came from. * @format GUID * @readonly */ childMetaSiteId?: string | null; } interface FormSubmissionOrderDetails { /** * ID of the order related to submission (only applicable if a form has payments). * @format GUID * @readonly */ orderId?: string | null; /** * Order number. * @readonly */ number?: string | null; /** * Currency. * @format CURRENCY * @readonly */ currency?: string | null; /** * Item subtotal. * @decimalValue options { gte:0.00, maxScale:2 } * @readonly */ itemSubtotal?: string; /** * ID of the checkout related to submission (only applicable if a form has payments). * @format GUID * @readonly */ checkoutId?: string; } interface PublicTags { /** Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors. */ tags?: TagList; } interface TagList { /** * List of tag IDs * @maxSize 100 * @maxLength 5 */ tagIds?: string[]; } interface AppointmentDetails { /** * ID of the staff member assigned to the appointment. * @format GUID */ staffMemberId?: string | null; /** * Name of the staff member assigned to the appointment. * @minLength 1 * @maxLength 40 */ staffMemberName?: string | null; } interface CheckForSpamResponse { /** Whether the submission is spam. */ spam?: boolean; /** * Spam details. * * Returned only when `spam` is `true`. */ spamReport?: SpamReport; } interface SpamReport { /** Reason the submission was flagged as spam. */ reportReason?: ReportReasonWithLiterals; /** * Additional details about why the submission was flagged as spam. * * Returned only when the submission was flagged by a spam moderation service plugin. * @minLength 1 * @maxLength 255 */ reportReasonDescription?: string | null; } interface CreateFormSpamSubmissionReportRequest { /** Form spam submission report to create. */ formSpamSubmissionReport: FormSpamSubmissionReport; } interface CreateFormSpamSubmissionReportResponse { /** Created form spam submission report. */ formSpamSubmissionReport?: FormSpamSubmissionReport; } interface FormSpamSubmissionReportValidationErrorsDetails { /** * Validation error for each invalid field. * @maxSize 100 */ errors?: ValidationError[]; } interface ValidationError { /** * Path to the value that failed validation, relative to the submission's values. * * For a top-level field this is the field's `target`, such as `email`. For a value nested inside a field, the path continues with `/`, such as `address/postal_code` for an address subfield, or `attachments/0/fileId` for an element of an array field. * @maxLength 1000 */ errorPath?: string; /** * Error type. * * Switch on this rather than parsing `errorMessage`, which carries the underlying validator's wording and isn't a stable contract. */ errorType?: ErrorTypeWithLiterals; /** * Human readable description of the error, in English. * * This comes from the schema validator and is meant for debugging. It isn't localized and its wording can change, so don't parse it or show it to submitters. Use `errorType` to decide what to display. * @maxLength 1000 */ errorMessage?: string; /** Additional error parameters, to help identify additional info. */ params?: Record | null; /** * Whether to use a custom error message. * If `false`, the API takes the message from the `errorType` field. * Default: `false` */ useCustomErrorMessage?: boolean; } declare enum ErrorType { /** Error is unknown or not suitable for any of options bellow */ UNKNOWN_ERROR = "UNKNOWN_ERROR", /** Type of submitted value is incorrect */ TYPE_ERROR = "TYPE_ERROR", /** Value is required to be provided */ REQUIRED_VALUE_ERROR = "REQUIRED_VALUE_ERROR", /** Value contains additional properties not expected in schema */ UNKNOWN_VALUE_ERROR = "UNKNOWN_VALUE_ERROR", /** Text value exceeds max length */ MAX_LENGTH_ERROR = "MAX_LENGTH_ERROR", /** Text value not reaches min length */ MIN_LENGTH_ERROR = "MIN_LENGTH_ERROR", /** Text value not applicable for expected pattern */ PATTERN_ERROR = "PATTERN_ERROR", /** Text value not applicable for expected format */ FORMAT_ERROR = "FORMAT_ERROR", /** Number value is too big */ MAX_VALUE_ERROR = "MAX_VALUE_ERROR", /** Number value is too small */ MIN_VALUE_ERROR = "MIN_VALUE_ERROR", /** Number value is not multiple of expected number */ MULTIPLE_OF_VALUE_ERROR = "MULTIPLE_OF_VALUE_ERROR", /** Array value has too much items */ MIN_ITEMS_ERROR = "MIN_ITEMS_ERROR", /** Array value has not enough items */ MAX_ITEMS_ERROR = "MAX_ITEMS_ERROR", /** Value is not in list of allowed values */ NOT_ALLOWED_VALUE_ERROR = "NOT_ALLOWED_VALUE_ERROR", /** Form fields are incompatible */ FIELDS_COMPATIBILITY_ERROR = "FIELDS_COMPATIBILITY_ERROR", /** Submitted form is disabled */ DISABLED_FORM_ERROR = "DISABLED_FORM_ERROR", /** Too much forms */ FORMS_COUNT_RESTRICTIONS_ERROR = "FORMS_COUNT_RESTRICTIONS_ERROR", /** Too much fields on form */ FIELDS_COUNT_RESTRICTIONS_ERROR = "FIELDS_COUNT_RESTRICTIONS_ERROR", /** Too much steps on forms */ STEPS_COUNT_RESTRICTIONS_ERROR = "STEPS_COUNT_RESTRICTIONS_ERROR", /** Too much rules on forms */ RULES_COUNT_RESTRICTIONS_ERROR = "RULES_COUNT_RESTRICTIONS_ERROR", /** File upload is not allowed */ FILE_UPLOAD_RESTRICTIONS_ERROR = "FILE_UPLOAD_RESTRICTIONS_ERROR", /** Country code is not correct or missing from the phone number */ INVALID_PHONE_COUNTRY_CODE_ERROR = "INVALID_PHONE_COUNTRY_CODE_ERROR", /** Invalid staff member ID on appointment */ INVALID_STAFF_ID_ERROR = "INVALID_STAFF_ID_ERROR", /** Invalid business location ID on appointment */ INVALID_LOCATION_ID_ERROR = "INVALID_LOCATION_ID_ERROR", /** Missing service option on service picker field */ MISSING_SERVICE_OPTION_ERROR = "MISSING_SERVICE_OPTION_ERROR", /** Some of the service options on service picker field are deleted or unavailable */ INVALID_SERVICE_OPTIONS_ERROR = "INVALID_SERVICE_OPTIONS_ERROR", /** All of the service options on service picker field are deleted or unavailable */ NO_AVAILABLE_SERVICE_OPTIONS_ERROR = "NO_AVAILABLE_SERVICE_OPTIONS_ERROR", /** Text value does not match the exact required length */ EXACT_CHARACTER_LENGTH_ERROR = "EXACT_CHARACTER_LENGTH_ERROR", /** Character count is not within the required range */ CHARACTER_LENGTH_RANGE_ERROR = "CHARACTER_LENGTH_RANGE_ERROR", /** Number is not within the required range */ VALUE_RANGE_ERROR = "VALUE_RANGE_ERROR", /** Field not have the exact number of options selected */ EXACT_ITEMS_NUMBER_ERROR = "EXACT_ITEMS_NUMBER_ERROR", /** Number has incorrect number of decimal places */ DECIMAL_POINT_ERROR = "DECIMAL_POINT_ERROR", /** Date value is incomplete or missing required parts */ INCOMPLETE_DATE_ERROR = "INCOMPLETE_DATE_ERROR", /** Value does not match the required pattern format */ INVALID_VALUE_FOR_PATTERN_ERROR = "INVALID_VALUE_FOR_PATTERN_ERROR", /** Default value does not pass form field validation */ INVALID_DEFAULT_VALUE_ERROR = "INVALID_DEFAULT_VALUE_ERROR", /** No resource on the site is connected to a video conferencing provider, so the appointment's online meeting format can't be offered */ NO_CONNECTED_CONFERENCING_RESOURCE_ERROR = "NO_CONNECTED_CONFERENCING_RESOURCE_ERROR" } /** @enumType */ type ErrorTypeWithLiterals = ErrorType | 'UNKNOWN_ERROR' | 'TYPE_ERROR' | 'REQUIRED_VALUE_ERROR' | 'UNKNOWN_VALUE_ERROR' | 'MAX_LENGTH_ERROR' | 'MIN_LENGTH_ERROR' | 'PATTERN_ERROR' | 'FORMAT_ERROR' | 'MAX_VALUE_ERROR' | 'MIN_VALUE_ERROR' | 'MULTIPLE_OF_VALUE_ERROR' | 'MIN_ITEMS_ERROR' | 'MAX_ITEMS_ERROR' | 'NOT_ALLOWED_VALUE_ERROR' | 'FIELDS_COMPATIBILITY_ERROR' | 'DISABLED_FORM_ERROR' | 'FORMS_COUNT_RESTRICTIONS_ERROR' | 'FIELDS_COUNT_RESTRICTIONS_ERROR' | 'STEPS_COUNT_RESTRICTIONS_ERROR' | 'RULES_COUNT_RESTRICTIONS_ERROR' | 'FILE_UPLOAD_RESTRICTIONS_ERROR' | 'INVALID_PHONE_COUNTRY_CODE_ERROR' | 'INVALID_STAFF_ID_ERROR' | 'INVALID_LOCATION_ID_ERROR' | 'MISSING_SERVICE_OPTION_ERROR' | 'INVALID_SERVICE_OPTIONS_ERROR' | 'NO_AVAILABLE_SERVICE_OPTIONS_ERROR' | 'EXACT_CHARACTER_LENGTH_ERROR' | 'CHARACTER_LENGTH_RANGE_ERROR' | 'VALUE_RANGE_ERROR' | 'EXACT_ITEMS_NUMBER_ERROR' | 'DECIMAL_POINT_ERROR' | 'INCOMPLETE_DATE_ERROR' | 'INVALID_VALUE_FOR_PATTERN_ERROR' | 'INVALID_DEFAULT_VALUE_ERROR' | 'NO_CONNECTED_CONFERENCING_RESOURCE_ERROR'; interface GetFormSpamSubmissionReportRequest { /** * ID of the form spam submission report to retrieve. * @format GUID */ formSpamSubmissionReportId: string; } interface GetFormSpamSubmissionReportResponse { /** Retrieved form spam submission report. */ formSpamSubmissionReport?: FormSpamSubmissionReport; } interface DeleteFormSpamSubmissionReportRequest { /** * ID of the form spam submission report to delete. * @format GUID */ formSpamSubmissionReportId: string; } interface DeleteFormSpamSubmissionReportResponse { } interface BulkDeleteFormSpamSubmissionReportRequest { /** * ID of the form that the reports belong to. * @format GUID */ formId: string; /** * IDs of the form spam submission reports to delete. * @maxSize 100 * @format GUID */ formSpamSubmissionReportIds?: string[]; } interface BulkDeleteFormSpamSubmissionReportResponse { /** * Result for each form spam submission report. * @minSize 1 * @maxSize 100 */ results?: BulkDeleteFormSpamSubmissionReportResult[]; /** Metadata about the bulk action, such as the number of successes and failures. */ bulkActionMetadata?: BulkActionMetadata; } interface BulkDeleteFormSpamSubmissionReportResult { /** Metadata about the deleted report, such as whether the deletion succeeded. */ itemMetadata?: ItemMetadata; } interface ItemMetadata { /** * Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). * @format GUID */ id?: string | null; /** Index of the item within the request array. Allows for correlation between request and response items. */ originalIndex?: number; /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */ success?: boolean; /** Details about the error in case of failure. */ error?: ApplicationError; } interface ApplicationError { /** Error code. */ code?: string; /** Description of the error. */ description?: string; /** Data related to the error. */ data?: Record | null; } interface BulkActionMetadata { /** Number of items that were successfully processed. */ totalSuccesses?: number; /** Number of items that couldn't be processed. */ totalFailures?: number; /** Number of failures without details because detailed failure threshold was exceeded. */ undetailedFailures?: number; } interface BulkDeleteFormSpamSubmissionReportByFilterRequest { /** * Filter object. See [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language) for more information. * * Must include `namespace` and `formId`. */ filter: Record | null; } interface BulkDeleteFormSpamSubmissionReportByFilterResponse { /** * Job ID. Pass this ID to [Get Async Job](https://dev.wix.com/docs/api-reference/business-management/async-job/get-async-job) to retrieve the status of the asynchronous operation. * @format GUID */ jobId?: string; } interface ReportNotSpamSubmissionRequest { /** * ID of the form spam submission report to restore. * @format GUID */ formSpamSubmissionReportId: string; } interface ReportNotSpamSubmissionResponse { /** Submission created from the report. */ submission?: FormSubmission; } interface BulkReportNotSpamSubmissionRequest { /** * ID of the form that the reports belong to. * @format GUID */ formId: string; /** * IDs of the form spam submission reports to restore. * @minSize 1 * @maxSize 100 * @format GUID */ formSpamSubmissionReportIds?: string[]; } interface BulkReportNotSpamSubmissionResponse { /** * Result for each restored report. * @minSize 1 * @maxSize 100 */ results?: BulkReportNotSpamSubmissionResult[]; /** Metadata about the bulk action, such as the number of successes and failures. */ bulkActionMetadata?: BulkActionMetadata; } interface BulkReportNotSpamSubmissionResult { /** Metadata about the submission created from the report. `id` is the new submission ID. */ itemMetadata?: ItemMetadata; /** * ID of the restored form spam submission report. * @format GUID */ formSpamSubmissionReportId?: string; } interface ReportSpamSubmissionRequest { /** * ID of the submission to report as spam. * @format GUID */ submissionId: string; /** Reason the submission is reported as spam. */ reportReason: ReportReasonWithLiterals; /** * Additional details about why the submission is reported as spam. * @minLength 1 * @maxLength 255 */ reportReasonDescription?: string | null; } interface ReportSpamSubmissionResponse { /** Created form spam submission report. */ formSpamSubmissionReport?: FormSpamSubmissionReport; } interface BulkReportSpamSubmissionRequest { /** * ID of the form that the submissions belong to. * @format GUID */ formId: string; /** * IDs of the submissions to report as spam. * @maxSize 100 * @format GUID */ submissionIds: string[]; /** Reason the submission is reported as spam. */ reportReason: ReportReasonWithLiterals; /** * Whether to return the created reports in `results.item`. * * Default: `false` */ returnEntity?: boolean; /** * Additional details about why the submission is reported as spam. * @minLength 1 * @maxLength 255 */ reportReasonDescription?: string | null; } interface BulkReportSpamSubmissionResponse { /** * Result for each submission. * @minSize 1 * @maxSize 100 */ results?: BulkReportSpamSubmissionResult[]; /** Metadata about the bulk action, such as the number of successes and failures. */ bulkActionMetadata?: BulkActionMetadata; } interface BulkReportSpamSubmissionResult { /** Metadata about the created report, such as whether the report was created. */ itemMetadata?: ItemMetadata; /** * Created form spam submission report. * * Returned only when `returnEntity` is `true`. */ item?: FormSpamSubmissionReport; } interface QueryFormSpamSubmissionReportsByNamespaceRequest { /** Query options. The filter must include `namespace`. */ query: CursorQuery; } interface CursorQuery extends CursorQueryPagingMethodOneOf { /** 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"}]` * @maxSize 3 */ sort?: Sorting[]; } /** @oneof */ interface CursorQueryPagingMethodOneOf { /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */ cursorPaging?: CursorPaging; } interface Sorting { /** * Name of the field to sort by. * @maxLength 512 */ fieldName?: string; /** Sort order. */ order?: SortOrderWithLiterals; } declare enum SortOrder { ASC = "ASC", DESC = "DESC" } /** @enumType */ type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC'; interface CursorPaging { /** * Number of items to load. * @max 100 */ 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. * @maxLength 16000 */ cursor?: string | null; } interface QueryFormSpamSubmissionReportsByNamespaceResponse { /** Retrieved form spam submission reports. */ formSpamSubmissionReports?: FormSpamSubmissionReport[]; /** Paging metadata. */ pagingMetadata?: CursorPagingMetadata; } interface CursorPagingMetadata { /** Number of items returned in the response. */ count?: number | null; /** Offset that was requested. */ cursors?: Cursors; /** * Indicates if there are more results after the current page. * If `true`, another page of results can be retrieved. * If `false`, this is the last page. */ hasNext?: boolean | null; } interface Cursors { /** * Cursor pointing to next page in the list of results. * @maxLength 16000 */ next?: string | null; /** * Cursor pointing to previous page in the list of results. * @maxLength 16000 */ prev?: string | null; } interface CountFormSpamSubmissionReportsRequest { /** * IDs of the forms to count reports for. * @format GUID * @minSize 1 * @maxSize 100 */ formIds: string[]; /** * Namespace of the app that the forms belong to. * * Currently supports `wix.form_app.form`, the namespace of the Wix Forms app. * @minLength 10 * @maxLength 50 */ namespace: string; } interface CountFormSpamSubmissionReportsResponse { /** Number of form spam submission reports for each form. */ formsSpamSubmissionReportsCount?: FormSpamSubmissionReportsCount[]; } interface FormSpamSubmissionReportsCount { /** * Form ID. * @format GUID */ formId?: string; /** Number of form spam submission reports for the form. */ totalCount?: number; } 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 Empty { } 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; } /** @docsIgnore */ type CreateFormSpamSubmissionReportValidationErrors = { ruleName?: 'FORM_SPAM_SUBMISSION_REPORT_VALIDATION'; }; type __PublicMethodMetaInfo = { getUrl: (context: any) => string; httpMethod: K; path: string; pathParams: M; __requestType: T; __originalRequestType: S; __responseType: Q; __originalResponseType: R; }; declare function checkForSpam(): __PublicMethodMetaInfo<'POST', {}, CheckForSpamRequest$1, CheckForSpamRequest, CheckForSpamResponse$1, CheckForSpamResponse>; declare function createFormSpamSubmissionReport(): __PublicMethodMetaInfo<'POST', {}, CreateFormSpamSubmissionReportRequest$1, CreateFormSpamSubmissionReportRequest, CreateFormSpamSubmissionReportResponse$1, CreateFormSpamSubmissionReportResponse>; declare function getFormSpamSubmissionReport(): __PublicMethodMetaInfo<'GET', { formSpamSubmissionReportId: string; }, GetFormSpamSubmissionReportRequest$1, GetFormSpamSubmissionReportRequest, GetFormSpamSubmissionReportResponse$1, GetFormSpamSubmissionReportResponse>; declare function deleteFormSpamSubmissionReport(): __PublicMethodMetaInfo<'DELETE', { formSpamSubmissionReportId: string; }, DeleteFormSpamSubmissionReportRequest$1, DeleteFormSpamSubmissionReportRequest, DeleteFormSpamSubmissionReportResponse$1, DeleteFormSpamSubmissionReportResponse>; declare function bulkDeleteFormSpamSubmissionReport(): __PublicMethodMetaInfo<'POST', {}, BulkDeleteFormSpamSubmissionReportRequest$1, BulkDeleteFormSpamSubmissionReportRequest, BulkDeleteFormSpamSubmissionReportResponse$1, BulkDeleteFormSpamSubmissionReportResponse>; declare function bulkDeleteFormSpamSubmissionReportByFilter(): __PublicMethodMetaInfo<'POST', {}, BulkDeleteFormSpamSubmissionReportByFilterRequest$1, BulkDeleteFormSpamSubmissionReportByFilterRequest, BulkDeleteFormSpamSubmissionReportByFilterResponse$1, BulkDeleteFormSpamSubmissionReportByFilterResponse>; declare function reportNotSpamSubmission(): __PublicMethodMetaInfo<'POST', { formSpamSubmissionReportId: string; }, ReportNotSpamSubmissionRequest$1, ReportNotSpamSubmissionRequest, ReportNotSpamSubmissionResponse$1, ReportNotSpamSubmissionResponse>; declare function bulkReportNotSpamSubmission(): __PublicMethodMetaInfo<'POST', {}, BulkReportNotSpamSubmissionRequest$1, BulkReportNotSpamSubmissionRequest, BulkReportNotSpamSubmissionResponse$1, BulkReportNotSpamSubmissionResponse>; declare function reportSpamSubmission(): __PublicMethodMetaInfo<'POST', { submissionId: string; }, ReportSpamSubmissionRequest$1, ReportSpamSubmissionRequest, ReportSpamSubmissionResponse$1, ReportSpamSubmissionResponse>; declare function bulkReportSpamSubmission(): __PublicMethodMetaInfo<'POST', {}, BulkReportSpamSubmissionRequest$1, BulkReportSpamSubmissionRequest, BulkReportSpamSubmissionResponse$1, BulkReportSpamSubmissionResponse>; declare function queryFormSpamSubmissionReportsByNamespace(): __PublicMethodMetaInfo<'POST', {}, QueryFormSpamSubmissionReportsByNamespaceRequest$1, QueryFormSpamSubmissionReportsByNamespaceRequest, QueryFormSpamSubmissionReportsByNamespaceResponse$1, QueryFormSpamSubmissionReportsByNamespaceResponse>; declare function countFormSpamSubmissionReports(): __PublicMethodMetaInfo<'POST', {}, CountFormSpamSubmissionReportsRequest$1, CountFormSpamSubmissionReportsRequest, CountFormSpamSubmissionReportsResponse$1, CountFormSpamSubmissionReportsResponse>; export { type AccountInfo as AccountInfoOriginal, type ActionEvent as ActionEventOriginal, type ApplicationError as ApplicationErrorOriginal, type AppointmentDetails as AppointmentDetailsOriginal, type BulkActionMetadata as BulkActionMetadataOriginal, type BulkDeleteFormSpamSubmissionReportByFilterRequest as BulkDeleteFormSpamSubmissionReportByFilterRequestOriginal, type BulkDeleteFormSpamSubmissionReportByFilterResponse as BulkDeleteFormSpamSubmissionReportByFilterResponseOriginal, type BulkDeleteFormSpamSubmissionReportRequest as BulkDeleteFormSpamSubmissionReportRequestOriginal, type BulkDeleteFormSpamSubmissionReportResponse as BulkDeleteFormSpamSubmissionReportResponseOriginal, type BulkDeleteFormSpamSubmissionReportResult as BulkDeleteFormSpamSubmissionReportResultOriginal, type BulkReportNotSpamSubmissionRequest as BulkReportNotSpamSubmissionRequestOriginal, type BulkReportNotSpamSubmissionResponse as BulkReportNotSpamSubmissionResponseOriginal, type BulkReportNotSpamSubmissionResult as BulkReportNotSpamSubmissionResultOriginal, type BulkReportSpamSubmissionRequest as BulkReportSpamSubmissionRequestOriginal, type BulkReportSpamSubmissionResponse as BulkReportSpamSubmissionResponseOriginal, type BulkReportSpamSubmissionResult as BulkReportSpamSubmissionResultOriginal, type CheckForSpamRequest as CheckForSpamRequestOriginal, type CheckForSpamResponse as CheckForSpamResponseOriginal, type CountFormSpamSubmissionReportsRequest as CountFormSpamSubmissionReportsRequestOriginal, type CountFormSpamSubmissionReportsResponse as CountFormSpamSubmissionReportsResponseOriginal, type CreateFormSpamSubmissionReportRequest as CreateFormSpamSubmissionReportRequestOriginal, type CreateFormSpamSubmissionReportResponse as CreateFormSpamSubmissionReportResponseOriginal, type CreateFormSpamSubmissionReportValidationErrors as CreateFormSpamSubmissionReportValidationErrorsOriginal, type CursorPagingMetadata as CursorPagingMetadataOriginal, type CursorPaging as CursorPagingOriginal, type CursorQuery as CursorQueryOriginal, type CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOfOriginal, type Cursors as CursorsOriginal, type DeleteFormSpamSubmissionReportRequest as DeleteFormSpamSubmissionReportRequestOriginal, type DeleteFormSpamSubmissionReportResponse as DeleteFormSpamSubmissionReportResponseOriginal, type DomainEventBodyOneOf as DomainEventBodyOneOfOriginal, type DomainEvent as DomainEventOriginal, type Empty as EmptyOriginal, type EntityCreatedEvent as EntityCreatedEventOriginal, type EntityDeletedEvent as EntityDeletedEventOriginal, type EntityUpdatedEvent as EntityUpdatedEventOriginal, ErrorType as ErrorTypeOriginal, type ErrorTypeWithLiterals as ErrorTypeWithLiteralsOriginal, type ExtendedFields as ExtendedFieldsOriginal, type FormSpamSubmissionReport as FormSpamSubmissionReportOriginal, type FormSpamSubmissionReportValidationErrorsDetails as FormSpamSubmissionReportValidationErrorsDetailsOriginal, type FormSpamSubmissionReportsCount as FormSpamSubmissionReportsCountOriginal, type FormSubmissionOrderDetails as FormSubmissionOrderDetailsOriginal, type FormSubmission as FormSubmissionOriginal, type GetFormSpamSubmissionReportRequest as GetFormSpamSubmissionReportRequestOriginal, type GetFormSpamSubmissionReportResponse as GetFormSpamSubmissionReportResponseOriginal, type IdentificationDataIdOneOf as IdentificationDataIdOneOfOriginal, type IdentificationData as IdentificationDataOriginal, type ItemMetadata as ItemMetadataOriginal, type MessageEnvelope as MessageEnvelopeOriginal, type OrderDetails as OrderDetailsOriginal, type PublicTags as PublicTagsOriginal, type QueryFormSpamSubmissionReportsByNamespaceRequest as QueryFormSpamSubmissionReportsByNamespaceRequestOriginal, type QueryFormSpamSubmissionReportsByNamespaceResponse as QueryFormSpamSubmissionReportsByNamespaceResponseOriginal, type ReportNotSpamSubmissionRequest as ReportNotSpamSubmissionRequestOriginal, type ReportNotSpamSubmissionResponse as ReportNotSpamSubmissionResponseOriginal, ReportReason as ReportReasonOriginal, type ReportReasonWithLiterals as ReportReasonWithLiteralsOriginal, type ReportSpamSubmissionRequest as ReportSpamSubmissionRequestOriginal, type ReportSpamSubmissionResponse as ReportSpamSubmissionResponseOriginal, type RestoreInfo as RestoreInfoOriginal, SortOrder as SortOrderOriginal, type SortOrderWithLiterals as SortOrderWithLiteralsOriginal, type Sorting as SortingOriginal, type SpamReport as SpamReportOriginal, SubmissionStatus as SubmissionStatusOriginal, type SubmissionStatusWithLiterals as SubmissionStatusWithLiteralsOriginal, type Submitter as SubmitterOriginal, type SubmitterSubmitterOneOf as SubmitterSubmitterOneOfOriginal, type TagList as TagListOriginal, type ValidationError as ValidationErrorOriginal, WebhookIdentityType as WebhookIdentityTypeOriginal, type WebhookIdentityTypeWithLiterals as WebhookIdentityTypeWithLiteralsOriginal, type __PublicMethodMetaInfo, bulkDeleteFormSpamSubmissionReport, bulkDeleteFormSpamSubmissionReportByFilter, bulkReportNotSpamSubmission, bulkReportSpamSubmission, checkForSpam, countFormSpamSubmissionReports, createFormSpamSubmissionReport, deleteFormSpamSubmissionReport, getFormSpamSubmissionReport, queryFormSpamSubmissionReportsByNamespace, reportNotSpamSubmission, reportSpamSubmission };