Asset

Theme assets are the individual files that make up a shop's theme.

A theme's assets include its templates, images, stylesheets, and extra snippets of code. They are arranged among the theme's directories, such as layout, templates, and assets. You can use the Asset resource to add, change, or remove asset files from a shop's theme. For a complete list of theme directories, see Theme structure.

To learn how to create your own theme, see Building themes.

What you can do with Asset

The Shopify API lets you do the following with the Asset resource. More detailed versions of these general actions may be available:

Asset properties

attachment
"attachment": "R0lGODlhAQABAPABAP///wAAACH5Ow==\n"

A base64-encoded image.

content_type
"content_type": "image/gif"

The MIME representation of the content, consisting of the type and subtype of the asset.

created_at
"created_at": "2010-07-12T15:31:50-04:00"

The date and time (ISO 8601 format) when the asset was created.

key
"key": "assets/bg-body-green.gif"

The path to the asset within a theme. It consists of the file's directory and filename. For example, the asset assets/bg-body-green.gif is in the assets directory, so its key is assets/bg-body-green.gif.

public_url
"public_url": "http://static.shopify.com/assets/bg.gif?1"

The public-facing URL of the asset.

size
"size": 1542

The asset size in bytes.

theme_id
"theme_id": 828155753

The ID for the theme that an asset belongs to.

updated_at
"updated_at": "2010-07-12T15:31:50-04:00"

The date and time (ISO 8601 format) when an asset was last updated.

value
"value": "<div id=\"page\">\n<h1>404 Page not found</h1>\n<p>We couldn't find the page you were looking for.</p>\n</div>"

The text content of the asset, such as the HTML and Liquid markup of a template file.

Endpoints

GET /admin/themes/828155753/assets.json
Retrieves a list of assets for a theme. Listing theme assets returns only metadata about each asset. To get an asset's contents, you need to retrieve the asset individually.
fields

Show only certain fields, specified by a comma-separated list of field names

Retrieve a list of all assets for a theme

