# Noizu.Slack v0.1.0 - API Reference

## Modules

- Core
  - [Noizu.Slack](Noizu.Slack.md): Slack Web API client for Elixir.
  - [Noizu.Slack.Client](Noizu.Slack.Client.md): Explicit connection configuration, passed as the first argument to every Web API call.
  - [Noizu.Slack.Error](Noizu.Slack.Error.md): Structured error returned by every failing `Noizu.Slack` call as
`{:error, %Noizu.Slack.Error{}}` — never raised in the normal flow.
  - [Noizu.Slack.Pagination](Noizu.Slack.Pagination.md): Lazy cursor walker behind every `*_stream` helper.
  - [Noizu.Slack.Request](Noizu.Slack.Request.md): Web API request engine: builds the `Req` call, performs it with the bounded retry
policy, and decodes Slack's `{"ok": ...}` envelope.

- Web API
  - [Noizu.Slack.Auth](Noizu.Slack.Auth.md): Token introspection (`auth.test`).
  - [Noizu.Slack.Chat](Noizu.Slack.Chat.md): Messaging (`chat.*`).
  - [Noizu.Slack.Conversations](Noizu.Slack.Conversations.md): Channels, DMs and threads (`conversations.*`).
  - [Noizu.Slack.Files](Noizu.Slack.Files.md): File uploads via Slack's external upload flow (the legacy `files.upload` method is
retired)
  - [Noizu.Slack.Pins](Noizu.Slack.Pins.md): Pinned items (`pins.*`).
  - [Noizu.Slack.Reactions](Noizu.Slack.Reactions.md): Emoji reactions (`reactions.*`). `name` is the emoji name without colons.
  - [Noizu.Slack.Search](Noizu.Slack.Search.md): Search (`search.*`). Slack requires a **user** token (`xoxp-`, `search:read`) here;
pass `token: user_token` in `opts` to override the client's bot token per call.
Paging is page-number based (`count:`, `page:`), not cursor based.

  - [Noizu.Slack.Users](Noizu.Slack.Users.md): Workspace users (`users.*`). Slack params go in `opts`.

- Webhooks &amp; signing
  - [Noizu.Slack.Signature](Noizu.Slack.Signature.md): Verifies Slack request signatures (Events API, slash commands, interactivity).
  - [Noizu.Slack.Webhook](Noizu.Slack.Webhook.md): Incoming webhooks — no client or token; the URL is the credential (treat it as a
secret: never log it).

- Formatting
  - [Noizu.Slack.Blocks](Noizu.Slack.Blocks.md): Block Kit builders and limit validation. Builders return plain maps (atom keys)
ready for `Noizu.Slack.Chat.post_message/4`'s `:blocks`.
  - [Noizu.Slack.Mrkdwn](Noizu.Slack.Mrkdwn.md): GitHub-flavoured Markdown → Slack `mrkdwn`. Deterministic, line-based, no deps.

