Skip to main content

Polls

Owner polls and their results.

5 endpoints. Every request needs an Authorization: Bearer mtro_... header, and responses follow the envelope described in Errors and conventions.

GET /polls/active​

List polls active for the current owner.

Required scope: any valid API key for the entity.
MCP tool: polls_active

Example

curl -X GET 'https://core.mtro.app/polls/active' \
-H 'Authorization: Bearer mtro_your_api_key'

Response

FieldType
pollsany[]
errorboolean

GET /polls/get/{pollId}​

Get a poll by ID.

Required scope: any valid API key for the entity.
MCP tool: polls_get

Path parameters

NameTypeRequiredDescription
pollIdstringyesPoll ID.

Example

curl -X GET 'https://core.mtro.app/polls/get/<pollId>' \
-H 'Authorization: Bearer mtro_your_api_key'

GET /polls/get/all​

List polls.

Required scope: any valid API key for the entity.
MCP tool: polls_list

Example

curl -X GET 'https://core.mtro.app/polls/get/all' \
-H 'Authorization: Bearer mtro_your_api_key'

GET /polls/results/{pollId}​

Get poll results.

Required scope: any valid API key for the entity.
MCP tool: polls_results

Path parameters

NameTypeRequiredDescription
pollIdstringyesPoll ID.

Example

curl -X GET 'https://core.mtro.app/polls/results/<pollId>' \
-H 'Authorization: Bearer mtro_your_api_key'

POST /polls/vote​

Vote on a poll. This writes account data and should require owner confirmation when used by an agent.

Required scope: any valid API key for the entity.
MCP tool: polls_vote

Request body

note

Field names are taken from the Core handler, which reads exactly these. Types and which of them are required are not yet documented.

FieldTypeRequiredDescription
optionIndexanyno
pollIdanyno

Example

curl -X POST 'https://core.mtro.app/polls/vote' \
-H 'Authorization: Bearer mtro_your_api_key' \
-H 'Content-Type: application/json' \
-d '{}'