younifyd
Menu

themeFilesUpsert

Creates or updates theme files in an online store theme. This mutation allows batch operations on multiple theme files, either creating new files or overwriting existing ones with the same filename.

Use it in a workflow

  1. Add a step and choose the Shopify connector.
  2. Pick the themeFilesUpsert action (under Theme).
  3. Fill in the fields below, then reference the result from later steps as {{themefilesupsert.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 ThemeFilesUpsert($themeId: ID!, $files: [OnlineStoreThemeFilesUpsertFileInput!]!) {
  themeFilesUpsert(themeId: $themeId, files: $files) {
    job {
      done
      id
      query {
        appDiscountTypes
        availableBackupRegions
        availableCarrierServices
        availableLocales
        backupRegion
        businessEntities
        catalogOperations
        collectionConditionMetafieldDefinitions
        collectionRulesConditions
        consentPolicyRegions
        currentAppInstallation
        currentStaffMember
        deliveryPromiseSettings
        financeAppAccessPolicy
        financeKycInformation
        fulfillmentConstraintRules
        giftCardConfiguration
        inventoryProperties
        locationsAvailableForDeliveryProfiles
        metafieldDefinitionTypes
        onlineStore
        pendingOrdersCount
        primaryMarket
        privacySettings
        publicApiVersions
        serverPixel
        shop
        shopBillingPreferences
        shopifyPaymentsAccount
        storeCreditConfiguration
        taxonomy
      }
    }
    upsertedThemeFiles {
      checksumMd5
      createdAt
      filename
      size
      updatedAt
    }
    userErrors {
      code
      field
      filename
      message
    }
  }
}

Variables

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

themeIdstringrequired

The theme to update.

filesarray<object>required

The files to update.

filenamestringrequired
bodyobjectrequired2 fields
json
{
  "themeId": "string",
  "files": [
    {
      "filename": "string",
      "body": {
        "type": "string",
        "value": "string"
      }
    }
  ]
}

Response

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

jobobject
doneboolean
idstring
queryobject31 fields
upsertedThemeFilesarray<object>
checksumMd5object
createdAtobject
filenameobject
sizeobject
updatedAtobject
userErrorsarray<object>
codeobject
fieldobject
filenameobject
messageobject

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

Was this page helpful?
themeFilesUpsert — Shopify — Documentation