Appearance
Discussion
Discussions and messages: sync, edit, react, mute, and start meetings.
Endpoints
| Endpoint | Arguments | Returns |
|---|---|---|
v2.discussion.files | discussionId, options | unknown |
v2.discussion.meet.start | ObjectId | boolean |
v2.discussion.message.delete | ObjectId, ObjectId | boolean |
v2.discussion.message.edit | ObjectId, ObjectId, unknown, options | boolean |
v2.discussion.message.focus | options | object |
v2.discussion.message.get | ObjectId | unknown |
v2.discussion.message.react | ObjectId, ObjectId, unknown | boolean |
v2.discussion.messages | options | unknown |
v2.discussion.mute | ObjectId, unknown | boolean |
v2.discussion.star | ObjectId | object |
v2.discussion.sync | options | object |
v2.discussion.files
Description
Undocumented
This endpoint has no description in the source yet.
Parameters
Argument 1 (discussionId, required): discussionId
Argument 2 (object, optional):
| Field | Type | Required | Description |
|---|---|---|---|
limit | number | no | |
skip | number | no | |
search | string | no |
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('v2.discussion.files', [
'507f1f77bcf86cd799439011', // discussionId (required)
{
limit: 0,
skip: 0,
},
]);
console.log(result);Returns
Undocumented
The return value is not described in the source yet.
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.
v2.discussion.meet.start
Description
DEPRECATED: Use v3.videoCall.join instead.
Send message
Send a message to a discussion
Emits signal messenger.new({ discussion, uid, msg_id, msg_type: "user" | "??" })
Parameters
Argument 1 (ObjectId, required): discussionId
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('v2.discussion.meet.start', [
'507f1f77bcf86cd799439011', // ObjectId (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.
v2.discussion.message.delete
Description
Mark message as deleted.
Parameters
Argument 1 (ObjectId, required): discussionId
Argument 2 (ObjectId, required): messageId
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('v2.discussion.message.delete', [
'507f1f77bcf86cd799439011', // ObjectId (required)
'507f1f77bcf86cd799439011', // ObjectId (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.
v2.discussion.message.edit
Description
Edit message text
Parameters
Argument 1 (ObjectId, required): discussionId
Argument 2 (ObjectId, required): messageId
Argument 3 (string, required): message text
Argument 4 (object, optional):
| Field | Type | Required | Description |
|---|---|---|---|
scheduleTime | timestamp | no | Time (milliseconds since 1970-01-01 UTC) |
scheduled | boolean | no | |
links | object[] | no | See below. |
files | fileId[] | no | |
replyTo | ObjectId | no | messageId |
forwardMessageId | ObjectId | no | messageId |
links[] (object):
| Field | Type | Required | Description |
|---|---|---|---|
target | ObjectId | no | |
type | reaction | tag | linked-to | in_process | user-mention | apple-id | feed.lastseen | no | |
targetType | string | no | |
sourceType | feedPost | message | no |
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('v2.discussion.message.edit', [
'507f1f77bcf86cd799439011', // ObjectId (required)
'507f1f77bcf86cd799439011', // ObjectId (required)
'string', // message text (required)
{
scheduleTime: Date.now(), // Time (milliseconds since 1970-01-01 UTC)
scheduled: false,
},
]);
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.
v2.discussion.message.focus
Description
Load messages around specified message
Parameters
Argument 1 (object, required):
| Field | Type | Required | Description |
|---|---|---|---|
messageId | ObjectId | no | Message id |
discussionId | any | no | |
nextMessageCount | number | no | How many newer messages should be loaded, defaults to zero Default: 0. |
previousMessageCount | number | no | How many older messages should be loaded, defaults to zero Default: 0. |
includeFocusMessage | boolean | no | Hides the given message if wanted, defaults to true Default: true. |
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('v2.discussion.message.focus', [
{
messageId: '507f1f77bcf86cd799439011', // Message id
discussionId: '...',
},
]);
console.log(result);Returns
| Field | Type | Required | Description |
|---|---|---|---|
newestLoaded | boolean | no | |
oldestLoaded | boolean | no | |
messages | object[] | no | See below. |
oldestCursor | ObjectId | no | messageId |
newestCursor | ObjectId | no | messageId |
messages[] (object):
| Field | Type | Required | Description |
|---|---|---|---|
_id | ObjectId | yes | Message id |
created | timestamp | yes | Timestamp of when the message was sent |
updated | timestamp | no | Timestamp of when the message was last updated |
removed | timestamp | no | Timestamp of when the message was deleted |
edited | timestamp | no | Timestamp of when the message last edited |
loc | object | no | Message location data |
from | userId | no | Sender user id |
uid | userId | no | Sender user id |
discussion | discussionId | no | Discussion id |
type | string | no | Type of the message One of: user, user.join, user.leave, activity.created, activity.updated, activity.removed, linked.activity.created, linked.activity.moved, event.new, event.updated, event.removed, event.going, event.notgoing, event.attend_response, discussion.invites, discussion.removesinvites, meet.start, meet.end, ball.passed, ball.passed_by, ball.taken, ball.cleared, ball.auto_assigned, collapsed. |
meta | string[] | object | string | no | Meta data of the message |
msg | string | no | The contents of the message |
tagged | object | no | |
_metas | object | no | See below. |
localIdentifier | string | no | |
replyTo | ObjectId | no | Id of the reply message |
replyMessage | object | no | Reply message |
reactions | Record<string, string[]> | no | Message user reactions |
stars | object[] | no | See below. |
isStarred | boolean | no | |
linkedData | array | no | |
scheduled | boolean | no | |
cid | WorkspaceId | no | workspaceId (former networkId) |
deleteAt | Date | no | Date after which the message should be automatically deleted (BSON Date for MongoDB TTL) |
forwardMessage | object | no | |
files | object[] | no | See below. |
messages[]._metas (object):
| Field | Type | Required | Description |
|---|---|---|---|
files | Record<string, object> | no | See below. |
messages[]._metas.files.* (object):
| Field | Type | Required | Description |
|---|---|---|---|
_id | ObjectId | no | |
hash | binary | no | |
uid | ObjectId | yes | |
length | number | no | |
name | string | no | |
created | timestamp | yes | Time (milliseconds since 1970-01-01 UTC) |
updated | timestamp | no | Time (milliseconds since 1970-01-01 UTC) |
removed | timestamp | no | Soft-delete timestamp; set when a DigiOne user deletes the file |
type | string | yes | MIME file type |
isPicture | boolean | no | |
isVideo | boolean | no | |
isPublic | boolean | no | |
fileSets | ObjectId[] | no | |
tags | string[] | no | |
cid | WorkspaceId | no | Workspace scope. Absent for legacy (unscoped) files; immutable once set |
readers | string[] | no | ACL of a workspace-scoped file |
dimensions | object | no |
messages[].stars[] (object):
| Field | Type | Required | Description |
|---|---|---|---|
created | number | no | |
uid | userId | no | userId |
messages[].files[] (object):
| Field | Type | Required | Description |
|---|---|---|---|
_id | ObjectId | no | |
hash | binary | no | |
uid | ObjectId | yes | |
length | number | no | |
name | string | no | |
created | timestamp | yes | Time (milliseconds since 1970-01-01 UTC) |
updated | timestamp | no | Time (milliseconds since 1970-01-01 UTC) |
removed | timestamp | no | Soft-delete timestamp; set when a DigiOne user deletes the file |
type | string | yes | MIME file type |
isPicture | boolean | no | |
isVideo | boolean | no | |
isPublic | boolean | no | |
fileSets | ObjectId[] | no | |
tags | string[] | no | |
cid | WorkspaceId | no | Workspace scope. Absent for legacy (unscoped) files; immutable once set |
readers | string[] | no | ACL of a workspace-scoped file |
dimensions | object | no | See below. |
messages[].files[].dimensions (object):
| Field | Type | Required | Description |
|---|---|---|---|
height | number | no | |
width | number | no | |
aspectRatio | number | no |
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.
v2.discussion.message.get
Description
Get single message
Parameters
Argument 1 (ObjectId, required): messageId
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('v2.discussion.message.get', [
'507f1f77bcf86cd799439011', // ObjectId (required)
]);
console.log(result);Returns
Undocumented
The return value could not be introspected from the source.
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.
v2.discussion.message.react
Description
React to message with five different reactions
Parameters
Argument 1 (ObjectId, required): discussionId
Argument 2 (ObjectId, required): messageId
Argument 3 (string, optional): reactions
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('v2.discussion.message.react', [
'507f1f77bcf86cd799439011', // ObjectId (required)
'507f1f77bcf86cd799439011', // ObjectId (required)
'string', // reactions
]);
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.
v2.discussion.messages
Description
Undocumented
This endpoint has no description in the source yet.
Parameters
Argument 1 (object, optional):
| Field | Type | Required | Description |
|---|---|---|---|
discussion | ObjectId | yes | Discussion Id |
limit | boolean | number | no | |
skip | number | no | Skip n messages Default: 0. |
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('v2.discussion.messages', [
{
discussion: '507f1f77bcf86cd799439011', // Discussion Id
},
]);
console.log(result);Returns
Undocumented
The return value is not described in the source yet.
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.
v2.discussion.mute
Description
Mute discussion
When muted push notifications are not sent.
Parameters
Argument 1 (ObjectId, required): discussionId
Argument 2 (integer, required): duration - Mute duration in minutes, set to 0 to unmute.
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('v2.discussion.mute', [
'507f1f77bcf86cd799439011', // ObjectId (required)
0, // duration - Mute duration in minutes, set to 0 to unmute. (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.
v2.discussion.star
Description
Undocumented
This endpoint has no description in the source yet.
Parameters
Argument 1 (ObjectId, 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('v2.discussion.star', [
'507f1f77bcf86cd799439011', // ObjectId (required)
]);
console.log(result);Returns
| Field | Type | Required | Description |
|---|---|---|---|
isStarred | boolean | yes |
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.
v2.discussion.sync
Description
Undocumented
This endpoint has no description in the source yet.
Parameters
Argument 1 (object, required):
| Field | Type | Required | Description |
|---|---|---|---|
timestamp | timestamp | yes | Time (milliseconds since 1970-01-01 UTC) |
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('v2.discussion.sync', [
{
timestamp: Date.now(), // Time (milliseconds since 1970-01-01 UTC)
},
]);
console.log(result);Returns
| Field | Type | Required | Description |
|---|---|---|---|
starred | discussionId[] | no | |
discussions | any[] | no | |
messages | any[] | no | |
removed | discussionId[] | no | |
last_seen | object | no | |
muted | discussionId[] | no | |
unread_counts | object | no | |
checked | Date | no |
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.