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?, retryAfter?, debug? }. retryAfter is a delay in milliseconds.

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[]yesSee below.

apps[] (object):

FieldTypeRequiredDescription
_iddiscussions | feed | calendar | people | PinnedAppIdyes
namestringno
pinnedAttimestampnoTime (milliseconds since 1970-01-01 UTC)
lastUsedAttimestampyesTime (milliseconds since 1970-01-01 UTC)
timesUsedintegeryes

Auth: requires an authenticated session.

Errors: on failure returns the standard Hailer error object { code, msg, details?, retryAfter?, debug? }. retryAfter is a delay in milliseconds.

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?, retryAfter?, debug? }. retryAfter is a delay in milliseconds.

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?, retryAfter?, debug? }. retryAfter is a delay in milliseconds.

Hailer Developer Documentation · v1.8.0