--- title: OnlineStoreTheme - GraphQL Admin description: |- 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](https://shopify.dev/docs/api/admin-graphql/latest/objects/Product), [collections](https://shopify.dev/docs/api/admin-graphql/latest/objects/Collection), and other content display to customers. Each theme has a [role](https://shopify.dev/docs/api/admin-graphql/latest/objects/OnlineStoreTheme#field-OnlineStoreTheme.fields.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](https://shopify.dev/docs/api/admin-graphql/latest/objects/OnlineStoreTheme#field-OnlineStoreTheme.fields.translations) for multi-language support. api_version: unstable api_name: admin source_url: html: https://shopify.dev/docs/api/admin-graphql/unstable/objects/onlinestoretheme md: https://shopify.dev/docs/api/admin-graphql/unstable/objects/onlinestoretheme.md --- # Online​Store​Theme 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](https://shopify.dev/docs/api/admin-graphql/latest/objects/Product), [collections](https://shopify.dev/docs/api/admin-graphql/latest/objects/Collection), and other content display to customers. Each theme has a [role](https://shopify.dev/docs/api/admin-graphql/latest/objects/OnlineStoreTheme#field-OnlineStoreTheme.fields.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](https://shopify.dev/docs/api/admin-graphql/latest/objects/OnlineStoreTheme#field-OnlineStoreTheme.fields.translations) for multi-language support. ## Fields * created​At [Date​Time!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/DateTime) non-null The date and time when the theme was created. * files [Online​Store​Theme​File​Connection](https://shopify.dev/docs/api/admin-graphql/unstable/connections/OnlineStoreThemeFileConnection) The files in the theme. * id [ID!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/ID) non-null A globally-unique ID. * name [String!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) non-null The name of the theme, set by the merchant. * prefix [String!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/String) non-null The prefix of the theme. * processing [Boolean!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean) non-null Whether the theme is processing. * processing​Failed [Boolean!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Boolean) non-null Whether the theme processing failed. * role [Theme​Role!](https://shopify.dev/docs/api/admin-graphql/unstable/enums/ThemeRole) non-null The role of the theme. * theme​Store​Id [Int](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/Int) The theme store ID. * translations [\[Translation!\]!](https://shopify.dev/docs/api/admin-graphql/unstable/objects/Translation) non-null The published translations associated with the resource. * updated​At [Date​Time!](https://shopify.dev/docs/api/admin-graphql/unstable/scalars/DateTime) non-null The date and time when the theme was last updated. *** ## Map ### Fields and connections with this object * <->[OnlineStoreThemeConnection.nodes](https://shopify.dev/docs/api/admin-graphql/unstable/connections/OnlineStoreThemeConnection#returns-nodes) * {}[OnlineStoreThemeEdge.node](https://shopify.dev/docs/api/admin-graphql/unstable/objects/OnlineStoreThemeEdge#field-OnlineStoreThemeEdge.fields.node) *** ## Queries * [theme](https://shopify.dev/docs/api/admin-graphql/unstable/queries/theme) query Returns an [`OnlineStoreTheme`](https://shopify.dev/docs/api/admin-graphql/latest/objects/OnlineStoreTheme) by its ID. Use this query to retrieve theme metadata and access the theme's [`files`](https://shopify.dev/docs/api/admin-graphql/latest/queries/theme#returns-OnlineStoreTheme.fields.files), which include templates, assets, [translations](https://shopify.dev/docs/api/admin-graphql/latest/objects/OnlineStoreTheme#field-published_translations), and configuration files. * [themes](https://shopify.dev/docs/api/admin-graphql/unstable/queries/themes) query Returns a paginated list of [`OnlineStoreTheme`](https://shopify.dev/docs/api/admin-graphql/latest/objects/OnlineStoreTheme) objects for the online store. Themes control the appearance and layout of the storefront. You can filter themes by [`role`](https://shopify.dev/docs/api/admin-graphql/latest/queries/themes#arguments-roles) to find specific theme types, such as `MAIN` for the published theme and `UNPUBLISHED` for draft themes. *** ## \OnlineStoreTheme Queries ### Queried by * \[theme](https://shopify.dev/docs/api/admin-graphql/unstable/queries/theme) * \[themes](https://shopify.dev/docs/api/admin-graphql/unstable/queries/themes) *** ## Mutations * [theme​Create](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/themeCreate) mutation Creates a theme using an external URL or for files that were previously uploaded using the [stagedUploadsCreate mutation](https://shopify.dev/api/admin-graphql/latest/mutations/stageduploadscreate). These themes are added to the [Themes page](https://admin.shopify.com/themes) in Shopify admin. * [theme​Duplicate](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/themeDuplicate) mutation Duplicates a theme. * [theme​Publish](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/themePublish) mutation Publishes a theme. * [theme​Update](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/themeUpdate) mutation Updates a theme. *** ## <\~> OnlineStoreTheme Mutations ### Mutated by * <\~>[theme​Create](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/themeCreate) * <\~>[theme​Duplicate](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/themeDuplicate) * <\~>[theme​Publish](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/themePublish) * <\~>[theme​Update](https://shopify.dev/docs/api/admin-graphql/unstable/mutations/themeUpdate) *** ## Interfaces * * [Has​Published​Translations](https://shopify.dev/docs/api/admin-graphql/unstable/interfaces/HasPublishedTranslations) interface * [Node](https://shopify.dev/docs/api/admin-graphql/unstable/interfaces/Node) interface *** ## ||-OnlineStoreTheme Implements ### Implements * ||-[Has​Published​Translations](https://shopify.dev/docs/api/admin-graphql/unstable/interfaces/HasPublishedTranslations) * ||-[Node](https://shopify.dev/docs/api/admin-graphql/unstable/interfaces/Node)