Blog
Requires access scope or access scope.
A blog for publishing articles in the online store. Stores can have multiple blogs to organize content by topic or purpose.
Each blog contains articles with their associated comments, tags, and metadata. The comment policy controls whether readers can post comments and whether moderation is required. Blogs use customizable URL handles and can apply alternate templates for specialized layouts.
Anchor to FieldsFields
- articles (ArticleConnection!)
- articlesCount (Count)
- commentPolicy (CommentPolicy!)
- createdAt (DateTime!)
- events (EventConnection!)
- feed (BlogFeed)
- handle (String!)
- id (ID!)
- metafield (Metafield)
- metafields (MetafieldConnection!)
- tags ([String!]!)
- templateSuffix (String)
- title (String!)
- translations ([Translation!]!)
- updatedAt (DateTime)
- metafieldDefinitions (MetafieldDefinitionConnection!): deprecated
- Anchor to articlesarticles•Article
Connection! non-null List of the blog's articles.
- Anchor to afterafter•String
The elements that come after the specified cursor.
- Anchor to beforebefore•String
The elements that come before the specified cursor.
- Anchor to firstfirst•Int
The first
nelements from the paginated list.- Anchor to lastlast•Int
The last
nelements from the paginated list.- Anchor to reversereverse•BooleanDefault:false
Reverse the order of the underlying list.
Arguments
- Anchor to articlesCountarticles•Count
Count Count of articles. Limited to a maximum of 10000 by default.
- Anchor to limitlimit•IntDefault:10000
The upper bound on count value before returning a result. Use
nullto have no limit.
Arguments
- Anchor to commentPolicycomment•Comment
Policy Policy! non-null Indicates whether readers can post comments to the blog and if comments are moderated or not.
- Anchor to createdAtcreated•Date
At Time! non-null The date and time when the blog was created.
- Anchor to eventsevents•Event
Connection! non-null The paginated list of events associated with the host subject.
- Anchor to afterafter•String
The elements that come after the specified cursor.
- Anchor to beforebefore•String
The elements that come before the specified cursor.
- Anchor to firstfirst•Int
The first
nelements from the paginated list.- Anchor to lastlast•Int
The last
nelements from the paginated list.- Anchor to queryquery•String
A filter made up of terms, connectives, modifiers, and comparators. | comments | boolean | Whether or not to include comment-events in your search, passing
falsewill exclude comment-events, any other value will include comment-events. | | | -false
-true| | created_at | time | Filter by the date and time when the event occurred. Event data is retained for 1 year. | | | -
-| | id | id | Filter byidrange. | | | -id:1234
-id:>=1234
-id:<=1234| | subject_type | string | The resource type affected by this event. See EventSubjectType for possible values. | | | -
-
-| You can apply one or more filters to a query. Learn more about Shopify API search syntax.- Anchor to reversereverse•BooleanDefault:false
Reverse the order of the underlying list.
- Anchor to sortKeysort•Event
Key Sort Keys Default:ID Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.
Arguments
- Anchor to feedfeed•Blog
Feed FeedBurner provider details. Any blogs that aren't already integrated with FeedBurner can't use the service.
- Anchor to handlehandle•String!non-null
A unique, human-friendly string for the blog. If no handle is specified, a handle will be generated automatically from the blog title. The handle is customizable and is used by the Liquid templating language to refer to the blog.
- •ID!non-null
A globally-unique ID.
- Anchor to metafieldmetafield•Metafield
A custom field, including its
namespaceandkey, that's associated with a Shopify resource for the purposes of adding and storing additional information.- •String!required
The key for the metafield.
- Anchor to namespacenamespace•String
The container the metafield belongs to. If omitted, the app-reserved namespace will be used.
Arguments
- •String!
- Anchor to metafieldsmetafields•Metafield
Connection! non-null A list of custom fields that a merchant associates with a Shopify resource.
- Anchor to afterafter•String
The elements that come after the specified cursor.
- Anchor to beforebefore•String
The elements that come before the specified cursor.
- Anchor to firstfirst•Int
The first
nelements from the paginated list.- Anchor to keyskeys•[String!]
List of keys of metafields in the format
namespace.key, will be returned in the same format.- Anchor to lastlast•Int
The last
nelements from the paginated list.- Anchor to namespacenamespace•String
The metafield namespace to filter by. If omitted, all metafields are returned.
- Anchor to reversereverse•BooleanDefault:false
Reverse the order of the underlying list.
Arguments
- •[String!]!non-null
A list of tags associated with the 200 most recent blog articles.
- Anchor to templateSuffixtemplate•String
Suffix The name of the template a blog is using if it's using an alternate template. Returns
nullif a blog is using the default blog.liquid template.- Anchor to titletitle•String!non-null
The title of the blog.
- Anchor to translationstranslations•[Translation!]!non-null
The published translations associated with the resource.
- Anchor to localelocale•String!required
Filters translations locale.
- Anchor to marketIdmarket•ID
Id Filters translations by market ID. Use this argument to retrieve content specific to a market.
Arguments
- Anchor to updatedAtupdated•Date
At Time The date and time when the blog was update.
- Anchor to metafieldDefinitionsmetafield•Metafield
Definitions Definition Connection! non-nullDeprecated - Anchor to afterafter•String
The elements that come after the specified cursor.
- Anchor to beforebefore•String
The elements that come before the specified cursor.
- Anchor to firstfirst•Int
The first
nelements from the paginated list.- Anchor to lastlast•Int
The last
nelements from the paginated list.- Anchor to namespacenamespace•String
Filter metafield definitions by namespace.
- Anchor to pinnedStatuspinned•Metafield
Status Definition Pinned Status Default:ANY Filter by the definition's pinned status.
- Anchor to queryquery•String
A filter made up of terms, connectives, modifiers, and comparators.
name type description acceptable_values default_value example_use default string Filter by a case-insensitive search of multiple fields in a document. - query=Bob Norman
-query=title:green hoodiecreated_at time Filter by the date and time when the metafield definition was created. -
-
-id id Filter by idrange.- id:1234
-id:>=1234
-id:<=1234key string Filter by the metafield definition keyfield. - key:some-keynamespace string Filter by the metafield definition namespacefield. - namespace:some-namespaceowner_type string Filter by the metafield definition field. - type string Filter by the metafield definition typefield. - updated_at time Filter by the date and time when the metafield definition was last updated. -
-| You can apply one or more filters to a query. Learn more about Shopify API search syntax.
- Anchor to reversereverse•BooleanDefault:false
Reverse the order of the underlying list.
- Anchor to sortKeysort•Metafield
Key Definition Sort Keys Default:ID Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.
Arguments
Anchor to QueriesQueries
- blog (Blog)
- blogs (BlogConnection!)
- •query
Returns a
Blogresource by ID.- •ID!required
The ID of the
Blogto return.
Arguments
- •ID!
- •query
Returns a paginated list of the shop's
Blogobjects. Blogs serve as containers forArticleobjects and provide content management capabilities for the store's editorial content.Supports cursor-based pagination to control the number of blogs returned and their order. Use the
queryargument to filter results by specific criteria.- Anchor to afterafter•String
The elements that come after the specified cursor.
- Anchor to beforebefore•String
The elements that come before the specified cursor.
- Anchor to firstfirst•Int
The first
nelements from the paginated list.- Anchor to lastlast•Int
The last
nelements from the paginated list.- Anchor to queryquery•String
A filter made up of terms, connectives, modifiers, and comparators.
name type description acceptable_values default_value example_use default string Filter by a case-insensitive search of multiple fields in a document. - query=Bob Norman
-query=title:green hoodiecreated_at time handle string id id Filter by idrange.- id:1234
-id:>=1234
-id:<=1234title string updated_at time You can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax). - Anchor to reversereverse•BooleanDefault:false
Reverse the order of the underlying list.
- Anchor to sortKeysort•Blog
Key Sort Keys Default:ID Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.
Arguments
Anchor to MutationsMutations
- blogCreate (BlogCreatePayload)
- blogUpdate (BlogUpdatePayload)
- •mutation
Creates a new blog within a shop, establishing a container for organizing articles.
For example, a fitness equipment retailer launching a wellness blog would use this mutation to create the blog, enabling them to publish workout guides and nutrition tips.
Use the
mutation to:- Launch new content marketing initiatives
- Create separate blogs for different content themes
- Establish spaces for article organization
The mutation validates blog settings and establishes the structure for article publishing.
- Anchor to blogblog•Blog
Create Input! required The properties of the new blog.
Arguments
- •mutation
Updates an existing blog's configuration and settings. This mutation allows merchants to modify blog properties to keep their content strategy current.
For example, a merchant might update their blog's title from "Company News" to "Sustainability Stories" when shifting their content focus, or modify the handle to improve URL structure.
Use the
mutation to:- Change blog titles for rebranding
- Modify blog handles for better URLs
- Adjust comment settings and moderation preferences
The mutation returns the updated blog with any validation errors.
- Anchor to blogblog•Blog
Update Input! required The properties of the blog to be updated.
- •ID!required
The ID of the blog to be updated.
Arguments
Anchor to InterfacesInterfaces
- HasEvents
- HasMetafieldDefinitions
- HasMetafields
- HasPublishedTranslations
- Node
- •interface
- •interface
- •interface