Open API v2 / CMS & Content / Menus

Menus

Every request needs a bearer token: Authorization: Bearer <token>. Base URL https://your-site.webinone.com. New to field types? See the type reference.

GET/api/v2/admin/menus#

Retrieves a list of menus by using a "where" filtering

Parameters
Wherestring · query
JSON filter expression. Combine operators ($eq, $contains, $gt, $in, …) with $and / $or.
Order_Bystring · query
Sort field. Prefix with - for descending; comma-separate for tie-breakers.
Semantic_Querystring · query
Natural-language search, ranked by relevance.
Min_Scorenumber · query
Lowest relevance score to include when using Semantic_Query.
Offsetinteger · query
Number of items to skip before returning results. Defaults to 0.
Limitinteger · query
Maximum number of items to return. Defaults to 100.
Response
Idinteger
Unique identifier assigned by the platform.
Namestring
Human-readable name.
Aliasstring
Machine-readable alias.
LiquidAliasstring
Technical alias — a machine-readable key used in Liquid templates.
MenuItemsJsonarray of objects
Menu items stored as a JSON structure.
curl "https://your-site.webinone.com/api/v2/admin/menus" \
  -H "Authorization: Bearer <token>"
Response · 200
{
  "Items": [
    {
      "Id": 1,
      "Name": "Example",
      "Alias": "string",
      "LiquidAlias": "string",
      "MenuItemsJson": [
        {
          "ItemId": "string",
          "ItemName": "Example",
          "ItemUrl": "https://example.com",
          "ItemTargetFrame": "string",
          "ItemClass": "string",
          "ItemTitle": "string",
          "ItemCustomAttribute": "string",
          "ItemEnabled": false,
          "ReleaseDate": "2026-07-01T00: 00: 00Z",
          "ExpiryDate": "2026-07-01T00: 00: 00Z",
          "children": [
            {}
          ]
        }
      ]
    }
  ],
  "TotalItemsCount": 0
}
POST/api/v2/admin/menus#

Creates a new menu

Body parameters
Namestringrequired
Name of the menu.
Aliasstringrequired
A technical unique key or system name. Used by the frontend to bind icons, styles, or section switching logic without binding to the localization of the name. Alias - unique within one menu level.
Response
Idinteger
Unique identifier assigned by the platform.
Namestring
Human-readable name.
Aliasstring
Machine-readable alias.
LiquidAliasstring
Technical alias — a machine-readable key used in Liquid templates.
MenuItemsJsonarray of objects
Menu items stored as a JSON structure.
curl -X POST "https://your-site.webinone.com/api/v2/admin/menus" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"Name":"Example","Alias":"string"}'
Response · 200
{
  "Id": 1,
  "Name": "Example",
  "Alias": "string",
  "LiquidAlias": "string",
  "MenuItemsJson": [
    {
      "ItemId": "string",
      "ItemName": "Example",
      "ItemUrl": "https://example.com",
      "ItemTargetFrame": "string",
      "ItemClass": "string",
      "ItemTitle": "string",
      "ItemCustomAttribute": "string",
      "ItemEnabled": false,
      "ReleaseDate": "2026-07-01T00: 00: 00Z",
      "ExpiryDate": "2026-07-01T00: 00: 00Z",
      "children": [
        {}
      ]
    }
  ]
}
GET/api/v2/admin/menus/{id}#

Retrieves a single menu

Parameters
idinteger · pathrequired
Menu id.
Response
Idinteger
Unique identifier assigned by the platform.
Namestring
Human-readable name.
Aliasstring
Machine-readable alias.
LiquidAliasstring
Technical alias — a machine-readable key used in Liquid templates.
MenuItemsJsonarray of objects
Menu items stored as a JSON structure.
curl "https://your-site.webinone.com/api/v2/admin/menus/1" \
  -H "Authorization: Bearer <token>"
