Skip to main content
object

Requires read_themes access scope.

A theme for display on the storefront. Themes control the visual appearance and functionality of the online store through templates, stylesheets, and assets that determine how products, collections, and other content display to customers.

Each theme has a role that indicates its status. Main themes are live on the storefront, unpublished themes are inactive, demo themes require purchase before publishing, and development themes are temporary for previewing during development. The theme includes translations for multi-language support.

DateTime!
non-null

The date and time when the theme was created.

OnlineStoreThemeFileConnection

The files in the theme.

Arguments

[String!]

The filenames of the theme files. At most 50 filenames can be specified. Use '*' to match zero or more characters.

Int
Default:50

Returns at most the first n files for this theme. Fewer than n files may be returned to stay within the payload size limit, or when the end of the list is reached. At most 2500 can be fetched at once.

String

A cursor for use in pagination.


ID!
non-null

A globally-unique ID.

String!
non-null

The name of the theme, set by the merchant.

String!
non-null

The prefix of the theme.

Boolean!
non-null

Whether the theme is processing.

Boolean!
non-null

Whether the theme processing failed.

ThemeRole!
non-null

The role of the theme.

Int

The theme store ID.

[Translation!]!
non-null

The published translations associated with the resource.

Arguments

String!
required

Filters translations locale.

ID

Filters translations by market ID. Use this argument to retrieve content specific to a market.


DateTime!
non-null

The date and time when the theme was last updated.


Was this section helpful?

query

Returns an OnlineStoreTheme by its ID. Use this query to retrieve theme metadata and access the theme's files, which include templates, assets, translations, and configuration files.

Arguments

ID!
required

The ID of the theme.


query

Returns a paginated list of OnlineStoreTheme objects for the online store. Themes control the appearance and layout of the storefront.

You can filter themes by role to find specific theme types, such as MAIN for the published theme and UNPUBLISHED for draft themes.

Arguments

[ThemeRole!]

The theme roles to filter by.

[String!]

The theme names to filter by. Use '*' to match zero or more characters.

Int

The first n elements from the paginated list.

String

The elements that come after the specified cursor.

Int

The last n elements from the paginated list.

String

The elements that come before the specified cursor.

Boolean
Default:false

Reverse the order of the underlying list.



Was this section helpful?

mutation

Creates a theme from an external URL or staged upload. The theme source can either be a ZIP file hosted at a public URL or files previously uploaded using the stagedUploadsCreate mutation. The theme displays in the Themes page in the Shopify admin.

New themes have an UNPUBLISHED role by default. You can optionally specify a DEVELOPMENT role for temporary themes used during development.

Arguments

URL!
required

An external URL or a staged upload URL of the theme to import.

String

The name of the theme to be created.

ThemeRole
Default:UNPUBLISHED

The role of the theme to be created. Only UNPUBLISHED and DEVELOPMENT roles are permitted.


mutation

Duplicates a theme.

Arguments

ID!
required

ID of the theme to be duplicated.

String

Name of the new theme.


mutation

Publishes a theme.

Arguments

ID!
required

ID of the theme to be published.


mutation

Updates a theme.

Arguments

ID!
required

The ID of the theme to be updated.

OnlineStoreThemeInput!
required

The attributes of the theme to be updated.



Was this section helpful?


Was this section helpful?