Skip to content

Content

Pages, blogs, articles, menus, redirects and policies. Every example sets SOOQUNA_TOKEN from the environment; see authentication. Responses are from a test store, cut to two items per list.

Endpoint Method Path
Create a page POST /pages
List pages GET /pages
Get a page GET /pages/{id}
Update a page PUT /pages/{id}
Show, hide or delete many pages POST /pages/bulk
Create a blog POST /blogs
List blogs GET /blogs
Update a blog PUT /blogs/{id}
Create a blog post POST /articles
List blog posts GET /articles
Get a blog post GET /articles/{id}
Update a blog post PUT /articles/{id}
Delete many blog posts POST /articles/bulk
Delete a blog and its posts DELETE /blogs/{id}
Create a navigation menu POST /menus
List navigation menus GET /menus
Get a navigation menu GET /menus/{id}
Update a navigation menu PUT /menus/{id}
Delete a navigation menu DELETE /menus/{id}
List store policies GET /policies
Update a store policy PUT /policies/{kind}
Create a URL redirect POST /redirects
List URL redirects GET /redirects
Update a URL redirect PUT /redirects/{id}
Delete URL redirects POST /redirects/delete

POST /pages · Scope: write_content

Terminal window
curl -X POST "https://api.sooquna.com/admin/api/2026-10/pages" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "About us",
"body_html": "<p>A family-run abaya house in Doha since 2009.</p>",
"visible": true,
"seo_description": "Our story."
}'
Response 201
{
"author": "Docs",
"body_html": "<p>A family-run abaya house in Doha since 2009.</p>",
"created_at": "2026-10-18T09:30:00Z",
"custom_page_name": "",
"handle": "about-us",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000029",
"publish_at": null,
"published_at": "2026-10-18T09:30:00Z",
"seo_description": "Our story.",
"seo_title": "",
"template_suffix": "",
"title": "About us",
"updated_at": "2026-10-18T09:30:00Z",
"version": 1,
"visible": true
}

GET /pages · Scope: read_content

Parameter In Description
visibility query For example visible.
Terminal window
curl -X GET "https://api.sooquna.com/admin/api/2026-10/pages?visibility=visible" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN"
Response 200
{
"data": [
{
"author": "Docs",
"body_html": "<p>A family-run abaya house in Doha since 2009.</p>",
"created_at": "2026-10-18T09:30:00Z",
"custom_page_name": "",
"handle": "about-us",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000029",
"publish_at": null,
"published_at": "2026-10-18T09:30:00Z",
"seo_description": "Our story.",
"seo_title": "",
"template_suffix": "",
"title": "About us",
"updated_at": "2026-10-18T09:30:00Z",
"version": 1,
"visible": true
}
],
"total": 1
}

GET /pages/{id} · Scope: read_content

Parameter In Description
id path The resource’s ID.
Terminal window
curl -X GET "https://api.sooquna.com/admin/api/2026-10/pages/0193a1b2-c3d4-7e5f-8a6b-000000000029" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN"
Response 200
{
"author": "Docs",
"body_html": "<p>A family-run abaya house in Doha since 2009.</p>",
"created_at": "2026-10-18T09:30:00Z",
"custom_page_name": "",
"handle": "about-us",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000029",
"publish_at": null,
"published_at": "2026-10-18T09:30:00Z",
"seo_description": "Our story.",
"seo_title": "",
"template_suffix": "",
"title": "About us",
"updated_at": "2026-10-18T09:30:00Z",
"version": 1,
"visible": true
}

PUT /pages/{id} · Scope: write_content

Parameter In Description
id path The resource’s ID.
Terminal window
curl -X PUT "https://api.sooquna.com/admin/api/2026-10/pages/0193a1b2-c3d4-7e5f-8a6b-000000000029" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "About us",
"body_html": "<p>A family-run abaya house in Doha since 2009.</p>",
"custom_page_name": "",
"visible": true,
"version": 1
}'
Response 200
{
"author": "Docs",
"body_html": "<p>A family-run abaya house in Doha since 2009.</p>",
"created_at": "2026-10-18T09:30:00Z",
"custom_page_name": "",
"handle": "about-us",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000029",
"publish_at": null,
"published_at": "2026-10-18T09:30:00Z",
"seo_description": "",
"seo_title": "",
"template_suffix": "",
"title": "About us",
"updated_at": "2026-10-18T09:30:00Z",
"version": 2,
"visible": true
}

POST /pages/bulk · Scope: write_content

Terminal window
curl -X POST "https://api.sooquna.com/admin/api/2026-10/pages/bulk" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN" \
-H "Content-Type: application/json" \
-d '{"action": "hide", "ids": ["0193a1b2-c3d4-7e5f-8a6b-000000000029"]}'
Response 200
{"ok": true}

POST /blogs · Scope: write_content

