to navigate
to select
esc to close
GET Navigation

Navigation API

https://api.airogelcms.com/v1/accounts/:account_id/navigations

Navigations are menu structures that organize links to content.

Supported Operations

Navigations

  • GET /v1/accounts/:account_id/navigations - List navigations
  • GET /v1/accounts/:account_id/navigations/:id - Get a navigation with items
  • POST /v1/accounts/:account_id/navigations - Create a navigation
  • PUT /v1/accounts/:account_id/navigations/:id - Update a navigation
  • DELETE /v1/accounts/:account_id/navigations/:id - Delete a navigation

Navigation Items

  • GET /v1/accounts/:account_id/navigations/:nav_id/items - List navigation items
  • POST /v1/accounts/:account_id/navigations/:nav_id/items - Create an item
  • PUT /v1/accounts/:account_id/navigations/:nav_id/items/:id - Update an item
  • DELETE /v1/accounts/:account_id/navigations/:nav_id/items/:id - Delete an item

Navigation Item Fields

FieldTypeRequiredDescription
titlestringyesLink text
urlstringnoExplicit URL (if not linking to entry)
priorityintegernoSort order
parent_idstringnoParent item ID for nesting
collection_handlestringnoCollection of linked entry
entry_handlestringnoHandle of linked entry

Parameters

Name Type Required Description
account_id string Required Your account ID
handle string Optional Filter by exact handle match
all boolean Optional Include nested items (for items endpoint)
page integer Optional Page number (default: 1)

Request Example

# Create navigation
curl -X POST \
  -H "Authorization: Bearer $API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"title": "Main Menu", "handle": "main-menu"}' \
  https://api.airogelcms.com/v1/accounts/$ACCOUNT_ID/navigations

# Add explicit URL item
curl -X POST \
  -H "Authorization: Bearer $API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"title": "Home", "url": "/", "priority": 1}' \
  https://api.airogelcms.com/v1/accounts/$ACCOUNT_ID/navigations/main-menu/items

# Add linked entry item
curl -X POST \
  -H "Authorization: Bearer $API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "About Us",
    "priority": 2,
    "collection_handle": "pages",
    "entry_handle": "about"
  }' \
  https://api.airogelcms.com/v1/accounts/$ACCOUNT_ID/navigations/main-menu/items

Response Example

{
  "id": "nav_abc123",
  "handle": "main-menu",
  "title": "Main Menu",
  "items": [
    {
      "id": "ni_item1",
      "title": "Home",
      "url": "/",
      "priority": 1,
      "parent_id": null,
      "children": []
    },
    {
      "id": "ni_item2",
      "title": "About",
      "url": "/about",
      "priority": 2,
      "parent_id": null,
      "entity": {
        "type": "CollectionEntry",
        "id": "cnety_xyz789",
        "handle": "about",
        "title": "About Us",
        "url": "/about"
      },
      "children": []
    }
  ]
}

Additional Notes

Linking to entries: When linking to an entry, provide collection_handle and entry_handle. The URL is automatically derived from the entry's content path.

Nesting items: Use parent_id to create nested menu structures.

Sort order: Items are sorted by priority (ascending). Items with the same priority are sorted by creation date.