Appearance
User navigation
Internal
These endpoints are internal to Hailer and not part of the supported public API.
The current user's app navigation (pinned and tracked apps).
Endpoints
| Endpoint | Arguments | Returns |
|---|---|---|
v3.user.navigation.forget | appId: string | boolean |
v3.user.navigation.list | none | object |
v3.user.navigation.ping | appId: string | boolean |
v3.user.navigation.save | apps: Array<{ _id: string, name?: string }> | boolean |
v3.user.navigation.forget
Description
Removes an app from the user's tracked-apps list entirely (pinned status and usage history). Used when the app is permanently gone for the user - e.g. the user deleted it themselves or dismissed a ghost entry for an app they've lost access to.
Parameters
Argument 1 (PinnedAppId, discussions | feed | calendar | people | PinnedAppId, required):
Example
javascript
const { Client } = require('@hailer/cli');
const client = await Client.create({
host: 'https://api.hailer.com',
username: 'you@example.com',
password: '••••••',
});
const result = await client.request('v3.user.navigation.forget', [
'discussions', // PinnedAppId (required)
]);
console.log(result);Returns
boolean
Auth: requires an authenticated session.
Errors: on failure returns the standard Hailer error object { code, msg, details?, debug? }.
v3.user.navigation.list
Description
Returns the current user's tracked side-dock apps (pinned and recently-used).
Parameters
Undocumented
This endpoint declares no argument schema in the source yet.
Example
javascript
const { Client } = require('@hailer/cli');
const client = await Client.create({
host: 'https://api.hailer.com',
username: 'you@example.com',
password: '••••••',
});
const result = await client.request('v3.user.navigation.list', []);
console.log(result);Returns
| Field | Type | Required | Description |
|---|---|---|---|
apps | object[] | yes |
Auth: requires an authenticated session.
Errors: on failure returns the standard Hailer error object { code, msg, details?, debug? }.
v3.user.navigation.ping
Description
Records a navigation to a single app. Bumps lastUsedAt and increments timesUsed. If the app is not yet tracked, inserts a new entry without pinnedAt (usage history without pinning).
Parameters
Argument 1 (PinnedAppId, discussions | feed | calendar | people | PinnedAppId, required):
Example
javascript
const { Client } = require('@hailer/cli');
const client = await Client.create({
host: 'https://api.hailer.com',
username: 'you@example.com',
password: '••••••',
});
const result = await client.request('v3.user.navigation.ping', [
'discussions', // PinnedAppId (required)
]);
console.log(result);Returns
boolean
Auth: requires an authenticated session.
Errors: on failure returns the standard Hailer error object { code, msg, details?, debug? }.
v3.user.navigation.save
Description
Replaces the current user's pinned-app list. Used for pin / unpin / reorder / refresh display name. Server preserves counters for ids already tracked, drops pinnedAt on entries that fall out of the pin list (usage history survives), and seeds defaults for newly-pinned ids. Per-entry name is captured at pin time and refreshed by the client when the app's display name changes.
Parameters
Argument 1 (object[], required):
Example
javascript
const { Client } = require('@hailer/cli');
const client = await Client.create({
host: 'https://api.hailer.com',
username: 'you@example.com',
password: '••••••',
});
const result = await client.request('v3.user.navigation.save', [
[{ /* ... */ }],
]);
console.log(result);Returns
boolean
Auth: requires an authenticated session.
Errors: on failure returns the standard Hailer error object { code, msg, details?, debug? }.