# kapso_ex v0.1.0 - API Reference

## Modules

- Core
  - [KapsoEx](KapsoEx.md): Elixir client for the [Kapso](https://kapso.ai) API.
  - [KapsoEx.Client](KapsoEx.Client.md): Holds the credentials and HTTP settings used for every request.
  - [KapsoEx.Error](KapsoEx.Error.md): Returned as `{:error, %KapsoEx.Error{}}` when a request fails.
  - [KapsoEx.Pagination](KapsoEx.Pagination.md): Lazily walks every page of a list endpoint.

- WhatsApp
  - [KapsoEx.WhatsApp](KapsoEx.WhatsApp.md): Helpers shared by the WhatsApp API modules.
  - [KapsoEx.WhatsApp.BlockUsers](KapsoEx.WhatsApp.BlockUsers.md): Block users from messaging a phone number, and unblock them.
  - [KapsoEx.WhatsApp.BusinessProfile](KapsoEx.WhatsApp.BusinessProfile.md): The business profile users see when they tap your business name in
WhatsApp.

  - [KapsoEx.WhatsApp.Calls](KapsoEx.WhatsApp.Calls.md): [WhatsApp Calling](https://docs.kapso.ai/docs/whatsapp/calling/overview):
call logs, call actions and call permissions.
  - [KapsoEx.WhatsApp.Contacts](KapsoEx.WhatsApp.Contacts.md): Contacts stored by Kapso for a phone number.
  - [KapsoEx.WhatsApp.Conversations](KapsoEx.WhatsApp.Conversations.md): Conversations stored by Kapso for a phone number, plus thread control on
[shared numbers](https://docs.kapso.ai/docs/whatsapp/conversation-routing).
  - [KapsoEx.WhatsApp.ConversionEvents](KapsoEx.WhatsApp.ConversionEvents.md): Meta Conversions API for WhatsApp: datasets and conversion events.
  - [KapsoEx.WhatsApp.Flows](KapsoEx.WhatsApp.Flows.md): WhatsApp Flows through Meta's Graph API shapes (proxied by Kapso).
  - [KapsoEx.WhatsApp.Media](KapsoEx.WhatsApp.Media.md): Upload, inspect, delete and download WhatsApp media.
  - [KapsoEx.WhatsApp.Messages](KapsoEx.WhatsApp.Messages.md): Send WhatsApp messages and read stored message history.
  - [KapsoEx.WhatsApp.PhoneNumbers](KapsoEx.WhatsApp.PhoneNumbers.md): Phone number details and settings, as returned by Meta.
  - [KapsoEx.WhatsApp.TemplateComponents](KapsoEx.WhatsApp.TemplateComponents.md): Builders for the `components` list sent with a template message.
  - [KapsoEx.WhatsApp.Templates](KapsoEx.WhatsApp.Templates.md): Manage message templates of a WhatsApp Business Account (WABA).
  - [KapsoEx.WhatsApp.Usernames](KapsoEx.WhatsApp.Usernames.md): [Business usernames](https://docs.kapso.ai/docs/whatsapp/business-usernames)
for a phone number.

- Platform
  - [KapsoEx.Platform](KapsoEx.Platform.md): The Platform API (`https://api.kapso.ai/platform/v1`): everything around
the messages, such as onboarding customers, connecting numbers, setup
links, broadcasts, webhooks and project data.
  - [KapsoEx.Platform.ApiLogs](KapsoEx.Platform.ApiLogs.md): Logs of the API calls made with your project's keys.
  - [KapsoEx.Platform.Broadcasts](KapsoEx.Platform.Broadcasts.md): Send an approved template to many recipients, with per-recipient
tracking. See the [Broadcasts API guide](https://docs.kapso.ai/docs/platform/broadcasts/api).
  - [KapsoEx.Platform.BusinessVerification](KapsoEx.Platform.BusinessVerification.md): Submit a customer's business documents to Meta for
[business verification](https://docs.kapso.ai/docs/platform/business-verification).
  - [KapsoEx.Platform.Contacts](KapsoEx.Platform.Contacts.md): WhatsApp contacts of the project.
  - [KapsoEx.Platform.Conversations](KapsoEx.Platform.Conversations.md): Query conversations across the project, close or reopen them, and assign
them to team members.

  - [KapsoEx.Platform.Customers](KapsoEx.Platform.Customers.md): Customers are the businesses you onboard to WhatsApp. See
[Onboard customers](https://docs.kapso.ai/docs/platform/customer-guide).

  - [KapsoEx.Platform.DisplayNames](KapsoEx.Platform.DisplayNames.md): Display name change requests. Meta reviews most changes within 24-48
hours; poll `get/3` to follow the review.

  - [KapsoEx.Platform.Events](KapsoEx.Platform.Events.md): [Project events](https://docs.kapso.ai/docs/platform/events): timestamped
data points you record (for example `order.created`) that can trigger
workflows, plus the definitions that describe them.
  - [KapsoEx.Platform.Findings](KapsoEx.Platform.Findings.md): [Findings](https://docs.kapso.ai/docs/platform/findings): recurring
problems Kapso detects in your conversations, with AI investigations.

  - [KapsoEx.Platform.Flows](KapsoEx.Platform.Flows.md): WhatsApp Flows managed by Kapso: versions, publishing, encryption and
data endpoints (serverless functions that serve dynamic flow data).
  - [KapsoEx.Platform.Funding](KapsoEx.Platform.Funding.md): [WhatsApp funding and usage](https://docs.kapso.ai/docs/platform/whatsapp-funding)
for Tech Providers with managed billing: funding status per WhatsApp
Business Account (WABA) and portfolio, recorded charges, and stopping
funding.
  - [KapsoEx.Platform.InboxEmbeds](KapsoEx.Platform.InboxEmbeds.md): Access links to [embed the Kapso inbox](https://docs.kapso.ai/docs/platform/inbox/embedded)
in your own application through an iframe.
  - [KapsoEx.Platform.LogSearch](KapsoEx.Platform.LogSearch.md): Search the same log events shown in the Kapso logs UI: API logs,
WhatsApp webhook events, flow events and webhook deliveries.

  - [KapsoEx.Platform.Media](KapsoEx.Platform.Media.md): Ingest media from a public URL so it can be sent in messages.
  - [KapsoEx.Platform.Messages](KapsoEx.Platform.Messages.md): Query WhatsApp messages across all conversations and numbers of the
project. To send messages use `KapsoEx.WhatsApp.Messages`.

  - [KapsoEx.Platform.Notifications](KapsoEx.Platform.Notifications.md): Route Kapso notification events to team destinations (shared email
addresses or Slack channels).

  - [KapsoEx.Platform.PhoneNumbers](KapsoEx.Platform.PhoneNumbers.md): WhatsApp numbers connected to your Kapso project.
  - [KapsoEx.Platform.ProviderModels](KapsoEx.Platform.ProviderModels.md): AI provider models available to agent nodes and Kapso Agent modes.
  - [KapsoEx.Platform.SetupLinks](KapsoEx.Platform.SetupLinks.md): Setup links are hosted onboarding pages where a customer connects their
WhatsApp number. See
[Create and configure](https://docs.kapso.ai/docs/platform/setup-links/create-and-configure).

  - [KapsoEx.Platform.Users](KapsoEx.Platform.Users.md): Members of your Kapso project, for example to assign conversations.
  - [KapsoEx.Platform.WebhookDeliveries](KapsoEx.Platform.WebhookDeliveries.md): Delivery attempts of your webhooks, useful to debug failures.
  - [KapsoEx.Platform.Webhooks](KapsoEx.Platform.Webhooks.md): Webhook subscriptions.

- Workflows &amp; Functions
  - [KapsoEx.Functions](KapsoEx.Functions.md): [Functions](https://docs.kapso.ai/docs/functions/overview): serverless
JavaScript deployed by Kapso, invoked over the API or from workflows.

  - [KapsoEx.Workflows](KapsoEx.Workflows.md): [Workflows](https://docs.kapso.ai/docs/workflows/introduction): automated
WhatsApp conversations built from nodes and edges.
  - [KapsoEx.Workflows.Executions](KapsoEx.Workflows.Executions.md): [Start and resume](https://docs.kapso.ai/docs/workflows/start-and-resume-via-api)
workflow executions and read their history.
  - [KapsoEx.Workflows.Triggers](KapsoEx.Workflows.Triggers.md): [Triggers](https://docs.kapso.ai/docs/flows/triggers) start a workflow
automatically: on an inbound message, a WhatsApp event, a project event,
or an API call.

- Kapso Agent
  - [KapsoEx.Agent.Modes](KapsoEx.Agent.Modes.md): [Kapso Agent modes](https://docs.kapso.ai/docs/kapso-agent/modes):
built-in and custom modes with their instructions, tools and
permissions. Only modes whose `available_invocations` include `"api"`
accept runs from `KapsoEx.Agent.Runs.create/2`.

  - [KapsoEx.Agent.Runs](KapsoEx.Agent.Runs.md): Trigger and control [Kapso Agent](https://docs.kapso.ai/docs/kapso-agent/api)
runs.
  - [KapsoEx.Agent.Sessions](KapsoEx.Agent.Sessions.md): Kapso Agent sessions: conversations made of runs. Only sessions created
with the API key in use are visible.

- Webhooks
  - [KapsoEx.Webhook](KapsoEx.Webhook.md): Verifies and decodes webhooks sent by Kapso.
  - [KapsoEx.Webhook.CacheBodyReader](KapsoEx.Webhook.CacheBodyReader.md): A `Plug.Parsers` body reader that keeps the raw request body, which is
needed to verify webhook signatures after the JSON has been parsed.

