Skip to content

Poll ​

Create and vote on polls.

Endpoints ​

EndpointArgumentsReturns
poll.createoptions: PollCreateOptionsobject
poll.editpollId: string, pollOptions: PollEditOptionsobject
poll.removepollId: stringboolean
poll.retractretractOptions: { pollId: string, optionId: string }boolean
poll.votevoteOptions: { pollId: string, optionId: string }boolean

poll.create ​

Description

Creates a poll with given answer visibility and options

Parameters

Argument 1 (object, optional):

FieldTypeRequiredDescription
optionsobject[]yesSee below.
answerVisibilitycreator | none | publicyes
namestringyes
multipleAnswersbooleanno
draftbooleanno
scheduledbooleanno
scheduleTimenumberno
lockedVotesbooleanno

options[] (object):

FieldTypeRequiredDescription
namestringyes

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('poll.create', [
  {
    options: [{
      name: 'string',
    }],
    answerVisibility: 'creator',
    name: 'string',
  },
]);
console.log(result);

Returns

FieldTypeRequiredDescription
_idObjectIdyespollId
namestringyes
creatednumberyes
creatorIduserIdyesuserId
optionsRecord<ObjectId, object>yesSee below.
answerVisibilitycreator | none | publicyes
answersRecord<userId, Record<ObjectId, object>>noSee below.
answerCountsRecord<ObjectId, number>no
usersAnsweredCountnumberno
multipleAnswersbooleanno
draftbooleanno
scheduledbooleanno
lockedVotesbooleanno

options.* (object):

FieldTypeRequiredDescription
_idObjectIdnopollOptionId
namestringno

answers.*.* (object):

FieldTypeRequiredDescription
voteTimenumberno

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.

poll.edit ​

Description

Edits given poll, that is scheduled, to have different visiblity or options

Parameters

Argument 1 (ObjectId, optional): pollId

Argument 2 (object, optional):

FieldTypeRequiredDescription
optionsobject[]noSee below.
answerVisibilitycreator | none | publicno
namestringno
multipleAnswersbooleanno
draftbooleanno
scheduledbooleanno
scheduleTimenumberno
lockedVotesbooleanno

options[] (object):

FieldTypeRequiredDescription
_idObjectIdnoSet as existing option id. Without _id the poll.edit endpoint will create new option
namestringyes

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('poll.edit', [
  '507f1f77bcf86cd799439011', // ObjectId
  {
    options: [{
      name: 'string',
    }],
    answerVisibility: 'creator',
  },
]);
console.log(result);

Returns

FieldTypeRequiredDescription
_idObjectIdyespollId
namestringyes
creatednumberyes
creatorIduserIdyesuserId
optionsRecord<ObjectId, object>yesSee below.
answerVisibilitycreator | none | publicyes
answersRecord<userId, Record<ObjectId, object>>noSee below.
answerCountsRecord<ObjectId, number>no
usersAnsweredCountnumberno
multipleAnswersbooleanno
draftbooleanno
scheduledbooleanno
lockedVotesbooleanno

options.* (object):

FieldTypeRequiredDescription
_idObjectIdnopollOptionId
namestringno

answers.*.* (object):

FieldTypeRequiredDescription
voteTimenumberno

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.

poll.remove ​

Description

Removes given poll

Parameters

Argument 1 (ObjectId, required): pollId

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('poll.remove', [
  '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.

poll.retract ​

Description

Retracts a vote from the given polls option

Parameters

Argument 1 (object, optional):

FieldTypeRequiredDescription
pollIdstringyes
optionIdstringyes

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('poll.retract', [
  {
    pollId: 'string',
    optionId: 'string',
  },
]);
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.

poll.vote ​

Description

Adds a vote to the given polls option

Parameters

Argument 1 (object, optional):

FieldTypeRequiredDescription
pollIdstringyes
optionIdstringyes

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('poll.vote', [
  {
    pollId: 'string',
    optionId: 'string',
  },
]);
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