GET /admin/themes/#{theme_id}/assets.json
View Response
HTTP/1.1 200 OK
{
  "assets": [
    {
      "key": "assets/bg-body-green.gif",
      "public_url": "https://cdn.shopify.com/s/files/1/0006/9093/3842/t/1/assets/bg-body-green.gif?8695258668138991386",
      "created_at": "2010-07-12T15:31:50-04:00",
      "updated_at": "2010-07-12T15:31:50-04:00",
      "content_type": "image/gif",
      "size": 1542,
      "theme_id": 828155753
    },
    {
      "key": "assets/bg-body-orange.gif",
      "public_url": "https://cdn.shopify.com/s/files/1/0006/9093/3842/t/1/assets/bg-body-orange.gif?8695258668138991386",
      "created_at": "2010-07-12T15:31:50-04:00",
      "updated_at": "2010-07-12T15:31:50-04:00",
      "content_type": "image/gif",
      "size": 1548,
      "theme_id": 828155753
    },
    {
      "key": "assets/bg-body-pink.gif",
      "public_url": "https://cdn.shopify.com/s/files/1/0006/9093/3842/t/1/assets/bg-body-pink.gif?8695258668138991386",
      "created_at": "2010-07-12T15:31:50-04:00",
      "updated_at": "2010-07-12T15:31:50-04:00",
      "content_type": "image/gif",
      "size": 1562,
      "theme_id": 828155753
    },
    {
      "key": "assets/bg-body.gif",
      "public_url": "https://cdn.shopify.com/s/files/1/0006/9093/3842/t/1/assets/bg-body.gif?8695258668138991386",
      "created_at": "2010-07-12T15:31:50-04:00",
      "updated_at": "2010-07-12T15:31:50-04:00",
      "content_type": "image/gif",
      "size": 1571,
      "theme_id": 828155753
    },
    {
      "key": "assets/bg-content.gif",
      "public_url": "https://cdn.shopify.com/s/files/1/0006/9093/3842/t/1/assets/bg-content.gif?8695258668138991386",
      "created_at": "2010-07-12T15:31:50-04:00",
      "updated_at": "2010-07-12T15:31:50-04:00",
      "content_type": "image/gif",
      "size": 134,
      "theme_id": 828155753
    },
    {
      "key": "assets/bg-footer.gif",
      "public_url": "https://cdn.shopify.com/s/files/1/0006/9093/3842/t/1/assets/bg-footer.gif?8695258668138991386",
      "created_at": "2010-07-12T15:31:50-04:00",
      "updated_at": "2010-07-12T15:31:50-04:00",
      "content_type": "image/gif",
      "size": 1434,
      "theme_id": 828155753
    },
    {
      "key": "assets/bg-main.gif",
      "public_url": "https://cdn.shopify.com/s/files/1/0006/9093/3842/t/1/assets/bg-main.gif?8695258668138991386",
      "created_at": "2010-07-12T15:31:50-04:00",
      "updated_at": "2010-07-12T15:31:50-04:00",
      "content_type": "image/gif",
      "size": 297,
      "theme_id": 828155753
    },
    {
      "key": "assets/bg-sidebar.gif",
      "public_url": "https://cdn.shopify.com/s/files/1/0006/9093/3842/t/1/assets/bg-sidebar.gif?8695258668138991386",
      "created_at": "2010-07-12T15:31:50-04:00",
      "updated_at": "2010-07-12T15:31:50-04:00",
      "content_type": "image/gif",
      "size": 124,
      "theme_id": 828155753
    },
    {
      "key": "assets/shop.css",
      "public_url": "https://cdn.shopify.com/s/files/1/0006/9093/3842/t/1/assets/shop.css?8695258668138991386",
      "created_at": "2010-07-12T15:31:50-04:00",
      "updated_at": "2010-07-12T15:31:50-04:00",
      "content_type": "text/css",
      "size": 14058,
      "theme_id": 828155753
    },
    {
      "key": "assets/shop.css.liquid",
      "public_url": "https://cdn.shopify.com/s/files/1/0006/9093/3842/t/1/assets/shop.css.liquid?8695258668138991386",
      "created_at": "2010-07-12T15:31:50-04:00",
      "updated_at": "2010-07-12T15:31:50-04:00",
      "content_type": "text/x-liquid",
      "size": 14675,
      "theme_id": 828155753
    },
    {
      "key": "assets/shop.js",
      "public_url": "https://cdn.shopify.com/s/files/1/0006/9093/3842/t/1/assets/shop.js?8695258668138991386",
      "created_at": "2010-07-12T15:31:50-04:00",
      "updated_at": "2010-07-12T15:31:50-04:00",
      "content_type": "application/javascript",
      "size": 348,
      "theme_id": 828155753
    },
    {
      "key": "assets/sidebar-devider.gif",
      "public_url": "https://cdn.shopify.com/s/files/1/0006/9093/3842/t/1/assets/sidebar-devider.gif?8695258668138991386",
      "created_at": "2010-07-12T15:31:50-04:00",
      "updated_at": "2010-07-12T15:31:50-04:00",
      "content_type": "image/gif",
      "size": 1016,
      "theme_id": 828155753
    },
    {
      "key": "assets/sidebar-menu.jpg",
      "public_url": "https://cdn.shopify.com/s/files/1/0006/9093/3842/t/1/assets/sidebar-menu.jpg?8695258668138991386",
      "created_at": "2010-07-12T15:31:50-04:00",
      "updated_at": "2010-07-12T15:31:50-04:00",
      "content_type": "image/jpeg",
      "size": 1609,
      "theme_id": 828155753
    },
    {
      "key": "config/settings_data.json",
      "public_url": null,
      "created_at": "2010-07-12T15:31:50-04:00",
      "updated_at": "2010-07-12T15:31:50-04:00",
      "content_type": "application/json",
      "size": 4570,
      "theme_id": 828155753
    },
    {
      "key": "config/settings_schema.json",
      "public_url": null,
      "created_at": "2010-07-12T15:31:50-04:00",
      "updated_at": "2010-07-12T15:31:50-04:00",
      "content_type": "application/json",
      "size": 4570,
      "theme_id": 828155753
    },
    {
      "key": "layout/theme.liquid",
      "public_url": null,
      "created_at": "2010-07-12T15:31:50-04:00",
      "updated_at": "2010-07-12T15:31:50-04:00",
      "content_type": "text/x-liquid",
      "size": 3252,
      "theme_id": 828155753
    },
    {
      "key": "sections/content_section.liquid",
      "public_url": null,
      "created_at": "2016-02-11T14:31:50-05:00",
      "updated_at": "2016-02-11T14:31:50-05:00",
      "content_type": "text/x-liquid",
      "size": 997,
      "theme_id": 828155753
    },
    {
      "key": "sections/footer_section.liquid",
      "public_url": null,
      "created_at": "2017-04-28T10:30:00-04:00",
      "updated_at": "2017-04-28T10:30:00-04:00",
      "content_type": "text/x-liquid",
      "size": 999,
      "theme_id": 828155753
    },
    {
      "key": "sections/header_section.liquid",
      "public_url": null,
      "created_at": "2017-04-28T10:30:00-04:00",
      "updated_at": "2017-04-28T10:30:00-04:00",
      "content_type": "text/x-liquid",
      "size": 998,
      "theme_id": 828155753
    },
    {
      "key": "sections/product_section.liquid",
      "public_url": null,
      "created_at": "2016-02-14T16:31:41-05:00",
      "updated_at": "2016-02-14T16:31:41-05:00",
      "content_type": "text/x-liquid",
      "size": 2440,
      "theme_id": 828155753
    },
    {
      "key": "templates/article.liquid",
      "public_url": null,
      "created_at": "2010-07-12T15:31:50-04:00",
      "updated_at": "2010-07-12T15:31:50-04:00",
      "content_type": "text/x-liquid",
      "size": 2486,
      "theme_id": 828155753
    },
    {
      "key": "templates/blog.liquid",
      "public_url": null,
      "created_at": "2010-07-12T15:31:50-04:00",
      "updated_at": "2010-07-12T15:31:50-04:00",
      "content_type": "text/x-liquid",
      "size": 786,
      "theme_id": 828155753
    },
    {
      "key": "templates/cart.liquid",
      "public_url": null,
      "created_at": "2010-07-12T15:31:50-04:00",
      "updated_at": "2010-07-12T15:31:50-04:00",
      "content_type": "text/x-liquid",
      "size": 2047,
      "theme_id": 828155753
    },
    {
      "key": "templates/collection.liquid",
      "public_url": null,
      "created_at": "2010-07-12T15:31:50-04:00",
      "updated_at": "2010-07-12T15:31:50-04:00",
      "content_type": "text/x-liquid",
      "size": 946,
      "theme_id": 828155753
    },
    {
      "key": "templates/index.liquid",
      "public_url": null,
      "created_at": "2010-07-12T15:31:50-04:00",
      "updated_at": "2010-07-12T15:31:50-04:00",
      "content_type": "text/x-liquid",
      "size": 1068,
      "theme_id": 828155753
    },
    {
      "key": "templates/page.liquid",
      "public_url": null,
      "created_at": "2010-07-12T15:31:50-04:00",
      "updated_at": "2010-07-12T15:31:50-04:00",
      "content_type": "text/x-liquid",
      "size": 147,
      "theme_id": 828155753
    },
    {
      "key": "templates/product.liquid",
      "public_url": null,
      "created_at": "2010-07-12T15:31:50-04:00",
      "updated_at": "2010-07-12T15:31:50-04:00",
      "content_type": "text/x-liquid",
      "size": 2796,
      "theme_id": 828155753
    }
  ]
}
GET /admin/themes/828155753/assets.json

