Subscription topics. Input maps are sent as given: name,
default_subscription (:opt_in | :opt_out), description and visibility
(:private | :public).
MillionSend.Topics.create(%{name: "Product updates", default_subscription: :opt_in})
Summary
Functions
POST /topics
GET /topics/:id
GET /topics — a bare, unpaginated { data: [...] }; returns a plain list of Topics.
DELETE /topics/:id
PATCH /topics/:id — name, description, visibility.
Functions
@spec create(MillionSend.Client.t(), map()) :: {:ok, MillionSend.Topics.Topic.t()} | {:error, MillionSend.Error.t()}
POST /topics
@spec get(MillionSend.Client.t(), String.t()) :: {:ok, MillionSend.Topics.Topic.t()} | {:error, MillionSend.Error.t()}
GET /topics/:id
@spec list(MillionSend.Client.t()) :: {:ok, [MillionSend.Topics.Topic.t()]} | {:error, MillionSend.Error.t()}
GET /topics — a bare, unpaginated { data: [...] }; returns a plain list of Topics.
@spec remove(MillionSend.Client.t(), String.t()) :: {:ok, MillionSend.Topics.Topic.t()} | {:error, MillionSend.Error.t()}
DELETE /topics/:id
@spec update(MillionSend.Client.t(), String.t(), map()) :: {:ok, MillionSend.Topics.Topic.t()} | {:error, MillionSend.Error.t()}
PATCH /topics/:id — name, description, visibility.