Response · 200
{
  "Id": 1,
  "Name": "Example",
  "Alias": "string",
  "LiquidAlias": "string",
  "MenuItemsJson": [
    {
      "ItemId": "string",
      "ItemName": "Example",
      "ItemUrl": "https://example.com",
      "ItemTargetFrame": "string",
      "ItemClass": "string",
      "ItemTitle": "string",
      "ItemCustomAttribute": "string",
      "ItemEnabled": false,
      "ReleaseDate": "2026-07-01T00: 00: 00Z",
      "ExpiryDate": "2026-07-01T00: 00: 00Z",
      "children": [
        {}
      ]
    }
  ]
}
PUT/api/v2/admin/menus/{id}#

Updates an existing menu

Parameters
idinteger · pathrequired
Existent menu id.
Body parameters
Namestringrequired
Name of the menu.
Aliasstringrequired
A technical unique key or system name. Used by the frontend to bind icons, styles, or section switching logic without binding to the localization of the name. Alias - unique within one menu level.
Response
Idinteger
Unique identifier assigned by the platform.
Namestring
Human-readable name.
Aliasstring
Machine-readable alias.
LiquidAliasstring
Technical alias — a machine-readable key used in Liquid templates.
MenuItemsJsonarray of objects
Menu items stored as a JSON structure.
curl -X PUT "https://your-site.webinone.com/api/v2/admin/menus/1" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"Name":"Example","Alias":"string"}'
Response · 200
{
  "Id": 1,
  "Name": "Example",
  "Alias": "string",
  "LiquidAlias": "string",
  "MenuItemsJson": [
    {
      "ItemId": "string",
      "ItemName": "Example",
      "ItemUrl": "https://example.com",
      "ItemTargetFrame": "string",
      "ItemClass": "string",
      "ItemTitle": "string",
      "ItemCustomAttribute": "string",
      "ItemEnabled": false,
      "ReleaseDate": "2026-07-01T00: 00: 00Z",
      "ExpiryDate": "2026-07-01T00: 00: 00Z",
      "children": [
        {}
      ]
    }
  ]
}
DELETE/api/v2/admin/menus/{id}#

Deletes an existing menu

Parameters
idinteger · pathrequired
Existent menu id.
curl -X DELETE "https://your-site.webinone.com/api/v2/admin/menus/1" \
  -H "Authorization: Bearer <token>"
GET/api/v2/admin/menus/{id}/items#

Retrieves a menu items

Parameters
idinteger · pathrequired
Menu id.
Response
MenuItemsJsonarray of objects
Menu items stored as a JSON structure.
curl "https://your-site.webinone.com/api/v2/admin/menus/1/items" \
  -H "Authorization: Bearer <token>"
Response · 200
{
  "MenuItemsJson": [
    {
      "Id": 1,
      "ItemId": "string",
      "ItemName": "Example",
      "ItemUrl": "https://example.com",
      "ItemTargetFrame": "string",
      "ItemClass": "string",
      "ItemTitle": "string",
      "ItemCustomAttribute": "string",
      "ItemEnabled": false,
      "ReleaseDate": "2026-07-01T00: 00: 00Z",
      "ExpiryDate": "2026-07-01T00: 00: 00Z",
      "children": [
        {}
      ]
    }
  ]
}
PUT/api/v2/admin/menus/{id}/items#

Updates an existing menu

Parameters
idinteger · pathrequired
Existent menu id.
Body parameters
MenuItemsJsonarray of objects
Menu items stored as a JSON structure.
Response
Idinteger
Unique identifier assigned by the platform.
Namestring
Human-readable name.
Aliasstring
Machine-readable alias.
LiquidAliasstring
Technical alias — a machine-readable key used in Liquid templates.
MenuItemsJsonarray of objects
Menu items stored as a JSON structure.
curl -X PUT "https://your-site.webinone.com/api/v2/admin/menus/1/items" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"MenuItemsJson":[{"ItemId":"string","ItemName":"Example","ItemUrl":"https://example.com","ItemTargetFrame":"string","ItemClass":"string","ItemTitle":"string","ItemCustomAttribute":"string","ItemEnabled":false,"ReleaseDate":"2026-07-01T00:00:00Z","ExpiryDate":"2026-07-01T00:00:00Z","children":[{}]}]}'
Response · 200
{
  "Id": 1,
  "Name": "Example",
  "Alias": "string",
  "LiquidAlias": "string",
  "MenuItemsJson": [
    {
      "ItemId": "string",
      "ItemName": "Example",
      "ItemUrl": "https://example.com",
      "ItemTargetFrame": "string",
      "ItemClass": "string",
      "ItemTitle": "string",
      "ItemCustomAttribute": "string",
      "ItemEnabled": false,
      "ReleaseDate": "2026-07-01T00: 00: 00Z",
      "ExpiryDate": "2026-07-01T00: 00: 00Z",
      "children": [
        {}
      ]
    }
  ]
}
GET/api/v2/admin/menus/{id}/layout-groups#