Retrieves a single asset for a theme by its key.

To retrieve a single asset, include asset[key]=#{asset_key} as a request parameter. For example, to retrieve the asset with a key of templates/index.liquid, the request might be /admin/themes/828155753/assets.json?asset[key]=templates/index.liquid.

For more information on the key property, see Asset properties.

fields

Show only certain fields, specified by a comma-separated list of field names

Retrieve a Liquid template

GET /admin/themes/#{theme_id}/assets.json?asset[key]=templates/index.liquid&theme_id=828155753
View Response
HTTP/1.1 200 OK
{
  "asset": {
    "key": "templates/index.liquid",
    "public_url": null,
    "value": "<!-- LIST 3 PER ROW -->\n<h2>Featured Products</h2>\n<table id=\"products\" cellspacing=\"0\" cellpadding=\"0\">\n  {% tablerow product in collections.frontpage.products cols:3 %}\n    <a href=\"{{product.url}}\">{{ product.featured_image | product_img_url: 'small' | img_tag }}</a>\n    <h3><a href=\"{{product.url}}\">{{product.title}}</a></h3>\n    <ul class=\"attributes\">\n      <li><span class=\"money\">{{product.price_min | money}}</span></li>\n    </ul>\n  {% endtablerow %}\n</table>\n<!-- /LIST 3 PER ROW -->\n\n{{ content_for_index }}\n\n<div id=\"articles\">\n  {% assign article = pages.frontpage %}\n  <div class=\"article\">\n    {% if article.content != \"\" %}\n      <h3>{{ article.title }}</h3>\n      <div class=\"article-body textile\">\n        {{ article.content }}\n      </div>\n    {% else %}\n      <div class=\"article-body textile\">\n        In <em>Admin &gt; Blogs &amp; Pages</em>, create a page with the handle <strong><code>frontpage</code></strong> and it will show up here.\n        <br />\n        {{ \"Learn more about handles\" | link_to \"http://wiki.shopify.com/Handle\" }}\n      </div>\n    {% endif %}\n  </div>\n</div>\n",
    "created_at": "2010-07-12T15:31:50-04:00",
    "updated_at": "2010-07-12T15:31:50-04:00",
    "content_type": "text/x-liquid",
    "size": 1068,
    "theme_id": 828155753
  }
}

