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
            • GETList Products
            • PUTUpdate Products (batch)
            • POSTCreate Product
            • DELDelete Products
            • GETGet Product
            • PUTUpdate Product
            • DELDelete Product
              • GETList Product Metafields
              • POSTCreate Product Metafield
              • GETGet Product Metafield
              • PUTUpdate Product Metafield
              • DELDelete Product Metafield
        • Product Modifiers
        • Product Variants
        • Product Variant Options
      • Payments
  • GraphQL
    • Overview
  • MCP
    • Overview
Dev Portal
LogoLogo
RESTAdminCatalogProductsMetafields

Create Product Metafield

POST
https://api.bigcommerce.com/stores/:store_hash/v3/catalog/products/:product_id/metafields
POST
/stores/:store_hash/v3/catalog/products/:product_id/metafields
$curl -X POST https://api.bigcommerce.com/stores/store_hash/v3/catalog/products/1/metafields \
> -H "Accept: application/json" \
> -H "X-Auth-Token: <apiKey>" \
> -H "Content-Type: application/json" \
> -d '{
> "key": "location_id",
> "value": "Shelf 3, Bin 5",
> "namespace": "Inventory Namespace",
> "permission_set": "read",
> "description": "Where products are located"
>}'
1{
2 "data": {
3 "key": "location_id",
4 "namespace": "Inventory Namespace",
5 "permission_set": "read",
6 "value": "Shelf 3, Bin 5",
7 "date_created": "2018-09-13T16:42:37+00:00",
8 "date_modified": "2018-09-13T16:42:37+00:00",
9 "description": "Where products are located",
10 "id": 8,
11 "resource_id": 158,
12 "resource_type": "product"
13 },
14 "meta": {}
15}
Creates a *Product Metafield*. **Required Fields:** * permission_set * namespace * key * value **Note:** The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see [Platform Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center.
Was this page helpful?
Previous

List Product Metafields

Next

Get Product Metafield

Built with

Creates a Product Metafield.

Required Fields:

  • permission_set
  • namespace
  • key
  • value

Note: The maxiumum number of metafields allowed on each order, product, category, variant, or brand is 250 per client ID. For more information, see Platform Limits in the Help Center.

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.

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

This endpoint expects an object.
keystringRequired1-64 characters

The name of the field, for example: location_id, color. Required for POST.

valuestringRequired1-65535 characters

The value of the field, for example: 1, blue. You must enter a JSON formatted string for ShipperHQ metafields. Required for POST.

namespacestringRequired1-64 characters
Namespace for the metafield, for organizational purposes. This is set by the developer. Required for POST.
permission_setenumRequired

Determines the visibility and writeability of the field by other API consumers.

ValueDescription
app_onlyPrivate to the app that owns the field
readVisible to other API consumers
writeOpen for reading and writing by other API consumers
read_and_sf_accessVisible to other API consumers, including on storefront
write_and_sf_accessOpen for reading and writing by other API consumers, including on storefront
Allowed values:
descriptionstringOptional0-255 characters
Description for the metafields.

Response

dataobject
metaobject
Response metadata.

Errors

400
Bad Request Error
409
Conflict Error
422
Unprocessable Entity 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.