younifyd
Menu

themeCreate

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.

Use it in a workflow

  1. Add a step and choose the Shopify connector.
  2. Pick the themeCreate action (under Theme).
  3. Fill in the fields below, then reference the result from later steps as {{themecreate.response.data}}.

Query

This is the mutation the action sends by default. Edit it in the step's Query field to change which fields come back.

graphql
mutation ThemeCreate($source: URL!, $name: String, $role: ThemeRole) {
  themeCreate(source: $source, name: $name, role: $role) {
    theme {
      createdAt
      id
      name
      prefix
      processing
      processingFailed
      role
      themeStoreId
      updatedAt
    }
    userErrors {
      code
      field
      message
    }
  }
}

Variables

Pass these as a JSON object in the step's Variables field.

sourcestringrequired

An external URL or a [staged upload URL](https://shopify.dev/api/admin-graphql/latest/mutations/stageduploadscreate) of the theme to import.

namestring

The name of the theme to be created.

rolestring

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

One ofMAINUNPUBLISHEDDEMODEVELOPMENTARCHIVEDLOCKEDMOBILE

json
{
  "source": "string",
  "name": "string",
  "role": "MAIN"
}

Response

Read the result with {{themecreate.response.data.data.themeCreate}}. If the API returns errors, the step fails and they are at {{themecreate.response.data.errors}}.

themeobject
createdAtstring
idstring
namestring
prefixstring
processingboolean
processingFailedboolean
rolestring

One ofMAINUNPUBLISHEDDEMODEVELOPMENTARCHIVEDLOCKEDMOBILE

themeStoreIdnumber
updatedAtstring
userErrorsarray<object>
codeobject
fieldobject
messageobject

Need more? See the Shopify guide for connection setup and behaviour shared by every action.

Was this page helpful?