For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Dev Portal
DocsAPI ReferenceLearnCommunityChangelog
DocsAPI ReferenceLearnCommunityChangelog
    • About Our APIs
  • REST
    • Overview
      • Overview
        • Brands
        • Categories
        • Category Trees
        • Products
        • Product Modifiers
        • Product Variants
            • GETList Product Variants
            • POSTCreate Product Variant
            • GETGet Product Variant
            • PUTUpdate Product Variant
            • DELDelete Product Variant
              • POSTCreate Product Variant Image
        • Product Variant Options
      • Payments
  • GraphQL
    • Overview
  • MCP
    • Overview
Dev Portal
LogoLogo
RESTAdminCatalogProduct VariantsImages

Create Product Variant Image

POST
https://api.bigcommerce.com/stores/:store_hash/v3/catalog/products/:product_id/variants/:variant_id/image
POST
/stores/:store_hash/v3/catalog/products/:product_id/variants/:variant_id/image
$curl -X POST https://api.bigcommerce.com/stores/store_hash/v3/catalog/products/1/variants/1/image \
> -H "Accept: application/json" \
> -H "X-Auth-Token: <apiKey>" \
> -H "Content-Type: application/json" \
> -d '{
> "image_url": "https://example.com/path/to/variant-image.png"
>}'
1{
2 "data": {
3 "image_url": "https://cdn8.bigcommerce.com/s-id30h7ohwf/product_images/attribute_rule_images/85_source_1536863430.png"
4 },
5 "meta": {}
6}
Creates a *Variant Image*. Only one image can be explicitly associated with a Variant. If the Variant already has an associated image, overwrites the existing Variant Image. The image displays on the storefront when the Variant is selected. **Required Fields** - image_file: Form posts. Files larger than 1 MB are not accepted - image_url: Any publicly available URL
Was this page helpful?
Previous

Delete Multiple Metafields

Next

List Product Variant Metafields

Built with

Creates a Variant Image.

Only one image can be explicitly associated with a Variant. If the Variant already has an associated image, overwrites the existing Variant Image.

The image displays on the storefront when the Variant is selected.

Required Fields

  • image_file: Form posts. Files larger than 1 MB are not accepted
  • image_url: Any publicly available URL

Authentication

X-Auth-Tokenstring
### OAuth scopes | UI Name | Permission | Parameter | |:--------|:-----------|:----------| | Products | modify | `store_v2_products` | | Products | read-only | `store_v2_products_read_only` | ### Authentication header | Header | Argument | Description | |:-------|:---------|:------------| | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). | ### Further reading For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests). For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes). For a list of API status codes, see [API Status Codes](/developer/api-reference/rest/overview#rest-http-status-codes).

Path parameters

product_idintegerRequired

The ID of the Product to which the resource belongs. Product variant metafield endpoints that have the product_id in the request path are successful as long as the parameter is not empty. The product_id segment is there only for path consistency.

variant_idintegerRequired
ID of the variant on a product, or on an associated Price List Record.
store_hashstringRequired
Permanent ID of the BigCommerce store.

Headers

AcceptstringRequiredDefaults to application/json
The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body.

Request

An object containing a publicly accessible image URL, or a form post that contains an image file.
image_urlstringOptional
A public URL for a GIF, JPEG, or PNG image. Limit of 8MB per file.

Response

image_url is returned for both image_file and image_url.

dataobject
An object containing a publicly accessible image URL, or a form post that contains an image file.
metaobject
Response metadata.

Errors

400
Bad Request Error
404
Not Found Error
422
Unprocessable Entity Error
500
Internal Server Error

OAuth scopes

UI NamePermissionParameter
Productsmodifystore_v2_products
Productsread-onlystore_v2_products_read_only

Authentication header

HeaderArgumentDescription
X-Auth-Tokenaccess_tokenFor more about API accounts that generate access_tokens, see our Guide to API Accounts.

Further reading

For example requests and more information about authenticating BigCommerce APIs, see Authentication and Example Requests.

For more about BigCommerce OAuth scopes, see our Guide to API Accounts.

For a list of API status codes, see API Status Codes.

The MIME type of the response body.