post
https://{shopdomain}.myshoplaza.com/openapi/2022-01///metafields
Creates a new metafield for a specific resource.
This API is especially useful for:
- Adding custom metadata to various resources such as products, customers, or orders.
- Storing structured information (like text, images, or numbers) related to resources.
- Extending resource functionality for better customization.
Note: The operation is scoped to a specific shop, identified by its unique domain prefix (shopdomain), ensuring all updates are applied to the correct store.
Request Parameters
Public Request Parameters
Path Parameters
| Field | Type | Required | Example | Description |
|---|---|---|---|---|
resource | string | Yes | product | The type of resource the metafield is attached to. Available values: shop, product, product_image, product_variant, order, page, customer, collection, blog, article. |
resource_id | string | No | 1234567890 | The unique ID of the resource to which the metafield is attached. |
Body Parameters
| Field | Type | Required | Example | Description |
|---|---|---|---|---|
definition_id | string | Yes | 374034306256875562 | The ID of the metafield definition. |
namespace | string | Yes | custom | A container for grouping metafields to avoid conflicts with other metafields. |
key | string | Yes | color_code | The key for the metafield. |
value | Mixed | Yes | {"color": "#FFFFFF"} | The data to store in the metafield. Note: The value's data type must match the type specified in the type field (e.g., if type is 'string', the value should be a string format). |
type | string | Yes | json | The type of data the metafield stores. Valid types: \n- date \n- date_time \n- weight \n- volume \n- dimension \n- integer \n- number_decimal \n- file_reference \n- single_line_text_field \n- multi_line_text_field \n- json \n- color \n- rating \n- url \n- boolean. |
description | string | No | Custom field for color | A brief description of the metafield. |
Response Explanation
Public Response Parameters
Successful Response
| Field | Type | Example | Description |
|---|---|---|---|
metafield | object | Metafield object containing all metafield details. | |
metafield.id | string | 374087540346466346 | Unique identifier for the metafield. |
metafield.store_id | integer | 633130 | Store ID associated with the metafield. |
metafield.created_at | string | 2024-04-28T06:52:36.101927450Z | Creation timestamp in UTC. |
metafield.updated_at | string | 2024-04-28T06:52:36.101927568Z | Last update timestamp in UTC. |
metafield.owner_resource | string | product | The resource type the metafield is attached to. |
metafield.owner_id | string | a1a88be0-a1d4-47e4-a2f2-ba6e131cf447 | ID of the resource to which the metafield is attached. |
metafield.namespace | string | shirt | Namespace to group the metafield. |
metafield.key | string | weight1 | Key to identify the metafield. |
metafield.type | string | weight | Type of data stored in the metafield. |
metafield.value | Mixed | 10 | Value stored in the metafield. |
metafield.description | string | weight | Brief description of the metafield. |
metafield.definition_id | string | 374087760941687850 | ID of the metafield definition used. |
Error Response
Error responses in the API can be represented using two different fields: errors and error. Both fields provide details about issues encountered during request processing. Below is an explanation of the fields with their respective examples and descriptions.
| Field | Type | Example | Description |
|---|---|---|---|
errors | array | ["No metafield definition found"] | A list of errors encountered during the request processing. |
| Field | Type | Example | Description |
|---|---|---|---|
error | String | "store is not active" | Indicates an error encountered during the process |
Error Detail
| Status Code | Message | Possible Reason | Example Response |
|---|---|---|---|
| Unauthorized | The request is missing valid authentication credentials or the credentials provided are invalid. | Unauthorized | |
| 400 | Bad Request | Invalid input format or request structure (e.g., missing required fields or incorrect data types). | Bad Request |
| namespace is a required field | |||
| key is a required field | |||
| type is a required field | |||
| value is a required field | |||
| invalid own resources | |||
| invalid key value type |
