ExStreamClient.Operations.Chat.Polls (ExStreamClient v0.1.0)
View SourceModules for interacting with the `chat/polls` group of OpenAI APIs
API Reference: https://platform.openai.com/docs/api-reference/chat/polls
Summary
Functions
@spec create_poll(ExStreamClient.Model.CreatePollRequest.t()) :: {:ok, ExStreamClient.Model.PollResponse.t()} | {:error, any()}
Creates a new poll
### Required Arguments:
- `payload`: CreatePollRequest
@spec create_poll_option(String.t(), ExStreamClient.Model.CreatePollOptionRequest.t()) :: {:ok, ExStreamClient.Model.PollOptionResponse.t()} | {:error, any()}
Creates a poll option
Sends events:
poll.updated
### Required Arguments:
- `poll_id` - `payload`: CreatePollOptionRequest
@spec delete_poll(String.t(), [{:user_id, String.t()}]) :: {:ok, ExStreamClient.Model.Response.t()} | {:error, any()}
Deletes a poll
Sends events:
poll.deleted
### Required Arguments:
- `poll_id`
### Optional Arguments:
- `user_id`
@spec delete_poll_option(String.t(), String.t(), [{:user_id, String.t()}]) :: {:ok, ExStreamClient.Model.Response.t()} | {:error, any()}
Deletes a poll option
Sends events:
poll.updated
### Required Arguments:
- `poll_id` - `option_id`
### Optional Arguments:
- `user_id`
@spec get_poll(String.t(), [{:user_id, String.t()}]) :: {:ok, ExStreamClient.Model.PollResponse.t()} | {:error, any()}
Retrieves a poll
### Required Arguments:
- `poll_id`
### Optional Arguments:
- `user_id`
@spec get_poll_option(String.t(), String.t(), [{:user_id, String.t()}]) :: {:ok, ExStreamClient.Model.PollOptionResponse.t()} | {:error, any()}
Retrieves a poll option
### Required Arguments:
- `poll_id`
- `option_id`
### Optional Arguments:
- `user_id`
@spec query_poll_votes(String.t(), ExStreamClient.Model.QueryPollVotesRequest.t(), [ {:user_id, String.t()} ]) :: {:ok, ExStreamClient.Model.PollVotesResponse.t()} | {:error, any()}
Queries votes
### Required Arguments:
- `poll_id`
- `payload`: QueryPollVotesRequest
### Optional Arguments:
- `user_id`
@spec query_polls(ExStreamClient.Model.QueryPollsRequest.t(), [{:user_id, String.t()}]) :: {:ok, ExStreamClient.Model.QueryPollsResponse.t()} | {:error, any()}
Queries polls
### Required Arguments:
- `payload`: QueryPollsRequest
### Optional Arguments:
- `user_id`
@spec update_poll(ExStreamClient.Model.UpdatePollRequest.t()) :: {:ok, ExStreamClient.Model.PollResponse.t()} | {:error, any()}
Updates a poll
Sends events:
poll.closed
poll.updated
### Required Arguments:
- `payload`: UpdatePollRequest
@spec update_poll_option(String.t(), ExStreamClient.Model.UpdatePollOptionRequest.t()) :: {:ok, ExStreamClient.Model.PollOptionResponse.t()} | {:error, any()}
Updates a poll option
Sends events:
poll.updated
### Required Arguments:
- `poll_id` - `payload`: UpdatePollOptionRequest
@spec update_poll_partial( String.t(), ExStreamClient.Model.UpdatePollPartialRequest.t() ) :: {:ok, ExStreamClient.Model.PollResponse.t()} | {:error, any()}
Updates a poll partially
Sends events:
poll.updated
### Required Arguments:
- `poll_id` - `payload`: UpdatePollPartialRequest