---
title: "chat.agent_poll.write · OpenVibe.Services"
canonical: "https://openvibe.services/docs/capabilities/chat.agent_poll.write"
updated: null
---

# chat.agent\_poll.write · OpenVibe.Services

HTML: [chat.agent\_poll.write · OpenVibe.Services](https://openvibe.services/docs/capabilities/chat.agent_poll.write)

# `chat.agent_poll.write`

Generated at 2026-11-13 06:25:48 UTC from [`openvibe-contracts v0.419.0`](https://github.com/OpenVibers/OpenVibe.Contracts/tree/v0.419.0) and [`openvibe-sdk v0.161.0`](https://github.com/OpenVibers/OpenVibe.SDK/tree/v0.161.0).

Not grantable to apps (active, first-party).

Run a poll in a Co-pilot room on OpenVibe.Chat, and read its result (the Agent Streams plan, S5). POST /internal/chat/rooms/agent:poll takes chat.agent-poll@1: the question and two to four options the agent wrote, open for 30 to 120 seconds; Chat draws the poll card and \`!1\` to \`!4\` vote too. One vote per person, one poll at a time, and at most one poll every five minutes. The owner or a moderator can close a poll early or veto its result. The caller is Codes or Actor, the task's service, acting for the stream's owner (a node token on\_behalf\_of). Chat never adds an option of its own: a poll can only choose between the options the agent wrote.

- Owner: chat (token audience `openvibe.chat`)
- Version: 1.0
- Status: active
- Visibility: first-party
- Resource constraints: owner
- Quota class: internal-write
- Permissions: chat:write
- Input: [chat.agent-poll@1](/docs/contracts/chat.agent-poll)
- Output: chat.agent-poll@1
- Events: —
- Implemented by: - `POST /internal/chat/rooms/agent:poll`
- `GET /internal/chat/rooms/agent:poll`

[These routes in the API explorer](/docs/api/chat#cap-chat.agent_poll.write)
