---
title: "Partial update poll"
method: PATCH
path: "/polls/{poll_id}"
tags: ["product:chat"]
---

# Partial update poll

`PATCH /polls/{poll_id}`

Updates a poll partially

Sends events:
- feeds.poll.closed
- feeds.poll.updated
- poll.closed
- poll.updated

## Path parameters

- `poll_id` string, required — Poll ID

## Request body

- UpdatePollPartialRequest, nullable
  - `set` object — Sets new field values
  - `unset` string[] — Array of field names to unset
  - `user` UserRequest — User request object
    - `custom` object — Custom user data
    - `id` string, required — User ID
    - `image` string — User's profile image URL
    - `invisible` boolean
    - `language` string
    - `name` string — Optional name of user
    - `privacy_settings` PrivacySettingsResponse
      - `delivery_receipts` DeliveryReceiptsResponse
        - `enabled` boolean
      - `read_receipts` ReadReceiptsResponse
        - `enabled` boolean
      - `typing_indicators` TypingIndicatorsResponse
        - `enabled` boolean
    - `role` string — User's global role
    - `teams` string[] — List of teams the user belongs to
    - `teams_role` object — Map of team-specific roles for the user
  - `user_id` string

## Response `200`

Successful response

- PollResponse, nullable
  - `duration` string, required — Duration of the request in milliseconds
  - `poll` PollResponseData, required
    - `allow_answers` boolean, required
    - `allow_user_suggested_options` boolean, required
    - `answers_count` integer, required
    - `created_at` string, date-time, required
    - `created_by` UserResponse — User response object
      - `avg_response_time` integer
      - `ban_expires` string, date-time — Date when ban expires
      - `banned` boolean, required — Whether a user is banned or not
      - `blocked_user_ids` string[], required
      - `bypass_moderation` boolean
      - `created_at` string, date-time, required — Date/time of creation
      - `custom` object, required — Custom data for this object
      - `deactivated_at` string, date-time — Date of deactivation
      - `deleted_at` string, date-time — Date/time of deletion
      - `devices` DeviceResponse[] — List of devices user is using
        - `created_at` string, date-time, required — Date/time of creation
        - `disabled` boolean — Whether device is disabled or not
        - `disabled_reason` string — Reason explaining why device had been disabled
        - `hardware_id` string — Stable physical device identifier used to deduplicate pushes across push providers
        - `id` string, required — Device ID
        - `push_provider` string, required — Push provider
        - `push_provider_name` string — Push provider name
        - `user_id` string, required — User ID
        - `voip` boolean — When true the token is for Apple VoIP push notifications
      - `id` string, required — Unique user identifier
      - `image` string
      - `invisible` boolean, required
      - `language` string, required — Preferred language of a user
      - `last_active` string, date-time — Date of last activity
      - `name` string — Optional name of user
      - `online` boolean, required — Whether a user online or not
      - `privacy_settings` PrivacySettingsResponse
        - `delivery_receipts` DeliveryReceiptsResponse
          - `enabled` boolean
        - `read_receipts` ReadReceiptsResponse
          - `enabled` boolean
        - `typing_indicators` TypingIndicatorsResponse
          - `enabled` boolean
      - `push_notifications` PushNotificationSettingsResponse
        - `disabled` boolean
        - `disabled_until` string, date-time
      - `revoke_tokens_issued_before` string, date-time — Revocation date for tokens
      - `role` string, required — Determines the set of user permissions
      - `shadow_banned` boolean, required — Whether a user is shadow banned
      - `teams` string[], required — List of teams user is a part of
      - `teams_role` object
      - `updated_at` string, date-time, required — Date/time of the last update
    - `created_by_id` string, required
    - `custom` object, required
    - `description` string, required
    - `enforce_unique_vote` boolean, required
    - `id` string, required
    - `is_closed` boolean
    - `latest_answers` PollVoteResponseData[], required
      - `answer_text` string
      - `created_at` string, date-time, required
      - `id` string, required
      - `is_answer` boolean
      - `option_id` string, required
      - `poll_id` string, required
      - `updated_at` string, date-time, required
      - `user` UserResponse — User response object
        - `avg_response_time` integer
        - `ban_expires` string, date-time — Date when ban expires
        - `banned` boolean, required — Whether a user is banned or not
        - `blocked_user_ids` string[], required
        - `bypass_moderation` boolean
        - `created_at` string, date-time, required — Date/time of creation
        - `custom` object, required — Custom data for this object
        - `deactivated_at` string, date-time — Date of deactivation
        - `deleted_at` string, date-time — Date/time of deletion
        - `devices` DeviceResponse[] — List of devices user is using
          - `created_at` string, date-time, required — Date/time of creation
          - `disabled` boolean — Whether device is disabled or not
          - `disabled_reason` string — Reason explaining why device had been disabled
          - `hardware_id` string — Stable physical device identifier used to deduplicate pushes across push providers
          - `id` string, required — Device ID
          - `push_provider` string, required — Push provider
          - `push_provider_name` string — Push provider name
          - `user_id` string, required — User ID
          - `voip` boolean — When true the token is for Apple VoIP push notifications
        - `id` string, required — Unique user identifier
        - `image` string
        - `invisible` boolean, required
        - `language` string, required — Preferred language of a user
        - `last_active` string, date-time — Date of last activity
        - `name` string — Optional name of user
        - `online` boolean, required — Whether a user online or not
        - `privacy_settings` PrivacySettingsResponse
          - `delivery_receipts` DeliveryReceiptsResponse
            - `enabled` boolean
          - `read_receipts` ReadReceiptsResponse
            - `enabled` boolean
          - `typing_indicators` TypingIndicatorsResponse
            - `enabled` boolean
        - `push_notifications` PushNotificationSettingsResponse
          - `disabled` boolean
          - `disabled_until` string, date-time
        - `revoke_tokens_issued_before` string, date-time — Revocation date for tokens
        - `role` string, required — Determines the set of user permissions
        - `shadow_banned` boolean, required — Whether a user is shadow banned
        - `teams` string[], required — List of teams user is a part of
        - `teams_role` object
        - `updated_at` string, date-time, required — Date/time of the last update
      - `user_id` string
    - `latest_votes_by_option` object, required
    - `max_votes_allowed` integer
    - `name` string, required
    - `options` PollOptionResponseData[], required
      - `custom` object, required
      - `id` string, required
      - `text` string, required
    - `own_votes` PollVoteResponseData[], required
      - `answer_text` string
      - `created_at` string, date-time, required
      - `id` string, required
      - `is_answer` boolean
      - `option_id` string, required
      - `poll_id` string, required
      - `updated_at` string, date-time, required
      - `user` UserResponse — User response object
        - `avg_response_time` integer
        - `ban_expires` string, date-time — Date when ban expires
        - `banned` boolean, required — Whether a user is banned or not
        - `blocked_user_ids` string[], required
        - `bypass_moderation` boolean
        - `created_at` string, date-time, required — Date/time of creation
        - `custom` object, required — Custom data for this object
        - `deactivated_at` string, date-time — Date of deactivation
        - `deleted_at` string, date-time — Date/time of deletion
        - `devices` DeviceResponse[] — List of devices user is using
          - `created_at` string, date-time, required — Date/time of creation
          - `disabled` boolean — Whether device is disabled or not
          - `disabled_reason` string — Reason explaining why device had been disabled
          - `hardware_id` string — Stable physical device identifier used to deduplicate pushes across push providers
          - `id` string, required — Device ID
          - `push_provider` string, required — Push provider
          - `push_provider_name` string — Push provider name
          - `user_id` string, required — User ID
          - `voip` boolean — When true the token is for Apple VoIP push notifications
        - `id` string, required — Unique user identifier
        - `image` string
        - `invisible` boolean, required
        - `language` string, required — Preferred language of a user
        - `last_active` string, date-time — Date of last activity
        - `name` string — Optional name of user
        - `online` boolean, required — Whether a user online or not
        - `privacy_settings` PrivacySettingsResponse
          - `delivery_receipts` DeliveryReceiptsResponse
            - `enabled` boolean
          - `read_receipts` ReadReceiptsResponse
            - `enabled` boolean
          - `typing_indicators` TypingIndicatorsResponse
            - `enabled` boolean
        - `push_notifications` PushNotificationSettingsResponse
          - `disabled` boolean
          - `disabled_until` string, date-time
        - `revoke_tokens_issued_before` string, date-time — Revocation date for tokens
        - `role` string, required — Determines the set of user permissions
        - `shadow_banned` boolean, required — Whether a user is shadow banned
        - `teams` string[], required — List of teams user is a part of
        - `teams_role` object
        - `updated_at` string, date-time, required — Date/time of the last update
      - `user_id` string
    - `updated_at` string, date-time, required
    - `vote_count` integer, required
    - `vote_counts_by_option` object, required
    - `voting_visibility` string, required

## Other responses

- `400` — Bad request
- `429` — Too many requests

---

[API](https://skmtc.net/getstream/apis/stream-api.md) · [All operations](https://skmtc.net/getstream/apis/stream-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/getstream/stream-api/versions/509a44ead023/schema)
