export interface DraftPost {
/**
* Draft post ID.
* @readonly
*/
id?: string;
/** Draft post title. */
title?: string;
/**
* Draft post excerpt.
*
* If no excerpt has been manually set, an excerpt is automatically generated from the post's text.
* This can be retrieved using the `GENERATED_EXCERPT` fieldset.
*/
excerpt?: string | null;
/** Whether the draft post is marked as featured. */
featured?: boolean | null;
/** Category IDs of the draft post. */
categoryIds?: string[];
/** Draft post owner's member ID. */
memberId?: string | null;
/** Hashtags in the post. */
hashtags?: string[];
/** Whether commenting on the draft post is enabled. */
commentingEnabled?: boolean | null;
/**
* Estimated reading time of the draft post (calculated automatically).
* @readonly
*/
minutesToRead?: number;
/** Image placed at the top of the blog page. */
heroImage?: Image;
/** Tag IDs the draft post is tagged with. */
tagIds?: string[];
/** IDs of posts related to this draft post. */
relatedPostIds?: string[];
/** [Pricing plan IDs](https://dev.wix.com/api/rest/wix-pricing-plans). Only relevant if a post is assigned to a specific pricing plan. */
pricingPlanIds?: string[];
/**
* ID of the draft post's translations.
*
* All translations of a single post share the same `translationId`.
* Available only if the [Multilingual](https://support.wix.com/en/article/wix-multilingual-an-overview) app is installed.
*/
translationId?: string | null;
/**
* Language the draft post is written in.
*
* 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.
*/
language?: string | null;
/**
* Reserved for internal use.
* @readonly
*/
changeOrigin?: Origin;
/**
* Reserved for internal use.
* @readonly
*/
contentId?: string | null;
/** Reserved for internal use. */
editingSessionId?: string | null;
/**
* Draft Post rich content.
*
*
* See Ricos document reference
*
*/
richContent?: RichContent;
/**
* Status of the draft post.
* @readonly
*/
status?: Status;
/** Details of the draft post in review. Only relevant to posts submitted by guest writers. */
moderationDetails?: ModerationDetails;
/**
* Reserved for internal use.
* @readonly
*/
mostRecentContributorId?: string | null;
/**
* Indicates if there are changes made to the draft post that have not yet been published.
* @readonly
*/
hasUnpublishedChanges?: boolean;
/**
* Date the draft post was last edited.
* @readonly
*/
editedDate?: Date | null;
/**
* Date the draft post is scheduled to be published.
* @readonly
*/
scheduledPublishDate?: Date | null;
/** Reserved for internal use. */
content?: Record | null;
/** Date the post was first published. */
firstPublishedDate?: Date | null;
/** SEO data. */
seoData?: SeoSchema;
/**
* Reserved for internal use.
* @deprecated
* @replacedBy preview_text_paragraph
* @targetRemovalDate 2024-06-30
*/
paidContentParagraph?: number | null;
/**
* Reserved for internal use.
* @readonly
*/
slugs?: string[];
/**
* Draft post URL preview. What the URL will look like once the post is published.
* @readonly
*/
url?: PageUrl;
/**
* Date the draft post was first created.
* @readonly
*/
createdDate?: Date | null;
/** SEO slug. */
seoSlug?: string | null;
/** Post cover media. */
media?: Media;
/** Number of paragraphs to display in a paid content preview for non-paying users. */
previewTextParagraph?: number | null;
/**
* Reserved for internal use.
* @readonly
*/
internalId?: string | null;
}
export interface CoverMedia extends CoverMediaMediaOneOf {
/** Image url. */
image?: Image;
/** Video url. */
video?: Video;
/**
* Is cover media enabled.
* Selected by user whether to display cover media on the feed
* @deprecated Is cover media enabled.
* Selected by user whether to display cover media on the feed
* @replacedBy displayed
* @targetRemovalDate 2024-06-30
*/
enabled?: boolean;
/** Whether cover media is displayed. */
displayed?: boolean;
/** Whether cover media is custom. If `false` the cover image is set to the first media item that appears in the content. */
custom?: boolean;
/** Media alternative text. */
altText?: string | null;
}
/** @oneof */
export interface CoverMediaMediaOneOf {
/** Image url. */
image?: Image;
/** Video url. */
video?: Video;
}
export interface Image {
/** WixMedia image ID. */
id?: string;
/** Image URL. */
url?: string;
/**
* Original image height.
* @readonly
*/
height?: number;
/**
* Original image width.
* @readonly
*/
width?: number;
/** Image alt text. */
altText?: string | null;
/**
* Image filename.
* @readonly
*/
filename?: string | null;
}
export interface FocalPoint {
/** X-coordinate of the focal point. */
x?: number;
/** Y-coordinate of the focal point. */
y?: number;
/** crop by height */
height?: number | null;
/** crop by width */
width?: number | null;
}
/** Deprecated - use VideoV2 */
export interface Video {
/** WixMedia ID */
id?: string;
/** URL of video */
url?: string;
/**
* Original image height
* @readonly
*/
height?: number;
/**
* Original image width
* @readonly
*/
width?: number;
/** Video poster */
thumbnail?: Image;
}
export declare enum Origin {
UNKNOWN = "UNKNOWN",
/** Changed by admin */
ADMIN = "ADMIN",
/** Categories were changed */
ADD_CATEGORIES = "ADD_CATEGORIES",
/** Saved automatically */
AUTO_SAVE = "AUTO_SAVE",
/** Copied from template */
COPY_TEMPLATE = "COPY_TEMPLATE",
/** Imported */
IMPORT = "IMPORT",
/** Imported in bulk */
IMPORT_BULK = "IMPORT_BULK",
/** Imported with html import */
IMPORT_HTML = "IMPORT_HTML",
/** Patch import */
IMPORT_PATCH = "IMPORT_PATCH",
/** Changed language */
LANGUAGE_CHANGE = "LANGUAGE_CHANGE",
/** Saved manually */
MANUAL_SAVE = "MANUAL_SAVE",
/** Affected by migration */
MIGRATION = "MIGRATION",
/** Affected by moderation */
MODERATION = "MODERATION",
/** Moved to trash */
MOVE_TO_TRASH = "MOVE_TO_TRASH",
/** Pricing plans were changed */
PRICING_PLANS_CHANGE = "PRICING_PLANS_CHANGE",
/** Was provisioned */
PROVISION = "PROVISION",
/** Was published */
PUBLISH = "PUBLISH",
/** Owner was reassigned */
REASSIGN_OWNER = "REASSIGN_OWNER",
/** Was reblogged */
REBLOG = "REBLOG",
/** Was restored */
RESTORE = "RESTORE",
/** Reverted to draft */
REVERT_TO_DRAFT = "REVERT_TO_DRAFT",
/** Was translated */
TRANSLATION = "TRANSLATION",
/** Was unpublished */
UNPUBLISH = "UNPUBLISH",
/** Was unscheduled */
UNSCHEDULE = "UNSCHEDULE",
/** New edit session started which updated editing_session_id id */
NEW_EDIT_SESSION = "NEW_EDIT_SESSION",
/** Was scheduled by Later */
SCHEDULING_SERVICE_SCHEDULE = "SCHEDULING_SERVICE_SCHEDULE",
/** Was unscheduled by Later */
SCHEDULING_SERVICE_UNSCHEDULE = "SCHEDULING_SERVICE_UNSCHEDULE",
/** Was published by Later */
SCHEDULING_SERVICE_PUBLISH = "SCHEDULING_SERVICE_PUBLISH",
/** Was scheduled */
SCHEDULE = "SCHEDULE",
/** Was removed from moderation */
REMOVE_FROM_MODERATION = "REMOVE_FROM_MODERATION",
/** Was rejected from moderation */
REJECT_FROM_MODERATION = "REJECT_FROM_MODERATION",
/** Was approved in moderation */
APPROVE_IN_MODERATION = "APPROVE_IN_MODERATION",
/** Tag was deleted */
DELETE_TAG = "DELETE_TAG",
/** Post was pinned */
PIN = "PIN",
/** Post was unpinned */
UNPIN = "UNPIN",
/** Saved automatically by AI tool. */
AI_AUTO_SAVE = "AI_AUTO_SAVE"
}
export interface RichContent {
/** Node objects representing a rich content document. */
nodes?: Node[];
/** Object metadata. */
metadata?: Metadata;
/** Global styling for header, paragraph, block quote, and code block nodes in the object. */
documentStyle?: DocumentStyle;
}
export interface Node extends NodeDataOneOf {
/** Data for a button node. */
buttonData?: ButtonData;
/** Data for a code block node. */
codeBlockData?: CodeBlockData;
/** Data for a divider node. */
dividerData?: DividerData;
/** Data for a file node. */
fileData?: FileData;
/** Data for a gallery node. */
galleryData?: GalleryData;
/** Data for a GIF node. */
gifData?: GIFData;
/** Data for a heading node. */
headingData?: HeadingData;
/** Data for an embedded HTML node. */
htmlData?: HTMLData;
/** Data for an image node. */
imageData?: ImageData;
/** Data for a link preview node. */
linkPreviewData?: LinkPreviewData;
/** @deprecated */
mapData?: MapData;
/** Data for a paragraph node. */
paragraphData?: ParagraphData;
/** Data for a poll node. */
pollData?: PollData;
/** Data for a text node. Used to apply decorations to text. */
textData?: TextData;
/** Data for an app embed node. */
appEmbedData?: AppEmbedData;
/** Data for a video node. */
videoData?: VideoData;
/** Data for an oEmbed node. */
embedData?: EmbedData;
/** Data for a collapsible list node. */
collapsibleListData?: CollapsibleListData;
/** Data for a table node. */
tableData?: TableData;
/** Data for a table cell node. */
tableCellData?: TableCellData;
/** Data for a custom external node. */
externalData?: Record | null;
/** Data for an audio node. */
audioData?: AudioData;
/** Data for an ordered list node. */
orderedListData?: OrderedListData;
/** Data for a bulleted list node. */
bulletedListData?: BulletedListData;
/** Data for a block quote node. */
blockquoteData?: BlockquoteData;
/** Data for a caption node. */
captionData?: CaptionData;
/** LayoutData layout_data = 31; // Data for a layout node. Reserved for future use. */
layoutCellData?: LayoutCellData;
/** Node type. Use `APP_EMBED` for nodes that embed content from other Wix apps. Use `EMBED` to embed content in [oEmbed](https://oembed.com/) format. */
type?: NodeType;
/** Node ID. */
id?: string;
/** A list of child nodes. */
nodes?: Node[];
/** Padding and background color styling for the node. */
style?: NodeStyle;
}
/** @oneof */
export interface NodeDataOneOf {
/** Data for a button node. */
buttonData?: ButtonData;
/** Data for a code block node. */
codeBlockData?: CodeBlockData;
/** Data for a divider node. */
dividerData?: DividerData;
/** Data for a file node. */
fileData?: FileData;
/** Data for a gallery node. */
galleryData?: GalleryData;
/** Data for a GIF node. */
gifData?: GIFData;
/** Data for a heading node. */
headingData?: HeadingData;
/** Data for an embedded HTML node. */
htmlData?: HTMLData;
/** Data for an image node. */
imageData?: ImageData;
/** Data for a link preview node. */
linkPreviewData?: LinkPreviewData;
/** @deprecated */
mapData?: MapData;
/** Data for a paragraph node. */
paragraphData?: ParagraphData;
/** Data for a poll node. */
pollData?: PollData;
/** Data for a text node. Used to apply decorations to text. */
textData?: TextData;
/** Data for an app embed node. */
appEmbedData?: AppEmbedData;
/** Data for a video node. */
videoData?: VideoData;
/** Data for an oEmbed node. */
embedData?: EmbedData;
/** Data for a collapsible list node. */
collapsibleListData?: CollapsibleListData;
/** Data for a table node. */
tableData?: TableData;
/** Data for a table cell node. */
tableCellData?: TableCellData;
/** Data for a custom external node. */
externalData?: Record | null;
/** Data for an audio node. */
audioData?: AudioData;
/** Data for an ordered list node. */
orderedListData?: OrderedListData;
/** Data for a bulleted list node. */
bulletedListData?: BulletedListData;
/** Data for a block quote node. */
blockquoteData?: BlockquoteData;
/** Data for a caption node. */
captionData?: CaptionData;
/** LayoutData layout_data = 31; // Data for a layout node. Reserved for future use. */
layoutCellData?: LayoutCellData;
}
export declare enum NodeType {
PARAGRAPH = "PARAGRAPH",
TEXT = "TEXT",
HEADING = "HEADING",
BULLETED_LIST = "BULLETED_LIST",
ORDERED_LIST = "ORDERED_LIST",
LIST_ITEM = "LIST_ITEM",
BLOCKQUOTE = "BLOCKQUOTE",
CODE_BLOCK = "CODE_BLOCK",
VIDEO = "VIDEO",
DIVIDER = "DIVIDER",
FILE = "FILE",
GALLERY = "GALLERY",
GIF = "GIF",
HTML = "HTML",
IMAGE = "IMAGE",
LINK_PREVIEW = "LINK_PREVIEW",
/** @deprecated */
MAP = "MAP",
POLL = "POLL",
APP_EMBED = "APP_EMBED",
BUTTON = "BUTTON",
COLLAPSIBLE_LIST = "COLLAPSIBLE_LIST",
TABLE = "TABLE",
EMBED = "EMBED",
COLLAPSIBLE_ITEM = "COLLAPSIBLE_ITEM",
COLLAPSIBLE_ITEM_TITLE = "COLLAPSIBLE_ITEM_TITLE",
COLLAPSIBLE_ITEM_BODY = "COLLAPSIBLE_ITEM_BODY",
TABLE_CELL = "TABLE_CELL",
TABLE_ROW = "TABLE_ROW",
EXTERNAL = "EXTERNAL",
AUDIO = "AUDIO",
CAPTION = "CAPTION",
LAYOUT = "LAYOUT",
LAYOUT_CELL = "LAYOUT_CELL"
}
export interface NodeStyle {
/** The top padding value in pixels. */
paddingTop?: string | null;
/** The bottom padding value in pixels. */
paddingBottom?: string | null;
/** The background color as a hexadecimal value. */
backgroundColor?: string | null;
}
export interface ButtonData {
/** Styling for the button's container. */
containerData?: PluginContainerData;
/** The button type. */
type?: ButtonDataType;
/** Styling for the button. */
styles?: Styles;
/** The text to display on the button. */
text?: string | null;
/** Button link details. */
link?: Link;
}
export interface Border {
/** Border width in pixels. */
width?: number | null;
/** Border radius in pixels. */
radius?: number | null;
}
export interface Colors {
/** The text color as a hexadecimal value. */
text?: string | null;
/** The border color as a hexadecimal value. */
border?: string | null;
/** The background color as a hexadecimal value. */
background?: string | null;
}
export interface PluginContainerData {
/** The width of the node when it's displayed. */
width?: PluginContainerDataWidth;
/** The node's alignment within its container. */
alignment?: PluginContainerDataAlignment;
/** Spoiler cover settings for the node. */
spoiler?: Spoiler;
/** The height of the node when it's displayed. */
height?: Height;
/** Sets whether text should wrap around this node when it's displayed. If `textWrap` is `false`, the node takes up the width of its container. Defaults to `true` for all node types except 'DIVIVDER' where it defaults to `false`. */
textWrap?: boolean | null;
}
export declare enum WidthType {
/** Width matches the content width */
CONTENT = "CONTENT",
/** Small Width */
SMALL = "SMALL",
/** Width will match the original asset width */
ORIGINAL = "ORIGINAL",
/** coast-to-coast display */
FULL_WIDTH = "FULL_WIDTH"
}
export interface PluginContainerDataWidth extends PluginContainerDataWidthDataOneOf {
/**
* One of the following predefined width options:
* `CONTENT`: The width of the container matches the content width.
* `SMALL`: A small width.
* `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.
* `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.
*/
size?: WidthType;
/** A custom width value in pixels. */
custom?: string | null;
}
/** @oneof */
export interface PluginContainerDataWidthDataOneOf {
/**
* One of the following predefined width options:
* `CONTENT`: The width of the container matches the content width.
* `SMALL`: A small width.
* `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.
* `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.
*/
size?: WidthType;
/** A custom width value in pixels. */
custom?: string | null;
}
export declare enum PluginContainerDataAlignment {
/** Center Alignment */
CENTER = "CENTER",
/** Left Alignment */
LEFT = "LEFT",
/** Right Alignment */
RIGHT = "RIGHT"
}
export interface Spoiler {
/** Sets whether the spoiler cover is enabled for this node. Defaults to `false`. */
enabled?: boolean | null;
/** The description displayed on top of the spoiler cover. */
description?: string | null;
/** The text for the button used to remove the spoiler cover. */
buttonText?: string | null;
}
export interface Height {
/** A custom height value in pixels. */
custom?: string | null;
}
export declare enum ButtonDataType {
/** Regular link button */
LINK = "LINK",
/** Triggers custom action that is defined in plugin configuration by the consumer */
ACTION = "ACTION"
}
export interface Styles {
/** Border attributes. */
border?: Border;
/** Color attributes. */
colors?: Colors;
}
export interface Link extends LinkDataOneOf {
/** The absolute URL for the linked document. */
url?: string;
/** The target node's ID. Used for linking to another node in this object. */
anchor?: string;
/**
* he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:
* `SELF` - Default. Opens the linked document in the same frame as the link.
* `BLANK` - Opens the linked document in a new browser tab or window.
* `PARENT` - Opens the linked document in the link's parent frame.
* `TOP` - Opens the linked document in the full body of the link's browser tab or window.
*/
target?: Target;
/** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */
rel?: Rel;
/** A serialized object used for a custom or external link panel. */
customData?: string | null;
}
/** @oneof */
export interface LinkDataOneOf {
/** The absolute URL for the linked document. */
url?: string;
/** The target node's ID. Used for linking to another node in this object. */
anchor?: string;
}
export declare enum Target {
/** Opens the linked document in the same frame as it was clicked (this is default) */
SELF = "SELF",
/** Opens the linked document in a new window or tab */
BLANK = "BLANK",
/** Opens the linked document in the parent frame */
PARENT = "PARENT",
/** Opens the linked document in the full body of the window */
TOP = "TOP"
}
export interface Rel {
/** Indicates to search engine crawlers not to follow the link. Defaults to `false`. */
nofollow?: boolean | null;
/** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. Defaults to `false`. */
sponsored?: boolean | null;
/** Indicates that this link is user-generated content and isn't necessarily trusted or endorsed by the page’s author. For example, a link in a fourm post. Defaults to `false`. */
ugc?: boolean | null;
/** Indicates that this link protect referral information from being passed to the target website. */
noreferrer?: boolean | null;
}
export interface CodeBlockData {
/** Styling for the code block's text. */
textStyle?: TextStyle;
}
export interface TextStyle {
/** Text alignment. Defaults to `AUTO`. */
textAlignment?: TextAlignment;
/** A CSS `line-height` value for the text expressed as a ratio relative to the font size. For example, if the font size is 20px, a `lineHeight` value of `'1.5'`` results in a line height of 30px. */
lineHeight?: string | null;
}
export declare enum TextAlignment {
/** browser default, eqivalent to `initial` */
AUTO = "AUTO",
/** Left align */
LEFT = "LEFT",
/** Right align */
RIGHT = "RIGHT",
/** Center align */
CENTER = "CENTER",
/** Text is spaced to line up its left and right edges to the left and right edges of the line box, except for the last line */
JUSTIFY = "JUSTIFY"
}
export interface DividerData {
/** Styling for the divider's container. */
containerData?: PluginContainerData;
/** Divider line style. */
lineStyle?: LineStyle;
/** Divider width. */
width?: Width;
/** Divider alignment. */
alignment?: Alignment;
}
export declare enum LineStyle {
/** Single Line */
SINGLE = "SINGLE",
/** Double Line */
DOUBLE = "DOUBLE",
/** Dashed Line */
DASHED = "DASHED",
/** Dotted Line */
DOTTED = "DOTTED"
}
export declare enum Width {
/** Large line */
LARGE = "LARGE",
/** Medium line */
MEDIUM = "MEDIUM",
/** Small line */
SMALL = "SMALL"
}
export declare enum Alignment {
/** Center alignment */
CENTER = "CENTER",
/** Left alignment */
LEFT = "LEFT",
/** Right alignment */
RIGHT = "RIGHT"
}
export interface FileData {
/** Styling for the file's container. */
containerData?: PluginContainerData;
/** The source for the file's data. */
src?: FileSource;
/** File name. */
name?: string | null;
/** File type. */
type?: string | null;
/**
* Use `sizeInKb` instead.
* @deprecated
*/
size?: number | null;
/** Settings for PDF files. */
pdfSettings?: PDFSettings;
/** File MIME type. */
mimeType?: string | null;
/** File path. */
path?: string | null;
/** File size in KB. */
sizeInKb?: string | null;
}
export declare enum ViewMode {
/** No PDF view */
NONE = "NONE",
/** Full PDF view */
FULL = "FULL",
/** Mini PDF view */
MINI = "MINI"
}
export interface FileSource extends FileSourceDataOneOf {
/** The absolute URL for the file's source. */
url?: string | null;
/**
* Custom ID. Use `id` instead.
* @deprecated
*/
custom?: string | null;
/** An ID that's resolved to a URL by a resolver function. */
id?: string | null;
/** Indicates whether the file's source is private. Defaults to `false`. */
private?: boolean | null;
}
/** @oneof */
export interface FileSourceDataOneOf {
/** The absolute URL for the file's source. */
url?: string | null;
/**
* Custom ID. Use `id` instead.
* @deprecated
*/
custom?: string | null;
/** An ID that's resolved to a URL by a resolver function. */
id?: string | null;
}
export interface PDFSettings {
/**
* PDF view mode. One of the following:
* `NONE` : The PDF isn't displayed.
* `FULL` : A full page view of the PDF is displayed.
* `MINI` : A mini view of the PDF is displayed.
*/
viewMode?: ViewMode;
/** Sets whether the PDF download button is disabled. Defaults to `false`. */
disableDownload?: boolean | null;
/** Sets whether the PDF print button is disabled. Defaults to `false`. */
disablePrint?: boolean | null;
}
export interface GalleryData {
/** Styling for the gallery's container. */
containerData?: PluginContainerData;
/** The items in the gallery. */
items?: Item[];
/** Options for defining the gallery's appearance. */
options?: GalleryOptions;
/** Sets whether the gallery's expand button is disabled. Defaults to `false`. */
disableExpand?: boolean | null;
/** Sets whether the gallery's download button is disabled. Defaults to `false`. */
disableDownload?: boolean | null;
}
export interface V1Media {
/** The source for the media's data. */
src?: FileSource;
/** Media width in pixels. */
width?: number | null;
/** Media height in pixels. */
height?: number | null;
/** Media duration in seconds. Only relevant for audio and video files. */
duration?: number | null;
}
export interface ItemImage {
/** Image file details. */
media?: V1Media;
/** Link details for images that are links. */
link?: Link;
}
export interface ItemVideo {
/** Video file details. */
media?: V1Media;
/** Video thumbnail file details. */
thumbnail?: V1Media;
}
export interface Item extends ItemDataOneOf {
/** An image item. */
image?: ItemImage;
/** A video item. */
video?: ItemVideo;
/** Item title. */
title?: string | null;
/** Item's alternative text. */
altText?: string | null;
}
/** @oneof */
export interface ItemDataOneOf {
/** An image item. */
image?: ItemImage;
/** A video item. */
video?: ItemVideo;
}
export interface GalleryOptions {
/** Gallery layout. */
layout?: Layout;
/** Styling for gallery items. */
item?: ItemStyle;
/** Styling for gallery thumbnail images. */
thumbnails?: Thumbnails;
}
export declare enum LayoutType {
/** Collage type */
COLLAGE = "COLLAGE",
/** Masonry type */
MASONRY = "MASONRY",
/** Grid type */
GRID = "GRID",
/** Thumbnail type */
THUMBNAIL = "THUMBNAIL",
/** Slider type */
SLIDER = "SLIDER",
/** Slideshow type */
SLIDESHOW = "SLIDESHOW",
/** Panorama type */
PANORAMA = "PANORAMA",
/** Column type */
COLUMN = "COLUMN",
/** Magic type */
MAGIC = "MAGIC",
/** Fullsize images type */
FULLSIZE = "FULLSIZE"
}
export declare enum Orientation {
/** Rows Orientation */
ROWS = "ROWS",
/** Columns Orientation */
COLUMNS = "COLUMNS"
}
export declare enum Crop {
/** Crop to fill */
FILL = "FILL",
/** Crop to fit */
FIT = "FIT"
}
export declare enum ThumbnailsAlignment {
/** Top alignment */
TOP = "TOP",
/** Right alignment */
RIGHT = "RIGHT",
/** Bottom alignment */
BOTTOM = "BOTTOM",
/** Left alignment */
LEFT = "LEFT",
/** No thumbnail */
NONE = "NONE"
}
export interface Layout {
/** Gallery layout type. */
type?: LayoutType;
/** Sets whether horizontal scroll is enabled. Defaults to `true` unless the layout `type` is set to `GRID` or `COLLAGE`. */
horizontalScroll?: boolean | null;
/** Gallery orientation. */
orientation?: Orientation;
/** The number of columns to display on full size screens. */
numberOfColumns?: number | null;
/** The number of columns to display on mobile screens. */
mobileNumberOfColumns?: number | null;
}
export interface ItemStyle {
/** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */
targetSize?: number | null;
/** Item ratio */
ratio?: number | null;
/** Sets how item images are cropped. */
crop?: Crop;
/** The spacing between items in pixels. */
spacing?: number | null;
}
export interface Thumbnails {
/** Thumbnail alignment. */
placement?: ThumbnailsAlignment;
/** Spacing between thumbnails in pixels. */
spacing?: number | null;
}
export interface GIFData {
/** Styling for the GIF's container. */
containerData?: PluginContainerData;
/** The source of the full size GIF. */
original?: GIF;
/** The source of the downsized GIF. */
downsized?: GIF;
/** Height in pixels. */
height?: number;
/** Width in pixels. */
width?: number;
}
export interface GIF {
/** GIF format URL. */
gif?: string | null;
/** MP4 format URL. */
mp4?: string | null;
/** Thumbnail URL. */
still?: string | null;
}
export interface HeadingData {
/** Heading level from 1-6. */
level?: number;
/** Styling for the heading text. */
textStyle?: TextStyle;
/** Indentation level from 1-4. */
indentation?: number | null;
}
export interface HTMLData extends HTMLDataDataOneOf {
/** The URL for the HTML code for the node. */
url?: string;
/** The HTML code for the node. */
html?: string;
/**
* Whether this is an AdSense element. Use `source` instead.
* @deprecated
*/
isAdsense?: boolean | null;
/** Styling for the HTML node's container. */
containerData?: PluginContainerData;
/** The type of HTML code. */
source?: Source;
}
/** @oneof */
export interface HTMLDataDataOneOf {
/** The URL for the HTML code for the node. */
url?: string;
/** The HTML code for the node. */
html?: string;
/**
* Whether this is an AdSense element. Use `source` instead.
* @deprecated
*/
isAdsense?: boolean | null;
}
export declare enum Source {
HTML = "HTML",
ADSENSE = "ADSENSE"
}
export interface ImageData {
/** Styling for the image's container. */
containerData?: PluginContainerData;
/** Image file details. */
image?: V1Media;
/** Link details for images that are links. */
link?: Link;
/** Sets whether the image expands to full screen when clicked. Defaults to `false`. */
disableExpand?: boolean | null;
/** Image's alternative text. */
altText?: string | null;
/**
* Deprecated: use Caption node instead.
* @deprecated
*/
caption?: string | null;
/** Sets whether the image's download button is disabled. Defaults to `false`. */
disableDownload?: boolean | null;
}
export interface LinkPreviewData {
/** Styling for the link preview's container. */
containerData?: PluginContainerData;
/** Link details. */
link?: Link;
/** Preview title. */
title?: string | null;
/** Preview thumbnail URL. */
thumbnailUrl?: string | null;
/** Preview description. */
description?: string | null;
/** The preview content as HTML. */
html?: string | null;
}
export interface MapData {
/** Styling for the map's container. */
containerData?: PluginContainerData;
/** Map settings. */
mapSettings?: MapSettings;
}
export interface MapSettings {
/** The address to display on the map. */
address?: string | null;
/** Sets whether the map is draggable. */
draggable?: boolean | null;
/** Sets whether the location marker is visible. */
marker?: boolean | null;
/** Sets whether street view control is enabled. */
streetViewControl?: boolean | null;
/** Sets whether zoom control is enabled. */
zoomControl?: boolean | null;
/** Location latitude. */
lat?: number | null;
/** Location longitude. */
lng?: number | null;
/** Location name. */
locationName?: string | null;
/** Sets whether view mode control is enabled. */
viewModeControl?: boolean | null;
/** Initial zoom value. */
initialZoom?: number | null;
/** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */
mapType?: MapType;
}
export declare enum MapType {
/** Roadmap map type */
ROADMAP = "ROADMAP",
/** Satellite map type */
SATELITE = "SATELITE",
/** Hybrid map type */
HYBRID = "HYBRID",
/** Terrain map type */
TERRAIN = "TERRAIN"
}
export interface ParagraphData {
/** Styling for the paragraph text. */
textStyle?: TextStyle;
/** Indentation level from 1-4. */
indentation?: number | null;
/** Paragraph level */
level?: number | null;
}
export interface PollData {
/** Styling for the poll's container. */
containerData?: PluginContainerData;
/** Poll data. */
poll?: Poll;
/** Layout settings for the poll and voting options. */
layout?: PollDataLayout;
/** Styling for the poll and voting options. */
design?: Design;
}
export declare enum ViewRole {
/** Only Poll creator can view the results */
CREATOR = "CREATOR",
/** Anyone who voted can see the results */
VOTERS = "VOTERS",
/** Anyone can see the results, even if one didn't vote */
EVERYONE = "EVERYONE"
}
export declare enum VoteRole {
/** Logged in member */
SITE_MEMBERS = "SITE_MEMBERS",
/** Anyone */
ALL = "ALL"
}
export interface Permissions {
/** Sets who can view the poll results. */
view?: ViewRole;
/** Sets who can vote. */
vote?: VoteRole;
/** Sets whether one voter can vote multiple times. Defaults to `false`. */
allowMultipleVotes?: boolean | null;
}
export interface Option {
/** Option ID. */
id?: string | null;
/** Option title. */
title?: string | null;
/** The image displayed with the option. */
image?: V1Media;
}
export interface PollSettings {
/** Permissions settings for voting. */
permissions?: Permissions;
/** Sets whether voters are displayed in the vote results. Defaults to `true`. */
showVoters?: boolean | null;
/** Sets whether the vote count is displayed. Defaults to `true`. */
showVotesCount?: boolean | null;
}
export declare enum PollLayoutType {
/** List */
LIST = "LIST",
/** Grid */
GRID = "GRID"
}
export declare enum PollLayoutDirection {
/** Left-to-right */
LTR = "LTR",
/** Right-to-left */
RTL = "RTL"
}
export interface PollLayout {
/** The layout for displaying the voting options. */
type?: PollLayoutType;
/** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */
direction?: PollLayoutDirection;
/** Sets whether to display the main poll image. Defaults to `false`. */
enableImage?: boolean | null;
}
export interface OptionLayout {
/** Sets whether to display option images. Defaults to `false`. */
enableImage?: boolean | null;
}
export declare enum BackgroundType {
/** Color background type */
COLOR = "COLOR",
/** Image background type */
IMAGE = "IMAGE",
/** Gradiant background type */
GRADIENT = "GRADIENT"
}
export interface Gradient {
/** The gradient angle in degrees. */
angle?: number | null;
/** The start color as a hexademical value. */
startColor?: string | null;
/** The end color as a hexademical value. */
lastColor?: string | null;
}
export interface Background extends BackgroundBackgroundOneOf {
/** The background color as a hexademical value. */
color?: string | null;
/** An image to use for the background. */
image?: V1Media;
/** Details for a gradient background. */
gradient?: Gradient;
/** Background type. For each option, include the relevant details. */
type?: BackgroundType;
}
/** @oneof */
export interface BackgroundBackgroundOneOf {
/** The background color as a hexademical value. */
color?: string | null;
/** An image to use for the background. */
image?: V1Media;
/** Details for a gradient background. */
gradient?: Gradient;
}
export interface PollDesign {
/** Background styling. */
background?: Background;
/** Border radius in pixels. */
borderRadius?: number | null;
}
export interface OptionDesign {
/** Border radius in pixels. */
borderRadius?: number | null;
}
export interface Poll {
/** Poll ID. */
id?: string | null;
/** Poll title. */
title?: string | null;
/** Poll creator ID. */
creatorId?: string | null;
/** Main poll image. */
image?: V1Media;
/** Voting options. */
options?: Option[];
/** The poll's permissions and display settings. */
settings?: PollSettings;
}
export interface PollDataLayout {
/** Poll layout settings. */
poll?: PollLayout;
/** Voting otpions layout settings. */
options?: OptionLayout;
}
export interface Design {
/** Styling for the poll. */
poll?: PollDesign;
/** Styling for voting options. */
options?: OptionDesign;
}
export interface TextData {
/** The text to apply decorations to. */
text?: string;
/** The decorations to apply. */
decorations?: Decoration[];
}
/** Adds appearence changes to text */
export interface Decoration extends DecorationDataOneOf {
/** Data for an anchor link decoration. */
anchorData?: AnchorData;
/** Data for a color decoration. */
colorData?: ColorData;
/** Data for an external link decoration. */
linkData?: LinkData;
/** Data for a mention decoration. */
mentionData?: MentionData;
/** Data for a font size decoration. */
fontSizeData?: FontSizeData;
/** Font weight for a bold decoration. */
fontWeightValue?: number | null;
/** Data for an italic decoration. Defaults to `true`. */
italicData?: boolean | null;
/** Data for an underline decoration. Defaults to `true`. */
underlineData?: boolean | null;
/** Data for a spoiler decoration. */
spoilerData?: SpoilerData;
/** The type of decoration to apply. */
type?: DecorationType;
}
/** @oneof */
export interface DecorationDataOneOf {
/** Data for an anchor link decoration. */
anchorData?: AnchorData;
/** Data for a color decoration. */
colorData?: ColorData;
/** Data for an external link decoration. */
linkData?: LinkData;
/** Data for a mention decoration. */
mentionData?: MentionData;
/** Data for a font size decoration. */
fontSizeData?: FontSizeData;
/** Font weight for a bold decoration. */
fontWeightValue?: number | null;
/** Data for an italic decoration. Defaults to `true`. */
italicData?: boolean | null;
/** Data for an underline decoration. Defaults to `true`. */
underlineData?: boolean | null;
/** Data for a spoiler decoration. */
spoilerData?: SpoilerData;
}
export declare enum DecorationType {
BOLD = "BOLD",
ITALIC = "ITALIC",
UNDERLINE = "UNDERLINE",
SPOILER = "SPOILER",
ANCHOR = "ANCHOR",
MENTION = "MENTION",
LINK = "LINK",
COLOR = "COLOR",
FONT_SIZE = "FONT_SIZE",
EXTERNAL = "EXTERNAL"
}
export interface AnchorData {
/** The target node's ID. */
anchor?: string;
}
export interface ColorData {
/** The text's background color as a hexadecimal value. */
background?: string | null;
/** The text's foreground color as a hexadecimal value. */
foreground?: string | null;
}
export interface LinkData {
/** Link details. */
link?: Link;
}
export interface MentionData {
/** The mentioned user's name. */
name?: string;
/** The version of the user's name that appears after the `@` character in the mention. */
slug?: string;
/** Mentioned user's ID. */
id?: string | null;
}
export interface FontSizeData {
/** The units used for the font size. */
unit?: FontType;
/** Font size value. */
value?: number | null;
}
export declare enum FontType {
PX = "PX",
EM = "EM"
}
export interface SpoilerData {
/** Spoiler ID. */
id?: string | null;
}
export interface AppEmbedData extends AppEmbedDataAppDataOneOf {
/** Data for embedded Wix Bookings content. */
bookingData?: BookingData;
/** Data for embedded Wix Events content. */
eventData?: EventData;
/** The type of Wix App content being embedded. */
type?: AppType;
/** The ID of the embedded content. */
itemId?: string | null;
/** The name of the embedded content. */
name?: string | null;
/**
* Deprecated: Use `image` instead.
* @deprecated
*/
imageSrc?: string | null;
/** The URL for the embedded content. */
url?: string | null;
/** An image for the embedded content. */
image?: V1Media;
}
/** @oneof */
export interface AppEmbedDataAppDataOneOf {
/** Data for embedded Wix Bookings content. */
bookingData?: BookingData;
/** Data for embedded Wix Events content. */
eventData?: EventData;
}
export declare enum AppType {
PRODUCT = "PRODUCT",
EVENT = "EVENT",
BOOKING = "BOOKING"
}
export interface BookingData {
/** Booking duration in minutes. */
durations?: string | null;
}
export interface EventData {
/** Event schedule. */
scheduling?: string | null;
/** Event location. */
location?: string | null;
}
export interface VideoData {
/** Styling for the video's container. */
containerData?: PluginContainerData;
/** Video details. */
video?: V1Media;
/** Video thumbnail details. */
thumbnail?: V1Media;
/** Sets whether the video's download button is disabled. Defaults to `false`. */
disableDownload?: boolean | null;
/** Video title. */
title?: string | null;
/** Video options. */
options?: PlaybackOptions;
}
export interface PlaybackOptions {
/** Sets whether the media will automatically start playing. */
autoPlay?: boolean | null;
/** Sets whether media's will be looped. */
playInLoop?: boolean | null;
/** Sets whether media's controls will be shown. */
showControls?: boolean | null;
}
export interface EmbedData {
/** Styling for the oEmbed node's container. */
containerData?: PluginContainerData;
/** An [oEmbed](https://www.oembed.com) object. */
oembed?: Oembed;
/** Origin asset source. */
src?: string | null;
}
export interface Oembed {
/** The resource type. */
type?: string | null;
/** The width of the resource specified in the `url` property in pixels. */
width?: number | null;
/** The height of the resource specified in the `url` property in pixels. */
height?: number | null;
/** Resource title. */
title?: string | null;
/** The source URL for the resource. */
url?: string | null;
/** HTML for embedding a video player. The HTML should have no padding or margins. */
html?: string | null;
/** The name of the author or owner of the resource. */
authorName?: string | null;
/** The URL for the author or owner of the resource. */
authorUrl?: string | null;
/** The name of the resource provider. */
providerName?: string | null;
/** The URL for the resource provider. */
providerUrl?: string | null;
/** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */
thumbnailUrl?: string | null;
/** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */
thumbnailWidth?: string | null;
/** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */
thumbnailHeight?: string | null;
/** The URL for an embedded viedo. */
videoUrl?: string | null;
/** The oEmbed version number. This value must be `1.0`. */
version?: string | null;
}
export interface CollapsibleListData {
/** Styling for the collapsible list's container. */
containerData?: PluginContainerData;
/** If `true`, only one item can be expanded at a time. Defaults to `false`. */
expandOnlyOne?: boolean | null;
/** Sets which items are expanded when the page loads. */
initialExpandedItems?: InitialExpandedItems;
/** The direction of the text in the list. Either left-to-right or right-to-left. */
direction?: Direction;
/** If `true`, The collapsible item will appear in search results as an FAQ. */
isQapageData?: boolean | null;
}
export declare enum InitialExpandedItems {
/** First item will be expended initally */
FIRST = "FIRST",
/** All items will expended initally */
ALL = "ALL",
/** All items collapsed initally */
NONE = "NONE"
}
export declare enum Direction {
/** Left-to-right */
LTR = "LTR",
/** Right-to-left */
RTL = "RTL"
}
export interface TableData {
/** Styling for the table's container. */
containerData?: PluginContainerData;
/** The table's dimensions. */
dimensions?: Dimensions;
/**
* Deprecated: Use `rowHeader` and `columnHeader` instead.
* @deprecated
*/
header?: boolean | null;
/** Sets whether the table's first row is a header. Defaults to `false`. */
rowHeader?: boolean | null;
/** Sets whether the table's first column is a header. Defaults to `false`. */
columnHeader?: boolean | null;
}
export interface Dimensions {
/** An array representing relative width of each column in relation to the other columns. */
colsWidthRatio?: number[];
/** An array representing the height of each row in pixels. */
rowsHeight?: number[];
/** An array representing the minimum width of each column in pixels. */
colsMinWidth?: number[];
}
export interface TableCellData {
/** Styling for the cell's background color and text alignment. */
cellStyle?: CellStyle;
/** The cell's border colors. */
borderColors?: BorderColors;
}
export declare enum VerticalAlignment {
/** Top alignment */
TOP = "TOP",
/** Middle alignment */
MIDDLE = "MIDDLE",
/** Bottom alignment */
BOTTOM = "BOTTOM"
}
export interface CellStyle {
/** Vertical alignment for the cell's text. */
verticalAlignment?: VerticalAlignment;
/** Cell background color as a hexadecimal value. */
backgroundColor?: string | null;
}
export interface BorderColors {
/** Left border color as a hexadecimal value. */
left?: string | null;
/** Right border color as a hexadecimal value. */
right?: string | null;
/** Top border color as a hexadecimal value. */
top?: string | null;
/** Bottom border color as a hexadecimal value. */
bottom?: string | null;
}
/**
* `NullValue` is a singleton enumeration to represent the null value for the
* `Value` type union.
*
* The JSON representation for `NullValue` is JSON `null`.
*/
export declare enum NullValue {
/** Null value. */
NULL_VALUE = "NULL_VALUE"
}
/**
* `ListValue` is a wrapper around a repeated field of values.
*
* The JSON representation for `ListValue` is JSON array.
*/
export interface ListValue {
/** Repeated field of dynamically typed values. */
values?: any[];
}
export interface AudioData {
/** Styling for the audio node's container. */
containerData?: PluginContainerData;
/** Audio file details. */
audio?: V1Media;
/** Sets whether the audio node's download button is disabled. Defaults to `false`. */
disableDownload?: boolean | null;
/** Cover image. */
coverImage?: V1Media;
/** Track name. */
name?: string | null;
/** Author name. */
authorName?: string | null;
/** An HTML version of the audio node. */
html?: string | null;
}
export interface OrderedListData {
/** Indentation level from 0-4. */
indentation?: number;
/** Offset level from 0-4. */
offset?: number | null;
/** List start number. */
start?: number | null;
}
export interface BulletedListData {
/** Indentation level from 0-4. */
indentation?: number;
/** Offset level from 0-4. */
offset?: number | null;
}
export interface BlockquoteData {
/** Indentation level from 1-4. */
indentation?: number;
}
export interface CaptionData {
textStyle?: TextStyle;
}
export interface LayoutCellData {
/** Size of the cell in 12 columns grid. */
colSpan?: number | null;
}
export interface Metadata {
/** Schema version. */
version?: number;
/**
* When the object was created.
* @readonly
* @deprecated
*/
createdTimestamp?: Date | null;
/**
* When the object was most recently updated.
* @deprecated
*/
updatedTimestamp?: Date | null;
/** Object ID. */
id?: string | null;
}
export interface DocumentStyle {
/** Styling for H1 nodes. */
headerOne?: TextNodeStyle;
/** Styling for H2 nodes. */
headerTwo?: TextNodeStyle;
/** Styling for H3 nodes. */
headerThree?: TextNodeStyle;
/** Styling for H4 nodes. */
headerFour?: TextNodeStyle;
/** Styling for H5 nodes. */
headerFive?: TextNodeStyle;
/** Styling for H6 nodes. */
headerSix?: TextNodeStyle;
/** Styling for paragraph nodes. */
paragraph?: TextNodeStyle;
/** Styling for block quote nodes. */
blockquote?: TextNodeStyle;
/** Styling for code block nodes. */
codeBlock?: TextNodeStyle;
}
export interface TextNodeStyle {
/** The decorations to apply to the node. */
decorations?: Decoration[];
/** Padding and background color for the node. */
nodeStyle?: NodeStyle;
/** Line height for text in the node. */
lineHeight?: string | null;
}
export declare enum Status {
UNKNOWN = "UNKNOWN",
/** Status indicating the draft post is published. */
PUBLISHED = "PUBLISHED",
/** Status indicating the draft post is unpublished. */
UNPUBLISHED = "UNPUBLISHED",
/** Status indicating the draft post is scheduled for publication. */
SCHEDULED = "SCHEDULED",
/** Status indicating the draft post is deleted. */
DELETED = "DELETED",
/**
* Deprecated. Use `IN_REVIEW` instead. Status indicating the draft post is in review.
* Target removal date 2024-06-30
* Reserved for internal use.
*/
IN_MODERATION = "IN_MODERATION",
/** Status indicating the draft post is in review. */
IN_REVIEW = "IN_REVIEW"
}
export interface ModerationDetails {
/** Member ID of the person submitting the draft post for review. */
submittedBy?: string;
/** Date the post was submitted for review. */
submittedDate?: Date | null;
/** Status indicating whether the submission was approved or rejected by the moderator. */
status?: ModerationStatusStatus;
/** Member ID of the person who approved or rejected the post. */
moderatedBy?: string | null;
/** Date the post was approved or rejected. */
moderationDate?: Date | null;
}
export declare enum ModerationStatusStatus {
UNKNOWN = "UNKNOWN",
APPROVED = "APPROVED",
REJECTED = "REJECTED"
}
/**
* The SEO schema object contains data about different types of meta tags. It makes sure that the information about your page is presented properly to search engines.
* The search engines use this information for ranking purposes, or to display snippets in the search results.
* This data will override other sources of tags (for example patterns) and will be included in the section of the HTML document, while not being displayed on the page itself.
*/
export interface SeoSchema {
/** SEO tag information. */
tags?: Tag[];
/** SEO general settings. */
settings?: Settings;
}
export interface Keyword {
/** Keyword value. */
term?: string;
/** Whether the keyword is the main focus keyword. */
isMain?: boolean;
/** The source that added the keyword terms to the SEO settings. */
origin?: string | null;
}
export interface Tag {
/**
* SEO tag type.
*
*
* Supported values: `title`, `meta`, `script`, `link`.
*/
type?: string;
/**
* A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value.
* For example: `{"name": "description", "content": "the description itself"}`.
*/
props?: Record | null;
/** SEO tag meta data. For example, `{"height": 300, "width": 240}`. */
meta?: Record | null;
/** SEO tag inner content. For example, ` inner content `. */
children?: string;
/** Whether the tag is a custom tag. */
custom?: boolean;
/** Whether the tag is disabled. */
disabled?: boolean;
}
export interface Settings {
/**
* Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.
*
*
* Default: `false` (Auto Redirect is enabled.)
*/
preventAutoRedirect?: boolean;
/** User-selected keyword terms for a specific page. */
keywords?: Keyword[];
}
export interface PageUrl {
/** The base URL. For premium sites, this is the domain. For free sites, this is the site URL. For example, `mysite.wixsite.com/mysite`. */
base?: string;
/** The relative path for the page within the site. For example, `/product-page/a-product`. */
path?: string;
}
export interface Media extends MediaMediaOneOf {
/** Wix Media details. */
wixMedia?: WixMedia;
/** Embed media details. */
embedMedia?: EmbedMedia;
/** Whether cover media is displayed. */
displayed?: boolean;
/** Whether custom cover media has been specified. If `false`, the first media item in the post's content serves as cover media. */
custom?: boolean;
/** Media alternative text. */
altText?: string | null;
}
/** @oneof */
export interface MediaMediaOneOf {
/** Wix Media details. */
wixMedia?: WixMedia;
/** Embed media details. */
embedMedia?: EmbedMedia;
}
export interface WixMedia {
/** Image details. */
image?: Image;
/** Video details. */
videoV2?: VideoV2;
}
export interface VideoV2 {
/** WixMedia ID. */
id?: string;
/**
* Available resolutions for the video, starting with the optimal resolution.
* @readonly
*/
resolutions?: VideoResolution[];
/**
* Video filename.
* @readonly
*/
filename?: string | null;
}
export interface VideoResolution {
/** Video URL. */
url?: string;
/** Video height. */
height?: number;
/** Video width. */
width?: number;
/** Video format for example, mp4, hls. */
format?: string;
}
export interface EmbedMedia {
/** Thumbnail details. */
thumbnail?: EmbedThumbnail;
/** Video details. */
video?: EmbedVideo;
}
export interface EmbedThumbnail {
/** Thumbnail url. */
url?: string;
/** Thumbnail width. */
width?: number;
/** Thumbnail height. */
height?: number;
}
export interface EmbedVideo {
/** Video url. */
url?: string;
/** Video width. */
width?: number;
/** Video height. */
height?: number;
}
export interface DraftPostTranslation {
/** Post ID. */
id?: string;
/** Post status. */
status?: Status;
/** Language the post is written in. */
language?: string | null;
/** Post slug. For example, 'post-slug'. */
slug?: string | null;
/** SEO data. */
seoData?: SeoSchema;
/** Post URL. */
url?: PageUrl;
}
export interface InitialDraftPostsCopied {
/** Number of draft posts copied. */
count?: number;
}
export interface DraftCategoriesUpdated {
/** Draft post ID. */
draftPostId?: string;
/** Current categories of the draft. */
categories?: string[];
/** Previous categories of the draft. */
previousCategories?: string[];
}
export interface DraftTagsUpdated {
/** Draft post ID. */
draftPostId?: string;
/** Current tags of the draft. */
tags?: string[];
/** Previous tags of the draft. */
previousTags?: string[];
}
export interface CreateDraftPostRequest {
/** Draft post to create. */
draftPost: DraftPost;
/**
* Whether the draft post should be published on creation.
*
* Default: `false`
*/
publish?: boolean;
/**
* List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in
* the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default
* only the draft post's base fields are returned.
*/
fieldsets?: Field[];
}
export declare enum Type {
UNKNOWN = "UNKNOWN",
/** Manually saved. */
MANUAL = "MANUAL",
/** Triggered by autosave. */
AUTO_SAVE = "AUTO_SAVE",
/** Copied from template during provisioning flow. */
PROVISIONING = "PROVISIONING",
/** Imported from another blog. */
IMPORT = "IMPORT",
/** Triggered by autosave when post created by AI tool. */
AI_AUTO_SAVE = "AI_AUTO_SAVE"
}
export declare enum Field {
/** Unknown field. */
UNKNOWN = "UNKNOWN",
/** Includes draft post preview URL. */
URL = "URL",
/**
* Includes internal id field.
* Reserved for internal use.
*/
INTERNAL_ID = "INTERNAL_ID",
/** Includes content field. */
CONTENT = "CONTENT",
/** Includes rich content field. */
RICH_CONTENT = "RICH_CONTENT",
/** If the user has not set excerpt, returns the one autogenerated from content. */
GENERATED_EXCERPT = "GENERATED_EXCERPT"
}
export interface CreateDraftPostResponse {
/** Created draft post info. */
draftPost?: DraftPost;
}
export interface BulkCreateDraftPostsRequest {
/** Draft posts to create. */
draftPosts: DraftPost[];
/** Whether the draft post should be published after creation. */
publish?: boolean;
/** Whether to return the full created draft post entities in the response. */
returnFullEntity?: boolean;
/**
* List of draft post fields to be included in the response if the entities are present.
* Base default fieldset returns all core draft post properties (all properties that are not a supported fieldset value).
* For example, when `URL` fieldset is selected, returned draft post will include the set of base properties and the draft post's preview url.
*/
fieldsets?: Field[];
}
export interface BulkCreateDraftPostsResponse {
/** Draft posts created by bulk action. */
results?: BulkDraftPostResult[];
/** Bulk action metadata. */
bulkActionMetadata?: BulkActionMetadata;
}
export interface BulkDraftPostResult {
/** Bulk actions metadata for draft post. */
itemMetadata?: ItemMetadata;
/** Optional full draft post. */
item?: DraftPost;
}
export interface ItemMetadata {
/** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */
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;
}
export interface ApplicationError {
/** Error code. */
code?: string;
/** Description of the error. */
description?: string;
/** Data related to the error. */
data?: Record | null;
}
export 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;
}
export interface BulkUpdateDraftPostsRequest {
/** Draft posts to update. */
draftPosts?: MaskedDraftPosts[];
/**
* Action to perform on the posts.
*
* Default: `UPDATE`
*/
action?: Action;
/** Posts' scheduled publish date when `action` is set to `UPDATE_SCHEDULE`. */
scheduledPublishDate?: Date | null;
/** Whether to return the full updated draft post entities in the response. */
returnFullEntity?: boolean;
/**
* List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in
* the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default
* only the draft post's base fields are returned.
*/
fieldsets?: Field[];
}
export interface MaskedDraftPosts {
/** Draft post */
draftPost?: DraftPost;
/** Field mask of fields to update. */
fieldMask?: string[];
}
export declare enum Action {
/** Update the draft post. */
UPDATE = "UPDATE",
/** Update and publish a draft post. */
UPDATE_PUBLISH = "UPDATE_PUBLISH",
/** Update the draft post and schedule a publish date. */
UPDATE_SCHEDULE = "UPDATE_SCHEDULE",
/** Update the post and revert it to draft. */
UPDATE_REVERT_TO_DRAFT = "UPDATE_REVERT_TO_DRAFT",
/** Update the draft post and cancel the scheduled publish date. */
UPDATE_CANCEL_SCHEDULE = "UPDATE_CANCEL_SCHEDULE",
/** Update and reject draft post. */
UPDATE_REJECT = "UPDATE_REJECT",
/** Update a post that's already been published. This creates and updates a draft version of the post. The original post is still published. */
UPDATE_PUBLICATION = "UPDATE_PUBLICATION"
}
export interface BulkUpdateDraftPostsResponse {
/** Draft posts updated by bulk action. */
results?: BulkDraftPostResult[];
/** Bulk action metadata. */
bulkActionMetadata?: BulkActionMetadata;
}
export interface DraftPostOwnerChanged {
}
export interface ListDeletedDraftPostsRequest {
/**
* Language filter.
*
* 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.
* If omitted, deleted draft posts in all languages are returned.
*/
language?: string | null;
/**
* Sorting options.
*
* Default: `EDITING_DATE_DESCENDING`
*/
sort?: GetDraftPostsSort;
/** Pagination options. */
paging?: BlogPaging;
/**
* List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in
* the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default
* only the draft post's base fields are returned.
*/
fieldsets?: Field[];
/** Draft post ids. */
draftPostIds?: string[];
}
export declare enum GetDraftPostsSort {
/** Sort by `editedDate` in descending order. */
EDITING_DATE_DESC = "EDITING_DATE_DESC",
/** Sort by `editedDate` in ascending order. */
EDITING_DATE_ASC = "EDITING_DATE_ASC"
}
export interface BlogPaging {
/**
* Number of items to skip in the current sort order.
*
*
* Default: `0`
*/
offset?: number;
/**
* Number of items to return.
*
*
* Default:`50`
*/
limit?: number;
/** Pointer to the next or previous page in the list of results. */
cursor?: string | null;
}
export interface ListDeletedDraftPostsResponse {
/** List of draft posts. */
draftPosts?: DraftPost[];
/** Details on the paged set of results returned. */
metaData?: MetaData;
}
export interface MetaData {
/** Number of items returned in this response. */
count?: number;
/** Requested offset. */
offset?: number;
/** Total number of items that match the query. */
total?: number;
/** Pointer to the next or previous page in the list of results. */
cursor?: string | null;
}
export interface GetDraftPostRequest {
/** Draft post ID. */
draftPostId: string;
/**
* List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in
* the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default
* only the draft post's base fields are returned.
*/
fieldsets?: Field[];
}
export interface GetDraftPostResponse {
/** Draft post info. */
draftPost?: DraftPost;
}
export interface UpdateDraftPostContentRequest extends UpdateDraftPostContentRequestDraftContentOneOf {
/** DraftJs content to update. */
content?: string;
/** Draft Post rich content. */
richContent?: RichContent;
/** Draft post ID. */
draftPostId?: string;
/** Change origin. */
changeOrigin?: Origin;
/**
* List of draft post fields to be included if entities are present in the response.
* Base fieldset, which is default, will return all core draft post properties.
* Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.
*/
fieldsets?: Field[];
}
/** @oneof */
export interface UpdateDraftPostContentRequestDraftContentOneOf {
/** DraftJs content to update. */
content?: string;
/** Draft Post rich content. */
richContent?: RichContent;
}
export interface UpdateDraftPostContentResponse {
/** Updated draft post info. */
draftPost?: DraftPost;
}
export interface UpdateDraftPostRequest {
/** Draft post to update. */
draftPost: DraftPost;
/**
* Action to perform on the post.
*
* Default: `UPDATE`
*/
action?: Action;
/** Post publish schedule date if `action` is set to `UPDATE_SCHEDULE`. */
scheduledPublishDate?: Date | null;
/**
* List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in
* the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default
* only the draft post's base fields are returned.
*/
fieldsets?: Field[];
}
export interface UpdateDraftPostResponse {
/** Updated draft post info. */
draftPost?: DraftPost;
}
export interface DeleteDraftPostRequest {
/** Draft post ID. */
draftPostId: string;
/**
* Whether to bypass the trash bin and delete the post permanently.
*
* Default: `false`
*/
permanent?: boolean;
}
export interface DeleteDraftPostResponse {
}
export interface RemoveFromTrashBinRequest {
/** Draft post ID. */
draftPostId: string;
}
export interface RemoveFromTrashBinResponse {
}
export interface BulkDeleteDraftPostsRequest {
/** Post IDs. */
postIds: string[];
/** Should delete bypassing the trash-bin. */
permanent?: boolean;
}
export interface BulkDeleteDraftPostsResponse {
/** Bulk action results. */
results?: BulkDraftPostResult[];
/** Bulk action metadata. */
bulkActionMetadata?: BulkActionMetadata;
}
export interface ListDraftPostsRequest {
/**
* Draft post status filter.
*
* If omitted, draft posts with all statuses are returned.
* `IN_MODERATION` is deprecated, use `IN_REVIEW` instead.
*/
status?: Status;
/**
* Language filter.
*
* 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.
* If omitted, draft posts in all languages are returned.
*/
language?: string | null;
/**
* Sort options.
*
* Default: `EDITING_DATE_DESCENDING`
*/
sort?: GetDraftPostsSort;
/** Pagination options. */
paging?: BlogPaging;
/**
* List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in
* the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default
* only the draft post's base fields are returned.
*/
fieldsets?: Field[];
}
export interface ListDraftPostsResponse {
/** List of draft posts. */
draftPosts?: DraftPost[];
/** Details on the paged set of results returned. */
metaData?: MetaData;
}
export interface GetDeletedDraftPostRequest {
/** Draft post ID. */
draftPostId: string;
}
export interface GetDeletedDraftPostResponse {
/** Draft post info. */
draftPost?: DraftPost;
}
export interface RestoreFromTrashBinRequest {
/** Draft post ID. */
draftPostId: string;
}
export interface RestoreFromTrashBinResponse {
/** Restored draft post info. */
draftPost?: DraftPost;
}
export interface QueryDraftPostsRequest {
/**
* List of additional draft post fields to include in the response. For example, use the `URL` fieldset to retrieve the url field in
* the response in addition to the draft post's base fields. Base fields don’t include any of the supported fieldset values. By default
* only the draft post's base fields are returned.
*/
fieldsets?: Field[];
/** Query options. */
query?: PlatformQuery;
}
export interface Sorting {
/** Name of the field to sort by. */
fieldName?: string;
/** Sort order. */
order?: SortOrder;
}
export declare enum SortOrder {
ASC = "ASC",
DESC = "DESC"
}
export interface PlatformQuery extends PlatformQueryPagingMethodOneOf {
/** Paging options to limit and skip the number of items. */
paging?: Paging;
/** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */
cursorPaging?: CursorPaging;
/**
* Filter object in the following format:
* `"filter" : {
* "fieldName1": "value1",
* "fieldName2":{"$operator":"value2"}
* }`
* Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`
*/
filter?: Record | null;
/**
* Sort object in the following format:
* `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]`
*/
sort?: Sorting[];
}
/** @oneof */
export interface PlatformQueryPagingMethodOneOf {
/** Paging options to limit and skip the number of items. */
paging?: Paging;
/** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */
cursorPaging?: CursorPaging;
}
export interface Paging {
/** Number of items to load. */
limit?: number | null;
/** Number of items to skip in the current sort order. */
offset?: number | null;
}
export interface CursorPaging {
/** Number of items to load. */
limit?: number | null;
/**
* Pointer to the next or previous page in the list of results.
*
* You can get the relevant cursor token
* from the `pagingMetadata` object in the previous call's response.
* Not relevant for the first request.
*/
cursor?: string | null;
}
export interface QueryDraftPostsResponse {
/** List of posts. */
draftPosts?: DraftPost[];
/**
* __Deprecated.__ Use `pagingMetadata` instead.
* This property will be removed on June 30, 2023.
*
* Details on the paged set of results returned.
* @deprecated __Deprecated.__ Use `pagingMetadata` instead.
* This property will be removed on June 30, 2023.
*
* Details on the paged set of results returned.
* @replacedBy pagingMetadata
* @targetRemovalDate 2024-06-30
*/
metaData?: MetaData;
/** Details on the paged set of results returned. */
pagingMetadata?: PagingMetadataV2;
}
export interface PagingMetadataV2 {
/** Number of items returned in the response. */
count?: number | null;
/** Offset that was requested. */
offset?: number | null;
/** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */
total?: number | null;
/** Flag that indicates the server failed to calculate the `total` field. */
tooManyToCount?: boolean | null;
/** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */
cursors?: Cursors;
}
export interface Cursors {
/** Cursor pointing to next page in the list of results. */
next?: string | null;
/** Cursor pointing to previous page in the list of results. */
prev?: string | null;
}
export interface PublishDraftPostRequest {
/** Draft post ID. */
draftPostId: string;
}
export interface PublishDraftPostResponse {
/** Published post ID. */
postId?: string;
}
export interface UnpublishPostRequest {
/** Draft post ID. */
draftPostId?: string;
}
export interface UnpublishPostResponse {
}
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 GetDraftPostTotalsRequest {
/**
* Group results by fields (defaults to grouping by status).
* If, for example, grouping by language is passed, language values in response will be filled.
* If, for example, grouping by language is not passed, null values will be filled in language field in response.
*/
groupBy?: TotalDraftPostsGroupingField[];
/** Optional language filter by provided language code. Useful in multilingual context. */
language?: string | null;
}
export declare enum TotalDraftPostsGroupingField {
/** Groups results by status. */
STATUS = "STATUS",
/** Groups results by language. */
LANGUAGE = "LANGUAGE"
}
export interface GetDraftPostTotalsResponse {
/** Draft post totals. */
totalDraftPosts?: TotalDraftPosts[];
}
export interface TotalDraftPosts {
/** Draft post totals in that group. */
total?: number;
/** Draft post status (only has value when grouping by status, otherwise null). */
status?: Status;
/** Draft post language code (only has value when grouping by language, otherwise null). */
language?: string | null;
}
export interface TranslateCategoryRequest {
/** Source category ID */
categoryId?: string;
/** Translation language */
language?: string;
}
export interface TranslateCategoryResponse {
/** Translated category */
category?: Category;
/** Other translations of returned category */
translations?: CategoryTranslation[];
}
export interface Category {
/** Category ID. */
id?: string;
/** Category label. Displayed in the Category Menu. */
label?: string;
/**
* Number of posts in the category.
* @readonly
*/
postCount?: number;
/**
* The `url` of the page that lists every post with the specified category.
* @readonly
*/
url?: PageUrl;
/** Category description. */
description?: string | null;
/**
* Category title.
* @deprecated Category title.
* @targetRemovalDate 2025-07-16
*/
title?: string;
/**
* Position of the category in the [Category Menu](https://support.wix.com/en/article/wix-blog-adding-and-customizing-a-category-menu).
* Categories are displayed in ascending order. Categories with a position of `-1` appear at the end of the sequence.
*
* Default: `-1`
*/
displayPosition?: number | null;
/** ID of the category's translations. All translations of a single category share the same `translationId`. */
translationId?: string | null;
/**
* Category language.
*
* 2-or-4-letter language code in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.
*/
language?: string | null;
/** Part of a category's URL that refers to a specific category. For example, the slug of `https:/example.com/blog/category/famous-cats` is `famous-cats`. */
slug?: string;
/**
* Reserved for internal use.
* @readonly
*/
internalId?: string | null;
/** SEO data. */
seoData?: SeoSchema;
/** Category cover image. */
coverImage?: Image;
/**
* Date and time the Category was last updated.
* @readonly
*/
updatedDate?: Date | null;
}
export interface CategoryTranslation {
/** Category ID. */
id?: string;
/** Label displayed in the categories menu on the site. */
label?: string | null;
/** Language of the category. */
language?: string | null;
/** URL of this category page. */
url?: PageUrl;
}
export interface TranslateDraftRequest {
/** Source post or draft ID */
postId?: string;
/** Translation language */
language?: string;
/**
* List of draft post fields to be included if entities are present in the response.
* Base fieldset, which is default, will return all core draft post properties.
* Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.
*/
fieldsets?: Field[];
}
export interface TranslateDraftResponse {
/** Draft post. */
draftPost?: DraftPost;
}
export interface IsDraftPostAutoTranslatableRequest {
/** Source post or draft ID. */
draftPostId?: string;
}
export interface IsDraftPostAutoTranslatableResponse {
/** Source draft post ID. */
draftPostId?: string;
/** Indicates if enough machine translation credits are available for the draft post translation. */
translatable?: boolean;
/** Draft post title word count. */
titleWordCount?: number;
/** Draft post content word count. */
contentWordCount?: number;
/** Word credits available for auto translation. */
availableAutoTranslateWords?: number;
/** Word credits available after auto translation would be done. */
availableAutoTranslateWordsAfter?: number;
/** Content text character count. */
contentTextCharacterCount?: number;
}
export interface UpdateDraftPostLanguageRequest {
/** Source draft post ID */
postId?: string;
/** New language to replace to */
language?: string;
/**
* List of draft post fields to be included if entities are present in the response.
* Base fieldset, which is default, will return all core draft post properties.
* Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.
*/
fieldsets?: Field[];
}
export interface UpdateDraftPostLanguageResponse {
/** Draft post */
draftPost?: DraftPost;
}
export interface BulkUpdateDraftPostLanguageRequest {
/** Source post or draft IDs */
ids?: string[];
/** New language to replace to */
language?: string;
/** Should full draft post be returned */
returnFullEntity?: boolean;
/**
* List of draft post fields to be included if entities are present in the response.
* Base fieldset, which is default, will return all core draft post properties.
* Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.
*/
fieldsets?: Field[];
}
export interface BulkUpdateDraftPostLanguageResponse {
/** Bulk action results */
results?: BulkDraftPostResult[];
/** Bulk action metadata */
bulkActionMetadata?: BulkActionMetadata;
}
export interface GetPostAmountsByLanguageRequest {
/** Post status to filter by */
status?: string;
}
export interface GetPostAmountsByLanguageResponse {
/** Post amounts by language */
postAmountsByLanguage?: PostAmountByLanguage[];
}
export interface PostAmountByLanguage {
/** Post language code */
languageCode?: string;
/** Language flag */
flag?: string;
/** Post amount in that language */
postAmount?: number;
}
export interface BulkRevertToUnpublishedRequest {
/** Source post IDs. */
postIds?: string[];
/** Should full draft post be returned. */
returnFullEntity?: boolean;
}
export interface BulkRevertToUnpublishedResponse {
/** Bulk action results. */
results?: BulkDraftPostResult[];
/** Bulk action metadata. */
bulkActionMetadata?: BulkActionMetadata;
}
export interface BulkRejectDraftPostRequest {
/** Source post IDs. */
postIds?: string[];
/** Should full draft post be returned. */
returnFullEntity?: boolean;
}
export interface BulkRejectDraftPostResponse {
/** Bulk action results. */
results?: BulkDraftPostResult[];
/** Bulk action metadata. */
bulkActionMetadata?: BulkActionMetadata;
}
export interface RevertToUnpublishedRequest {
/** Source post ID. */
postId?: string;
/**
* List of draft post fields to be included if entities are present in the response.
* Base fieldset, which is default, will return all core draft post properties.
* Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.
*/
fieldsets?: Field[];
}
export interface RevertToUnpublishedResponse {
/** Updated post draft. */
draftPost?: DraftPost;
}
export interface RejectDraftPostRequest {
/** Source post ID. */
postId?: string;
/**
* List of draft post fields to be included if entities are present in the response.
* Base fieldset, which is default, will return all core draft post properties.
* Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.
*/
fieldsets?: Field[];
}
export interface RejectDraftPostResponse {
/** Draft post. */
draftPost?: DraftPost;
}
export interface ApproveDraftPostRequest {
/** Source post ID. */
postId?: string;
/** Scheduled publish date if should be not immediately published. */
scheduledPublishDate?: string | null;
/**
* List of draft post fields to be included if entities are present in the response.
* Base fieldset, which is default, will return all core draft post properties.
* Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.
*/
fieldsets?: Field[];
}
export interface ApproveDraftPostResponse {
/** Updated post draft. */
draftPost?: DraftPost;
}
export interface MarkPostAsInModerationRequest {
/** Source post ID. */
postId?: string;
/**
* List of draft post fields to be included if entities are present in the response.
* Base fieldset, which is default, will return all core draft post properties.
* Example: When URL fieldset is selected, returned draft post will have a set of base properties and draft post preview url.
*/
fieldsets?: Field[];
}
export interface MarkPostAsInModerationResponse {
/** Updated post draft. */
draftPost?: DraftPost;
}
interface FocalPointNonNullableFields {
x: number;
y: number;
}
interface ImageNonNullableFields {
id: string;
url: string;
height: number;
width: number;
focalPoint?: FocalPointNonNullableFields;
}
interface VideoNonNullableFields {
id: string;
url: string;
height: number;
width: number;
thumbnail?: ImageNonNullableFields;
}
interface CoverMediaNonNullableFields {
image?: ImageNonNullableFields;
video?: VideoNonNullableFields;
enabled: boolean;
displayed: boolean;
custom: boolean;
}
interface PluginContainerDataWidthNonNullableFields {
size: WidthType;
}
interface PluginContainerDataNonNullableFields {
width?: PluginContainerDataWidthNonNullableFields;
alignment: PluginContainerDataAlignment;
}
interface LinkNonNullableFields {
url: string;
anchor: string;
target: Target;
}
interface ButtonDataNonNullableFields {
containerData?: PluginContainerDataNonNullableFields;
type: ButtonDataType;
link?: LinkNonNullableFields;
}
interface TextStyleNonNullableFields {
textAlignment: TextAlignment;
}
interface CodeBlockDataNonNullableFields {
textStyle?: TextStyleNonNullableFields;
}
interface DividerDataNonNullableFields {
containerData?: PluginContainerDataNonNullableFields;
lineStyle: LineStyle;
width: Width;
alignment: Alignment;
}
interface PDFSettingsNonNullableFields {
viewMode: ViewMode;
}
interface FileDataNonNullableFields {
containerData?: PluginContainerDataNonNullableFields;
pdfSettings?: PDFSettingsNonNullableFields;
}
interface ItemImageNonNullableFields {
link?: LinkNonNullableFields;
}
interface ItemNonNullableFields {
image?: ItemImageNonNullableFields;
}
interface LayoutNonNullableFields {
type: LayoutType;
orientation: Orientation;
}
interface ItemStyleNonNullableFields {
crop: Crop;
}
interface ThumbnailsNonNullableFields {
placement: ThumbnailsAlignment;
}
interface GalleryOptionsNonNullableFields {
layout?: LayoutNonNullableFields;
item?: ItemStyleNonNullableFields;
thumbnails?: ThumbnailsNonNullableFields;
}
interface GalleryDataNonNullableFields {
containerData?: PluginContainerDataNonNullableFields;
items: ItemNonNullableFields[];
options?: GalleryOptionsNonNullableFields;
}
interface GIFDataNonNullableFields {
containerData?: PluginContainerDataNonNullableFields;
height: number;
width: number;
}
interface HeadingDataNonNullableFields {
level: number;
textStyle?: TextStyleNonNullableFields;
}
interface HTMLDataNonNullableFields {
url: string;
html: string;
containerData?: PluginContainerDataNonNullableFields;
source: Source;
}
interface ImageDataNonNullableFields {
containerData?: PluginContainerDataNonNullableFields;
link?: LinkNonNullableFields;
}
interface LinkPreviewDataNonNullableFields {
containerData?: PluginContainerDataNonNullableFields;
link?: LinkNonNullableFields;
}
interface MapSettingsNonNullableFields {
mapType: MapType;
}
interface MapDataNonNullableFields {
containerData?: PluginContainerDataNonNullableFields;
mapSettings?: MapSettingsNonNullableFields;
}
interface ParagraphDataNonNullableFields {
textStyle?: TextStyleNonNullableFields;
}
interface PermissionsNonNullableFields {
view: ViewRole;
vote: VoteRole;
}
interface PollSettingsNonNullableFields {
permissions?: PermissionsNonNullableFields;
}
interface PollNonNullableFields {
settings?: PollSettingsNonNullableFields;
}
interface PollLayoutNonNullableFields {
type: PollLayoutType;
direction: PollLayoutDirection;
}
interface PollDataLayoutNonNullableFields {
poll?: PollLayoutNonNullableFields;
}
interface BackgroundNonNullableFields {
type: BackgroundType;
}
interface PollDesignNonNullableFields {
background?: BackgroundNonNullableFields;
}
interface DesignNonNullableFields {
poll?: PollDesignNonNullableFields;
}
interface PollDataNonNullableFields {
containerData?: PluginContainerDataNonNullableFields;
poll?: PollNonNullableFields;
layout?: PollDataLayoutNonNullableFields;
design?: DesignNonNullableFields;
}
interface AnchorDataNonNullableFields {
anchor: string;
}
interface LinkDataNonNullableFields {
link?: LinkNonNullableFields;
}
interface MentionDataNonNullableFields {
name: string;
slug: string;
}
interface FontSizeDataNonNullableFields {
unit: FontType;
}
interface DecorationNonNullableFields {
anchorData?: AnchorDataNonNullableFields;
linkData?: LinkDataNonNullableFields;
mentionData?: MentionDataNonNullableFields;
fontSizeData?: FontSizeDataNonNullableFields;
type: DecorationType;
}
interface TextDataNonNullableFields {
text: string;
decorations: DecorationNonNullableFields[];
}
interface AppEmbedDataNonNullableFields {
type: AppType;
}
interface VideoDataNonNullableFields {
containerData?: PluginContainerDataNonNullableFields;
}
interface EmbedDataNonNullableFields {
containerData?: PluginContainerDataNonNullableFields;
}
interface CollapsibleListDataNonNullableFields {
containerData?: PluginContainerDataNonNullableFields;
initialExpandedItems: InitialExpandedItems;
direction: Direction;
}
interface DimensionsNonNullableFields {
colsWidthRatio: number[];
rowsHeight: number[];
colsMinWidth: number[];
}
interface TableDataNonNullableFields {
containerData?: PluginContainerDataNonNullableFields;
dimensions?: DimensionsNonNullableFields;
}
interface CellStyleNonNullableFields {
verticalAlignment: VerticalAlignment;
}
interface TableCellDataNonNullableFields {
cellStyle?: CellStyleNonNullableFields;
}
interface AudioDataNonNullableFields {
containerData?: PluginContainerDataNonNullableFields;
}
interface OrderedListDataNonNullableFields {
indentation: number;
}
interface BulletedListDataNonNullableFields {
indentation: number;
}
interface BlockquoteDataNonNullableFields {
indentation: number;
}
interface CaptionDataNonNullableFields {
textStyle?: TextStyleNonNullableFields;
}
interface NodeNonNullableFields {
buttonData?: ButtonDataNonNullableFields;
codeBlockData?: CodeBlockDataNonNullableFields;
dividerData?: DividerDataNonNullableFields;
fileData?: FileDataNonNullableFields;
galleryData?: GalleryDataNonNullableFields;
gifData?: GIFDataNonNullableFields;
headingData?: HeadingDataNonNullableFields;
htmlData?: HTMLDataNonNullableFields;
imageData?: ImageDataNonNullableFields;
linkPreviewData?: LinkPreviewDataNonNullableFields;
mapData?: MapDataNonNullableFields;
paragraphData?: ParagraphDataNonNullableFields;
pollData?: PollDataNonNullableFields;
textData?: TextDataNonNullableFields;
appEmbedData?: AppEmbedDataNonNullableFields;
videoData?: VideoDataNonNullableFields;
embedData?: EmbedDataNonNullableFields;
collapsibleListData?: CollapsibleListDataNonNullableFields;
tableData?: TableDataNonNullableFields;
tableCellData?: TableCellDataNonNullableFields;
audioData?: AudioDataNonNullableFields;
orderedListData?: OrderedListDataNonNullableFields;
bulletedListData?: BulletedListDataNonNullableFields;
blockquoteData?: BlockquoteDataNonNullableFields;
captionData?: CaptionDataNonNullableFields;
type: NodeType;
id: string;
nodes: NodeNonNullableFields[];
}
interface MetadataNonNullableFields {
version: number;
}
interface TextNodeStyleNonNullableFields {
decorations: DecorationNonNullableFields[];
}
interface DocumentStyleNonNullableFields {
headerOne?: TextNodeStyleNonNullableFields;
headerTwo?: TextNodeStyleNonNullableFields;
headerThree?: TextNodeStyleNonNullableFields;
headerFour?: TextNodeStyleNonNullableFields;
headerFive?: TextNodeStyleNonNullableFields;
headerSix?: TextNodeStyleNonNullableFields;
paragraph?: TextNodeStyleNonNullableFields;
blockquote?: TextNodeStyleNonNullableFields;
codeBlock?: TextNodeStyleNonNullableFields;
}
interface RichContentNonNullableFields {
nodes: NodeNonNullableFields[];
metadata?: MetadataNonNullableFields;
documentStyle?: DocumentStyleNonNullableFields;
}
interface ModerationDetailsNonNullableFields {
submittedBy: string;
status: ModerationStatusStatus;
}
interface TagNonNullableFields {
type: string;
children: string;
custom: boolean;
disabled: boolean;
}
interface KeywordNonNullableFields {
term: string;
isMain: boolean;
}
interface SettingsNonNullableFields {
preventAutoRedirect: boolean;
keywords: KeywordNonNullableFields[];
}
interface SeoSchemaNonNullableFields {
tags: TagNonNullableFields[];
settings?: SettingsNonNullableFields;
}
interface PageUrlNonNullableFields {
base: string;
path: string;
}
interface VideoResolutionNonNullableFields {
url: string;
height: number;
width: number;
poster?: ImageNonNullableFields;
format: string;
}
interface VideoV2NonNullableFields {
id: string;
url: string;
resolutions: VideoResolutionNonNullableFields[];
posters: ImageNonNullableFields[];
}
interface WixMediaNonNullableFields {
image?: ImageNonNullableFields;
videoV2?: VideoV2NonNullableFields;
}
interface EmbedThumbnailNonNullableFields {
url: string;
width: number;
height: number;
}
interface EmbedVideoNonNullableFields {
url: string;
width: number;
height: number;
}
interface EmbedMediaNonNullableFields {
thumbnail?: EmbedThumbnailNonNullableFields;
video?: EmbedVideoNonNullableFields;
}
interface MediaNonNullableFields {
wixMedia?: WixMediaNonNullableFields;
embedMedia?: EmbedMediaNonNullableFields;
displayed: boolean;
custom: boolean;
}
interface DraftPostTranslationNonNullableFields {
id: string;
status: Status;
seoData?: SeoSchemaNonNullableFields;
url?: PageUrlNonNullableFields;
}
interface DraftPostNonNullableFields {
id: string;
title: string;
categoryIds: string[];
coverMedia?: CoverMediaNonNullableFields;
hashtags: string[];
minutesToRead: number;
heroImage?: ImageNonNullableFields;
tagIds: string[];
relatedPostIds: string[];
pricingPlanIds: string[];
changeOrigin: Origin;
richContent?: RichContentNonNullableFields;
status: Status;
moderationDetails?: ModerationDetailsNonNullableFields;
hasUnpublishedChanges: boolean;
seoData?: SeoSchemaNonNullableFields;
slugs: string[];
url?: PageUrlNonNullableFields;
media?: MediaNonNullableFields;
translations: DraftPostTranslationNonNullableFields[];
}
export interface CreateDraftPostResponseNonNullableFields {
draftPost?: DraftPostNonNullableFields;
}
interface ApplicationErrorNonNullableFields {
code: string;
description: string;
}
interface ItemMetadataNonNullableFields {
originalIndex: number;
success: boolean;
error?: ApplicationErrorNonNullableFields;
}
interface BulkDraftPostResultNonNullableFields {
itemMetadata?: ItemMetadataNonNullableFields;
item?: DraftPostNonNullableFields;
}
interface BulkActionMetadataNonNullableFields {
totalSuccesses: number;
totalFailures: number;
undetailedFailures: number;
}
export interface BulkCreateDraftPostsResponseNonNullableFields {
results: BulkDraftPostResultNonNullableFields[];
bulkActionMetadata?: BulkActionMetadataNonNullableFields;
}
export interface BulkUpdateDraftPostsResponseNonNullableFields {
results: BulkDraftPostResultNonNullableFields[];
bulkActionMetadata?: BulkActionMetadataNonNullableFields;
}
interface MetaDataNonNullableFields {
count: number;
offset: number;
total: number;
}
export interface ListDeletedDraftPostsResponseNonNullableFields {
draftPosts: DraftPostNonNullableFields[];
metaData?: MetaDataNonNullableFields;
}
export interface GetDraftPostResponseNonNullableFields {
draftPost?: DraftPostNonNullableFields;
}
export interface UpdateDraftPostResponseNonNullableFields {
draftPost?: DraftPostNonNullableFields;
}
export interface BulkDeleteDraftPostsResponseNonNullableFields {
results: BulkDraftPostResultNonNullableFields[];
bulkActionMetadata?: BulkActionMetadataNonNullableFields;
}
export interface ListDraftPostsResponseNonNullableFields {
draftPosts: DraftPostNonNullableFields[];
metaData?: MetaDataNonNullableFields;
}
export interface GetDeletedDraftPostResponseNonNullableFields {
draftPost?: DraftPostNonNullableFields;
}
export interface RestoreFromTrashBinResponseNonNullableFields {
draftPost?: DraftPostNonNullableFields;
}
export interface QueryDraftPostsResponseNonNullableFields {
draftPosts: DraftPostNonNullableFields[];
metaData?: MetaDataNonNullableFields;
}
export interface PublishDraftPostResponseNonNullableFields {
postId: string;
}
export {};