Skip to content

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

EndpointArgumentsReturns
v3.user.navigation.forgetappId: stringboolean
v3.user.navigation.listnoneobject
v3.user.navigation.pingappId: stringboolean
v3.user.navigation.saveapps: 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

FieldTypeRequiredDescription
appsobject[]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? }.

Hailer Developer Documentation