CMS Models
Page
type Page{
id: String!
title: String!
handle: String!
description: String
status: String!
seo: SEO!
publishedAt: DateTime
firstPublishedAt: DateTime
firstPublishedAtTimezone: String
createdAt: DateTime
updatedAt: DateTime
action: String
sections: SectionConnection
template: {
id: String!
title: String!
type: String!
status: String!
sections: {
totalCount: Int
pageInfo: {
hasNextPage: Boolean
endCursor: String
}
edges: [
{
cursor: String
node: Section
}
]
}
}
}
Page History
type PageHistory {
nodes: [PageRevision]
pageInfo: PageInfo
}
type PageRevision {
id: String!
pageId: String!
title: String!
handle: String!
publishedAt: DateTime
createdAt: DateTime
}
type PageInfo {
hasNextPage: Boolean!
endCursor: String!
}
Page Revision
type PageRevision {
id: String!
pageId: String!
title: String!
handle: String!
description: String
status: String!
sections: [Section]
user: User!
publishedAt: DateTime
storeId: String!
createdAt: DateTime
}
Page Info
type PageInfo {
hasNextPage: Boolean!
endCursor: String!
}
Blog
type Blog = {
id: ID!;
title: string!;
handle: string!;
description: string;
status: string!;
seo: SEO;
publishedAt: string | null;
firstPublishedAt: string | null;
firstPublishedAtTimezone: string | null;
createdAt: string;
updatedAt: string;
sections: SectionConnection;
template: Template;
};
Article
type Article = {
id: ID!;
title: string!;
handle: string!;
description: string;
author: string;
category: string;
tags: string[];
excerpt: string;
bodyHtml: string;
status: string!;
sections: SectionConnection;
seo: SEO;
publishedAt: string | null;
firstPublishedAt: string | null;
firstPublishedAtTimezone: string | null;
blog: any | null;
user: any | null;
storeId: string;
createdAt: string;
updatedAt: string;
};
Product Page
type ProductPage {
id: ID!
title: String!
handle: String!
description: String
status: String!
seo: SEO
publishedAt: DateTime
firstPublishedAt: DateTime
firstPublishedAtTimezone: String
createdAt: DateTime
updatedAt: DateTime
sections: SectionConnection!
template: Template
}
Product Page History
type ProductPageHistory {
nodes: [ProductPageRevision]
pageInfo: PageInfo
}
Product Page Revision
type ProductPageRevision {
id: ID!
productId: String!
title: String!
handle: String!
description: String
status: String!
seo: SEO
sections: [Section]
user: User
publishedAt: DateTime
storeId: String!
createdAt: DateTime
}
Collection
type Collection {
id: ID!
collectionId: String!
title: String!
handle: String!
description: String
status: String!
sections: [Section]
seo: SEO!
publishedAt: DateTime
firstPublishedAt: DateTime
firstPublishedAtTimezone: String
user: User
storeId: String!
createdAt: DateTime\
}
Section
type SectionConnection {
totalCount: Int!
pageInfo: PageInfo!
edges: [SectionEdge]
}
type Section {
id: String!
parentContentType: String
title: String!
status: String!
data: SectionData
dataSource: String
hasReferences: Boolean
publishedAt: DateTime
createdAt: DateTime
updatedAt: DateTime
}
type SectionData {
tinaId: String!
heading: String
section: {
fullWidth: Boolean
textColor: String
aboveTheFold: Boolean
}
_template: String!
sectionName: String
sectionType: String
resourceType: String
sectionVisibility: String
}
Template
type Template {
id: ID!
templateId: String!
title: String!
type: String!
isDefault: Boolean!
status: String!
sections: SectionConnection
publishedAt: DateTime
createdAt: DateTime
}
Site Settings
type SiteSettings {
id: ID!
createdAt: DateTime
favicon: String
publishedAt: DateTime
seo: SEO
settings: Settings,
status: String
updatedAt: DateTime
}
Schedule
type Schedule {
id: ID!
title: String!
description: String
executeAt: DateTime
timezone: String
state: ScheduleState!
totalContentCount: Int!
content: [Content!]
createdAt: DateTime
updatedAt: DateTime
}
Content Environment
type ContentEnvironment {
id: ID!
name: String!
handle: String!
storeId: String!
createdAt: DateTime!
}
User
type User {
id: String!
first_name: String!
last_name: String!
email: String!
avatar_url: String
}
SEO
type SEO {
title: String!
description: String
image: String
keywords: [String]
noIndex: Boolean
noFollow: Boolean
}