Retrieves a single menu layout item

Parameters
idinteger · pathrequired
Resource identifier.
Response
curl "https://your-site.webinone.com/api/v2/admin/menus/1/layout-groups" \
  -H "Authorization: Bearer <token>"
Response · 200
[
  "string"
]
POST/api/v2/admin/menus/{id}/layout-groups#

Creates a new menu

Parameters
idinteger · pathrequired
Resource identifier.
Body parameters
Namestringrequired
Name of the layout group.
Response
curl -X POST "https://your-site.webinone.com/api/v2/admin/menus/1/layout-groups" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"Name":"Example"}'
Response · 200
[
  "string"
]
PUT/api/v2/admin/menus/{id}/layout-groups#

Updates an existing menu

Parameters
idinteger · pathrequired
Resource identifier.
Body parameters
OldNamestringrequired
Current name of the layout group being renamed, used to locate the group to update.
NewNamestringrequired
New name to assign to the layout group.
Response
curl -X PUT "https://your-site.webinone.com/api/v2/admin/menus/1/layout-groups" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"OldName":"Example","NewName":"Example"}'
Response · 200
[
  "string"
]
DELETE/api/v2/admin/menus/{id}/layout-groups#

Deletes an existing menu

Parameters
idinteger · pathrequired
Resource identifier.
layoutGroupstring · queryrequired
LayoutGroup.
curl -X DELETE "https://your-site.webinone.com/api/v2/admin/menus/1/layout-groups" \
  -H "Authorization: Bearer <token>"
GET/api/v2/admin/menus/{id}/layout-groups/item#

Retrieves a single menu

Parameters
idinteger · pathrequired
Menu id.
ItemNamestring · queryrequired
ItemName.
LayoutGroupstring · queryrequired
LayoutGroup.
Response
ItemContentstring · nullable
HTML/Liquid layout code. Contains the markup that will be rendered on the page.
ItemNamestring
Text label shown for the menu item.
LayoutGroupstring
Group binding: Determines where this layout will be available for selection.
curl "https://your-site.webinone.com/api/v2/admin/menus/1/layout-groups/item" \
  -H "Authorization: Bearer <token>"
Response · 200
{
  "ItemContent": "string",
  "ItemName": "Example",
  "LayoutGroup": "string"
}
PUT/api/v2/admin/menus/{id}/layout-groups/item#

Updates an existing menu layout item

Parameters
idinteger · pathrequired
Existent menu id.
Body parameters
ItemContentstring · nullable
HTML/Liquid layout code. Contains the markup that will be rendered on the page.
ItemNamestringrequired
Text label shown for the menu item.
LayoutGroupstringrequired
Group binding: Determines where this layout will be available for selection.
Response
ItemContentstring · nullable
HTML/Liquid layout code. Contains the markup that will be rendered on the page.
ItemNamestring
Text label shown for the menu item.
LayoutGroupstring
Group binding: Determines where this layout will be available for selection.
curl -X PUT "https://your-site.webinone.com/api/v2/admin/menus/1/layout-groups/item" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"ItemContent":"string","ItemName":"Example","LayoutGroup":"string"}'
Response · 200
{
  "ItemContent": "string",
  "ItemName": "Example",
  "LayoutGroup": "string"
}
GET/api/v2/admin/menus/{id}/layout-groups/items#

Retrieves a single menu layout item

Parameters
idinteger · pathrequired
Resource identifier.
layoutGroupstring · queryrequired
LayoutGroup.
Response
curl "https://your-site.webinone.com/api/v2/admin/menus/1/layout-groups/items" \
  -H "Authorization: Bearer <token>"
Response · 200
[
  "string"
]