Files
windwiderstand.de/src/lib/cms-api.generated.ts
T

10510 lines
363 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* This file was auto-generated by openapi-typescript.
* Do not make direct changes to the file.
*/
export interface paths {
"/api/collections": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List all collections */
get: operations["listCollections"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/collections/blog_post": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get schema definition for 'blog_post' */
get: operations["getBlogPostSchema"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/collections/campaign": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get schema definition for 'campaign' */
get: operations["getCampaignSchema"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/collections/campaigns": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get schema definition for 'campaigns' */
get: operations["getCampaignsSchema"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/collections/content_layout": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get schema definition for 'content_layout' */
get: operations["getContentLayoutSchema"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/collections/footer": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get schema definition for 'footer' */
get: operations["getFooterSchema"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/collections/fullwidth_banner": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get schema definition for 'fullwidth_banner' */
get: operations["getFullwidthBannerSchema"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/collections/headline": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get schema definition for 'headline' */
get: operations["getHeadlineSchema"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/collections/html": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get schema definition for 'html' */
get: operations["getHtmlSchema"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/collections/iframe": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get schema definition for 'iframe' */
get: operations["getIframeSchema"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/collections/image": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get schema definition for 'image' */
get: operations["getImageSchema"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/collections/image_gallery": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get schema definition for 'image_gallery' */
get: operations["getImageGallerySchema"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/collections/img": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get schema definition for 'img' */
get: operations["getImgSchema"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/collections/link": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get schema definition for 'link' */
get: operations["getLinkSchema"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/collections/link_list": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get schema definition for 'link_list' */
get: operations["getLinkListSchema"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/collections/list": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get schema definition for 'list' */
get: operations["getListSchema"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/collections/markdown": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get schema definition for 'markdown' */
get: operations["getMarkdownSchema"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/collections/navigation": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get schema definition for 'navigation' */
get: operations["getNavigationSchema"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/collections/page": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get schema definition for 'page' */
get: operations["getPageSchema"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/collections/page_config": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get schema definition for 'page_config' */
get: operations["getPageConfigSchema"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/collections/post": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get schema definition for 'post' */
get: operations["getPostSchema"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/collections/post_overview": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get schema definition for 'post_overview' */
get: operations["getPostOverviewSchema"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/collections/product": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get schema definition for 'product' */
get: operations["getProductSchema"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/collections/quote": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get schema definition for 'quote' */
get: operations["getQuoteSchema"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/collections/searchable_text": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get schema definition for 'searchable_text' */
get: operations["getSearchableTextSchema"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/collections/seo": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get schema definition for 'seo' */
get: operations["getSeoSchema"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/collections/tag": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get schema definition for 'tag' */
get: operations["getTagSchema"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/collections/text_fragment": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get schema definition for 'text_fragment' */
get: operations["getTextFragmentSchema"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/collections/top_banner": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get schema definition for 'top_banner' */
get: operations["getTopBannerSchema"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/collections/youtube_video": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get schema definition for 'youtube_video' */
get: operations["getYoutubeVideoSchema"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/blog_post": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List 'blog_post' entries */
get: operations["listBlogPost"];
put?: never;
/** Create a new 'blog_post' entry */
post: operations["createBlogPost"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/blog_post/{slug}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get 'blog_post' entry by slug */
get: operations["getBlogPost"];
/** Update 'blog_post' entry */
put: operations["updateBlogPost"];
post?: never;
/** Delete 'blog_post' entry */
delete: operations["deleteBlogPost"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/campaign": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List 'campaign' entries */
get: operations["listCampaign"];
put?: never;
/** Create a new 'campaign' entry */
post: operations["createCampaign"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/campaign/{slug}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get 'campaign' entry by slug */
get: operations["getCampaign"];
/** Update 'campaign' entry */
put: operations["updateCampaign"];
post?: never;
/** Delete 'campaign' entry */
delete: operations["deleteCampaign"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/campaigns": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List 'campaigns' entries */
get: operations["listCampaigns"];
put?: never;
/** Create a new 'campaigns' entry */
post: operations["createCampaigns"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/campaigns/{slug}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get 'campaigns' entry by slug */
get: operations["getCampaigns"];
/** Update 'campaigns' entry */
put: operations["updateCampaigns"];
post?: never;
/** Delete 'campaigns' entry */
delete: operations["deleteCampaigns"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/content_layout": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List 'content_layout' entries */
get: operations["listContentLayout"];
put?: never;
/** Create a new 'content_layout' entry */
post: operations["createContentLayout"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/content_layout/{slug}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get 'content_layout' entry by slug */
get: operations["getContentLayout"];
/** Update 'content_layout' entry */
put: operations["updateContentLayout"];
post?: never;
/** Delete 'content_layout' entry */
delete: operations["deleteContentLayout"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/footer": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List 'footer' entries */
get: operations["listFooter"];
put?: never;
/** Create a new 'footer' entry */
post: operations["createFooter"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/footer/{slug}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get 'footer' entry by slug */
get: operations["getFooter"];
/** Update 'footer' entry */
put: operations["updateFooter"];
post?: never;
/** Delete 'footer' entry */
delete: operations["deleteFooter"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/fullwidth_banner": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List 'fullwidth_banner' entries */
get: operations["listFullwidthBanner"];
put?: never;
/** Create a new 'fullwidth_banner' entry */
post: operations["createFullwidthBanner"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/fullwidth_banner/{slug}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get 'fullwidth_banner' entry by slug */
get: operations["getFullwidthBanner"];
/** Update 'fullwidth_banner' entry */
put: operations["updateFullwidthBanner"];
post?: never;
/** Delete 'fullwidth_banner' entry */
delete: operations["deleteFullwidthBanner"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/headline": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List 'headline' entries */
get: operations["listHeadline"];
put?: never;
/** Create a new 'headline' entry */
post: operations["createHeadline"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/headline/{slug}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get 'headline' entry by slug */
get: operations["getHeadline"];
/** Update 'headline' entry */
put: operations["updateHeadline"];
post?: never;
/** Delete 'headline' entry */
delete: operations["deleteHeadline"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/html": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List 'html' entries */
get: operations["listHtml"];
put?: never;
/** Create a new 'html' entry */
post: operations["createHtml"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/html/{slug}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get 'html' entry by slug */
get: operations["getHtml"];
/** Update 'html' entry */
put: operations["updateHtml"];
post?: never;
/** Delete 'html' entry */
delete: operations["deleteHtml"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/iframe": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List 'iframe' entries */
get: operations["listIframe"];
put?: never;
/** Create a new 'iframe' entry */
post: operations["createIframe"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/iframe/{slug}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get 'iframe' entry by slug */
get: operations["getIframe"];
/** Update 'iframe' entry */
put: operations["updateIframe"];
post?: never;
/** Delete 'iframe' entry */
delete: operations["deleteIframe"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/image": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List 'image' entries */
get: operations["listImage"];
put?: never;
/** Create a new 'image' entry */
post: operations["createImage"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/image/{slug}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get 'image' entry by slug */
get: operations["getImage"];
/** Update 'image' entry */
put: operations["updateImage"];
post?: never;
/** Delete 'image' entry */
delete: operations["deleteImage"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/image_gallery": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List 'image_gallery' entries */
get: operations["listImageGallery"];
put?: never;
/** Create a new 'image_gallery' entry */
post: operations["createImageGallery"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/image_gallery/{slug}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get 'image_gallery' entry by slug */
get: operations["getImageGallery"];
/** Update 'image_gallery' entry */
put: operations["updateImageGallery"];
post?: never;
/** Delete 'image_gallery' entry */
delete: operations["deleteImageGallery"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/img": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List 'img' entries */
get: operations["listImg"];
put?: never;
/** Create a new 'img' entry */
post: operations["createImg"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/img/{slug}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get 'img' entry by slug */
get: operations["getImg"];
/** Update 'img' entry */
put: operations["updateImg"];
post?: never;
/** Delete 'img' entry */
delete: operations["deleteImg"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/link": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List 'link' entries */
get: operations["listLink"];
put?: never;
/** Create a new 'link' entry */
post: operations["createLink"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/link/{slug}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get 'link' entry by slug */
get: operations["getLink"];
/** Update 'link' entry */
put: operations["updateLink"];
post?: never;
/** Delete 'link' entry */
delete: operations["deleteLink"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/link_list": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List 'link_list' entries */
get: operations["listLinkList"];
put?: never;
/** Create a new 'link_list' entry */
post: operations["createLinkList"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/link_list/{slug}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get 'link_list' entry by slug */
get: operations["getLinkList"];
/** Update 'link_list' entry */
put: operations["updateLinkList"];
post?: never;
/** Delete 'link_list' entry */
delete: operations["deleteLinkList"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/list": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List 'list' entries */
get: operations["listList"];
put?: never;
/** Create a new 'list' entry */
post: operations["createList"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/list/{slug}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get 'list' entry by slug */
get: operations["getList"];
/** Update 'list' entry */
put: operations["updateList"];
post?: never;
/** Delete 'list' entry */
delete: operations["deleteList"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/markdown": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List 'markdown' entries */
get: operations["listMarkdown"];
put?: never;
/** Create a new 'markdown' entry */
post: operations["createMarkdown"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/markdown/{slug}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get 'markdown' entry by slug */
get: operations["getMarkdown"];
/** Update 'markdown' entry */
put: operations["updateMarkdown"];
post?: never;
/** Delete 'markdown' entry */
delete: operations["deleteMarkdown"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/navigation": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List 'navigation' entries */
get: operations["listNavigation"];
put?: never;
/** Create a new 'navigation' entry */
post: operations["createNavigation"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/navigation/{slug}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get 'navigation' entry by slug */
get: operations["getNavigation"];
/** Update 'navigation' entry */
put: operations["updateNavigation"];
post?: never;
/** Delete 'navigation' entry */
delete: operations["deleteNavigation"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/page": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List 'page' entries */
get: operations["listPage"];
put?: never;
/** Create a new 'page' entry */
post: operations["createPage"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/page/{slug}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get 'page' entry by slug */
get: operations["getPage"];
/** Update 'page' entry */
put: operations["updatePage"];
post?: never;
/** Delete 'page' entry */
delete: operations["deletePage"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/page_config": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List 'page_config' entries */
get: operations["listPageConfig"];
put?: never;
/** Create a new 'page_config' entry */
post: operations["createPageConfig"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/page_config/{slug}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get 'page_config' entry by slug */
get: operations["getPageConfig"];
/** Update 'page_config' entry */
put: operations["updatePageConfig"];
post?: never;
/** Delete 'page_config' entry */
delete: operations["deletePageConfig"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/post": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List 'post' entries */
get: operations["listPost"];
put?: never;
/** Create a new 'post' entry */
post: operations["createPost"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/post/{slug}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get 'post' entry by slug */
get: operations["getPost"];
/** Update 'post' entry */
put: operations["updatePost"];
post?: never;
/** Delete 'post' entry */
delete: operations["deletePost"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/post_overview": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List 'post_overview' entries */
get: operations["listPostOverview"];
put?: never;
/** Create a new 'post_overview' entry */
post: operations["createPostOverview"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/post_overview/{slug}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get 'post_overview' entry by slug */
get: operations["getPostOverview"];
/** Update 'post_overview' entry */
put: operations["updatePostOverview"];
post?: never;
/** Delete 'post_overview' entry */
delete: operations["deletePostOverview"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/product": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List 'product' entries */
get: operations["listProduct"];
put?: never;
/** Create a new 'product' entry */
post: operations["createProduct"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/product/{slug}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get 'product' entry by slug */
get: operations["getProduct"];
/** Update 'product' entry */
put: operations["updateProduct"];
post?: never;
/** Delete 'product' entry */
delete: operations["deleteProduct"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/quote": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List 'quote' entries */
get: operations["listQuote"];
put?: never;
/** Create a new 'quote' entry */
post: operations["createQuote"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/quote/{slug}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get 'quote' entry by slug */
get: operations["getQuote"];
/** Update 'quote' entry */
put: operations["updateQuote"];
post?: never;
/** Delete 'quote' entry */
delete: operations["deleteQuote"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/searchable_text": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List 'searchable_text' entries */
get: operations["listSearchableText"];
put?: never;
/** Create a new 'searchable_text' entry */
post: operations["createSearchableText"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/searchable_text/{slug}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get 'searchable_text' entry by slug */
get: operations["getSearchableText"];
/** Update 'searchable_text' entry */
put: operations["updateSearchableText"];
post?: never;
/** Delete 'searchable_text' entry */
delete: operations["deleteSearchableText"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/seo": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List 'seo' entries */
get: operations["listSeo"];
put?: never;
/** Create a new 'seo' entry */
post: operations["createSeo"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/seo/{slug}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get 'seo' entry by slug */
get: operations["getSeo"];
/** Update 'seo' entry */
put: operations["updateSeo"];
post?: never;
/** Delete 'seo' entry */
delete: operations["deleteSeo"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/tag": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List 'tag' entries */
get: operations["listTag"];
put?: never;
/** Create a new 'tag' entry */
post: operations["createTag"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/tag/{slug}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get 'tag' entry by slug */
get: operations["getTag"];
/** Update 'tag' entry */
put: operations["updateTag"];
post?: never;
/** Delete 'tag' entry */
delete: operations["deleteTag"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/text_fragment": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List 'text_fragment' entries */
get: operations["listTextFragment"];
put?: never;
/** Create a new 'text_fragment' entry */
post: operations["createTextFragment"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/text_fragment/{slug}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get 'text_fragment' entry by slug */
get: operations["getTextFragment"];
/** Update 'text_fragment' entry */
put: operations["updateTextFragment"];
post?: never;
/** Delete 'text_fragment' entry */
delete: operations["deleteTextFragment"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/top_banner": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List 'top_banner' entries */
get: operations["listTopBanner"];
put?: never;
/** Create a new 'top_banner' entry */
post: operations["createTopBanner"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/top_banner/{slug}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get 'top_banner' entry by slug */
get: operations["getTopBanner"];
/** Update 'top_banner' entry */
put: operations["updateTopBanner"];
post?: never;
/** Delete 'top_banner' entry */
delete: operations["deleteTopBanner"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/youtube_video": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List 'youtube_video' entries */
get: operations["listYoutubeVideo"];
put?: never;
/** Create a new 'youtube_video' entry */
post: operations["createYoutubeVideo"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/content/youtube_video/{slug}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get 'youtube_video' entry by slug */
get: operations["getYoutubeVideo"];
/** Update 'youtube_video' entry */
put: operations["updateYoutubeVideo"];
post?: never;
/** Delete 'youtube_video' entry */
delete: operations["deleteYoutubeVideo"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/transform": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Transform image from external URL
* @description Fetches an image from the given URL and returns it resized/cropped. Supports JPEG, PNG, WebP, AVIF output.
*/
get: operations["transformImage"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
}
export type webhooks = Record<string, never>;
export interface components {
schemas: {
blog_post: {
/** @description Entry identifier (filename) */
readonly _slug?: string;
/** @description Author name */
author?: string;
/** @description Main content (Markdown) */
body: string;
/**
* Format: date-time
* @description Creation timestamp (auto-generated)
*/
readonly created_at?: string;
/** @description Short summary for previews */
excerpt?: string;
/**
* @description Whether the post is publicly visible
* @default false
*/
published: boolean;
/** @description Categorisation tags */
tags?: string[];
/** @description Title of the blog post */
title: string;
};
blog_post_input: {
/** @description URL slug (used as filename) */
_slug: string;
/** @description Author name */
author?: string;
/** @description Main content (Markdown) */
body: string;
/** @description Short summary for previews */
excerpt?: string;
/**
* @description Whether the post is publicly visible
* @default false
*/
published: boolean;
/** @description Categorisation tags */
tags?: string[];
/** @description Title of the blog post */
title: string;
};
campaign: {
/** @description Entry identifier (filename) */
readonly _slug?: string;
/** @description Campaign name */
campaignName: string;
/** @description Optional CSS */
css?: string;
/** @description HTML content */
html?: string;
/**
* @description Position relative to selector
* @default beforeend
* @enum {string}
*/
insertHtml: "afterbegin" | "beforeend" | "afterend" | "beforebegin" | "replace";
/** @description Optional JavaScript */
javascript?: string;
/** @description Media (images) */
medias?: string[];
/** @description CSS selector where content is inserted */
selector: string;
/**
* Format: date-time
* @description Time limit (until when the campaign runs)
*/
timeUntil?: string;
/** @description URL pattern (e.g. regex) for campaign usage */
urlPattern: string;
};
campaign_input: {
/** @description URL slug (used as filename) */
_slug: string;
/** @description Campaign name */
campaignName: string;
/** @description Optional CSS */
css?: string;
/** @description HTML content */
html?: string;
/**
* @description Position relative to selector
* @default beforeend
* @enum {string}
*/
insertHtml: "afterbegin" | "beforeend" | "afterend" | "beforebegin" | "replace";
/** @description Optional JavaScript */
javascript?: string;
/** @description Media (images) */
medias?: string[];
/** @description CSS selector where content is inserted */
selector: string;
/**
* Format: date-time
* @description Time limit (until when the campaign runs)
*/
timeUntil?: string;
/** @description URL pattern (e.g. regex) for campaign usage */
urlPattern: string;
};
campaigns: {
/** @description Entry identifier (filename) */
readonly _slug?: string;
/** @description Campaign list */
campaigns?: string[];
/**
* @description Campaigns enabled
* @default true
*/
enable: boolean;
/** @description Unique ID (e.g. campaigns-global) */
id: string;
};
campaigns_input: {
/** @description URL slug (used as filename) */
_slug: string;
/** @description Campaign list */
campaigns?: string[];
/**
* @description Campaigns enabled
* @default true
*/
enable: boolean;
/** @description Unique ID (e.g. campaigns-global) */
id: string;
};
content_layout: {
/** @description Entry identifier (filename) */
readonly _slug?: string;
/**
* @description Align items for row 1
* @default stretch
* @enum {string}
*/
row1AlignItems: "start" | "end" | "center" | "baseline" | "stretch";
/** @description Content components for row 1 (Markdown, Post Overview, HTML, Headline, Image, …) */
row1Content?: string[];
/**
* @description Justify content for row 1
* @default start
* @enum {string}
*/
row1JustifyContent: "start" | "end" | "center" | "between" | "around" | "evenly";
/**
* @default stretch
* @enum {string}
*/
row2AlignItems: "start" | "end" | "center" | "baseline" | "stretch";
/** @description Content components for row 2 */
row2Content?: string[];
/**
* @default start
* @enum {string}
*/
row2JustifyContent: "start" | "end" | "center" | "between" | "around" | "evenly";
/**
* @default stretch
* @enum {string}
*/
row3AlignItems: "start" | "end" | "center" | "baseline" | "stretch";
/** @description Content components for row 3 */
row3Content?: string[];
/**
* @default start
* @enum {string}
*/
row3JustifyContent: "start" | "end" | "center" | "between" | "around" | "evenly";
};
content_layout_input: {
/** @description URL slug (used as filename) */
_slug: string;
/**
* @description Align items for row 1
* @default stretch
* @enum {string}
*/
row1AlignItems: "start" | "end" | "center" | "baseline" | "stretch";
/** @description Content components for row 1 (Markdown, Post Overview, HTML, Headline, Image, …) */
row1Content?: string[];
/**
* @description Justify content for row 1
* @default start
* @enum {string}
*/
row1JustifyContent: "start" | "end" | "center" | "between" | "around" | "evenly";
/**
* @default stretch
* @enum {string}
*/
row2AlignItems: "start" | "end" | "center" | "baseline" | "stretch";
/** @description Content components for row 2 */
row2Content?: string[];
/**
* @default start
* @enum {string}
*/
row2JustifyContent: "start" | "end" | "center" | "between" | "around" | "evenly";
/**
* @default stretch
* @enum {string}
*/
row3AlignItems: "start" | "end" | "center" | "baseline" | "stretch";
/** @description Content components for row 3 */
row3Content?: string[];
/**
* @default start
* @enum {string}
*/
row3JustifyContent: "start" | "end" | "center" | "between" | "around" | "evenly";
};
footer: {
/** @description Entry identifier (filename) */
readonly _slug?: string;
/** @description Unique footer ID (e.g. for navigation) */
id: string;
/**
* @description Align items for row 1
* @default stretch
* @enum {string}
*/
row1AlignItems: "start" | "end" | "center" | "baseline" | "stretch";
/** @description Content components for row 1 (Markdown, Post Overview, HTML, Headline, Image, …) */
row1Content?: string[];
/**
* @description Justify content for row 1
* @default start
* @enum {string}
*/
row1JustifyContent: "start" | "end" | "center" | "between" | "around" | "evenly";
/**
* @default stretch
* @enum {string}
*/
row2AlignItems: "start" | "end" | "center" | "baseline" | "stretch";
/** @description Content components for row 2 */
row2Content?: string[];
/**
* @default start
* @enum {string}
*/
row2JustifyContent: "start" | "end" | "center" | "between" | "around" | "evenly";
/**
* @default stretch
* @enum {string}
*/
row3AlignItems: "start" | "end" | "center" | "baseline" | "stretch";
/** @description Content components for row 3 */
row3Content?: string[];
/**
* @default start
* @enum {string}
*/
row3JustifyContent: "start" | "end" | "center" | "between" | "around" | "evenly";
};
footer_input: {
/** @description URL slug (used as filename) */
_slug: string;
/** @description Unique footer ID (e.g. for navigation) */
id: string;
/**
* @description Align items for row 1
* @default stretch
* @enum {string}
*/
row1AlignItems: "start" | "end" | "center" | "baseline" | "stretch";
/** @description Content components for row 1 (Markdown, Post Overview, HTML, Headline, Image, …) */
row1Content?: string[];
/**
* @description Justify content for row 1
* @default start
* @enum {string}
*/
row1JustifyContent: "start" | "end" | "center" | "between" | "around" | "evenly";
/**
* @default stretch
* @enum {string}
*/
row2AlignItems: "start" | "end" | "center" | "baseline" | "stretch";
/** @description Content components for row 2 */
row2Content?: string[];
/**
* @default start
* @enum {string}
*/
row2JustifyContent: "start" | "end" | "center" | "between" | "around" | "evenly";
/**
* @default stretch
* @enum {string}
*/
row3AlignItems: "start" | "end" | "center" | "baseline" | "stretch";
/** @description Content components for row 3 */
row3Content?: string[];
/**
* @default start
* @enum {string}
*/
row3JustifyContent: "start" | "end" | "center" | "between" | "around" | "evenly";
};
fullwidth_banner: {
/** @description Entry identifier (filename) */
readonly _slug?: string;
headline: string;
/** @description Banner image */
image?: string | {
/** @description Alt text / description */
description?: string;
/** @description Image URL */
src: string;
};
/** @description Internal name */
name: string;
subheadline?: string;
/** @description Banner body text */
text?: string;
/**
* @description Color variant
* @default light
* @enum {string}
*/
variant: "dark" | "light";
};
fullwidth_banner_input: {
/** @description URL slug (used as filename) */
_slug: string;
headline: string;
/** @description Banner image */
image?: string | {
/** @description Alt text / description */
description?: string;
/** @description Image URL */
src: string;
};
/** @description Internal name */
name: string;
subheadline?: string;
/** @description Banner body text */
text?: string;
/**
* @description Color variant
* @default light
* @enum {string}
*/
variant: "dark" | "light";
};
headline: {
/** @description Entry identifier (filename) */
readonly _slug?: string;
/**
* @description Text alignment
* @default left
* @enum {string}
*/
align: "left" | "center" | "right";
/** @description Internal key */
internal: string;
/** @description Column width (grid) like CF_ComponentLayout */
layout?: {
/**
* @description Breakout layout (full width)
* @default false
*/
breakout: boolean;
/**
* @description Width on desktop (optional)
* @enum {string}
*/
desktop?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Width on mobile (112)
* @default 12
* @enum {string}
*/
mobile: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Space below (rem)
* @default 0
* @enum {number}
*/
spaceBottom: 0 | 0.5 | 1 | 1.5 | 2;
/**
* @description Width on tablet (optional)
* @enum {string}
*/
tablet?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
};
/**
* @description HTML tag for headline
* @default h2
* @enum {string}
*/
tag: "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
/** @description Headline text */
text: string;
};
headline_input: {
/** @description URL slug (used as filename) */
_slug: string;
/**
* @description Text alignment
* @default left
* @enum {string}
*/
align: "left" | "center" | "right";
/** @description Internal key */
internal: string;
/** @description Column width (grid) like CF_ComponentLayout */
layout?: {
/**
* @description Breakout layout (full width)
* @default false
*/
breakout: boolean;
/**
* @description Width on desktop (optional)
* @enum {string}
*/
desktop?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Width on mobile (112)
* @default 12
* @enum {string}
*/
mobile: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Space below (rem)
* @default 0
* @enum {number}
*/
spaceBottom: 0 | 0.5 | 1 | 1.5 | 2;
/**
* @description Width on tablet (optional)
* @enum {string}
*/
tablet?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
};
/**
* @description HTML tag for headline
* @default h2
* @enum {string}
*/
tag: "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
/** @description Headline text */
text: string;
};
html: {
/** @description Entry identifier (filename) */
readonly _slug?: string;
/** @description HTML content (safely embedded) */
html: string;
/** @description Unique component ID */
id: string;
/** @description Column width (grid) like CF_ComponentLayout */
layout?: {
/**
* @description Breakout layout (full width)
* @default false
*/
breakout: boolean;
/**
* @description Width on desktop (optional)
* @enum {string}
*/
desktop?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Width on mobile (112)
* @default 12
* @enum {string}
*/
mobile: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Space below (rem)
* @default 0
* @enum {number}
*/
spaceBottom: 0 | 0.5 | 1 | 1.5 | 2;
/**
* @description Width on tablet (optional)
* @enum {string}
*/
tablet?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
};
};
html_input: {
/** @description URL slug (used as filename) */
_slug: string;
/** @description HTML content (safely embedded) */
html: string;
/** @description Unique component ID */
id: string;
/** @description Column width (grid) like CF_ComponentLayout */
layout?: {
/**
* @description Breakout layout (full width)
* @default false
*/
breakout: boolean;
/**
* @description Width on desktop (optional)
* @enum {string}
*/
desktop?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Width on mobile (112)
* @default 12
* @enum {string}
*/
mobile: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Space below (rem)
* @default 0
* @enum {number}
*/
spaceBottom: 0 | 0.5 | 1 | 1.5 | 2;
/**
* @description Width on tablet (optional)
* @enum {string}
*/
tablet?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
};
};
iframe: {
/** @description Entry identifier (filename) */
readonly _slug?: string;
/** @description Description/content for iframe */
content: string;
/** @description Iframe URL or embed code */
iframe: string;
/** @description Column width (grid) like CF_ComponentLayout */
layout?: {
/**
* @description Breakout layout (full width)
* @default false
*/
breakout: boolean;
/**
* @description Width on desktop (optional)
* @enum {string}
*/
desktop?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Width on mobile (112)
* @default 12
* @enum {string}
*/
mobile: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Space below (rem)
* @default 0
* @enum {number}
*/
spaceBottom: 0 | 0.5 | 1 | 1.5 | 2;
/**
* @description Width on tablet (optional)
* @enum {string}
*/
tablet?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
};
/** @description Internal component name */
name: string;
/** @description Optional overlay image (reference to img) */
overlayImage?: string;
};
iframe_input: {
/** @description URL slug (used as filename) */
_slug: string;
/** @description Description/content for iframe */
content: string;
/** @description Iframe URL or embed code */
iframe: string;
/** @description Column width (grid) like CF_ComponentLayout */
layout?: {
/**
* @description Breakout layout (full width)
* @default false
*/
breakout: boolean;
/**
* @description Width on desktop (optional)
* @enum {string}
*/
desktop?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Width on mobile (112)
* @default 12
* @enum {string}
*/
mobile: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Space below (rem)
* @default 0
* @enum {number}
*/
spaceBottom: 0 | 0.5 | 1 | 1.5 | 2;
/**
* @description Width on tablet (optional)
* @enum {string}
*/
tablet?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
};
/** @description Internal component name */
name: string;
/** @description Optional overlay image (reference to img) */
overlayImage?: string;
};
image: {
/** @description Entry identifier (filename) */
readonly _slug?: string;
/** @description Aspect ratio (e.g. 16/9) */
aspectRatio?: number;
/** @description Image caption */
caption?: string;
/** @description Image: Slug (Referenz) oder Inline-Objekt (gleiche Felder wie img) */
img: string | {
/** @description Alt text / description */
description?: string;
/** @description Image URL */
src: string;
};
/** @description Column width (grid) */
layout?: {
/**
* @description Breakout layout (full width)
* @default false
*/
breakout: boolean;
/**
* @description Width on desktop (optional)
* @enum {string}
*/
desktop?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Width on mobile (112)
* @default 12
* @enum {string}
*/
mobile: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Space below (rem)
* @default 0
* @enum {number}
*/
spaceBottom: 0 | 0.5 | 1 | 1.5 | 2;
/**
* @description Width on tablet (optional)
* @enum {string}
*/
tablet?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
};
/** @description Max width in px */
maxWidth?: number;
/** @description Internal component name */
name: string;
};
image_gallery: {
/** @description Entry identifier (filename) */
readonly _slug?: string;
/** @description Optional gallery description */
description?: string;
/** @description Images (references to img) */
images: (string | {
/** @description Alt text / description */
description?: string;
/** @description Image URL */
src: string;
})[];
/** @description Column width (grid) like CF_ComponentLayout */
layout?: {
/**
* @description Breakout layout (full width)
* @default false
*/
breakout: boolean;
/**
* @description Width on desktop (optional)
* @enum {string}
*/
desktop?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Width on mobile (112)
* @default 12
* @enum {string}
*/
mobile: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Space below (rem)
* @default 0
* @enum {number}
*/
spaceBottom: 0 | 0.5 | 1 | 1.5 | 2;
/**
* @description Width on tablet (optional)
* @enum {string}
*/
tablet?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
};
/** @description Internal gallery name */
name: string;
};
image_gallery_input: {
/** @description URL slug (used as filename) */
_slug: string;
/** @description Optional gallery description */
description?: string;
/** @description Images (references to img) */
images: (string | {
/** @description Alt text / description */
description?: string;
/** @description Image URL */
src: string;
})[];
/** @description Column width (grid) like CF_ComponentLayout */
layout?: {
/**
* @description Breakout layout (full width)
* @default false
*/
breakout: boolean;
/**
* @description Width on desktop (optional)
* @enum {string}
*/
desktop?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Width on mobile (112)
* @default 12
* @enum {string}
*/
mobile: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Space below (rem)
* @default 0
* @enum {number}
*/
spaceBottom: 0 | 0.5 | 1 | 1.5 | 2;
/**
* @description Width on tablet (optional)
* @enum {string}
*/
tablet?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
};
/** @description Internal gallery name */
name: string;
};
image_input: {
/** @description URL slug (used as filename) */
_slug: string;
/** @description Aspect ratio (e.g. 16/9) */
aspectRatio?: number;
/** @description Image caption */
caption?: string;
/** @description Image: Slug (Referenz) oder Inline-Objekt (gleiche Felder wie img) */
img: string | {
/** @description Alt text / description */
description?: string;
/** @description Image URL */
src: string;
};
/** @description Column width (grid) */
layout?: {
/**
* @description Breakout layout (full width)
* @default false
*/
breakout: boolean;
/**
* @description Width on desktop (optional)
* @enum {string}
*/
desktop?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Width on mobile (112)
* @default 12
* @enum {string}
*/
mobile: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Space below (rem)
* @default 0
* @enum {number}
*/
spaceBottom: 0 | 0.5 | 1 | 1.5 | 2;
/**
* @description Width on tablet (optional)
* @enum {string}
*/
tablet?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
};
/** @description Max width in px */
maxWidth?: number;
/** @description Internal component name */
name: string;
};
img: {
/** @description Entry identifier (filename) */
readonly _slug?: string;
/** @description Alt text / description */
description?: string;
/** @description Image URL */
src: string;
};
img_input: {
/** @description URL slug (used as filename) */
_slug: string;
/** @description Alt text / description */
description?: string;
/** @description Image URL */
src: string;
};
link: {
/** @description Entry identifier (filename) */
readonly _slug?: string;
/** @description Alt text (e.g. for icon) */
alt?: string;
/** @description Author (e.g. for sources) */
author: string;
/** @description Color (e.g. for buttons) */
color?: string;
/** @description Date (e.g. publication) */
date: string;
/** @description Description */
description?: string;
/**
* @description External link
* @default false
*/
external: boolean;
/** @description Icon identifier */
icon?: string;
/** @description Internal key */
internal: string;
/** @description Display name (e.g. in navigation) */
linkName: string;
/** @description Internal link name */
name: string;
/**
* @description Open in new tab
* @default false
*/
newTab: boolean;
/**
* @description Show text
* @default true
*/
showText: boolean;
/** @description Source */
source: string;
/** @description Target URL */
url: string;
};
link_input: {
/** @description URL slug (used as filename) */
_slug: string;
/** @description Alt text (e.g. for icon) */
alt?: string;
/** @description Author (e.g. for sources) */
author: string;
/** @description Color (e.g. for buttons) */
color?: string;
/** @description Date (e.g. publication) */
date: string;
/** @description Description */
description?: string;
/**
* @description External link
* @default false
*/
external: boolean;
/** @description Icon identifier */
icon?: string;
/** @description Internal key */
internal: string;
/** @description Display name (e.g. in navigation) */
linkName: string;
/** @description Internal link name */
name: string;
/**
* @description Open in new tab
* @default false
*/
newTab: boolean;
/**
* @description Show text
* @default true
*/
showText: boolean;
/** @description Source */
source: string;
/** @description Target URL */
url: string;
};
link_list: {
/** @description Entry identifier (filename) */
readonly _slug?: string;
/** @description Link list headline */
headline: string;
/** @description Links (references to link) */
links: string[];
};
link_list_input: {
/** @description URL slug (used as filename) */
_slug: string;
/** @description Link list headline */
headline: string;
/** @description Links (references to link) */
links: string[];
};
list: {
/** @description Entry identifier (filename) */
readonly _slug?: string;
/** @description Internal key */
internal: string;
/** @description List entries */
item: string[];
};
list_input: {
/** @description URL slug (used as filename) */
_slug: string;
/** @description Internal key */
internal: string;
/** @description List entries */
item: string[];
};
markdown: {
/** @description Entry identifier (filename) */
readonly _slug?: string;
/**
* @description Text alignment
* @default left
* @enum {string}
*/
alignment: "left" | "center" | "right";
/** @description Markdown/body text: either inline or file reference (file:path, e.g. file:slug.content.md) */
content?: string;
/** @description Column width (grid) like CF_ComponentLayout */
layout?: {
/**
* @description Breakout layout (full width)
* @default false
*/
breakout: boolean;
/**
* @description Width on desktop (optional)
* @enum {string}
*/
desktop?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Width on mobile (112)
* @default 12
* @enum {string}
*/
mobile: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Space below (rem)
* @default 0
* @enum {number}
*/
spaceBottom: 0 | 0.5 | 1 | 1.5 | 2;
/**
* @description Width on tablet (optional)
* @enum {string}
*/
tablet?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
};
/** @description Internal component name */
name: string;
};
markdown_input: {
/** @description URL slug (used as filename) */
_slug: string;
/**
* @description Text alignment
* @default left
* @enum {string}
*/
alignment: "left" | "center" | "right";
/** @description Markdown/body text: either inline or file reference (file:path, e.g. file:slug.content.md) */
content?: string;
/** @description Column width (grid) like CF_ComponentLayout */
layout?: {
/**
* @description Breakout layout (full width)
* @default false
*/
breakout: boolean;
/**
* @description Width on desktop (optional)
* @enum {string}
*/
desktop?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Width on mobile (112)
* @default 12
* @enum {string}
*/
mobile: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Space below (rem)
* @default 0
* @enum {number}
*/
spaceBottom: 0 | 0.5 | 1 | 1.5 | 2;
/**
* @description Width on tablet (optional)
* @enum {string}
*/
tablet?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
};
/** @description Internal component name */
name: string;
};
navigation: {
/** @description Entry identifier (filename) */
readonly _slug?: string;
/** @description Internal key (e.g. navigation-header, navigation-footer) */
internal: string;
/** @description Navigation entries (references to link, page or post) */
links: string[];
/** @description Display name of navigation */
name: string;
};
navigation_input: {
/** @description URL slug (used as filename) */
_slug: string;
/** @description Internal key (e.g. navigation-header, navigation-footer) */
internal: string;
/** @description Navigation entries (references to link, page or post) */
links: string[];
/** @description Display name of navigation */
name: string;
};
page: {
/** @description Entry identifier (filename) */
readonly _slug?: string;
headline: string;
/** @description Icon identifier (optional) */
icon?: string;
/** @description Display name in navigation */
linkName: string;
/** @description Internal page name */
name: string;
/**
* @description Align items for row 1
* @default stretch
* @enum {string}
*/
row1AlignItems: "start" | "end" | "center" | "baseline" | "stretch";
/** @description Content components for row 1 (Markdown, Post Overview, HTML, Headline, Image, …) */
row1Content?: string[];
/**
* @description Justify content for row 1
* @default start
* @enum {string}
*/
row1JustifyContent: "start" | "end" | "center" | "between" | "around" | "evenly";
/**
* @default stretch
* @enum {string}
*/
row2AlignItems: "start" | "end" | "center" | "baseline" | "stretch";
/** @description Content components for row 2 */
row2Content?: string[];
/**
* @default start
* @enum {string}
*/
row2JustifyContent: "start" | "end" | "center" | "between" | "around" | "evenly";
/**
* @default stretch
* @enum {string}
*/
row3AlignItems: "start" | "end" | "center" | "baseline" | "stretch";
/** @description Content components for row 3 */
row3Content?: string[];
/**
* @default start
* @enum {string}
*/
row3JustifyContent: "start" | "end" | "center" | "between" | "around" | "evenly";
/** @description Meta description for search engines */
seoDescription?: string;
/**
* @description Robots meta directive
* @default index, follow
* @enum {string}
*/
seoMetaRobots: "index, follow" | "noindex, follow" | "index, nofollow" | "noindex, nofollow";
/** @description SEO page title */
seoTitle: string;
/** @description URL slug */
slug: string;
subheadline?: string;
/** @description Hero banner at the top */
topFullwidthBanner?: string;
};
page_config: {
/** @description Entry identifier (filename) */
readonly _slug?: string;
/** @description Headline for blog overview page */
blogPostsPageHeadline?: string;
/** @description Subheadline for blog overview page */
blogPostsPageSubHeadline?: string;
/** @description Headline for tag page (blog) */
blogTagPageHeadline?: string;
/** @description Footer text (e.g. copyright) */
footerText1: string;
/** @description Logo image (reference to img) */
logo: string | {
/** @description Alt text / description */
description?: string;
/** @description Image URL */
src: string;
};
/** @description Default meta description */
seoDescription: string;
/** @description Default SEO title for website */
seoTitle: string;
/** @description Website-URL */
website: string;
};
page_config_input: {
/** @description URL slug (used as filename) */
_slug: string;
/** @description Headline for blog overview page */
blogPostsPageHeadline?: string;
/** @description Subheadline for blog overview page */
blogPostsPageSubHeadline?: string;
/** @description Headline for tag page (blog) */
blogTagPageHeadline?: string;
/** @description Footer text (e.g. copyright) */
footerText1: string;
/** @description Logo image (reference to img) */
logo: string | {
/** @description Alt text / description */
description?: string;
/** @description Image URL */
src: string;
};
/** @description Default meta description */
seoDescription: string;
/** @description Default SEO title for website */
seoTitle: string;
/** @description Website-URL */
website: string;
};
page_input: {
/** @description URL slug (used as filename) */
_slug: string;
headline: string;
/** @description Icon identifier (optional) */
icon?: string;
/** @description Display name in navigation */
linkName: string;
/** @description Internal page name */
name: string;
/**
* @description Align items for row 1
* @default stretch
* @enum {string}
*/
row1AlignItems: "start" | "end" | "center" | "baseline" | "stretch";
/** @description Content components for row 1 (Markdown, Post Overview, HTML, Headline, Image, …) */
row1Content?: string[];
/**
* @description Justify content for row 1
* @default start
* @enum {string}
*/
row1JustifyContent: "start" | "end" | "center" | "between" | "around" | "evenly";
/**
* @default stretch
* @enum {string}
*/
row2AlignItems: "start" | "end" | "center" | "baseline" | "stretch";
/** @description Content components for row 2 */
row2Content?: string[];
/**
* @default start
* @enum {string}
*/
row2JustifyContent: "start" | "end" | "center" | "between" | "around" | "evenly";
/**
* @default stretch
* @enum {string}
*/
row3AlignItems: "start" | "end" | "center" | "baseline" | "stretch";
/** @description Content components for row 3 */
row3Content?: string[];
/**
* @default start
* @enum {string}
*/
row3JustifyContent: "start" | "end" | "center" | "between" | "around" | "evenly";
/** @description Meta description for search engines */
seoDescription?: string;
/**
* @description Robots meta directive
* @default index, follow
* @enum {string}
*/
seoMetaRobots: "index, follow" | "noindex, follow" | "index, nofollow" | "noindex, nofollow";
/** @description SEO page title */
seoTitle: string;
/** @description URL slug */
slug: string;
subheadline?: string;
/** @description Hero banner at the top */
topFullwidthBanner?: string;
};
post: {
/** @description Entry identifier (filename) */
readonly _slug?: string;
/** @description Post body (Markdown) */
content: string;
/** Format: date-time */
readonly created?: string;
/**
* Format: date-time
* @description Optional display date
*/
date?: string;
/** @description Short summary for previews */
excerpt?: string;
headline: string;
icon?: string;
/**
* @description Mark post as important
* @default false
*/
important: boolean;
linkName: string;
/** @description Featured image */
postImage?: string | {
/** @description Alt text / description */
description?: string;
/** @description Image URL */
src: string;
};
/** @description Associated tags */
postTag?: string[];
/**
* @description Align items for row 1
* @default stretch
* @enum {string}
*/
row1AlignItems: "start" | "end" | "center" | "baseline" | "stretch";
/** @description Content components for row 1 (Markdown, Post Overview, HTML, Headline, Image, …) */
row1Content?: string[];
/**
* @description Justify content for row 1
* @default start
* @enum {string}
*/
row1JustifyContent: "start" | "end" | "center" | "between" | "around" | "evenly";
/**
* @default stretch
* @enum {string}
*/
row2AlignItems: "start" | "end" | "center" | "baseline" | "stretch";
/** @description Content components for row 2 */
row2Content?: string[];
/**
* @default start
* @enum {string}
*/
row2JustifyContent: "start" | "end" | "center" | "between" | "around" | "evenly";
/**
* @default stretch
* @enum {string}
*/
row3AlignItems: "start" | "end" | "center" | "baseline" | "stretch";
/** @description Content components for row 3 */
row3Content?: string[];
/**
* @default start
* @enum {string}
*/
row3JustifyContent: "start" | "end" | "center" | "between" | "around" | "evenly";
/** @description Meta description for search engines */
seoDescription?: string;
/**
* @description Robots meta directive
* @default index, follow
* @enum {string}
*/
seoMetaRobots: "index, follow" | "noindex, follow" | "index, nofollow" | "noindex, nofollow";
/** @description SEO page title */
seoTitle: string;
/**
* @description Show comment section (default: true)
* @default true
*/
showCommentSection: boolean;
slug: string;
subheadline?: string;
};
post_input: {
/** @description URL slug (used as filename) */
_slug: string;
/** @description Post body (Markdown) */
content: string;
/**
* Format: date-time
* @description Optional display date
*/
date?: string;
/** @description Short summary for previews */
excerpt?: string;
headline: string;
icon?: string;
/**
* @description Mark post as important
* @default false
*/
important: boolean;
linkName: string;
/** @description Featured image */
postImage?: string | {
/** @description Alt text / description */
description?: string;
/** @description Image URL */
src: string;
};
/** @description Associated tags */
postTag?: string[];
/**
* @description Align items for row 1
* @default stretch
* @enum {string}
*/
row1AlignItems: "start" | "end" | "center" | "baseline" | "stretch";
/** @description Content components for row 1 (Markdown, Post Overview, HTML, Headline, Image, …) */
row1Content?: string[];
/**
* @description Justify content for row 1
* @default start
* @enum {string}
*/
row1JustifyContent: "start" | "end" | "center" | "between" | "around" | "evenly";
/**
* @default stretch
* @enum {string}
*/
row2AlignItems: "start" | "end" | "center" | "baseline" | "stretch";
/** @description Content components for row 2 */
row2Content?: string[];
/**
* @default start
* @enum {string}
*/
row2JustifyContent: "start" | "end" | "center" | "between" | "around" | "evenly";
/**
* @default stretch
* @enum {string}
*/
row3AlignItems: "start" | "end" | "center" | "baseline" | "stretch";
/** @description Content components for row 3 */
row3Content?: string[];
/**
* @default start
* @enum {string}
*/
row3JustifyContent: "start" | "end" | "center" | "between" | "around" | "evenly";
/** @description Meta description for search engines */
seoDescription?: string;
/**
* @description Robots meta directive
* @default index, follow
* @enum {string}
*/
seoMetaRobots: "index, follow" | "noindex, follow" | "index, nofollow" | "noindex, nofollow";
/** @description SEO page title */
seoTitle: string;
/**
* @description Show comment section (default: true)
* @default true
*/
showCommentSection: boolean;
slug: string;
subheadline?: string;
};
post_overview: {
/** @description Entry identifier (filename) */
readonly _slug?: string;
/**
* @description Show all posts (otherwise filter)
* @default false
*/
allPosts: boolean;
/**
* @description Display as cards or list
* @enum {string}
*/
design?: "cards" | "list";
/** @description Only posts with these tags */
filterByTag?: string[];
/** @description Headline */
headline: string;
/** @description Unique post overview ID */
id: string;
/** @description Column width (grid) */
layout?: {
/**
* @description Breakout layout (full width)
* @default false
*/
breakout: boolean;
/**
* @description Width on desktop (optional)
* @enum {string}
*/
desktop?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Width on mobile (112)
* @default 12
* @enum {string}
*/
mobile: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Space below (rem)
* @default 0
* @enum {number}
*/
spaceBottom: 0 | 0.5 | 1 | 1.5 | 2;
/**
* @description Width on tablet (optional)
* @enum {string}
*/
tablet?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
};
/** @description Max. number of displayed entries */
numberItems?: number;
/** @description Fixed list of posts (when not allPosts) */
posts?: string[];
/**
* @description Align items for row 1
* @default stretch
* @enum {string}
*/
row1AlignItems: "start" | "end" | "center" | "baseline" | "stretch";
/** @description Content components for row 1 (Markdown, Post Overview, HTML, Headline, Image, …) */
row1Content?: string[];
/**
* @description Justify content for row 1
* @default start
* @enum {string}
*/
row1JustifyContent: "start" | "end" | "center" | "between" | "around" | "evenly";
/**
* @default stretch
* @enum {string}
*/
row2AlignItems: "start" | "end" | "center" | "baseline" | "stretch";
/** @description Content components for row 2 */
row2Content?: string[];
/**
* @default start
* @enum {string}
*/
row2JustifyContent: "start" | "end" | "center" | "between" | "around" | "evenly";
/**
* @default stretch
* @enum {string}
*/
row3AlignItems: "start" | "end" | "center" | "baseline" | "stretch";
/** @description Content components for row 3 */
row3Content?: string[];
/**
* @default start
* @enum {string}
*/
row3JustifyContent: "start" | "end" | "center" | "between" | "around" | "evenly";
/** @description Meta description for search engines */
seoDescription?: string;
/**
* @description Robots meta directive
* @default index, follow
* @enum {string}
*/
seoMetaRobots: "index, follow" | "noindex, follow" | "index, nofollow" | "noindex, nofollow";
/** @description SEO page title */
seoTitle: string;
/** @description Intro text */
text?: string;
};
post_overview_input: {
/** @description URL slug (used as filename) */
_slug: string;
/**
* @description Show all posts (otherwise filter)
* @default false
*/
allPosts: boolean;
/**
* @description Display as cards or list
* @enum {string}
*/
design?: "cards" | "list";
/** @description Only posts with these tags */
filterByTag?: string[];
/** @description Headline */
headline: string;
/** @description Unique post overview ID */
id: string;
/** @description Column width (grid) */
layout?: {
/**
* @description Breakout layout (full width)
* @default false
*/
breakout: boolean;
/**
* @description Width on desktop (optional)
* @enum {string}
*/
desktop?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Width on mobile (112)
* @default 12
* @enum {string}
*/
mobile: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Space below (rem)
* @default 0
* @enum {number}
*/
spaceBottom: 0 | 0.5 | 1 | 1.5 | 2;
/**
* @description Width on tablet (optional)
* @enum {string}
*/
tablet?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
};
/** @description Max. number of displayed entries */
numberItems?: number;
/** @description Fixed list of posts (when not allPosts) */
posts?: string[];
/**
* @description Align items for row 1
* @default stretch
* @enum {string}
*/
row1AlignItems: "start" | "end" | "center" | "baseline" | "stretch";
/** @description Content components for row 1 (Markdown, Post Overview, HTML, Headline, Image, …) */
row1Content?: string[];
/**
* @description Justify content for row 1
* @default start
* @enum {string}
*/
row1JustifyContent: "start" | "end" | "center" | "between" | "around" | "evenly";
/**
* @default stretch
* @enum {string}
*/
row2AlignItems: "start" | "end" | "center" | "baseline" | "stretch";
/** @description Content components for row 2 */
row2Content?: string[];
/**
* @default start
* @enum {string}
*/
row2JustifyContent: "start" | "end" | "center" | "between" | "around" | "evenly";
/**
* @default stretch
* @enum {string}
*/
row3AlignItems: "start" | "end" | "center" | "baseline" | "stretch";
/** @description Content components for row 3 */
row3Content?: string[];
/**
* @default start
* @enum {string}
*/
row3JustifyContent: "start" | "end" | "center" | "between" | "around" | "evenly";
/** @description Meta description for search engines */
seoDescription?: string;
/**
* @description Robots meta directive
* @default index, follow
* @enum {string}
*/
seoMetaRobots: "index, follow" | "noindex, follow" | "index, nofollow" | "noindex, nofollow";
/** @description SEO page title */
seoTitle: string;
/** @description Intro text */
text?: string;
};
product: {
/** @description Entry identifier (filename) */
readonly _slug?: string;
/**
* @description Product category
* @enum {string}
*/
category: "electronics" | "clothing" | "books" | "food" | "other";
/** Format: date-time */
readonly created_at?: string;
/** @description Detailed product description */
description?: string;
/** @description Product image URLs (110) */
images?: (string | {
/** @description Alt text / description */
description?: string;
/** @description Image URL */
src: string;
})[];
/**
* @description Whether the product is in stock
* @default true
*/
in_stock: boolean;
/** @description Price in EUR */
price: number;
/** @description Average customer rating (null if unrated) */
rating?: number | null;
/** @description Stock Keeping Unit (e.g. EL-1234, BOOK-00042) */
sku: string;
/** @description Product name */
title: string;
};
product_input: {
/** @description URL slug (used as filename) */
_slug: string;
/**
* @description Product category
* @enum {string}
*/
category: "electronics" | "clothing" | "books" | "food" | "other";
/** @description Detailed product description */
description?: string;
/** @description Product image URLs (110) */
images?: (string | {
/** @description Alt text / description */
description?: string;
/** @description Image URL */
src: string;
})[];
/**
* @description Whether the product is in stock
* @default true
*/
in_stock: boolean;
/** @description Price in EUR */
price: number;
/** @description Average customer rating (null if unrated) */
rating?: number | null;
/** @description Stock Keeping Unit (e.g. EL-1234, BOOK-00042) */
sku: string;
/** @description Product name */
title: string;
};
quote: {
/** @description Entry identifier (filename) */
readonly _slug?: string;
/** @description Author or source of quote */
author: string;
/** @description Column width (grid) like CF_ComponentLayout */
layout?: {
/**
* @description Breakout layout (full width)
* @default false
*/
breakout: boolean;
/**
* @description Width on desktop (optional)
* @enum {string}
*/
desktop?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Width on mobile (112)
* @default 12
* @enum {string}
*/
mobile: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Space below (rem)
* @default 0
* @enum {number}
*/
spaceBottom: 0 | 0.5 | 1 | 1.5 | 2;
/**
* @description Width on tablet (optional)
* @enum {string}
*/
tablet?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
};
/** @description Quote text */
quote: string;
/**
* @description Quote alignment
* @default left
* @enum {string}
*/
variant: "left" | "right";
};
quote_input: {
/** @description URL slug (used as filename) */
_slug: string;
/** @description Author or source of quote */
author: string;
/** @description Column width (grid) like CF_ComponentLayout */
layout?: {
/**
* @description Breakout layout (full width)
* @default false
*/
breakout: boolean;
/**
* @description Width on desktop (optional)
* @enum {string}
*/
desktop?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Width on mobile (112)
* @default 12
* @enum {string}
*/
mobile: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Space below (rem)
* @default 0
* @enum {number}
*/
spaceBottom: 0 | 0.5 | 1 | 1.5 | 2;
/**
* @description Width on tablet (optional)
* @enum {string}
*/
tablet?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
};
/** @description Quote text */
quote: string;
/**
* @description Quote alignment
* @default left
* @enum {string}
*/
variant: "left" | "right";
};
searchable_text: {
/** @description Entry identifier (filename) */
readonly _slug?: string;
/** @description Description */
description?: string;
/** @description Unique component ID */
id: string;
/** @description Column width (grid) like CF_ComponentLayout */
layout?: {
/**
* @description Breakout layout (full width)
* @default false
*/
breakout: boolean;
/**
* @description Width on desktop (optional)
* @enum {string}
*/
desktop?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Width on mobile (112)
* @default 12
* @enum {string}
*/
mobile: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Space below (rem)
* @default 0
* @enum {number}
*/
spaceBottom: 0 | 0.5 | 1 | 1.5 | 2;
/**
* @description Width on tablet (optional)
* @enum {string}
*/
tablet?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
};
/** @description Optional: only search content with these tags */
tagWhitelist?: string[];
/** @description Searchable text fragments (references to text_fragment) */
textFragments: string[];
/** @description Search component title */
title?: string;
};
searchable_text_input: {
/** @description URL slug (used as filename) */
_slug: string;
/** @description Description */
description?: string;
/** @description Unique component ID */
id: string;
/** @description Column width (grid) like CF_ComponentLayout */
layout?: {
/**
* @description Breakout layout (full width)
* @default false
*/
breakout: boolean;
/**
* @description Width on desktop (optional)
* @enum {string}
*/
desktop?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Width on mobile (112)
* @default 12
* @enum {string}
*/
mobile: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Space below (rem)
* @default 0
* @enum {number}
*/
spaceBottom: 0 | 0.5 | 1 | 1.5 | 2;
/**
* @description Width on tablet (optional)
* @enum {string}
*/
tablet?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
};
/** @description Optional: only search content with these tags */
tagWhitelist?: string[];
/** @description Searchable text fragments (references to text_fragment) */
textFragments: string[];
/** @description Search component title */
title?: string;
};
seo: {
/** @description Entry identifier (filename) */
readonly _slug?: string;
/** @description Meta description for search engines */
seoDescription?: string;
/**
* @description Robots meta directive
* @default index, follow
* @enum {string}
*/
seoMetaRobots: "index, follow" | "noindex, follow" | "index, nofollow" | "noindex, nofollow";
/** @description SEO page title */
seoTitle: string;
};
seo_input: {
/** @description URL slug (used as filename) */
_slug: string;
/** @description Meta description for search engines */
seoDescription?: string;
/**
* @description Robots meta directive
* @default index, follow
* @enum {string}
*/
seoMetaRobots: "index, follow" | "noindex, follow" | "index, nofollow" | "noindex, nofollow";
/** @description SEO page title */
seoTitle: string;
};
tag: {
/** @description Entry identifier (filename) */
readonly _slug?: string;
name: string;
};
tag_input: {
/** @description URL slug (used as filename) */
_slug: string;
name: string;
};
text_fragment: {
/** @description Entry identifier (filename) */
readonly _slug?: string;
/** @description Unique fragment ID */
id: string;
/** @description Optional tags for categorisation */
tags?: string[];
/** @description Searchable text content */
text: string;
/** @description Text fragment title */
title: string;
};
text_fragment_input: {
/** @description URL slug (used as filename) */
_slug: string;
/** @description Unique fragment ID */
id: string;
/** @description Optional tags for categorisation */
tags?: string[];
/** @description Searchable text content */
text: string;
/** @description Text fragment title */
title: string;
};
top_banner: {
/** @description Entry identifier (filename) */
readonly _slug?: string;
/** @description Unique ID */
id: string;
/** @description Banner text (e.g. notice at top of page) */
text: string;
};
top_banner_input: {
/** @description URL slug (used as filename) */
_slug: string;
/** @description Unique ID */
id: string;
/** @description Banner text (e.g. notice at top of page) */
text: string;
};
youtube_video: {
/** @description Entry identifier (filename) */
readonly _slug?: string;
/** @description Short description */
description?: string;
/** @description Unique ID (optional, otherwise _slug) */
id?: string;
/** @description Column width (grid) like CF_ComponentLayout */
layout?: {
/**
* @description Breakout layout (full width)
* @default false
*/
breakout: boolean;
/**
* @description Width on desktop (optional)
* @enum {string}
*/
desktop?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Width on mobile (112)
* @default 12
* @enum {string}
*/
mobile: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Space below (rem)
* @default 0
* @enum {number}
*/
spaceBottom: 0 | 0.5 | 1 | 1.5 | 2;
/**
* @description Width on tablet (optional)
* @enum {string}
*/
tablet?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
};
/** @description Optional URL params (e.g. start=30, autoplay=1) */
params?: string;
/** @description Video title */
title?: string;
/** @description YouTube video ID (e.g. from URL ?v=VIDEO_ID) */
youtubeId: string;
};
youtube_video_input: {
/** @description URL slug (used as filename) */
_slug: string;
/** @description Short description */
description?: string;
/** @description Unique ID (optional, otherwise _slug) */
id?: string;
/** @description Column width (grid) like CF_ComponentLayout */
layout?: {
/**
* @description Breakout layout (full width)
* @default false
*/
breakout: boolean;
/**
* @description Width on desktop (optional)
* @enum {string}
*/
desktop?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Width on mobile (112)
* @default 12
* @enum {string}
*/
mobile: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
/**
* @description Space below (rem)
* @default 0
* @enum {number}
*/
spaceBottom: 0 | 0.5 | 1 | 1.5 | 2;
/**
* @description Width on tablet (optional)
* @enum {string}
*/
tablet?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12";
};
/** @description Optional URL params (e.g. start=30, autoplay=1) */
params?: string;
/** @description Video title */
title?: string;
/** @description YouTube video ID (e.g. from URL ?v=VIDEO_ID) */
youtubeId: string;
};
};
responses: never;
parameters: never;
requestBodies: never;
headers: never;
pathItems: never;
}
export type $defs = Record<string, never>;
export interface operations {
listCollections: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description List of registered content type collections */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
collections?: {
extends?: string | null;
field_count?: number;
name?: string;
}[];
};
};
};
};
};
getBlogPostSchema: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Schema definition */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Collection not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getCampaignSchema: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Schema definition */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Collection not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getCampaignsSchema: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Schema definition */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Collection not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getContentLayoutSchema: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Schema definition */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Collection not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getFooterSchema: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Schema definition */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Collection not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getFullwidthBannerSchema: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Schema definition */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Collection not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getHeadlineSchema: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Schema definition */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Collection not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getHtmlSchema: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Schema definition */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Collection not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getIframeSchema: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Schema definition */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Collection not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getImageSchema: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Schema definition */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Collection not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getImageGallerySchema: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Schema definition */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Collection not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getImgSchema: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Schema definition */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Collection not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getLinkSchema: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Schema definition */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Collection not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getLinkListSchema: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Schema definition */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Collection not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getListSchema: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Schema definition */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Collection not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getMarkdownSchema: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Schema definition */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Collection not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getNavigationSchema: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Schema definition */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Collection not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getPageSchema: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Schema definition */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Collection not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getPageConfigSchema: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Schema definition */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Collection not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getPostSchema: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Schema definition */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Collection not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getPostOverviewSchema: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Schema definition */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Collection not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getProductSchema: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Schema definition */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Collection not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getQuoteSchema: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Schema definition */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Collection not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getSearchableTextSchema: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Schema definition */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Collection not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getSeoSchema: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Schema definition */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Collection not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getTagSchema: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Schema definition */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Collection not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getTextFragmentSchema: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Schema definition */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Collection not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getTopBannerSchema: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Schema definition */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Collection not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getYoutubeVideoSchema: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Schema definition */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Collection not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listBlogPost: {
parameters: {
query?: {
/** @description Field name to sort by */
_sort?: string;
/** @description Sort order (default: asc) */
_order?: "asc" | "desc";
/** @description Page number (1-indexed) */
_page?: number;
/** @description Items per page */
_per_page?: number;
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
/** @description Filter by title */
title?: string;
/** @description Filter by body */
body?: string;
/** @description Filter by excerpt */
excerpt?: string;
/** @description Filter by author */
author?: string;
/** @description Filter by tags */
tags?: string;
/** @description Filter by published */
published?: boolean;
/** @description Filter by created_at */
created_at?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Paginated list of entries */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
items?: components["schemas"]["blog_post"][];
page?: number;
per_page?: number;
total?: number;
total_pages?: number;
};
};
};
};
};
createBlogPost: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["blog_post_input"];
};
};
responses: {
/** @description Entry created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["blog_post"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry already exists */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getBlogPost: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description The entry */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["blog_post"];
};
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateBlogPost: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["blog_post"];
};
};
responses: {
/** @description Entry updated */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["blog_post"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteBlogPost: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Entry deleted */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listCampaign: {
parameters: {
query?: {
/** @description Field name to sort by */
_sort?: string;
/** @description Sort order (default: asc) */
_order?: "asc" | "desc";
/** @description Page number (1-indexed) */
_page?: number;
/** @description Items per page */
_per_page?: number;
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
/** @description Filter by campaignName */
campaignName?: string;
/** @description Filter by urlPattern */
urlPattern?: string;
/** @description Filter by selector */
selector?: string;
/** @description Filter by insertHtml */
insertHtml?: string;
/** @description Filter by timeUntil */
timeUntil?: string;
/** @description Filter by javascript */
javascript?: string;
/** @description Filter by medias */
medias?: string;
/** @description Filter by html */
html?: string;
/** @description Filter by css */
css?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Paginated list of entries */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
items?: components["schemas"]["campaign"][];
page?: number;
per_page?: number;
total?: number;
total_pages?: number;
};
};
};
};
};
createCampaign: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["campaign_input"];
};
};
responses: {
/** @description Entry created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["campaign"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry already exists */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getCampaign: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description The entry */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["campaign"];
};
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateCampaign: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["campaign"];
};
};
responses: {
/** @description Entry updated */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["campaign"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteCampaign: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Entry deleted */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listCampaigns: {
parameters: {
query?: {
/** @description Field name to sort by */
_sort?: string;
/** @description Sort order (default: asc) */
_order?: "asc" | "desc";
/** @description Page number (1-indexed) */
_page?: number;
/** @description Items per page */
_per_page?: number;
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
/** @description Filter by id */
id?: string;
/** @description Filter by campaigns */
campaigns?: string;
/** @description Filter by enable */
enable?: boolean;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Paginated list of entries */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
items?: components["schemas"]["campaigns"][];
page?: number;
per_page?: number;
total?: number;
total_pages?: number;
};
};
};
};
};
createCampaigns: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["campaigns_input"];
};
};
responses: {
/** @description Entry created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["campaigns"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry already exists */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getCampaigns: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description The entry */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["campaigns"];
};
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateCampaigns: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["campaigns"];
};
};
responses: {
/** @description Entry updated */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["campaigns"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteCampaigns: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Entry deleted */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listContentLayout: {
parameters: {
query?: {
/** @description Field name to sort by */
_sort?: string;
/** @description Sort order (default: asc) */
_order?: "asc" | "desc";
/** @description Page number (1-indexed) */
_page?: number;
/** @description Items per page */
_per_page?: number;
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
/** @description Filter by row1JustifyContent */
row1JustifyContent?: string;
/** @description Filter by row1AlignItems */
row1AlignItems?: string;
/** @description Filter by row1Content */
row1Content?: string;
/** @description Filter by row2JustifyContent */
row2JustifyContent?: string;
/** @description Filter by row2AlignItems */
row2AlignItems?: string;
/** @description Filter by row2Content */
row2Content?: string;
/** @description Filter by row3JustifyContent */
row3JustifyContent?: string;
/** @description Filter by row3AlignItems */
row3AlignItems?: string;
/** @description Filter by row3Content */
row3Content?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Paginated list of entries */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
items?: components["schemas"]["content_layout"][];
page?: number;
per_page?: number;
total?: number;
total_pages?: number;
};
};
};
};
};
createContentLayout: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["content_layout_input"];
};
};
responses: {
/** @description Entry created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["content_layout"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry already exists */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getContentLayout: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description The entry */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["content_layout"];
};
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateContentLayout: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["content_layout"];
};
};
responses: {
/** @description Entry updated */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["content_layout"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteContentLayout: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Entry deleted */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listFooter: {
parameters: {
query?: {
/** @description Field name to sort by */
_sort?: string;
/** @description Sort order (default: asc) */
_order?: "asc" | "desc";
/** @description Page number (1-indexed) */
_page?: number;
/** @description Items per page */
_per_page?: number;
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
/** @description Filter by row1JustifyContent */
row1JustifyContent?: string;
/** @description Filter by row1AlignItems */
row1AlignItems?: string;
/** @description Filter by row1Content */
row1Content?: string;
/** @description Filter by row2JustifyContent */
row2JustifyContent?: string;
/** @description Filter by row2AlignItems */
row2AlignItems?: string;
/** @description Filter by row2Content */
row2Content?: string;
/** @description Filter by row3JustifyContent */
row3JustifyContent?: string;
/** @description Filter by row3AlignItems */
row3AlignItems?: string;
/** @description Filter by row3Content */
row3Content?: string;
/** @description Filter by id */
id?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Paginated list of entries */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
items?: components["schemas"]["footer"][];
page?: number;
per_page?: number;
total?: number;
total_pages?: number;
};
};
};
};
};
createFooter: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["footer_input"];
};
};
responses: {
/** @description Entry created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["footer"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry already exists */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getFooter: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description The entry */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["footer"];
};
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateFooter: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["footer"];
};
};
responses: {
/** @description Entry updated */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["footer"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteFooter: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Entry deleted */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listFullwidthBanner: {
parameters: {
query?: {
/** @description Field name to sort by */
_sort?: string;
/** @description Sort order (default: asc) */
_order?: "asc" | "desc";
/** @description Page number (1-indexed) */
_page?: number;
/** @description Items per page */
_per_page?: number;
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
/** @description Filter by name */
name?: string;
/** @description Filter by variant */
variant?: string;
/** @description Filter by headline */
headline?: string;
/** @description Filter by subheadline */
subheadline?: string;
/** @description Filter by text */
text?: string;
/** @description Filter by image */
image?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Paginated list of entries */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
items?: components["schemas"]["fullwidth_banner"][];
page?: number;
per_page?: number;
total?: number;
total_pages?: number;
};
};
};
};
};
createFullwidthBanner: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["fullwidth_banner_input"];
};
};
responses: {
/** @description Entry created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["fullwidth_banner"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry already exists */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getFullwidthBanner: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description The entry */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["fullwidth_banner"];
};
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateFullwidthBanner: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["fullwidth_banner"];
};
};
responses: {
/** @description Entry updated */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["fullwidth_banner"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteFullwidthBanner: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Entry deleted */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listHeadline: {
parameters: {
query?: {
/** @description Field name to sort by */
_sort?: string;
/** @description Sort order (default: asc) */
_order?: "asc" | "desc";
/** @description Page number (1-indexed) */
_page?: number;
/** @description Items per page */
_per_page?: number;
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
/** @description Filter by internal */
internal?: string;
/** @description Filter by text */
text?: string;
/** @description Filter by tag */
tag?: string;
/** @description Filter by layout */
layout?: string;
/** @description Filter by align */
align?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Paginated list of entries */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
items?: components["schemas"]["headline"][];
page?: number;
per_page?: number;
total?: number;
total_pages?: number;
};
};
};
};
};
createHeadline: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["headline_input"];
};
};
responses: {
/** @description Entry created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["headline"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry already exists */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getHeadline: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description The entry */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["headline"];
};
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateHeadline: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["headline"];
};
};
responses: {
/** @description Entry updated */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["headline"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteHeadline: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Entry deleted */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listHtml: {
parameters: {
query?: {
/** @description Field name to sort by */
_sort?: string;
/** @description Sort order (default: asc) */
_order?: "asc" | "desc";
/** @description Page number (1-indexed) */
_page?: number;
/** @description Items per page */
_per_page?: number;
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
/** @description Filter by id */
id?: string;
/** @description Filter by html */
html?: string;
/** @description Filter by layout */
layout?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Paginated list of entries */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
items?: components["schemas"]["html"][];
page?: number;
per_page?: number;
total?: number;
total_pages?: number;
};
};
};
};
};
createHtml: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["html_input"];
};
};
responses: {
/** @description Entry created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["html"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry already exists */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getHtml: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description The entry */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["html"];
};
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateHtml: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["html"];
};
};
responses: {
/** @description Entry updated */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["html"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteHtml: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Entry deleted */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listIframe: {
parameters: {
query?: {
/** @description Field name to sort by */
_sort?: string;
/** @description Sort order (default: asc) */
_order?: "asc" | "desc";
/** @description Page number (1-indexed) */
_page?: number;
/** @description Items per page */
_per_page?: number;
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
/** @description Filter by name */
name?: string;
/** @description Filter by content */
content?: string;
/** @description Filter by iframe */
iframe?: string;
/** @description Filter by overlayImage */
overlayImage?: string;
/** @description Filter by layout */
layout?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Paginated list of entries */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
items?: components["schemas"]["iframe"][];
page?: number;
per_page?: number;
total?: number;
total_pages?: number;
};
};
};
};
};
createIframe: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["iframe_input"];
};
};
responses: {
/** @description Entry created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["iframe"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry already exists */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getIframe: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description The entry */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["iframe"];
};
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateIframe: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["iframe"];
};
};
responses: {
/** @description Entry updated */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["iframe"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteIframe: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Entry deleted */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listImage: {
parameters: {
query?: {
/** @description Field name to sort by */
_sort?: string;
/** @description Sort order (default: asc) */
_order?: "asc" | "desc";
/** @description Page number (1-indexed) */
_page?: number;
/** @description Items per page */
_per_page?: number;
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
/** @description Filter by name */
name?: string;
/** @description Filter by img */
img?: string;
/** @description Filter by caption */
caption?: string;
/** @description Filter by layout */
layout?: string;
/** @description Filter by maxWidth */
maxWidth?: number;
/** @description Filter by aspectRatio */
aspectRatio?: number;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Paginated list of entries */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
items?: components["schemas"]["image"][];
page?: number;
per_page?: number;
total?: number;
total_pages?: number;
};
};
};
};
};
createImage: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["image_input"];
};
};
responses: {
/** @description Entry created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["image"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry already exists */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getImage: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description The entry */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["image"];
};
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateImage: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["image"];
};
};
responses: {
/** @description Entry updated */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["image"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteImage: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Entry deleted */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listImageGallery: {
parameters: {
query?: {
/** @description Field name to sort by */
_sort?: string;
/** @description Sort order (default: asc) */
_order?: "asc" | "desc";
/** @description Page number (1-indexed) */
_page?: number;
/** @description Items per page */
_per_page?: number;
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
/** @description Filter by name */
name?: string;
/** @description Filter by images */
images?: string;
/** @description Filter by layout */
layout?: string;
/** @description Filter by description */
description?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Paginated list of entries */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
items?: components["schemas"]["image_gallery"][];
page?: number;
per_page?: number;
total?: number;
total_pages?: number;
};
};
};
};
};
createImageGallery: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["image_gallery_input"];
};
};
responses: {
/** @description Entry created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["image_gallery"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry already exists */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getImageGallery: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description The entry */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["image_gallery"];
};
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateImageGallery: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["image_gallery"];
};
};
responses: {
/** @description Entry updated */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["image_gallery"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteImageGallery: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Entry deleted */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listImg: {
parameters: {
query?: {
/** @description Field name to sort by */
_sort?: string;
/** @description Sort order (default: asc) */
_order?: "asc" | "desc";
/** @description Page number (1-indexed) */
_page?: number;
/** @description Items per page */
_per_page?: number;
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
/** @description Filter by description */
description?: string;
/** @description Filter by src */
src?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Paginated list of entries */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
items?: components["schemas"]["img"][];
page?: number;
per_page?: number;
total?: number;
total_pages?: number;
};
};
};
};
};
createImg: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["img_input"];
};
};
responses: {
/** @description Entry created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["img"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry already exists */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getImg: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description The entry */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["img"];
};
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateImg: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["img"];
};
};
responses: {
/** @description Entry updated */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["img"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteImg: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Entry deleted */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listLink: {
parameters: {
query?: {
/** @description Field name to sort by */
_sort?: string;
/** @description Sort order (default: asc) */
_order?: "asc" | "desc";
/** @description Page number (1-indexed) */
_page?: number;
/** @description Items per page */
_per_page?: number;
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
/** @description Filter by name */
name?: string;
/** @description Filter by internal */
internal?: string;
/** @description Filter by linkName */
linkName?: string;
/** @description Filter by url */
url?: string;
/** @description Filter by icon */
icon?: string;
/** @description Filter by color */
color?: string;
/** @description Filter by newTab */
newTab?: boolean;
/** @description Filter by external */
external?: boolean;
/** @description Filter by description */
description?: string;
/** @description Filter by alt */
alt?: string;
/** @description Filter by showText */
showText?: boolean;
/** @description Filter by author */
author?: string;
/** @description Filter by date */
date?: string;
/** @description Filter by source */
source?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Paginated list of entries */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
items?: components["schemas"]["link"][];
page?: number;
per_page?: number;
total?: number;
total_pages?: number;
};
};
};
};
};
createLink: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["link_input"];
};
};
responses: {
/** @description Entry created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["link"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry already exists */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getLink: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description The entry */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["link"];
};
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateLink: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["link"];
};
};
responses: {
/** @description Entry updated */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["link"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteLink: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Entry deleted */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listLinkList: {
parameters: {
query?: {
/** @description Field name to sort by */
_sort?: string;
/** @description Sort order (default: asc) */
_order?: "asc" | "desc";
/** @description Page number (1-indexed) */
_page?: number;
/** @description Items per page */
_per_page?: number;
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
/** @description Filter by headline */
headline?: string;
/** @description Filter by links */
links?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Paginated list of entries */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
items?: components["schemas"]["link_list"][];
page?: number;
per_page?: number;
total?: number;
total_pages?: number;
};
};
};
};
};
createLinkList: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["link_list_input"];
};
};
responses: {
/** @description Entry created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["link_list"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry already exists */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getLinkList: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description The entry */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["link_list"];
};
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateLinkList: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["link_list"];
};
};
responses: {
/** @description Entry updated */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["link_list"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteLinkList: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Entry deleted */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listList: {
parameters: {
query?: {
/** @description Field name to sort by */
_sort?: string;
/** @description Sort order (default: asc) */
_order?: "asc" | "desc";
/** @description Page number (1-indexed) */
_page?: number;
/** @description Items per page */
_per_page?: number;
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
/** @description Filter by internal */
internal?: string;
/** @description Filter by item */
item?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Paginated list of entries */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
items?: components["schemas"]["list"][];
page?: number;
per_page?: number;
total?: number;
total_pages?: number;
};
};
};
};
};
createList: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["list_input"];
};
};
responses: {
/** @description Entry created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["list"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry already exists */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getList: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description The entry */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["list"];
};
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateList: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["list"];
};
};
responses: {
/** @description Entry updated */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["list"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteList: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Entry deleted */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listMarkdown: {
parameters: {
query?: {
/** @description Field name to sort by */
_sort?: string;
/** @description Sort order (default: asc) */
_order?: "asc" | "desc";
/** @description Page number (1-indexed) */
_page?: number;
/** @description Items per page */
_per_page?: number;
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
/** @description Filter by name */
name?: string;
/** @description Filter by content */
content?: string;
/** @description Filter by layout */
layout?: string;
/** @description Filter by alignment */
alignment?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Paginated list of entries */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
items?: components["schemas"]["markdown"][];
page?: number;
per_page?: number;
total?: number;
total_pages?: number;
};
};
};
};
};
createMarkdown: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["markdown_input"];
};
};
responses: {
/** @description Entry created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["markdown"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry already exists */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getMarkdown: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description The entry */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["markdown"];
};
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateMarkdown: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["markdown"];
};
};
responses: {
/** @description Entry updated */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["markdown"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteMarkdown: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Entry deleted */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listNavigation: {
parameters: {
query?: {
/** @description Field name to sort by */
_sort?: string;
/** @description Sort order (default: asc) */
_order?: "asc" | "desc";
/** @description Page number (1-indexed) */
_page?: number;
/** @description Items per page */
_per_page?: number;
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
/** @description Filter by name */
name?: string;
/** @description Filter by internal */
internal?: string;
/** @description Filter by links */
links?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Paginated list of entries */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
items?: components["schemas"]["navigation"][];
page?: number;
per_page?: number;
total?: number;
total_pages?: number;
};
};
};
};
};
createNavigation: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["navigation_input"];
};
};
responses: {
/** @description Entry created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["navigation"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry already exists */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getNavigation: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description The entry */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["navigation"];
};
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateNavigation: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["navigation"];
};
};
responses: {
/** @description Entry updated */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["navigation"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteNavigation: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Entry deleted */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listPage: {
parameters: {
query?: {
/** @description Field name to sort by */
_sort?: string;
/** @description Sort order (default: asc) */
_order?: "asc" | "desc";
/** @description Page number (1-indexed) */
_page?: number;
/** @description Items per page */
_per_page?: number;
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
/** @description Filter by row1JustifyContent */
row1JustifyContent?: string;
/** @description Filter by row1AlignItems */
row1AlignItems?: string;
/** @description Filter by row1Content */
row1Content?: string;
/** @description Filter by row2JustifyContent */
row2JustifyContent?: string;
/** @description Filter by row2AlignItems */
row2AlignItems?: string;
/** @description Filter by row2Content */
row2Content?: string;
/** @description Filter by row3JustifyContent */
row3JustifyContent?: string;
/** @description Filter by row3AlignItems */
row3AlignItems?: string;
/** @description Filter by row3Content */
row3Content?: string;
/** @description Filter by seoTitle */
seoTitle?: string;
/** @description Filter by seoMetaRobots */
seoMetaRobots?: string;
/** @description Filter by seoDescription */
seoDescription?: string;
/** @description Filter by slug */
slug?: string;
/** @description Filter by name */
name?: string;
/** @description Filter by linkName */
linkName?: string;
/** @description Filter by icon */
icon?: string;
/** @description Filter by headline */
headline?: string;
/** @description Filter by subheadline */
subheadline?: string;
/** @description Filter by topFullwidthBanner */
topFullwidthBanner?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Paginated list of entries */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
items?: components["schemas"]["page"][];
page?: number;
per_page?: number;
total?: number;
total_pages?: number;
};
};
};
};
};
createPage: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["page_input"];
};
};
responses: {
/** @description Entry created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["page"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry already exists */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getPage: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description The entry */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["page"];
};
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updatePage: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["page"];
};
};
responses: {
/** @description Entry updated */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["page"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deletePage: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Entry deleted */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listPageConfig: {
parameters: {
query?: {
/** @description Field name to sort by */
_sort?: string;
/** @description Sort order (default: asc) */
_order?: "asc" | "desc";
/** @description Page number (1-indexed) */
_page?: number;
/** @description Items per page */
_per_page?: number;
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
/** @description Filter by logo */
logo?: string;
/** @description Filter by footerText1 */
footerText1?: string;
/** @description Filter by seoTitle */
seoTitle?: string;
/** @description Filter by seoDescription */
seoDescription?: string;
/** @description Filter by blogTagPageHeadline */
blogTagPageHeadline?: string;
/** @description Filter by blogPostsPageHeadline */
blogPostsPageHeadline?: string;
/** @description Filter by blogPostsPageSubHeadline */
blogPostsPageSubHeadline?: string;
/** @description Filter by website */
website?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Paginated list of entries */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
items?: components["schemas"]["page_config"][];
page?: number;
per_page?: number;
total?: number;
total_pages?: number;
};
};
};
};
};
createPageConfig: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["page_config_input"];
};
};
responses: {
/** @description Entry created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["page_config"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry already exists */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getPageConfig: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description The entry */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["page_config"];
};
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updatePageConfig: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["page_config"];
};
};
responses: {
/** @description Entry updated */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["page_config"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deletePageConfig: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Entry deleted */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listPost: {
parameters: {
query?: {
/** @description Field name to sort by */
_sort?: string;
/** @description Sort order (default: asc) */
_order?: "asc" | "desc";
/** @description Page number (1-indexed) */
_page?: number;
/** @description Items per page */
_per_page?: number;
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
/** @description Filter by row1JustifyContent */
row1JustifyContent?: string;
/** @description Filter by row1AlignItems */
row1AlignItems?: string;
/** @description Filter by row1Content */
row1Content?: string;
/** @description Filter by row2JustifyContent */
row2JustifyContent?: string;
/** @description Filter by row2AlignItems */
row2AlignItems?: string;
/** @description Filter by row2Content */
row2Content?: string;
/** @description Filter by row3JustifyContent */
row3JustifyContent?: string;
/** @description Filter by row3AlignItems */
row3AlignItems?: string;
/** @description Filter by row3Content */
row3Content?: string;
/** @description Filter by seoTitle */
seoTitle?: string;
/** @description Filter by seoMetaRobots */
seoMetaRobots?: string;
/** @description Filter by seoDescription */
seoDescription?: string;
/** @description Filter by slug */
slug?: string;
/** @description Filter by linkName */
linkName?: string;
/** @description Filter by icon */
icon?: string;
/** @description Filter by headline */
headline?: string;
/** @description Filter by subheadline */
subheadline?: string;
/** @description Filter by excerpt */
excerpt?: string;
/** @description Filter by created */
created?: string;
/** @description Filter by postImage */
postImage?: string;
/** @description Filter by postTag */
postTag?: string;
/** @description Filter by important */
important?: boolean;
/** @description Filter by date */
date?: string;
/** @description Filter by content */
content?: string;
/** @description Filter by showCommentSection */
showCommentSection?: boolean;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Paginated list of entries */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
items?: components["schemas"]["post"][];
page?: number;
per_page?: number;
total?: number;
total_pages?: number;
};
};
};
};
};
createPost: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["post_input"];
};
};
responses: {
/** @description Entry created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["post"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry already exists */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getPost: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description The entry */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["post"];
};
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updatePost: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["post"];
};
};
responses: {
/** @description Entry updated */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["post"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deletePost: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Entry deleted */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listPostOverview: {
parameters: {
query?: {
/** @description Field name to sort by */
_sort?: string;
/** @description Sort order (default: asc) */
_order?: "asc" | "desc";
/** @description Page number (1-indexed) */
_page?: number;
/** @description Items per page */
_per_page?: number;
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
/** @description Filter by row1JustifyContent */
row1JustifyContent?: string;
/** @description Filter by row1AlignItems */
row1AlignItems?: string;
/** @description Filter by row1Content */
row1Content?: string;
/** @description Filter by row2JustifyContent */
row2JustifyContent?: string;
/** @description Filter by row2AlignItems */
row2AlignItems?: string;
/** @description Filter by row2Content */
row2Content?: string;
/** @description Filter by row3JustifyContent */
row3JustifyContent?: string;
/** @description Filter by row3AlignItems */
row3AlignItems?: string;
/** @description Filter by row3Content */
row3Content?: string;
/** @description Filter by seoTitle */
seoTitle?: string;
/** @description Filter by seoMetaRobots */
seoMetaRobots?: string;
/** @description Filter by seoDescription */
seoDescription?: string;
/** @description Filter by id */
id?: string;
/** @description Filter by headline */
headline?: string;
/** @description Filter by text */
text?: string;
/** @description Filter by layout */
layout?: string;
/** @description Filter by allPosts */
allPosts?: boolean;
/** @description Filter by filterByTag */
filterByTag?: string;
/** @description Filter by posts */
posts?: string;
/** @description Filter by numberItems */
numberItems?: number;
/** @description Filter by design */
design?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Paginated list of entries */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
items?: components["schemas"]["post_overview"][];
page?: number;
per_page?: number;
total?: number;
total_pages?: number;
};
};
};
};
};
createPostOverview: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["post_overview_input"];
};
};
responses: {
/** @description Entry created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["post_overview"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry already exists */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getPostOverview: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description The entry */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["post_overview"];
};
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updatePostOverview: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["post_overview"];
};
};
responses: {
/** @description Entry updated */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["post_overview"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deletePostOverview: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Entry deleted */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listProduct: {
parameters: {
query?: {
/** @description Field name to sort by */
_sort?: string;
/** @description Sort order (default: asc) */
_order?: "asc" | "desc";
/** @description Page number (1-indexed) */
_page?: number;
/** @description Items per page */
_per_page?: number;
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
/** @description Filter by title */
title?: string;
/** @description Filter by sku */
sku?: string;
/** @description Filter by price */
price?: number;
/** @description Filter by description */
description?: string;
/** @description Filter by category */
category?: string;
/** @description Filter by in_stock */
in_stock?: boolean;
/** @description Filter by rating */
rating?: number;
/** @description Filter by images */
images?: string;
/** @description Filter by created_at */
created_at?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Paginated list of entries */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
items?: components["schemas"]["product"][];
page?: number;
per_page?: number;
total?: number;
total_pages?: number;
};
};
};
};
};
createProduct: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["product_input"];
};
};
responses: {
/** @description Entry created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["product"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry already exists */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getProduct: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description The entry */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["product"];
};
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateProduct: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["product"];
};
};
responses: {
/** @description Entry updated */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["product"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteProduct: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Entry deleted */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listQuote: {
parameters: {
query?: {
/** @description Field name to sort by */
_sort?: string;
/** @description Sort order (default: asc) */
_order?: "asc" | "desc";
/** @description Page number (1-indexed) */
_page?: number;
/** @description Items per page */
_per_page?: number;
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
/** @description Filter by quote */
quote?: string;
/** @description Filter by author */
author?: string;
/** @description Filter by variant */
variant?: string;
/** @description Filter by layout */
layout?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Paginated list of entries */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
items?: components["schemas"]["quote"][];
page?: number;
per_page?: number;
total?: number;
total_pages?: number;
};
};
};
};
};
createQuote: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["quote_input"];
};
};
responses: {
/** @description Entry created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["quote"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry already exists */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getQuote: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description The entry */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["quote"];
};
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateQuote: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["quote"];
};
};
responses: {
/** @description Entry updated */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["quote"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteQuote: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Entry deleted */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listSearchableText: {
parameters: {
query?: {
/** @description Field name to sort by */
_sort?: string;
/** @description Sort order (default: asc) */
_order?: "asc" | "desc";
/** @description Page number (1-indexed) */
_page?: number;
/** @description Items per page */
_per_page?: number;
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
/** @description Filter by id */
id?: string;
/** @description Filter by tagWhitelist */
tagWhitelist?: string;
/** @description Filter by textFragments */
textFragments?: string;
/** @description Filter by title */
title?: string;
/** @description Filter by description */
description?: string;
/** @description Filter by layout */
layout?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Paginated list of entries */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
items?: components["schemas"]["searchable_text"][];
page?: number;
per_page?: number;
total?: number;
total_pages?: number;
};
};
};
};
};
createSearchableText: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["searchable_text_input"];
};
};
responses: {
/** @description Entry created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["searchable_text"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry already exists */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getSearchableText: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description The entry */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["searchable_text"];
};
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateSearchableText: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["searchable_text"];
};
};
responses: {
/** @description Entry updated */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["searchable_text"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteSearchableText: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Entry deleted */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listSeo: {
parameters: {
query?: {
/** @description Field name to sort by */
_sort?: string;
/** @description Sort order (default: asc) */
_order?: "asc" | "desc";
/** @description Page number (1-indexed) */
_page?: number;
/** @description Items per page */
_per_page?: number;
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
/** @description Filter by seoTitle */
seoTitle?: string;
/** @description Filter by seoMetaRobots */
seoMetaRobots?: string;
/** @description Filter by seoDescription */
seoDescription?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Paginated list of entries */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
items?: components["schemas"]["seo"][];
page?: number;
per_page?: number;
total?: number;
total_pages?: number;
};
};
};
};
};
createSeo: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["seo_input"];
};
};
responses: {
/** @description Entry created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["seo"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry already exists */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getSeo: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description The entry */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["seo"];
};
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateSeo: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["seo"];
};
};
responses: {
/** @description Entry updated */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["seo"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteSeo: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Entry deleted */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listTag: {
parameters: {
query?: {
/** @description Field name to sort by */
_sort?: string;
/** @description Sort order (default: asc) */
_order?: "asc" | "desc";
/** @description Page number (1-indexed) */
_page?: number;
/** @description Items per page */
_per_page?: number;
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
/** @description Filter by name */
name?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Paginated list of entries */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
items?: components["schemas"]["tag"][];
page?: number;
per_page?: number;
total?: number;
total_pages?: number;
};
};
};
};
};
createTag: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["tag_input"];
};
};
responses: {
/** @description Entry created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["tag"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry already exists */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getTag: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description The entry */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["tag"];
};
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateTag: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["tag"];
};
};
responses: {
/** @description Entry updated */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["tag"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteTag: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Entry deleted */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listTextFragment: {
parameters: {
query?: {
/** @description Field name to sort by */
_sort?: string;
/** @description Sort order (default: asc) */
_order?: "asc" | "desc";
/** @description Page number (1-indexed) */
_page?: number;
/** @description Items per page */
_per_page?: number;
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
/** @description Filter by id */
id?: string;
/** @description Filter by tags */
tags?: string;
/** @description Filter by title */
title?: string;
/** @description Filter by text */
text?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Paginated list of entries */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
items?: components["schemas"]["text_fragment"][];
page?: number;
per_page?: number;
total?: number;
total_pages?: number;
};
};
};
};
};
createTextFragment: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["text_fragment_input"];
};
};
responses: {
/** @description Entry created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["text_fragment"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry already exists */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getTextFragment: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description The entry */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["text_fragment"];
};
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateTextFragment: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["text_fragment"];
};
};
responses: {
/** @description Entry updated */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["text_fragment"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteTextFragment: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Entry deleted */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listTopBanner: {
parameters: {
query?: {
/** @description Field name to sort by */
_sort?: string;
/** @description Sort order (default: asc) */
_order?: "asc" | "desc";
/** @description Page number (1-indexed) */
_page?: number;
/** @description Items per page */
_per_page?: number;
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
/** @description Filter by id */
id?: string;
/** @description Filter by text */
text?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Paginated list of entries */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
items?: components["schemas"]["top_banner"][];
page?: number;
per_page?: number;
total?: number;
total_pages?: number;
};
};
};
};
};
createTopBanner: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["top_banner_input"];
};
};
responses: {
/** @description Entry created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["top_banner"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry already exists */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getTopBanner: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description The entry */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["top_banner"];
};
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateTopBanner: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["top_banner"];
};
};
responses: {
/** @description Entry updated */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["top_banner"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteTopBanner: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Entry deleted */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
listYoutubeVideo: {
parameters: {
query?: {
/** @description Field name to sort by */
_sort?: string;
/** @description Sort order (default: asc) */
_order?: "asc" | "desc";
/** @description Page number (1-indexed) */
_page?: number;
/** @description Items per page */
_per_page?: number;
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
/** @description Filter by id */
id?: string;
/** @description Filter by youtubeId */
youtubeId?: string;
/** @description Filter by params */
params?: string;
/** @description Filter by title */
title?: string;
/** @description Filter by description */
description?: string;
/** @description Filter by layout */
layout?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Paginated list of entries */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
items?: components["schemas"]["youtube_video"][];
page?: number;
per_page?: number;
total?: number;
total_pages?: number;
};
};
};
};
};
createYoutubeVideo: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["youtube_video_input"];
};
};
responses: {
/** @description Entry created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["youtube_video"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry already exists */
409: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
getYoutubeVideo: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description The entry */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["youtube_video"];
};
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
updateYoutubeVideo: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["youtube_video"];
};
};
responses: {
/** @description Entry updated */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["youtube_video"];
};
};
/** @description Validation error */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
deleteYoutubeVideo: {
parameters: {
query?: {
/** @description Resolve references: 'all' or comma-separated field names (e.g. row1Content,topFullwidthBanner). Resolved entries are embedded instead of { _type, _slug }. */
_resolve?: string;
/** @description Locale for content (e.g. de, en). Only used when RUSTYCMS_LOCALES is set. Default = first locale. References are resolved in the same locale. */
_locale?: string;
};
header?: never;
path: {
/** @description Entry identifier (filename without extension) */
slug: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Entry deleted */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Entry not found */
404: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
transformImage: {
parameters: {
query: {
/** @description External image URL */
url: string;
/** @description Target width (alias: width) */
w?: number;
/** @description Target height (alias: height) */
h?: number;
/** @description Aspect ratio before resize, e.g. 1:1 or 16:9 (center crop) */
ar?: string;
/** @description fill = exact w×h, contain = fit inside, cover = fill with crop */
fit?: "fill" | "contain" | "cover";
/** @description Output format */
format?: "jpeg" | "png" | "webp" | "avif";
/** @description Quality 1100 for JPEG and WebP (lossy) */
quality?: number;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Transformed image */
200: {
headers: {
[name: string]: unknown;
};
content: {
"image/avif": string;
"image/jpeg": string;
"image/png": string;
"image/webp": string;
};
};
/** @description Invalid URL or not a valid image */
400: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Failed to fetch or process image */
500: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
}