# PhoenixGenApi v2.11.0 - API Reference

## Modules

- [PhoenixGenApi](PhoenixGenApi.md): PhoenixGenApi is a framework for building distributed API systems with Phoenix.
- [PhoenixGenApi.ArgumentHandler](PhoenixGenApi.ArgumentHandler.md): Validates and converts request arguments according to configured type specifications.
- [PhoenixGenApi.ChannelHelpers](PhoenixGenApi.ChannelHelpers.md): Shared push-handling logic for GenApi WebSocket channels.
- [PhoenixGenApi.ConfigDb](PhoenixGenApi.ConfigDb.md): A GenServer-based cache for storing `FunConfig` structs, using an ETS table as the
backing store.
- [PhoenixGenApi.ConfigPuller](PhoenixGenApi.ConfigPuller.md): This module is responsible for periodically pulling function configurations (`%FunConfig{}`)
from remote nodes and updating the `ConfigDb`.
- [PhoenixGenApi.ConfigPusher](PhoenixGenApi.ConfigPusher.md): A client-side module used on remote/service nodes to push configurations
to the PhoenixGenApi gateway/server node.
- [PhoenixGenApi.ConfigReceiver](PhoenixGenApi.ConfigReceiver.md): A server-side GenServer that receives pushed configs from remote nodes.
- [PhoenixGenApi.Executor](PhoenixGenApi.Executor.md): The core execution engine of PhoenixGenApi.
- [PhoenixGenApi.Helpers.Shared](PhoenixGenApi.Helpers.Shared.md): Shared utility functions used across PhoenixGenApi modules.
- [PhoenixGenApi.Hooks](PhoenixGenApi.Hooks.md): Provides before/after execution hooks for `FunConfig`.
- [PhoenixGenApi.ImplHelper](PhoenixGenApi.ImplHelper.md)
- [PhoenixGenApi.NodeSelector](PhoenixGenApi.NodeSelector.md): Provides node selection strategies for distributed request execution.
- [PhoenixGenApi.Permission](PhoenixGenApi.Permission.md): Provides permission checking functionality for API requests.
- [PhoenixGenApi.RateLimiter](PhoenixGenApi.RateLimiter.md): Provides rate limiting functionality for API requests.
- [PhoenixGenApi.StreamCall](PhoenixGenApi.StreamCall.md): A GenServer that manages a streaming function call.
- [PhoenixGenApi.Structs.FunConfig](PhoenixGenApi.Structs.FunConfig.md): Defines the configuration for a function that can be called through the API.
- [PhoenixGenApi.Structs.PushConfig](PhoenixGenApi.Structs.PushConfig.md): Represents the data a remote node pushes to the PhoenixGenApi server node.
- [PhoenixGenApi.Structs.Request](PhoenixGenApi.Structs.Request.md): Request struct for internal using, convert data map from websocket api.
- [PhoenixGenApi.Structs.Response](PhoenixGenApi.Structs.Response.md): Defines the structure of a response sent back to the client.
- [PhoenixGenApi.Structs.ServiceConfig](PhoenixGenApi.Structs.ServiceConfig.md): Service configuration struct that defines how to connect to a remote service
and pull its function configurations.
- [PhoenixGenApi.Structs.StreamHelper](PhoenixGenApi.Structs.StreamHelper.md): Support for send data to stream.

- [PhoenixGenApi.Telemetry](PhoenixGenApi.Telemetry.md): Telemetry integration for PhoenixGenApi.
- [PhoenixGenApi.WorkerPool](PhoenixGenApi.WorkerPool.md): Generic worker pool for executing tasks asynchronously.
- [PhoenixGenApi.WorkerPool.Worker](PhoenixGenApi.WorkerPool.Worker.md): Individual worker process for executing tasks.
- [PhoenixGenApi.WorkerPool.WorkerPoolSupervisor](PhoenixGenApi.WorkerPool.WorkerPoolSupervisor.md): Supervisor for worker pools.

- Exceptions
  - [PhoenixGenApi.Errors.InvalidType](PhoenixGenApi.Errors.InvalidType.md): Error raised when an argument has an invalid type.