Retrieve a theme image

GET /admin/themes/#{theme_id}/assets.json?asset[key]=assets/bg-body.gif&theme_id=828155753
View Response
HTTP/1.1 200 OK
{
  "asset": {
    "key": "assets/bg-body.gif",
    "public_url": "https://cdn.shopify.com/s/files/1/0006/9093/3842/t/1/assets/bg-body.gif?12311918025686348068",
    "attachment": "R0lGODlhBgCTAPcAAIzH6Xu423y53IO/4pXP8CAgIJPN75HM7X263YvG6Hq3\n2nq325XP8X+835LM7pDL7YTA45TO8I3I6pLN7oG+4IfD5ZPO75DK7I7J64K+\n4YC94IbC5ITA4onF54rF54C834jD5o/K7JDL7JHM7nq424XB45TP8JXQ8YC9\n34jE5onE5pTO74K/4ZbQ8n+73u7u7iQkJDU1NYrF6FpaWsvLy+Xl5VNTU47K\n63y63YnE51dXVzw8PEJCQk5OTkhISITB49TU1CkpKS8vL5HL7X263JXQ8IG+\n4X+83o/J64XB5Hy43Hy63IbB5IfD5obC5YvH6ZPN7n673Xu43IjD5Y/K64fC\n5IPA4pbR8o3J6oG94Hu53Hu323273Xq42orG6IfC5X663ZfQ8pLN73663nu5\n25fQ8ZPO8IzI6ovF6Hy53YvH6I7I6o7J6nm32ny524O/4Y3H6pbR8YzI6X+7\n34XC45fR8oPA44G934fD5H253Y3I63y424K+4Hm42o3I6X273ozG6Y7I64C8\n4IzH6oC734O/45bQ8JLO7pHL7oS/4obD5X253InF5pTP8YK94H6735XO8JDK\n7ZTN8JbP8Hm324jE54/L7IXA44TB5JLM7YO+4YnG54zG6I7J7Hu32oK94YK/\n4n673pbQ8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAGAJMAAAj+AMvUaXGlThiC\nLeKEEZUwTJgrokSVaSERIsOIGDNSjHgiIoOMogyd6HiCAYMiJk8UKTnJZBEC\nK2GaJNCIgE0GERiYILAzAgFINk1EMCE0gk8CRomuWFHUzIoISw2skGrAjAUL\nkqxaMADlqoGtBsJe3QplwiExEwyg5VoWrYMJb+PChevAwQi7I0Yc0HvArgNE\nIzLtPTDkgGHCBx4QfsD4wRARiocwliwC8gXIlSNZuhxCRIgLny+IBh06BBUq\nSEIg6XTj9A0kr0NgeH0Dg+3ZbGyzCWQ7EBssGLBgWSNBjx4sEpKvIZ68uQQ/\nfs7IgSPnzCAA1gFo1w5nu3dA25/+POEE6EkCAGrMJ0igXs16L+7Xy0CDxgsa\nGV4S4Pcgo7+H/x5s0oEHA3aQA4E55NDBggumkKAKOahQiQqMpKDChSmAoEKG\nIICQQoYpTAFCBU2QOEWJTYAgYolTVPBFBYpUIOMXVVRRQRV4bPCFE058gYcT\nG2zAYxVBFrkBE0gmUQITJSTBRBJ00FHCD01WCUEJmFwyJQQ/QOAllxBwwCUH\ndtjxg5hhQmAFB2wWksiaHFgxgJwD1PnGACwMcGedA4DCgiZvsJAnnhmwkEGh\nGVBwqBF8ZGDEoRnwQYERlFLgCAUUZPEJphpkgSkFGtyRRRYaaIBCqafegQIK\nH5z6gQb+HwiyaqwfNNBArR/UaqutRzTgAiG2uiDsHMI+ckQox86B7LGhNOts\nKFFAK+0YoXARyhjU/gFGKGAgwAUYYHCBQBR/iIvAuecSsQQRRCCAQx44LIED\nETicK4C8eaSBgAD03rvIvWmkIcDABGvhhgBaDKyEGwEkrIQWSkjBsBJkkBGA\nFEoEsMceAQRgsRQkSBEACR13TPICWwSwxckoK9DxAguQEDPKMC/gCQkKLNBF\nzgq00UcXXfisgAI470xJz0MrUMDSTM/g9NM6RC21DVRX3cPVWPug9dY8dO31\nDmCHHcPYZAth9tlBpK02DGy3zTTTNMQtNxB0113D3Xi/oPcD3gEBADs=\n",
    "created_at": "2010-07-12T15:31:50-04:00",
    "updated_at": "2010-07-12T15:31:50-04:00",
    "content_type": "image/gif",
    "size": 1571,
    "theme_id": 828155753
  }
}
PUT /admin/themes/828155753/assets.json

