export interface Gallery {
/**
* Gallery ID.
* @readonly
*/
id?: string | null;
/** Gallery name. */
name?: string | null;
/**
* Total number of items in the gallery.
* @readonly
*/
totalItems?: number | null;
/** Media items in the gallery. */
items?: Item[];
/**
* Index that determines which position a gallery is displayed on the site.
*
* >**Note:** If you assign the same sort order index to more than one gallery, the function fails.
*/
sortOrder?: number | null;
/**
* Date and time the gallery was created.
* @readonly
*/
createdDate?: Date | null;
}
export interface Item extends ItemMetadataOneOf {
/** Details about the image. */
image?: Image;
/** Details about the video. */
video?: Video;
/** Details about the text file. */
text?: Text;
/**
* Item ID.
* @readonly
*/
id?: string | null;
/**
* Index that determines which position a media item is displayed in the gallery.
*
* Default: [Epoch](https://www.epoch101.com/) timestamp.
*
* >**Note:** If you assign the same sort order index to more than one media item in a gallery, the function fails.
*/
sortOrder?: number | null;
/** Item title. */
title?: string | null;
/** Item description. */
description?: string | null;
/** Link from the item. You can link to Wix sites or external URLs. */
link?: Link;
/** @readonly */
type?: Type;
/**
* Date and time the item was created.
* @readonly
*/
createdDate?: Date | null;
/**
* Date and time the item was last updated.
* @readonly
*/
updatedDate?: Date | null;
/** Item tags. */
tags?: Tags;
}
/** @oneof */
export interface ItemMetadataOneOf {
/** Details about the image. */
image?: Image;
/** Details about the video. */
video?: Video;
/** Details about the text file. */
text?: Text;
}
export interface Link {
/** Display text of the link. */
text?: string | null;
/** Target URL of the link. */
url?: string | null;
}
export declare enum LinkType {
UNDEFINED = "UNDEFINED",
/** external link */
EXTERNAL = "EXTERNAL",
/** for internal usage using wixLinkData */
INTERNAL = "INTERNAL"
}
/** The link object generated by panels in the editor and used by applications in Wix */
export interface WixLink extends WixLinkLinkOneOf {
/** External link type */
external?: ExternalLink;
/** Page link type */
page?: PageLink;
/** Anchor link type */
anchor?: AnchorLink;
/** Dynamic page link type */
dynamicPage?: DynamicPageLink;
/** Document link type */
document?: DocumentLink;
/** Email link type */
email?: EmailLink;
/** Phone link type */
phone?: PhoneLink;
/** Address link type */
address?: AddressLink;
/** WhatsApp link type */
whatsApp?: WhatsAppLink;
/** TPA link type */
tpaPage?: TpaPageLink;
}
/** @oneof */
export interface WixLinkLinkOneOf {
/** External link type */
external?: ExternalLink;
/** Page link type */
page?: PageLink;
/** Anchor link type */
anchor?: AnchorLink;
/** Dynamic page link type */
dynamicPage?: DynamicPageLink;
/** Document link type */
document?: DocumentLink;
/** Email link type */
email?: EmailLink;
/** Phone link type */
phone?: PhoneLink;
/** Address link type */
address?: AddressLink;
/** WhatsApp link type */
whatsApp?: WhatsAppLink;
/** TPA link type */
tpaPage?: TpaPageLink;
}
export interface ExternalLink {
/** The url of the page */
url?: string;
/** Where this link should open, supports _self and _blank or any name the user chooses. _self means same page, _blank means new page. */
target?: string | null;
}
/**
* The 'rel' attribute of the link. The rel attribute defines the relationship between a linked resource and the current document.
* Further reading (also about different possible rel types): https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel
* Following are the accepted 'rel' types by Wix applications.
*/
export declare enum LinkRel {
/** default (not implemented) */
unknown_link_rel = "unknown_link_rel",
/** Indicates that the current document's original author or publisher does not endorse the referenced document. */
nofollow = "nofollow",
/** Instructs the browser to navigate to the target resource without granting the new browsing context access to the document that opened it. */
noopener = "noopener",
/** No Referer header will be included. Additionally, has the same effect as noopener. */
noreferrer = "noreferrer",
/** Indicates a link that resulted from advertisements or paid placements. */
sponsored = "sponsored"
}
export interface PageLink {
/** The page id we want from the site */
pageId?: string;
/** Where this link should open, supports _self and _blank or any name the user chooses. _self means same page, _blank means new page. */
target?: string | null;
/** rel of link */
rel?: LinkRel[];
}
export interface AnchorLink {
/** The name of the anchor */
anchorName?: string;
/** The data id (from the JSON page) of the anchor that should be used */
anchorDataId?: string;
/** The page id we want from the site */
pageId?: string;
/** rel of link */
rel?: LinkRel[];
}
export interface DynamicPageLink {
/** The router that handles this link */
routerId?: string;
/** The path data we'd like */
innerRoute?: string;
/** The data id (from the JSON page) of the anchor that should be used */
anchorDataId?: string | null;
/** rel of link */
rel?: LinkRel[];
}
export interface DocumentLink {
/** The id of the document */
docId?: string;
/** The name of the document for download purposes */
name?: string | null;
/** If this document can be indexed by scrapers, default is false */
indexable?: boolean;
}
export interface EmailLink {
/** The email we will be sending a message to */
recipient?: string;
/** The subject of the email */
subject?: string | null;
/** The body of the email */
body?: string | null;
}
export interface PhoneLink {
/** The phone number we want to link to */
phoneNumber?: string;
}
export interface AddressLink {
/** An address that we can link to */
address?: string;
}
export interface WhatsAppLink {
/** The whatsApp phone number we want to connect with */
phoneNumber?: string;
}
/** Link to a TPA page */
export interface TpaPageLink {
/** Type of item (e.g. 'wix.stores.sub_pages.product') */
itemTypeIdentifier?: string;
/** Id of linked item */
itemId?: string;
/** Id of linked page */
pageId?: string;
/** Id of app being linked to (AppDefId) */
appDefinitionId?: string;
/** The relativepath of linked page */
path?: string;
/** rel of link */
rel?: LinkRel[];
}
export declare enum Type {
UNDEFINED = "UNDEFINED",
IMAGE = "IMAGE",
VIDEO = "VIDEO",
TEXT = "TEXT"
}
export interface Image {
/** Information about the Wix Media image. */
imageInfo?: CommonImage;
/** Focal point of the image. */
focalPoint?: Point;
/** Set of key-value pairs describing the media in [Exchangeable Image File format](https://en.wikipedia.org/wiki/Exif). */
exif?: Record | null;
/**
* Image compression level.
*
* Min: `30`
* Max: `100`
*/
quality?: number | null;
/** [Unsharp masking](https://en.wikipedia.org/wiki/Unsharp_masking) values of the image. */
unsharpMasking?: UnsharpMasking;
}
export declare enum ImageType {
UNDEFINED = "UNDEFINED",
WIX_MEDIA = "WIX_MEDIA",
EXTERNAL = "EXTERNAL"
}
export interface CommonImage {
/** *Required.** WixMedia image ID. */
id?: string;
/**
* Image URL.
* @readonly
*/
url?: string;
/** *Required.** Original image height. */
height?: number;
/** *Required.** Original image width. */
width?: number;
/** Image alt text. */
altText?: string | null;
/** Image filename. */
filename?: string | null;
}
export interface Point {
/** X-coordinate of the focal point. */
x?: number;
/** Y-coordinate of the focal point. */
y?: number;
}
export interface UnsharpMasking {
/**
* Unsharp masking amount. Controls the sharpening strength.
*
* Min: `0`
* Max: `5`
*/
amount?: number | null;
/** Unsharp masking radius in pixels. Controls the sharpening width. */
radius?: number | null;
/**
* Unsharp masking threshold. Controls how different neighboring pixels must be for shapening to apply.
*
* Min: `0`
* Max: `1`
*/
threshold?: number | null;
}
export interface Video {
type?: VideoType;
/** Information about the video. */
videoInfo?: VideoV2;
/** Manually defined video duration in milliseconds. */
durationInMillis?: number | null;
}
export declare enum VideoType {
UNDEFINED = "UNDEFINED",
WIX_MEDIA = "WIX_MEDIA",
YOUTUBE = "YOUTUBE",
VIMEO = "VIMEO"
}
export interface VideoV2 {
/** WixMedia ID. Required when associating an existing Wix Media video. */
id?: string;
/** Video URL. Required when associating a video from an external source. Supported sources: YouTube, Vimeo. */
url?: string;
/** Available resolutions for the video, starting with the optimal resolution. */
resolutions?: VideoResolution[];
/** Video filename. */
filename?: string | null;
/** Video posters. */
posters?: CommonImage[];
}
export interface VideoResolution {
/** *Required.** Video URL. */
url?: string;
/** *Required.** Video height. */
height?: number;
/** *Required.** Video width. */
width?: number;
/** *Required.** Video format. For example, `mp4` or `hls`. */
format?: string;
/** Video quality. For example, `480p` or `720p`. */
quality?: string | null;
/** Video filename. */
filename?: string | null;
}
export interface Text {
/** Text in HTML format. */
html?: string | null;
/**
* Set of key-value pairs describing the [CSS style](https://en.wikipedia.org/wiki/CSS) of the text.
*
* __Note:__ The object structure is customizable. See the [List Gallery Items](https://dev.wix.com/api/rest/site-content/pro-gallery/list-gallery-items) code example for supported values.
*/
css?: Record | null;
/** Reserved for internal use. */
editorHtml?: string | null;
/** Reserved for internal use. */
editorFontId?: string | null;
}
export interface Tags {
/** List of tags assigned to the media item. */
values?: string[];
}
export interface SecondaryMedia extends SecondaryMediaMetadataOneOf {
/** secondary media photo metadata (optional) */
image?: Image;
/** secondary media text metadata (optional) */
text?: Text;
}
/** @oneof */
export interface SecondaryMediaMetadataOneOf {
/** secondary media photo metadata (optional) */
image?: Image;
/** secondary media text metadata (optional) */
text?: Text;
}
export interface InvalidateCache extends InvalidateCacheGetByOneOf {
/** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */
metaSiteId?: string;
/** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */
siteId?: string;
/** Invalidate by App */
app?: App;
/** Invalidate by page id */
page?: Page;
/** Invalidate by URI path */
uri?: URI;
/** Invalidate by file (for media files such as PDFs) */
file?: File;
/** tell us why you're invalidating the cache. You don't need to add your app name */
reason?: string | null;
/** Is local DS */
localDc?: boolean;
hardPurge?: boolean;
}
/** @oneof */
export interface InvalidateCacheGetByOneOf {
/** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */
metaSiteId?: string;
/** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */
siteId?: string;
/** Invalidate by App */
app?: App;
/** Invalidate by page id */
page?: Page;
/** Invalidate by URI path */
uri?: URI;
/** Invalidate by file (for media files such as PDFs) */
file?: File;
}
export interface App {
/** The AppDefId */
appDefId?: string;
/** The instance Id */
instanceId?: string;
}
export interface Page {
/** the msid the page is on */
metaSiteId?: string;
/** Invalidate by Page ID */
pageId?: string;
}
export interface URI {
/** the msid the URI is on */
metaSiteId?: string;
/** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */
uriPath?: string;
}
export interface File {
/** the msid the file is related to */
metaSiteId?: string;
/** Invalidate by filename (for media files such as PDFs) */
fileName?: string;
}
export interface GalleryPublished {
/**
* id of the gallery that will be published
* @readonly
*/
galleryId?: string;
isRc?: boolean;
/** @readonly */
newRevision?: Date | null;
/** @readonly */
oldRevision?: Date | null;
}
export interface CleanDeletedGalleriesEvent {
/** @readonly */
instanceId?: string;
/** @readonly */
metaSiteId?: string;
/** @readonly */
htmlSiteRevision?: string;
/** @readonly */
timeSitePublished?: Date | null;
}
export interface ProgallerypublisherPublishGalleryRequest {
/** id of the gallery that will be published */
galleryId?: string;
}
export interface ProgallerypublisherPublishGalleryResponse {
}
export interface GetActiveGalleryRevisionRequest {
galleryId?: string;
}
export interface GetActiveGalleryRevisionResponse {
galleryActiveRevision?: Date | null;
htmlSiteRevision?: string | null;
}
export interface GetGalleryRevisionRequest {
galleryId?: string;
revision?: Date | null;
}
export interface GetGalleryRevisionResponse {
htmlSiteRevision?: string | null;
instanceId?: string | null;
}
export interface PublishGalleryItemRequest {
/** id of the gallery that will be published */
galleryId?: string;
/** id of the item that will be published */
itemId?: string;
}
export interface PublishGalleryItemResponse {
}
export interface PublishGalleryItemsRequest {
/** id of the gallery that will be published */
galleryId?: string;
/** ids of the items that will be published */
itemIds?: string[];
}
export interface PublishGalleryItemsResponse {
}
export interface Empty {
}
export interface HtmlSitePublished {
/** Application instance ID */
appInstanceId?: string;
/** Application type */
appType?: string;
/** Revision */
revision?: string;
/** MSID */
metaSiteId?: string | null;
/** optional branch id if publish is done from branch */
branchId?: string | null;
/** The site's last transactionId */
lastTransactionId?: string | null;
/** A list of the site's pages */
pages?: EventsPage[];
/** Site's publish date */
publishDate?: string;
}
export interface EventsPage {
/** Page's Id */
id?: string;
}
export interface HtmlSiteRCPublished {
/** Application instance ID */
appInstanceId?: string;
/** Revision */
revision?: string;
/** Optional branch Id */
branchId?: string | null;
/** Site's publish date */
publishDate?: string;
/** RC label */
rcLabel?: RCLabel;
}
export declare enum RCLabel {
/** Illegal default value, exception will be thrown if used */
UNKNOWN = "UNKNOWN",
RELEASE_MANAGER = "RELEASE_MANAGER",
BLOCKS = "BLOCKS",
WIX_CLI = "WIX_CLI",
MOBILE_APP_BUILDER = "MOBILE_APP_BUILDER",
SEO = "SEO",
FEEDBACK = "FEEDBACK"
}
export interface DomainEvent extends DomainEventBodyOneOf {
createdEvent?: EntityCreatedEvent;
updatedEvent?: EntityUpdatedEvent;
deletedEvent?: EntityDeletedEvent;
actionEvent?: ActionEvent;
/**
* Unique event ID.
* Allows clients to ignore duplicate webhooks.
*/
id?: string;
/**
* Assumes actions are also always typed to an entity_type
* Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction
*/
entityFqdn?: string;
/**
* This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)
* This is although the created/updated/deleted notion is duplication of the oneof types
* 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 defining the order of updates to the underlying entity.
* For example, given that some entity was updated at 16:00 and than again at 16:01,
* it is guaranteed that the sequence number of the second update is strictly higher than the first.
* As the consumer, you can use this value to ensure that you handle messages in the correct order.
* To do so, you will need to persist this number on your end, and compare the sequence number from the
* message against the one you have stored. Given that the stored number is higher, you should ignore the message.
*/
entityEventSequence?: string | null;
}
/** @oneof */
export interface DomainEventBodyOneOf {
createdEvent?: EntityCreatedEvent;
updatedEvent?: EntityUpdatedEvent;
deletedEvent?: EntityDeletedEvent;
actionEvent?: ActionEvent;
}
export interface EntityCreatedEvent {
entityAsJson?: string;
/** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */
restoreInfo?: RestoreInfo;
}
export interface RestoreInfo {
deletedDate?: Date | null;
}
export 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;
}
export interface EntityDeletedEvent {
/** Entity that was deleted */
deletedEntityAsJson?: string | null;
}
export interface ActionEvent {
bodyAsJson?: string;
}
export interface MessageEnvelope {
/** App instance ID. */
instanceId?: string | null;
/** Event type. */
eventType?: string;
/** The identification type and identity data. */
identity?: IdentificationData;
/** Stringify payload. */
data?: string;
}
export interface IdentificationData extends IdentificationDataIdOneOf {
/** ID of a site visitor that has not logged in to the site. */
anonymousVisitorId?: string;
/** ID of a site visitor that has logged in to the site. */
memberId?: string;
/** ID of a Wix user (site owner, contributor, etc.). */
wixUserId?: string;
/** ID of an app. */
appId?: string;
/** @readonly */
identityType?: WebhookIdentityType;
}
/** @oneof */
export interface IdentificationDataIdOneOf {
/** ID of a site visitor that has not logged in to the site. */
anonymousVisitorId?: string;
/** ID of a site visitor that has logged in to the site. */
memberId?: string;
/** ID of a Wix user (site owner, contributor, etc.). */
wixUserId?: string;
/** ID of an app. */
appId?: string;
}
export declare enum WebhookIdentityType {
UNKNOWN = "UNKNOWN",
ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
MEMBER = "MEMBER",
WIX_USER = "WIX_USER",
APP = "APP"
}
export interface UpdateDocumentsEvent extends UpdateDocumentsEventOperationOneOf {
/** insert/update documents */
update?: DocumentUpdateOperation;
/** delete by document ids */
deleteByIds?: DeleteByIdsOperation;
/** delete documents matching filter */
deleteByFilter?: DeleteByFilterOperation;
/** update documents matching filter */
updateByFilter?: UpdateByFilterOperation;
/** update only existing documents */
updateExisting?: UpdateExistingOperation;
/** application which owns documents */
appDefId?: string | null;
/** type of the documents */
documentType?: string | null;
/** language of the documents */
language?: string | null;
/** site documents belong to */
msId?: string | null;
}
/** @oneof */
export interface UpdateDocumentsEventOperationOneOf {
/** insert/update documents */
update?: DocumentUpdateOperation;
/** delete by document ids */
deleteByIds?: DeleteByIdsOperation;
/** delete documents matching filter */
deleteByFilter?: DeleteByFilterOperation;
/** update documents matching filter */
updateByFilter?: UpdateByFilterOperation;
/** update only existing documents */
updateExisting?: UpdateExistingOperation;
}
export interface DocumentUpdateOperation {
/** documents to index or update */
documents?: IndexDocument[];
}
export interface IndexDocument {
/** data bag with non-searchable fields (url, image) */
payload?: DocumentPayload;
/** what type of users should documents be visible to */
exposure?: Enum;
/** document with mandatory fields (id, title, description) and with fields specific to the type of the document */
document?: Record | null;
/** what member groups is the document exposed to. Used only with GROUP_PROTECTED exposure */
permittedMemberGroups?: string[];
/** if true SEO is disabled for this document */
seoHidden?: boolean | null;
/** if true the page is a lightbox popup */
isPopup?: boolean | null;
}
export interface DocumentPayload {
/** url of the page representing the document */
url?: string | null;
/** image which represents the document */
documentImage?: DocumentImage;
}
export interface DocumentImage {
/** the name of the image */
name?: string;
/** the width of the image */
width?: number;
/** the height of the image */
height?: number;
}
export declare enum Enum {
/** Default value. Means that permission not set */
UNKNOWN = "UNKNOWN",
/** Protected exposure. Exposed to members and owners */
PROTECTED = "PROTECTED",
/** Private exposure. Exposed to owners */
PRIVATE = "PRIVATE",
/** Public exposure. Visible to everyone */
PUBLIC = "PUBLIC",
/** Used for partial updates, to state that exposure is not changing */
UNCHANGED = "UNCHANGED",
/** Protected to members of permitted groups and owners */
GROUP_PROTECTED = "GROUP_PROTECTED"
}
export interface DeleteByIdsOperation {
/** ids of the documents to delete */
documentIds?: string[];
}
export interface DeleteByFilterOperation {
/** documents matching this filter wil be deleted. only filterable documents defined in document_type can be used for filtering */
filter?: Record | null;
}
export interface UpdateByFilterOperation {
/** documents matching this filter will be updated */
filter?: Record | null;
/** partial document to apply */
document?: IndexDocument;
}
export interface UpdateExistingOperation {
/** documents to update */
documents?: IndexDocument[];
}
export interface SearchIndexingNotification {
/** new state of indexing for the site specified in ms_id */
indexState?: SearchIndexingNotificationState;
/** type of the document the notification is targeted for. Applies to all types if not provided */
documentType?: string | null;
/** languaInternalDocumentUpdateByFilterOperationge the notification is targeted for. Applies to all languages if not provided */
language?: string | null;
/** site for which notification is targeted */
msId?: string | null;
}
export declare enum SearchIndexingNotificationState {
/** default state */
Unknown = "Unknown",
/** metasite does not require site search indexing */
Off = "Off",
/** metasite requires site search indexing */
On = "On"
}
export interface ListGalleriesItemsRequest {
/** IDs of the media items to retrieve. */
itemsId?: ItemId[];
}
export interface ItemId {
/** Gallery ID. */
galleryId?: string;
/** Item ID. */
itemId?: string;
}
export interface ListGalleriesItemsResponse {
/** Retrieved media items. */
itemsInGalleries?: ItemsInGallery[];
}
export interface ItemsInGallery {
/** Gallery ID. */
galleryId?: string;
/** Retrieved media items. */
items?: Item[];
}
export interface GalleryItemCreated {
/** Created gallery item. */
item?: Item;
}
export interface GalleryItemUpdated {
/** Updated gallery item. */
updatedItem?: Item;
}
export interface GalleryItemDeleted {
/** ID of the deleted gallery item. */
itemId?: string;
}
export interface ListGalleriesRequest {
/**
* Maximum number of media items to return.
*
* Min: `1`
* Max: `100`
* Default: `10`
*/
itemLimit?: number | null;
/**
* Number of galleries to skip in the response.
*
* Default: `0`
*/
offset?: number | null;
/**
* Maximum number of galleries to return.
*
* Min: `1`
* Max: `10`
* Default: `10`
*/
limit?: number | null;
}
export declare enum State {
UNDEFINED = "UNDEFINED",
/** The gallery in the Editor segment */
SAVED = "SAVED",
/** The gallery in the LiveSite segment */
PUBLISHED = "PUBLISHED"
}
export interface ListGalleriesResponse {
/** Total number of galleries in the site. */
totalGalleries?: number | null;
/** List of galleries. Sorted by `createdDate`. */
galleries?: Gallery[];
}
export interface GetGalleryRequest extends GetGalleryRequestVersionOneOf {
/** Gallery ID. */
galleryId: string;
/**
* Number of media items to skip in the response.
*
* Default: `0`
*/
itemOffset?: number | null;
/**
* Maximum number of media items to return.
*
* Min: `1`
* Max: `100`
* Default: `50`
*/
itemLimit?: number | null;
}
/** @oneof */
export interface GetGalleryRequestVersionOneOf {
}
export interface GetGalleryResponse {
/** Returned gallery. */
gallery?: Gallery;
}
export interface ListGalleryItemsRequest {
/** Gallery ID. */
galleryId: string;
/**
* Number of media items to skip in the response.
*
* Default: `0`
*/
itemOffset?: number | null;
/**
* Maximum number of media items to return.
*
* Min: `1`
* Max: `100`
* Default: `50`
*/
itemLimit?: number | null;
}
export interface ListGalleryItemsResponse {
/** List of media items in the gallery. */
items?: Item[];
}
export interface GetGalleryItemRequest {
/** Gallery ID. */
galleryId: string;
/** Item ID. */
itemId: string;
}
export interface GetGalleryItemResponse {
/** Returned media item. */
item?: Item;
}
export interface CreateGalleryRequest {
/** Gallery to create. */
gallery?: Gallery;
/** Gallery ID to clone from. */
cloneFromGalleryId?: string | null;
}
export interface CreateGalleryResponse {
/** Created gallery. */
gallery?: Gallery;
}
export interface UpdateGalleryRequest {
/** Gallery to update. */
gallery: Gallery;
}
export interface UpdateGalleryResponse {
/** Updated gallery. */
gallery?: Gallery;
}
export interface DeleteGalleryRequest {
/** ID of the gallery to delete. */
galleryId: string;
}
export interface DeleteGalleryResponse {
/**
* ID of the deleted gallery.
* @readonly
*/
galleryId?: string;
}
export interface DeleteGalleryItemsRequest {
/** Gallery ID. */
galleryId: string;
/** ID of the media item to delete. */
itemsIds?: string[];
}
export interface DeleteGalleryItemsResponse {
/** Gallery that previously included the deleted media item. */
gallery?: Gallery;
}
export interface BulkDeleteGalleryItemsRequest {
/** Gallery ID. */
galleryId: string;
/** IDs of the media items to delete. */
itemIds: string[];
}
export interface BulkDeleteGalleryItemsResponse {
/**
* IDs of the deleted media items.
* @readonly
*/
itemIds?: string[];
}
export interface CreateGalleryItemRequest {
/** Gallery ID. */
galleryId: string;
/** Media item to create. */
item: Item;
}
export interface CreateGalleryItemResponse {
/** Created media item. */
item?: Item;
}
export interface CreateGalleryItemsRequest {
/** Gallery ID. */
galleryId?: string;
/** Media items to create. */
items?: Item[];
}
export interface CreateGalleryItemsResponse {
/** Created media items. */
items?: Item[];
}
export interface UpdateGalleryItemRequest {
/** Gallery ID. */
galleryId: string;
/** Media item to update. */
item: Item;
}
export interface UpdateGalleryItemResponse {
/** Updated media item. */
item?: Item;
}
export interface DeleteGalleryItemRequest {
/** Gallery ID. */
galleryId: string;
/** ID of the media item to delete. */
itemId: string;
}
export interface DeleteGalleryItemResponse {
/**
* ID of the deleted media item.
* @readonly
*/
itemId?: string;
}
export interface PublishGalleryRequest {
/** ID of the gallery to publish. */
galleryId?: string;
}
export interface PublishGalleryResponse {
/** Published gallery. */
gallery?: Gallery;
}
interface CommonImageNonNullableFields {
id: string;
url: string;
height: number;
width: number;
}
interface PointNonNullableFields {
x: number;
y: number;
}
interface ImageNonNullableFields {
type: ImageType;
imageInfo?: CommonImageNonNullableFields;
focalPoint?: PointNonNullableFields;
}
interface VideoResolutionNonNullableFields {
url: string;
height: number;
width: number;
poster?: CommonImageNonNullableFields;
format: string;
}
interface VideoV2NonNullableFields {
id: string;
url: string;
resolutions: VideoResolutionNonNullableFields[];
posters: CommonImageNonNullableFields[];
}
interface VideoNonNullableFields {
type: VideoType;
videoInfo?: VideoV2NonNullableFields;
}
interface ExternalLinkNonNullableFields {
url: string;
}
interface PageLinkNonNullableFields {
pageId: string;
rel: LinkRel[];
}
interface AnchorLinkNonNullableFields {
anchorName: string;
anchorDataId: string;
pageId: string;
rel: LinkRel[];
}
interface DynamicPageLinkNonNullableFields {
routerId: string;
innerRoute: string;
rel: LinkRel[];
}
interface DocumentLinkNonNullableFields {
docId: string;
indexable: boolean;
}
interface EmailLinkNonNullableFields {
recipient: string;
}
interface PhoneLinkNonNullableFields {
phoneNumber: string;
}
interface AddressLinkNonNullableFields {
address: string;
}
interface WhatsAppLinkNonNullableFields {
phoneNumber: string;
}
interface TpaPageLinkNonNullableFields {
itemTypeIdentifier: string;
itemId: string;
pageId: string;
appDefinitionId: string;
path: string;
rel: LinkRel[];
}
interface WixLinkNonNullableFields {
external?: ExternalLinkNonNullableFields;
page?: PageLinkNonNullableFields;
anchor?: AnchorLinkNonNullableFields;
dynamicPage?: DynamicPageLinkNonNullableFields;
document?: DocumentLinkNonNullableFields;
email?: EmailLinkNonNullableFields;
phone?: PhoneLinkNonNullableFields;
address?: AddressLinkNonNullableFields;
whatsApp?: WhatsAppLinkNonNullableFields;
tpaPage?: TpaPageLinkNonNullableFields;
}
interface LinkNonNullableFields {
type: LinkType;
wixLinkData?: WixLinkNonNullableFields;
}
interface TagsNonNullableFields {
values: string[];
}
interface SecondaryMediaNonNullableFields {
image?: ImageNonNullableFields;
}
interface ItemNonNullableFields {
image?: ImageNonNullableFields;
video?: VideoNonNullableFields;
link?: LinkNonNullableFields;
type: Type;
tags?: TagsNonNullableFields;
secondaryMedia?: SecondaryMediaNonNullableFields;
}
interface GalleryNonNullableFields {
items: ItemNonNullableFields[];
}
export interface ListGalleriesResponseNonNullableFields {
galleries: GalleryNonNullableFields[];
}
export interface GetGalleryResponseNonNullableFields {
gallery?: GalleryNonNullableFields;
}
export interface ListGalleryItemsResponseNonNullableFields {
items: ItemNonNullableFields[];
}
export interface GetGalleryItemResponseNonNullableFields {
item?: ItemNonNullableFields;
}
export interface CreateGalleryResponseNonNullableFields {
gallery?: GalleryNonNullableFields;
}
export interface UpdateGalleryResponseNonNullableFields {
gallery?: GalleryNonNullableFields;
}
export interface DeleteGalleryResponseNonNullableFields {
galleryId: string;
}
export interface DeleteGalleryItemsResponseNonNullableFields {
gallery?: GalleryNonNullableFields;
}
export interface BulkDeleteGalleryItemsResponseNonNullableFields {
itemIds: string[];
}
export interface CreateGalleryItemResponseNonNullableFields {
item?: ItemNonNullableFields;
}
export interface UpdateGalleryItemResponseNonNullableFields {
item?: ItemNonNullableFields;
}
export interface DeleteGalleryItemResponseNonNullableFields {
itemId: string;
}
export {};