BetaThe V4 API is in beta — endpoints and functionality may change.
Pollsv4

Vote on a poll

POST/chats/{chatId}/polls/{pollId}/vote

Casts or toggles a vote by option_index (0-based) or option text. Blooio channels only.

Path parameters

chatIdRequiredstring

Unique identifier of the chat, prefixed with chat_. Returned by the List chats endpoint.

pollIdRequiredstring

Unique identifier of the poll, prefixed with msg_ (a poll shares the id of its underlying message).

Headers

AuthorizationRequiredstring

Your API key, sent as a bearer token: Authorization: Bearer <api_key>. Editing this stays in sync with the API key box on the right.

Bearer

Body parameters

JSON
option_indexoptionalinteger

0-based option index.

optionoptionalstring

Option text.

Returns

dataoptionalPollVoteResult
idoptionalstring
poll_idoptionalstring
voted_optionoptionalstring
toggledoptionalstring
"on""off"
active_votesoptionalstring[]
active_vote_indicesoptionalinteger[]

Response codes

200All votes toggled off
201Vote recorded
401Your API key is missing or invalid. Pass it as a bearer token.
404No poll was found with the provided `chatId`.
409The request conflicts with the current state of the poll (e.g. it already exists, the chat is closed, or the channel isn't active).
422Validation failed — one or more fields in the request are invalid or missing.

Sends a live request with your values and shows the real response below. Your key is stored only in this browser.

Request
curl -X POST https://api.blooio.com/v4/chats/chat_a1b2c3d4/polls/poll_a1b2c3d4/vote \  -H "Authorization: Bearer bl_live_..." \  -H "Content-Type: application/json" \  -d '{    "option_index": 0,    "option": "string"  }'
Body object
Response objectexample
{  "data": {    "id": "obj_a1b2c3d4",    "poll_id": "poll_a1b2c3d4",    "voted_option": "string",    "toggled": "on",    "active_votes": [      "string"    ],    "active_vote_indices": [      0    ]  }}