Overview #
List collections #
GET
/api/admin/26.0/collections
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 |
| search | string | [Optional] Search in title |
| status | string | [Optional] Filter by status |
| handle | string | [Optional] Filter by handle |
Headers
| Header | Value |
|---|---|
| X-Joonweb-Access-Token | jw_at_xxxxxxxxxxxx |
| Content-Type | application/json |
Request Example
Response
200 OK
{
"collections": [
{
"id": 5032,
"handle": "summer-collection",
"title": "Summer Collection 2026",
"description": "Get ready for the heat with our new arrivals.",
"cover": "https:\/\/cdn.joonweb.com\/images\/summer-banner.jpg",
"status": "public",
"sort_order": "manual",
"rules": [
{
"column": "tag",
"relation": "equals",
"condition": "summer"
}
],
"products_count": 45,
"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
}
}
Count collections #
GET
/api/admin/26.0/collections/count
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 |
| search | string | [Optional] Search in title |
| status | string | [Optional] Filter by status |
| handle | string | [Optional] Filter by handle |
Headers
| Header | Value |
|---|---|
| X-Joonweb-Access-Token | jw_at_xxxxxxxxxxxx |
| Content-Type | application/json |
Request Example
Response
200 OK
{
"count": 156
}
Get collection #
GET
/api/admin/26.0/collections/{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
{
"collection": {
"id": 5032,
"handle": "summer-collection",
"title": "Summer Collection 2026",
"description": "Get ready for the heat with our new arrivals.",
"cover": "https:\/\/cdn.joonweb.com\/images\/summer-banner.jpg",
"status": "public",
"sort_order": "manual",
"rules": [
{
"column": "tag",
"relation": "equals",
"condition": "summer"
}
],
"products_count": 45,
"created_at": "2026-08-27T11:31:04+02:00",
"updated_at": "2026-08-27T11:31:04+02:00"
}
}
List collection products #
GET
/api/admin/26.0/collections/{id}/products
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
{
"collection": {
"id": 5032,
"handle": "summer-collection",
"title": "Summer Collection 2026",
"description": "Get ready for the heat with our new arrivals.",
"cover": "https:\/\/cdn.joonweb.com\/images\/summer-banner.jpg",
"status": "public",
"sort_order": "manual",
"rules": [
{
"column": "tag",
"relation": "equals",
"condition": "summer"
}
],
"products_count": 45,
"created_at": "2026-08-27T11:31:04+02:00",
"updated_at": "2026-08-27T11:31:04+02:00"
}
}
Create collection #
POST
/api/admin/26.0/collections
Parameters
| Field | Type | Description |
|---|---|---|
| title | string | [Required] The title of the collection |
| description | string | [Optional] HTML description |
| status | string | [Optional] Status: public or draft |
| sort_order | string | [Optional] manual, best-selling, alpha-asc, etc. |
| rules | array | [Optional] Array of smart collection rules |
Headers
| Header | Value |
|---|---|
| X-Joonweb-Access-Token | jw_at_xxxxxxxxxxxx |
| Content-Type | application/json |
Request Example
Request Body
{
"collection": {
"title": "example_title",
"body_html": "example_body_html",
"handle": "example_handle",
"status": "active",
"type": "example_type",
"image": {}
}
}
Response
200 OK
{
"collection": {
"id": 5032,
"handle": "summer-collection",
"title": "Summer Collection 2026",
"description": "Get ready for the heat with our new arrivals.",
"cover": "https:\/\/cdn.joonweb.com\/images\/summer-banner.jpg",
"status": "public",
"sort_order": "manual",
"rules": [
{
"column": "tag",
"relation": "equals",
"condition": "summer"
}
],
"products_count": 45,
"created_at": "2026-08-27T11:31:04+02:00",
"updated_at": "2026-08-27T11:31:04+02:00"
}
}
Update collection #
PUT
/api/admin/26.0/collections/{id}
Parameters
| Field | Type | Description |
|---|---|---|
| id | integer/string | [Required] The resource ID or handle |
| title | string | [Required] The title of the collection |
| description | string | [Optional] HTML description |
| status | string | [Optional] Status: public or draft |
| sort_order | string | [Optional] manual, best-selling, alpha-asc, etc. |
| rules | array | [Optional] Array of smart collection rules |
Headers
| Header | Value |
|---|---|
| X-Joonweb-Access-Token | jw_at_xxxxxxxxxxxx |
| Content-Type | application/json |
Request Example
Request Body
{
"collection": []
}
Response
200 OK
{
"collection": {
"id": 5032,
"handle": "summer-collection",
"title": "Summer Collection 2026",
"description": "Get ready for the heat with our new arrivals.",
"cover": "https:\/\/cdn.joonweb.com\/images\/summer-banner.jpg",
"status": "public",
"sort_order": "manual",
"rules": [
{
"column": "tag",
"relation": "equals",
"condition": "summer"
}
],
"products_count": 45,
"created_at": "2026-08-27T11:31:04+02:00",
"updated_at": "2026-08-27T11:31:04+02:00"
}
}
Delete collection #
DELETE
/api/admin/26.0/collections/{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"
}
List collection metafields #
GET
/api/admin/26.0/collections/{id}/metafields.json
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
{
"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 collection metafield #
POST
/api/admin/26.0/collections/{id}/metafields.json
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
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"
}
}