Terminal window
curl -X POST "https://api.sooquna.com/admin/api/2026-10/blogs" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN" \
-H "Content-Type: application/json" \
-d '{"title": "Journal", "comments": "moderated"}'
Response 201
{
"articles_count": 0,
"comments": "moderated",
"created_at": "2026-10-18T09:30:00Z",
"handle": "journal",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000001",
"seo_description": "",
"seo_title": "",
"template_suffix": "",
"title": "Journal",
"updated_at": "2026-10-18T09:30:00Z",
"version": 1
}

GET /blogs · Scope: read_content

Terminal window
curl -X GET "https://api.sooquna.com/admin/api/2026-10/blogs" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN"
Response 200
{
"data": [
{
"articles_count": 0,
"comments": "moderated",
"created_at": "2026-10-18T09:30:00Z",
"handle": "journal",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000001",
"seo_description": "",
"seo_title": "",
"template_suffix": "",
"title": "Journal",
"updated_at": "2026-10-18T09:30:00Z",
"version": 1
}
]
}

PUT /blogs/{id} · Scope: write_content

Parameter In Description
id path The resource’s ID.
Terminal window
curl -X PUT "https://api.sooquna.com/admin/api/2026-10/blogs/0193a1b2-c3d4-7e5f-8a6b-000000000001" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN" \
-H "Content-Type: application/json" \
-d '{"title": "Journal", "comments": "disabled", "version": 1}'
Response 200
{
"articles_count": 0,
"comments": "disabled",
"created_at": "2026-10-18T09:30:00Z",
"handle": "journal",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000001",
"seo_description": "",
"seo_title": "",
"template_suffix": "",
"title": "Journal",
"updated_at": "2026-10-18T09:30:00Z",
"version": 2
}

POST /articles · Scope: write_content

Terminal window
curl -X POST "https://api.sooquna.com/admin/api/2026-10/articles" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"blog_id": "0193a1b2-c3d4-7e5f-8a6b-000000000001",
"title": "Dressing for Eid",
"author": "Mariam",
"body_html": "<p>Five looks for Eid gatherings, from morning prayers to evening visits.</p>",
"tags": ["eid", "style"],
"visible": true
}'
Response 201
{
"author": "Mariam",
"blog_handle": "journal",
"blog_id": "0193a1b2-c3d4-7e5f-8a6b-000000000001",
"blog_title": "Journal",
"body_html": "<p>Five looks for Eid gatherings, from morning prayers to evening visits.</p>",
"comments_count": 0,
"created_at": "2026-10-18T09:30:00Z",
"handle": "dressing-for-eid",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000002",
"image_alt": "",
"image_asset_id": null,
"publish_at": null,
"published_at": "2026-10-18T09:30:00Z",
"seo_description": "",
"seo_title": "",
"summary_html": "",
"tags": ["eid", "style"],
"template_suffix": "",
"title": "Dressing for Eid",
"updated_at": "2026-10-18T09:30:00Z",
"version": 1,
"visible": true
}

GET /articles · Scope: read_content

Parameter In Description
blog_id query An ID, as in the example.
Terminal window
curl -X GET "https://api.sooquna.com/admin/api/2026-10/articles?blog_id=0193a1b2-c3d4-7e5f-8a6b-000000000001" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN"
Response 200
{
"data": [
{
"author": "Mariam",
"blog_handle": "journal",
"blog_id": "0193a1b2-c3d4-7e5f-8a6b-000000000001",
"blog_title": "Journal",
"body_html": "<p>Five looks for Eid gatherings, from morning prayers to evening visits.</p>",
"comments_count": 0,
"created_at": "2026-10-18T09:30:00Z",
"handle": "dressing-for-eid",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000002",
"image_alt": "",
"image_asset_id": null,
"publish_at": null,
"published_at": "2026-10-18T09:30:00Z",
"seo_description": "",
"seo_title": "",
"summary_html": "",
"tags": ["eid", "style"],
"template_suffix": "",
"title": "Dressing for Eid",
"updated_at": "2026-10-18T09:30:00Z",
"version": 1,
"visible": true
}
],
"total": 1
}

GET /articles/{id} · Scope: read_content

Parameter In Description
id path The resource’s ID.
Terminal window
curl -X GET "https://api.sooquna.com/admin/api/2026-10/articles/0193a1b2-c3d4-7e5f-8a6b-000000000002" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN"
Response 200
{
"author": "Mariam",
"blog_handle": "journal",
"blog_id": "0193a1b2-c3d4-7e5f-8a6b-000000000001",
"blog_title": "Journal",
"body_html": "<p>Five looks for Eid gatherings, from morning prayers to evening visits.</p>",
"comments_count": 0,
"created_at": "2026-10-18T09:30:00Z",
"handle": "dressing-for-eid",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000002",
"image_alt": "",
"image_asset_id": null,
"publish_at": null,
"published_at": "2026-10-18T09:30:00Z",
"seo_description": "",
"seo_title": "",
"summary_html": "",
"tags": ["eid", "style"],
"template_suffix": "",
"title": "Dressing for Eid",
"updated_at": "2026-10-18T09:30:00Z",
"version": 1,
"visible": true
}

