Overview #
List metafield definitions #
GET
/api/admin/26.0/metafield_definitions
Parameters
| Field | Type | Description |
|---|---|---|
| limit | integer | [Optional] Number of results to return (default 20, max 10000) |
| page | integer | [Optional] Page number to fetch (default 1) |
| sort_by | string | [Optional] Field to sort by (e.g. created_at, title) |
| sort_order | string | [Optional] Sort direction: asc or desc |
Headers
| Header | Value |
|---|---|
| X-Joonweb-Access-Token | jw_at_xxxxxxxxxxxx |
| Content-Type | application/json |
Request Example
Response
200 OK
{
"metafield_definitions": [
{
"id": 593,
"namespace": "global",
"key": "title_tag",
"name": "SEO Title Tag",
"description": "Custom SEO Title",
"type": "single_line_text_field",
"owner_type": "PRODUCT",
"validations": [
{
"name": "min",
"value": 10
},
{
"name": "max",
"value": 60
}
]
}
]
}
Create metafield definition #
POST
/api/admin/26.0/metafield_definitions
Headers
| Header | Value |
|---|---|
| X-Joonweb-Access-Token | jw_at_xxxxxxxxxxxx |
| Content-Type | application/json |
Request Example
Request Body
{
"owner_type": "product",
"namespace": "global",
"key": "material",
"type": "single_line_text_field",
"label": "Material"
}
Response
200 OK
{
"metafield_definition": {
"id": 593,
"namespace": "global",
"key": "title_tag",
"name": "SEO Title Tag",
"description": "Custom SEO Title",
"type": "single_line_text_field",
"owner_type": "PRODUCT",
"validations": [
{
"name": "min",
"value": 10
},
{
"name": "max",
"value": 60
}
]
}
}
Delete metafield definition #
DELETE
/api/admin/26.0/metafield_definitions
Headers
| Header | Value |
|---|---|
| X-Joonweb-Access-Token | jw_at_xxxxxxxxxxxx |
| Content-Type | application/json |
Request Example
Response
200 OK
{
"success": true,
"message": "Deleted successfully"
}
List metafield values #
GET
/api/admin/26.0/metafields
Parameters
| Field | Type | Description |
|---|---|---|
| limit | integer | [Optional] Number of results to return (default 20, max 10000) |
| page | integer | [Optional] Page number to fetch (default 1) |
| sort_by | string | [Optional] Field to sort by (e.g. created_at, title) |
| sort_order | string | [Optional] Sort direction: asc or desc |
Headers
| Header | Value |
|---|---|
| X-Joonweb-Access-Token | jw_at_xxxxxxxxxxxx |
| Content-Type | application/json |
Request Example
Response
200 OK
{
"metafields": [
{
"id": 8492,
"namespace": "global",
"key": "title_tag",
"value": "Buy Premium Headphones Online",
"value_type": "string",
"description": "SEO Title Tag",
"owner_id": 104593,
"owner_resource": "product",
"created_at": "2026-08-27T11:31:04+02:00",
"updated_at": "2026-08-27T11:31:04+02:00"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"total_pages": 1
}
}
Create metafield value #
POST
/api/admin/26.0/metafields
Parameters
| Field | Type | Description |
|---|---|---|
| namespace | string | [Required] Grouping namespace |
| key | string | [Required] Metafield key |
| value | string | [Required] Metafield value |
| value_type | string | [Required] string, integer, json, etc. |
| description | string | [Optional] Description of the metafield |
Headers
| Header | Value |
|---|---|
| X-Joonweb-Access-Token | jw_at_xxxxxxxxxxxx |
| Content-Type | application/json |
Request Example
Request Body
{
"owner_type": "product",
"owner_id": 104593,
"namespace": "custom",
"key": "material",
"value": "Cotton"
}
Response
200 OK
{
"metafield": {
"id": 8492,
"namespace": "global",
"key": "title_tag",
"value": "Buy Premium Headphones Online",
"value_type": "string",
"description": "SEO Title Tag",
"owner_id": 104593,
"owner_resource": "product",
"created_at": "2026-08-27T11:31:04+02:00",
"updated_at": "2026-08-27T11:31:04+02:00"
}
}
Update metafield value #
PUT
/api/admin/26.0/metafields/{id}
Parameters
| Field | Type | Description |
|---|---|---|
| id | integer/string | [Required] The resource ID or handle |
| namespace | string | [Required] Grouping namespace |
| key | string | [Required] Metafield key |
| value | string | [Required] Metafield value |
| value_type | string | [Required] string, integer, json, etc. |
| description | string | [Optional] Description of the metafield |
Headers
| Header | Value |
|---|---|
| X-Joonweb-Access-Token | jw_at_xxxxxxxxxxxx |
| Content-Type | application/json |
Request Example
Request Body
{
"value": "Updated Material"
}
Response
200 OK
{
"metafield": {
"id": 8492,
"namespace": "global",
"key": "title_tag",
"value": "Buy Premium Headphones Online",
"value_type": "string",
"description": "SEO Title Tag",
"owner_id": 104593,
"owner_resource": "product",
"created_at": "2026-08-27T11:31:04+02:00",
"updated_at": "2026-08-27T11:31:04+02:00"
}
}
Delete metafield value #
DELETE
/api/admin/26.0/metafields/{id}
Parameters
| Field | Type | Description |
|---|---|---|
| id | integer/string | [Required] The resource ID or handle |
Headers
| Header | Value |
|---|---|
| X-Joonweb-Access-Token | jw_at_xxxxxxxxxxxx |
| Content-Type | application/json |
Request Example
Response
200 OK
{
"success": true,
"message": "Deleted successfully"
}