# Polls

Create and schedule interactive polls on LinkedIn, Mastodon, and Twitter to engage your audience and gather feedback.

### Key Features

* Cross-Platform Polls: One payload to post polls on multiple networks
* Flexible Duration: Support for platform-specific duration limits
* Option Constraints: Enforce character limits and unique choices
* Scheduling: Publish immediately or at a specified time

### Supported Platforms & Limits

<table><thead><tr><th width="99.21881103515625">Network</th><th width="122.255126953125">Question Field</th><th width="138.523681640625">Options</th><th width="123.940673828125">Duration</th><th width="77.8116455078125">Editable</th><th>Notes</th></tr></thead><tbody><tr><td>Twitter/X</td><td>In <code>text</code></td><td>2–4, ≤25 chars</td><td>Up to 7 days</td><td>No</td><td>Options limit applies across all networks</td></tr><tr><td>LinkedIn</td><td>Separate <code>question</code></td><td>2–4, ≤30 chars</td><td>Up to 14 days</td><td>No</td><td></td></tr><tr><td>Mastodon</td><td>In <code>text</code></td><td>2–4, ≤50 chars</td><td>Up to 7 days</td><td>Yes</td><td></td></tr></tbody></table>

> **Tip:** When sending a multi-network poll, adhere to Twitter’s 25-character option limit and common duration (e.g., 1, 3, 7 days).

### Request Structure

Use the unified scheduling endpoint:

```json
POST /api/v1/posts/schedule
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY

{
  "bulk": {
    "state": "scheduled",
    "posts": [{
      "networks": {
        "twitter": {
          "type": "poll",
          "text": "What’s your favorite season?",
          "options": ["Spring", "Summer", "Autumn", "Winter"],
          "duration": 7
        },
        "linkedin": {
          "type": "poll",
          "question": "What’s your favorite season?",
          "text": "Vote now!",
          "options": ["Spring", "Summer", "Autumn", "Winter"],
          "duration": 7
        },
        "mastodon": {
          "type": "poll",
          "text": "What’s your favorite season?",
          "options": ["Spring", "Summer", "Autumn", "Winter"],
          "duration": 7
        }
      },
      "accounts": [
        { "id": "TW_ACCOUNT_ID", "scheduled_at": "2025-06-10T09:00:00Z" },
        { "id": "LI_ACCOUNT_ID", "scheduled_at": "2025-06-10T09:00:00Z" },
        { "id": "MA_ACCOUNT_ID", "scheduled_at": "2025-06-10T09:00:00Z" }
      ]
    }]
  }
}
```

### Parameters

<table><thead><tr><th width="274.90399169921875">Field</th><th width="78.3992919921875">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>networks.{provider}.type</code></td><td>string</td><td>Must be <code>"poll"</code>.</td></tr><tr><td><code>networks.{provider}.text</code></td><td>string</td><td>Caption or question (Twitter/Mastodon).</td></tr><tr><td><code>networks.linkedin.question</code></td><td>string</td><td>Poll question (LinkedIn only).</td></tr><tr><td><code>networks.{provider}.options</code></td><td>string[]</td><td>Array of 2–4 unique options.</td></tr><tr><td><code>networks.{provider}.duration</code></td><td>integer</td><td>Poll duration in days (platform max limits apply).</td></tr><tr><td><code>accounts[].id</code></td><td>string</td><td>Target social account ID.</td></tr><tr><td><code>accounts[].scheduled_at</code></td><td>string</td><td>ISO 8601 timestamp for scheduling (omit to publish immediately).</td></tr></tbody></table>

### Platform-Specific Notes

#### Twitter/X

* Options live in `options` array; question must be in `text`.
* 2–4 options, ≤25 characters each.
* Cannot edit after publishing.

#### LinkedIn

* Uses separate `question` and `text`.
* Options ≤30 characters.
* Up to 14-day duration.

#### Mastodon

* Question goes in `text`.
* Options ≤50 characters.
* Poll can be edited after posting.

### Best Practices

* Keep questions clear and concise.
* Use unique, contrasting options.
* Align durations with campaign timelines.

### Related Topics

* [Text Posts](/docs/posting/create-posts/content-types/text-posts.md)
* [Platform-Specific Formats](/docs/posting/create-posts/content-types/platform-specific-formats.md)
* [Publishing Methods](/docs/posting/create-posts/publishing-methods.md)

<br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://publer.com/docs/posting/create-posts/content-types/polls.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