PUT /articles/{id} · Scope: write_content

Parameter In Description
id path The resource’s ID.
Terminal window
curl -X PUT "https://api.sooquna.com/admin/api/2026-10/articles/0193a1b2-c3d4-7e5f-8a6b-000000000002" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"blog_id": "0193a1b2-c3d4-7e5f-8a6b-000000000001",
"title": "Dressing for Eid",
"author": "Mariam",
"body_html": "<p>Six looks for Eid gatherings.</p>",
"visible": true,
"version": 1
}'
Response 200
{
"author": "Mariam",
"blog_handle": "journal",
"blog_id": "0193a1b2-c3d4-7e5f-8a6b-000000000001",
"blog_title": "Journal",
"body_html": "<p>Six looks for Eid gatherings.</p>",
"comments_count": 0,
"created_at": "2026-10-18T09:30:00Z",
"handle": "dressing-for-eid",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000002",
"image_alt": "",
"image_asset_id": null,
"publish_at": null,
"published_at": "2026-10-18T09:30:00Z",
"seo_description": "",
"seo_title": "",
"summary_html": "",
"tags": [],
"template_suffix": "",
"title": "Dressing for Eid",
"updated_at": "2026-10-18T09:30:00Z",
"version": 2,
"visible": true
}

POST /articles/bulk · Scope: write_content

Terminal window
curl -X POST "https://api.sooquna.com/admin/api/2026-10/articles/bulk" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN" \
-H "Content-Type: application/json" \
-d '{"action": "delete", "ids": ["0193a1b2-c3d4-7e5f-8a6b-000000000002"]}'
Response 200
{"ok": true}

DELETE /blogs/{id} · Scope: write_content

Parameter In Description
id path The resource’s ID.
Terminal window
curl -X DELETE "https://api.sooquna.com/admin/api/2026-10/blogs/0193a1b2-c3d4-7e5f-8a6b-000000000001" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN"
Response 204
{}

POST /menus · Scope: write_content

Terminal window
curl -X POST "https://api.sooquna.com/admin/api/2026-10/menus" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"handle": "eid-menu",
"title": "Eid menu",
"items": [
{
"title": "About us",
"type": "page",
"ref": "0193a1b2-c3d4-7e5f-8a6b-000000000029"
},
{"title": "Size guide", "type": "custom_page", "ref": "size-guide"},
{"title": "Shop all", "type": "url", "url": "/collections/all"}
]
}'
Response 201
{
"handle": "eid-menu",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000027",
"items": [
{
"href": "/pages/about-us",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000028",
"items": [],
"ref": "0193a1b2-c3d4-7e5f-8a6b-000000000029",
"title": "About us",
"type": "page"
},
{
"href": "/custom/size-guide",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000030",
"items": [],
"ref": "size-guide",
"title": "Size guide",
"type": "custom_page"
}
],
"title": "Eid menu",
"updated_at": "2026-10-18T09:30:00Z",
"version": 1
}

GET /menus · Scope: read_content

Terminal window
curl -X GET "https://api.sooquna.com/admin/api/2026-10/menus" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN"
Response 200
{
"data": [
{
"handle": "eid-menu",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000027",
"items": [
{
"href": "/pages/about-us",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000028",
"items": [],
"ref": "0193a1b2-c3d4-7e5f-8a6b-000000000029",
"title": "About us",
"type": "page"
},
{
"href": "/custom/size-guide",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000030",
"items": [],
"ref": "size-guide",
"title": "Size guide",
"type": "custom_page"
}
],
"title": "Eid menu",
"updated_at": "2026-10-18T09:30:00Z",
"version": 1
}
]
}

GET /menus/{id} · Scope: read_content

Parameter In Description
id path The resource’s ID.
Terminal window
curl -X GET "https://api.sooquna.com/admin/api/2026-10/menus/0193a1b2-c3d4-7e5f-8a6b-000000000027" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN"
Response 200
{
"handle": "eid-menu",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000027",
"items": [
{
"href": "/pages/about-us",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000028",
"items": [],
"ref": "0193a1b2-c3d4-7e5f-8a6b-000000000029",
"title": "About us",
"type": "page"
},
{
"href": "/custom/size-guide",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000030",
"items": [],
"ref": "size-guide",
"title": "Size guide",
"type": "custom_page"
}
],
"title": "Eid menu",
"updated_at": "2026-10-18T09:30:00Z",
"version": 1
}

