Skip to content

Replace navigation items for a site

PUT
/v1/brands/{brandId}/sites/{siteId}/nav
curl --request PUT \
--url https://kynectlocal-production.up.railway.app/v1/v1/brands/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/sites/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/nav \
--header 'Authorization: Bearer <token>'
brandId
required
string format: uuid

Brand identifier

siteId
required
string format: uuid

Success

Media type application/json
object
data
required
object
navigation
required
Array<object>
object
id
required

Navigation item identifier

string format: uuid
tenantId
required

Parent tenant

string format: uuid
brandId
required

Parent brand

string format: uuid
locationId
required

Location scope β€” null for brand-level items

string | null format: uuid
siteId
required

Parent site

string format: uuid
label
required

Display label

string
path
required

Link path

string
isExternal
required

Whether the link opens externally

boolean
sortOrder
required

Display sort order

integer
parentId
required

Parent item identifier for nested nav

string | null format: uuid
visibilityRule
required

Visibility rule: always | logged_in | logged_out

string
openInNewTab
required

Whether to open in a new tab

boolean
iconName
required

Icon name

string | null
context
required

Navigation context: location | corporate

string
createdAt
required

Creation timestamp

string format: date-time
updatedAt
required

Last update timestamp

string format: date-time
Example generated
{
"data": {
"navigation": [
{
"id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"tenantId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"brandId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"locationId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"siteId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"label": "example",
"path": "example",
"isExternal": true,
"sortOrder": 1,
"parentId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"visibilityRule": "example",
"openInNewTab": true,
"iconName": "example",
"context": "example",
"createdAt": "2026-04-15T12:00:00Z",
"updatedAt": "2026-04-15T12:00:00Z"
}
]
}
}

Validation error

Media type application/json
object
error
required

Error envelope

object
code
required

Machine-readable error code

string
message
required

Human-readable error description

string
details

Additional context, e.g. validation field errors

Example generated
{
"error": {
"code": "example",
"message": "example",
"details": "example"
}
}

Unauthenticated

Media type application/json
object
error
required

Error envelope

object
code
required

Machine-readable error code

string
message
required

Human-readable error description

string
details

Additional context, e.g. validation field errors

Example generated
{
"error": {
"code": "example",
"message": "example",
"details": "example"
}
}

Forbidden

Media type application/json
object
error
required

Error envelope

object
code
required

Machine-readable error code

string
message
required

Human-readable error description

string
details

Additional context, e.g. validation field errors

Example generated
{
"error": {
"code": "example",
"message": "example",
"details": "example"
}
}

Not found

Media type application/json
object
error
required

Error envelope

object
code
required

Machine-readable error code

string
message
required

Human-readable error description

string
details

Additional context, e.g. validation field errors

Example generated
{
"error": {
"code": "example",
"message": "example",
"details": "example"
}
}

Unprocessable

Media type application/json
object
error
required

Error envelope

object
code
required

Machine-readable error code

string
message
required

Human-readable error description

string
details

Additional context, e.g. validation field errors

Example generated
{
"error": {
"code": "example",
"message": "example",
"details": "example"
}
}