# Asset
Starting with Admin API 2023-04, if an app distributed through the Shopify App Store uses the Asset resource to create, edit or delete a theme's asset, you need to request the required protected access scope. In most cases, you shouldn't use the Asset resource. To learn more about when you can use the Asset resource, and how to migrate, refer to the Asset resource.
Theme assets are the individual files that make up a shop's theme.
{{ '/api/reference/asset.png' | image }}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, refer to Theme architecture.
To learn how to create your own theme, see Building themes.
## Resource Properties ### Asset * attachment: A base64-encoded image. * Type: x-string * Example: "R0lGODlhAQABAPABAP///wAAACH5Ow==\n" * checksum: The MD5 representation of the content, consisting of a string of 32 hexadecimal digits. May be null if an asset has not been updated recently. * Type: x-string * Example: "f69db2c563b5be32648ac7367557c09c" * content_type: The MIME representation of the content, consisting of the type and subtype of the asset. * Type: x-string * Example: "image/gif" * created_at: The date and time (ISO 8601 format) when the asset was created. * Type: x-string * Example: "2010-07-12T15:31:50-04:00" * key: The path to the asset within a theme. It consists of the file's directory and filename. For example, the assetassets/bg-body-green.gif
is in the assets directory, so its key is assets/bg-body-green.gif
.
* Type: x-string
* Example: "assets/bg-body-green.gif"
* public_url: The public-facing URL of the asset.
* Type: x-string
* Example: "http://static.shopify.com/assets/bg.gif?1"
* size: The asset size in bytes.
* Type: x-string
* Example: 1542
* theme_id: The ID for the theme that an asset belongs to.
* Type: x-string
* Example: 828155753
* updated_at: The date and time (ISO 8601 format) when an asset was last updated.
* Type: x-string
* Example: "2010-07-12T15:31:50-04:00"
* value: The text content of the asset, such as the HTML and Liquid markup of a template file.
* Type: x-string
* Example: "We couldn't find the page you were looking for.
\nRetrieves a list of assets for a theme.
Note: Retrieving a list of assets returns only metadata about each asset. To retrieve an asset's content, you need to retrieve the asset individually.
### Endpoint /admin/api/#{api_version}/themes/{theme_id}/assets.json (GET) ### Parameters * api_version (required): * theme_id (required): * fields: Specify which fields to show using a comma-separated list of field names. ### Responses #### 200 Retrieves a list of assets for a theme Examples: ##### Retrieve a list of all assets for a theme Request: ``` GET /admin/api/unstable/themes/828155753/assets.json ``` Response: ``` HTTP/1.1 200 OK {"assets":[{"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":"application/x-liquid","size":3252,"checksum":null,"theme_id":828155753},{"key":"assets/sidebar-devider.gif","public_url":"https://cdn.shopify.com/s/files/1/0005/4838/0009/t/1/assets/sidebar-devider.gif?v=1278963110","created_at":"2010-07-12T15:31:50-04:00","updated_at":"2010-07-12T15:31:50-04:00","content_type":"image/gif","size":1016,"checksum":null,"theme_id":828155753},{"key":"assets/bg-body-pink.gif","public_url":"https://cdn.shopify.com/s/files/1/0005/4838/0009/t/1/assets/bg-body-pink.gif?v=1278963110","created_at":"2010-07-12T15:31:50-04:00","updated_at":"2010-07-12T15:31:50-04:00","content_type":"image/gif","size":1562,"checksum":null,"theme_id":828155753},{"key":"assets/bg-content.gif","public_url":"https://cdn.shopify.com/s/files/1/0005/4838/0009/t/1/assets/bg-content.gif?v=1278963110","created_at":"2010-07-12T15:31:50-04:00","updated_at":"2010-07-12T15:31:50-04:00","content_type":"image/gif","size":134,"checksum":null,"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":"application/x-liquid","size":998,"checksum":null,"theme_id":828155753},{"key":"assets/shop.css.liquid","public_url":"https://cdn.shopify.com/s/files/1/0005/4838/0009/t/1/assets/shop.css.liquid?v=1278963110","created_at":"2010-07-12T15:31:50-04:00","updated_at":"2010-07-12T15:31:50-04:00","content_type":"application/x-liquid","size":14675,"checksum":null,"theme_id":828155753},{"key":"assets/shop.js","public_url":"https://cdn.shopify.com/s/files/1/0005/4838/0009/t/1/assets/shop.js?v=1278963110","created_at":"2010-07-12T15:31:50-04:00","updated_at":"2010-07-12T15:31:50-04:00","content_type":"application/javascript","size":348,"checksum":null,"theme_id":828155753},{"key":"assets/bg-main.gif","public_url":"https://cdn.shopify.com/s/files/1/0005/4838/0009/t/1/assets/bg-main.gif?v=1278963110","created_at":"2010-07-12T15:31:50-04:00","updated_at":"2010-07-12T15:31:50-04:00","content_type":"image/gif","size":297,"checksum":null,"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":"application/x-liquid","size":997,"checksum":null,"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":"application/x-liquid","size":147,"checksum":null,"theme_id":828155753},{"key":"assets/bg-body-green.gif","public_url":"https://cdn.shopify.com/s/files/1/0005/4838/0009/t/1/assets/bg-body-green.gif?v=1278963110","created_at":"2010-07-12T15:31:50-04:00","updated_at":"2010-07-12T15:31:50-04:00","content_type":"image/gif","size":1542,"checksum":null,"theme_id":828155753},{"key":"assets/shop.css","public_url":"https://cdn.shopify.com/s/files/1/0005/4838/0009/t/1/assets/shop.css?v=1278963110","created_at":"2010-07-12T15:31:50-04:00","updated_at":"2010-07-12T15:31:50-04:00","content_type":"text/css","size":14058,"checksum":null,"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,"checksum":null,"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":"application/x-liquid","size":2440,"checksum":null,"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":"application/x-liquid","size":773,"checksum":null,"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":"application/x-liquid","size":2486,"checksum":null,"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":"application/x-liquid","size":2796,"checksum":null,"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":"application/x-liquid","size":999,"checksum":null,"theme_id":828155753},{"key":"assets/bg-footer.gif","public_url":"https://cdn.shopify.com/s/files/1/0005/4838/0009/t/1/assets/bg-footer.gif?v=1278963110","created_at":"2010-07-12T15:31:50-04:00","updated_at":"2010-07-12T15:31:50-04:00","content_type":"image/gif","size":1434,"checksum":null,"theme_id":828155753},{"key":"assets/bg-sidebar.gif","public_url":"https://cdn.shopify.com/s/files/1/0005/4838/0009/t/1/assets/bg-sidebar.gif?v=1278963110","created_at":"2010-07-12T15:31:50-04:00","updated_at":"2010-07-12T15:31:50-04:00","content_type":"image/gif","size":124,"checksum":null,"theme_id":828155753},{"key":"assets/bg-body-orange.gif","public_url":"https://cdn.shopify.com/s/files/1/0005/4838/0009/t/1/assets/bg-body-orange.gif?v=1278963110","created_at":"2010-07-12T15:31:50-04:00","updated_at":"2010-07-12T15:31:50-04:00","content_type":"image/gif","size":1548,"checksum":null,"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":"application/x-liquid","size":946,"checksum":null,"theme_id":828155753},{"key":"assets/sidebar-menu.jpg","public_url":"https://cdn.shopify.com/s/files/1/0005/4838/0009/t/1/assets/sidebar-menu.jpg?v=1278963110","created_at":"2010-07-12T15:31:50-04:00","updated_at":"2010-07-12T15:31:50-04:00","content_type":"image/jpeg","size":1609,"checksum":null,"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":"application/x-liquid","size":2047,"checksum":null,"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,"checksum":null,"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":"application/x-liquid","size":1068,"checksum":null,"theme_id":828155753},{"key":"assets/bg-body.gif","public_url":"https://cdn.shopify.com/s/files/1/0005/4838/0009/t/1/assets/bg-body.gif?v=1278963110","created_at":"2010-07-12T15:31:50-04:00","updated_at":"2010-07-12T15:31:50-04:00","content_type":"image/gif","size":1571,"checksum":null,"theme_id":828155753}]} ``` ## Creates or updates an asset for a themeCreates 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.
We are busy updating the store for you and will be back within the hour.
"}} ``` 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":"2025-01-02T11:21:30-05:00","content_type":"application/x-liquid","size":110,"checksum":"cd71db2e14df976c8aa44b44c8dae77b","theme_id":828155753}} ``` ##### Create an image asset by providing a base64-encoded attachment Request: ``` PUT /admin/api/unstable/themes/828155753/assets.json {"asset":{"key":"assets/empty.gif","attachment":"R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==\n"}} ``` Response: ``` HTTP/1.1 200 OK {"asset":{"key":"assets/empty.gif","public_url":"https://cdn.shopify.com/s/files/1/0005/4838/0009/t/1/assets/empty.gif?v=1735834893","created_at":"2025-01-02T11:21:33-05:00","updated_at":"2025-01-02T11:21:33-05:00","content_type":"image/gif","size":43,"checksum":"45cf913e5d9d3c9b2058033056d3dd23","theme_id":828155753}} ``` ##### Create an image asset by providing a source URL from which to upload the image Request: ``` PUT /admin/api/unstable/themes/828155753/assets.json {"asset":{"key":"assets/bg-body.gif","src":"http://example.com/new_bg.gif"}} ``` Response: ``` HTTP/1.1 200 OK {"asset":{"key":"assets/bg-body.gif","public_url":"https://cdn.shopify.com/s/files/1/0005/4838/0009/t/1/assets/bg-body.gif?v=1735834891","created_at":"2010-07-12T15:31:50-04:00","updated_at":"2025-01-02T11:21:31-05:00","content_type":"image/gif","size":43,"checksum":"45cf913e5d9d3c9b2058033056d3dd23","theme_id":828155753}} ``` ##### Duplicate an existing asset by providing a source key Request: ``` PUT /admin/api/unstable/themes/828155753/assets.json {"asset":{"key":"layout/alternate.liquid","source_key":"layout/theme.liquid"}} ``` Response: ``` HTTP/1.1 200 OK {"asset":{"key":"layout/alternate.liquid","public_url":null,"created_at":"2025-01-02T11:21:30-05:00","updated_at":"2025-01-02T11:21:30-05:00","content_type":"application/x-liquid","size":3049,"checksum":"1879a06996941b2ff1ff485a1fe60a97","theme_id":828155753}} ``` ## Retrieves a single asset for a themeRetrieves 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, refer to Asset properties.
frontpage
and it will show up here.\n