Skip to main content
Polls are available on enabled lines. Send a message first, then use its chat_id. Unsupported lines return 422 with code 4099.

Create a poll

POST /api/v1/polls
Use 2–12 distinct options (up to 100 characters each) and a title up to 256 characters. idempotency_key is required: reuse it for retries, and use a new key for each new poll. Include x-chert-tenant if your key requires it.

Read answers

GET /api/v1/polls/{id} — use the poll id returned by creation. Both endpoints return id, chat_id, phone_line_id, message_guid, title, options (id, text, vote_count), votes (option_id, voter), and total_voters. Repeating creation returns the original result; GET returns current votes, including changes and removals. Only your tenant’s polls are accessible. For onboarding, check GET periodically while waiting for an answer. Vote-change webhooks and closing polls are not supported yet. Rendering depends on the recipient’s Messages version. Invalid input returns 400; an unknown chat or poll returns 404; reusing a key with different content returns 409. For retryable errors, retry with the same key. See Errors.