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
| Field | Type | Required | Description |
|---|---|---|---|
| title | string | yes | Link text |
| url | string | no | Explicit URL (if not linking to entry) |
| priority | integer | no | Sort order |
| parent_id | string | no | Parent item ID for nesting |
| collection_handle | string | no | Collection of linked entry |
| entry_handle | string | no | Handle 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.