PUT /menus/{id} · Scope: write_content

Item types: url, page, collection, product, blog, article, policy, custom_page, home, catalog, search; ref is the resource ID (or the policy kind, or the custom page name).

Parameter In Description
id path The resource’s ID.
Terminal window
curl -X PUT "https://api.sooquna.com/admin/api/2026-10/menus/0193a1b2-c3d4-7e5f-8a6b-000000000027" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"handle": "eid-menu",
"title": "Eid menu",
"items": [{"title": "Shop all", "type": "url", "url": "/collections/all"}],
"version": 1
}'
Response 200
{
"handle": "eid-menu",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000027",
"items": [
{
"href": "/collections/all",
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000064",
"items": [],
"title": "Shop all",
"type": "url",
"url": "/collections/all"
}
],
"title": "Eid menu",
"updated_at": "2026-10-18T09:30:00Z",
"version": 2
}

DELETE /menus/{id} · Scope: write_content

Parameter In Description
id path The resource’s ID.
Terminal window
curl -X DELETE "https://api.sooquna.com/admin/api/2026-10/menus/0193a1b2-c3d4-7e5f-8a6b-000000000027" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN"
Response 204
{}

GET /policies · Scope: read_content

Terminal window
curl -X GET "https://api.sooquna.com/admin/api/2026-10/policies" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN"
Response 200
{
"data": [
{
"body_html": "<p>You can return unused items in their original condition within 14 days of delivery. To start a return, contact us at .</p><p>Once we receive and inspect the return, we refund the original payment method within 5–10 business days. Cash on delivery orders are refunded by bank transfer or store cr…",
"handle": "refund-policy",
"kind": "refund",
"title": "Refund policy",
"updated_at": "2026-10-18T09:30:00Z",
"version": 1
},
{
"body_html": "<p>Shop collects what we need to fulfil your order: your name, contact details, address and order history. We don't store card details; payments are handled by our payment provider.</p><p>We use your information to deliver orders and contact you, and for marketing only if you agreed to it. You can a…",
"handle": "privacy-policy",
"kind": "privacy",
"title": "Privacy policy",
"updated_at": "2026-10-18T09:30:00Z",
"version": 1
}
]
}

PUT /policies/{kind} · Scope: write_content

kind: refund, privacy, terms, shipping, contact or legal.

Parameter In Description
kind path The kind ID.
Terminal window
curl -X PUT "https://api.sooquna.com/admin/api/2026-10/policies/refund" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "Refund policy",
"body_html": "<p>Unworn items can be returned within 14 days of delivery.</p>",
"version": 1
}'

POST /redirects · Scope: write_content

Terminal window
curl -X POST "https://api.sooquna.com/admin/api/2026-10/redirects" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN" \
-H "Content-Type: application/json" \
-d '{"path": "/abayas-old", "target": "/collections/abayas", "kind": 301}'
Response 201
{
"automatic": false,
"created_at": "2026-10-18T09:30:00Z",
"force": false,
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000043",
"kind": 301,
"path": "/abayas-old",
"target": "/collections/abayas",
"updated_at": "2026-10-18T09:30:00Z"
}

GET /redirects · Scope: read_content

Parameter In Description
q query For example abayas.
Terminal window
curl -X GET "https://api.sooquna.com/admin/api/2026-10/redirects?q=abayas" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN"
Response 200
{
"data": [
{
"automatic": false,
"created_at": "2026-10-18T09:30:00Z",
"force": false,
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000043",
"kind": 301,
"path": "/abayas-old",
"target": "/collections/abayas",
"updated_at": "2026-10-18T09:30:00Z"
}
],
"total": 1
}

PUT /redirects/{id} · Scope: write_content

Parameter In Description
id path The resource’s ID.
Terminal window
curl -X PUT "https://api.sooquna.com/admin/api/2026-10/redirects/0193a1b2-c3d4-7e5f-8a6b-000000000043" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN" \
-H "Content-Type: application/json" \
-d '{"path": "/abayas-old", "target": "/collections/eid-edit", "kind": 301}'
Response 200
{
"automatic": false,
"created_at": "2026-10-18T09:30:00Z",
"force": false,
"id": "0193a1b2-c3d4-7e5f-8a6b-000000000043",
"kind": 301,
"path": "/abayas-old",
"target": "/collections/eid-edit",
"updated_at": "2026-10-18T09:30:00Z"
}

POST /redirects/delete · Scope: write_content

Terminal window
curl -X POST "https://api.sooquna.com/admin/api/2026-10/redirects/delete" \
-H "X-Sooquna-Access-Token: $SOOQUNA_TOKEN" \
-H "Content-Type: application/json" \
-d '{"ids": ["0193a1b2-c3d4-7e5f-8a6b-000000000043"]}'
Response 200
{"deleted": 1}

Was this page helpful?