Creates or updates an asset for a theme.

In the PUT request, you can include the src or source_key property to create the asset from an existing file.

src

The source URL of an image. Include in the body of the PUT request to upload the image to Shopify.

source_key

The path within the theme to an existing asset. Include in the body of the PUT request to create a duplicate asset.

Change an existing Liquid template's value

PUT /admin/themes/#{theme_id}/assets.json
{
  "asset": {
    "key": "templates/index.liquid",
    "value": "<img src='backsoon-postit.png'><p>We are busy updating the store for you and will be back within the hour.</p>"
  }
}
View Response
HTTP/1.1 200 OK
{
  "asset": {
    "key": "templates/index.liquid",
    "public_url": null,
    "created_at": "2010-07-12T15:31:50-04:00",
    "updated_at": "2018-11-13T14:42:15-05:00",
    "content_type": "text/x-liquid",
    "size": 110,
    "theme_id": 828155753
  }
}

Create an image asset by providing a base64-encoded attachment

PUT /admin/themes/#{theme_id}/assets.json
{
  "asset": {
    "key": "assets/empty.gif",
    "attachment": "R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==\n"
  }
}
View Response
HTTP/1.1 200 OK
{
  "asset": {
    "key": "assets/empty.gif",
    "public_url": "https://cdn.shopify.com/s/files/1/0006/9093/3842/t/1/assets/empty.gif?4381152800614608168",
    "created_at": "2018-11-13T14:42:17-05:00",
    "updated_at": "2018-11-13T14:42:17-05:00",
    "content_type": "image/gif",
    "size": 43,
    "theme_id": 828155753
  }
}

Create an image asset by providing a source URL from which to upload the image

PUT /admin/themes/#{theme_id}/assets.json
{
  "asset": {
    "key": "assets/bg-body.gif",
    "src": "http://apple.com/new_bg.gif"
  }
}
View Response
HTTP/1.1 200 OK
{
  "asset": {
    "key": "assets/bg-body.gif",
    "public_url": "https://cdn.shopify.com/s/files/1/0006/9093/3842/t/1/assets/bg-body.gif?801661595895522588",
    "created_at": "2010-07-12T15:31:50-04:00",
    "updated_at": "2018-11-13T14:42:18-05:00",
    "content_type": "image/gif",
    "size": 43,
    "theme_id": 828155753
  }
}

Duplicate an existing asset by providing a source key

PUT /admin/themes/#{theme_id}/assets.json
{
  "asset": {
    "key": "layout/alternate.liquid",
    "source_key": "layout/theme.liquid"
  }
}
View Response
HTTP/1.1 200 OK
{
  "asset": {
    "key": "layout/alternate.liquid",
    "public_url": null,
    "created_at": "2018-11-13T14:42:19-05:00",
    "updated_at": "2018-11-13T14:42:19-05:00",
    "content_type": "text/x-liquid",
    "size": 2976,
    "theme_id": 828155753
  }
}
DELETE /admin/themes/828155753/assets.json
Deletes an asset from a theme.

Delete an image from a theme

DELETE /admin/themes/#{theme_id}/assets.json?asset[key]=assets/bg-body.gif
View Response
HTTP/1.1 200 OK
{
}

Deleting an asset required by the theme fails with an error

DELETE /admin/themes/#{theme_id}/assets.json?asset[key]=layout/theme.liquid
View Response
HTTP/1.1 403 Forbidden
{
}

Sign up for a Partner account to get started.

Sign up