# iii ## Docs - [Adapters](https://iii.dev/docs/advanced/adapters.md): Pluggable backends for iii workers — swap between in-memory, file-based, Redis, and RabbitMQ without changing your application code. - [Architecture Overview](https://iii.dev/docs/advanced/architecture.md): An overview of the iii system components — engine core, core modules, and workers — and how they interact. - [Developing Custom Workers](https://iii.dev/docs/advanced/custom-modules.md): Extend the iii engine by building custom workers that register functions, triggers, and integrate with external systems. - [Deployment & Configuration](https://iii.dev/docs/advanced/deployment.md): Install, configure, and deploy the iii engine for production use. - [Protocol Specification](https://iii.dev/docs/advanced/protocol.md): The WebSocket-based JSON protocol used for communication between the iii engine and workers. - [OpenTelemetry Integration](https://iii.dev/docs/advanced/telemetry.md): Built-in observability for the iii Engine and SDKs — distributed traces, runtime metrics, and structured logs via OpenTelemetry. - [Disable Telemetry](https://iii.dev/docs/api-reference/disable-telemetry.md): Opt out of anonymous usage data collection. - [Browser SDK](https://iii.dev/docs/api-reference/sdk-browser.md): API reference for the iii SDK for Browser / TypeScript. - [Node.js SDK](https://iii.dev/docs/api-reference/sdk-node.md): API reference for the iii SDK for Node.js / TypeScript. - [Python SDK](https://iii.dev/docs/api-reference/sdk-python.md): API reference for the iii SDK for Python. - [Rust SDK](https://iii.dev/docs/api-reference/sdk-rust.md): API reference for the iii SDK for Rust. - [Data Channels](https://iii.dev/docs/architecture/channels.md): Channels enable streaming binary data between functions across workers. Learn about channel creation, writer/reader pairs, and serializable refs. - [Engine](https://iii.dev/docs/architecture/engine.md): The central orchestrator of a iii system — routes triggers to workers, manages modules, and tracks all registered functions. - [External Workers](https://iii.dev/docs/architecture/external-workers.md): Any process that connects to the iii Engine using an SDK and registers Functions. - [Architecture](https://iii.dev/docs/architecture/index.md): The structural components of an iii system. - [Queues](https://iii.dev/docs/architecture/queues.md): Why iii queues are structured the way they are — the design decisions behind retry, dead-lettering, and multi-resource topology. - [Triggers](https://iii.dev/docs/architecture/trigger-types.md): Triggers are entrypoints into a iii system. Learn about trigger types, configuration, conditions, and lifecycle. - [Workers](https://iii.dev/docs/architecture/workers.md): Workers are the interface between the Engine and the rest of the application. - [Changelog](https://iii.dev/docs/changelog.md): Product updates and announcements for iii. - [Everything is a Worker](https://iii.dev/docs/changelog/0-11-0/everything-is-a-worker.md): Why we renamed modules to workers and how to migrate. - [Examples migrated from Motia](https://iii.dev/docs/changelog/0-11-0/migrated-examples.md): Side-by-side links to the original Motia source and the iii-sdk port for every example we migrated as part of 0.11.0. - [Migrating from Motia (Node.js)](https://iii.dev/docs/changelog/0-11-0/migrating-from-motia-js.md): How to move from the Motia framework to iii-sdk directly in Node.js. - [Migrating from Motia (Python)](https://iii.dev/docs/changelog/0-11-0/migrating-from-motia-py.md): How to move from the Motia framework to iii-sdk directly in Python. - [Console](https://iii.dev/docs/console/index.md): A web-based developer console for monitoring, debugging, and interacting with a running iii engine. - [Conditions](https://iii.dev/docs/examples/conditions.md): Pre-handler functions the engine evaluates before executing a trigger — if the condition returns false, the handler function is not called. - [Cron Jobs](https://iii.dev/docs/examples/cron.md): Schedule recurring tasks with cron expressions and fan out work through the queue. - [Hello World](https://iii.dev/docs/examples/hello-world.md): An HTTP endpoint that publishes an event and a background handler that processes it. - [Multi-Trigger](https://iii.dev/docs/examples/multi-trigger.md): One function registered with multiple triggers — HTTP, queue, and cron — with per-trigger dispatch logic. - [Observability](https://iii.dev/docs/examples/observability.md): Structured logging, trace ID propagation, and automatic OpenTelemetry across a multi-step workflow. - [State Management](https://iii.dev/docs/examples/state-management.md): Read and write distributed key-value state via state::get / state::set and react to changes. - [Todo App](https://iii.dev/docs/examples/todo-app.md): A full-stack realtime todo app powered by a single WebSocket connection for both operations and live sync. - [Configure the Engine](https://iii.dev/docs/how-to/configure-engine.md): Complete reference for iii-config.yaml with all workers, adapters, and options. - [Create a Custom Trigger Type](https://iii.dev/docs/how-to/create-custom-trigger-type.md): Register a custom trigger type so functions can be fired by events that iii does not handle natively. - [Create an Ephemeral Function](https://iii.dev/docs/how-to/create-ephemeral-worker.md): How to create a temporary worker that completes a task and gracefully shuts down. - [Manage Failed Triggers: Dead Letter Queues](https://iii.dev/docs/how-to/dead-letter-queues.md): How to configure retries and let the engine route permanently failed jobs to a dead letter queue. - [Define Request/Response Formats for Functions](https://iii.dev/docs/how-to/define-request-response-formats.md): Attach JSON Schema request and response formats when registering functions so tools, agents, and operators can discover payloads and invoke functions safely. - [Developing Sandbox Workers](https://iii.dev/docs/how-to/developing-sandbox-workers.md): Develop and test workers locally in an isolated microVM using iii worker add. - [Expose an HTTP Endpoint](https://iii.dev/docs/how-to/expose-http-endpoint.md): How to register a function and expose it as a REST API endpoint. - [Manage Shared State](https://iii.dev/docs/how-to/manage-state.md): How to read, write, and update shared state across functions. - [Managing Container Workers](https://iii.dev/docs/how-to/managing-container-workers.md): Add, configure, start, stop, and remove container workers with the iii CLI. - [Observability and Logging](https://iii.dev/docs/how-to/observability-and-logs.md): How to use structured logging, configure observability, and inspect traces and logs with the iii Console. - [React to State Changes](https://iii.dev/docs/how-to/react-to-state-changes.md): How to run a Function automatically when a state value changes. - [Schedule a Cron Task](https://iii.dev/docs/how-to/schedule-cron-task.md): How to run a Function on a recurring schedule. - [Stream Real-Time Data](https://iii.dev/docs/how-to/stream-realtime-data.md): How to push live updates to connected clients using the Stream module. - [Trigger Actions](https://iii.dev/docs/how-to/trigger-actions.md): Learn the three invocation modes — synchronous, fire-and-forget, and enqueue — how they differ, when to use each, and how they shape your system architecture. - [Trigger Functions from the CLI](https://iii.dev/docs/how-to/trigger-functions-from-cli.md): How to invoke any registered function on a running iii engine using the iii trigger command. - [Use Channels](https://iii.dev/docs/how-to/use-channels.md): How to stream binary data between functions using channels — including file transfers, HTTP streaming responses, progress reporting, and bidirectional communication. - [Use Functions & Triggers](https://iii.dev/docs/how-to/use-functions-and-triggers.md): Learn how to register Functions and Trigger them from anywhere within your backend across languages and from any service. - [Use HTTP Middleware](https://iii.dev/docs/how-to/use-http-middleware.md): How to run middleware functions before HTTP handlers for auth, logging, rate limiting, and more. - [Use iii in the Browser](https://iii.dev/docs/how-to/use-iii-in-the-browser.md): Connect your frontend directly to iii using the browser SDK for real-time, bi-directional communication. - [Use Named Queues](https://iii.dev/docs/how-to/use-named-queues.md): Enqueue jobs to specific functions with configurable retries, concurrency limits, FIFO ordering, and dead-letter support. - [Use Topic-Based Queues](https://iii.dev/docs/how-to/use-topic-queues.md): Subscribe multiple functions to a topic so every published message fans out to all subscribers with independent retries per function. - [Use Conditions with Triggers](https://iii.dev/docs/how-to/use-trigger-conditions.md): How to run a condition Function before trigger handlers. - [Worker RBAC](https://iii.dev/docs/how-to/worker-rbac.md): Configure the iii-worker-manager to enable role-based access control for workers connecting over WebSocket. - [Welcome to iii](https://iii.dev/docs/index.md): A backend unification and orchestration system. - [Install](https://iii.dev/docs/install.md): Install the iii engine and set up your development environment. - [Concepts: Discovery](https://iii.dev/docs/primitives-and-concepts/discovery.md): Every worker sees every function in the system — and gets notified when functions appear or disappear as workers connect and disconnect. - [Primitives: Functions, Triggers, and Workers](https://iii.dev/docs/primitives-and-concepts/functions-triggers-workers.md): Functions, Triggers, and Workers are how code gets defined, executed, and managed in a iii powered backend - [Quickstart](https://iii.dev/docs/quickstart.md): Scaffold a cross-language project, compose Python and TypeScript workers, and incrementally add functionality to a live system with zero downtime. - [Bridge](https://iii.dev/docs/workers/iii-bridge.md): Connect to another iii instance - [Cron](https://iii.dev/docs/workers/iii-cron.md): Schedule functions with cron expressions. - [Exec](https://iii.dev/docs/workers/iii-exec.md): Execute commands in the shell. - [HTTP](https://iii.dev/docs/workers/iii-http.md): Expose functions as HTTP endpoints. - [Observability](https://iii.dev/docs/workers/iii-observability.md): OpenTelemetry-based traces, metrics, logs, alerts, and sampling. - [PubSub](https://iii.dev/docs/workers/iii-pubsub.md): Topic-based publish/subscribe messaging for real-time event distribution. - [Queue](https://iii.dev/docs/workers/iii-queue.md): Queue worker for async job processing with named queues, retries, and dead-letter support. - [State](https://iii.dev/docs/workers/iii-state.md): Distributed key-value state management with reactive change triggers. - [Stream](https://iii.dev/docs/workers/iii-stream.md): Build durable streams for real-time data subscriptions. - [Worker](https://iii.dev/docs/workers/iii-worker-manager.md): WebSocket bridge that connects SDK workers to the engine for function registration, invocation, and trigger management. - [Core Workers](https://iii.dev/docs/workers/index.md): The modular building blocks of the iii architecture — engine, workers, and adapters. ## OpenAPI Specs - [openapi](https://iii.dev/docs/api-reference/openapi.json)