Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/iii-hq/sdk/llms.txt

Use this file to discover all available pages before exploring further.

Welcome to III SDK

The III SDK provides a unified interface for building distributed applications with function registration, invocation, and trigger management. It enables seamless communication between services through a WebSocket-based engine.

Quickstart

Get started in minutes with our quick start guide

Installation

Detailed installation instructions for all languages

Supported Languages

The III SDK is available in three languages, each designed to work seamlessly with the III Engine:

Node.js

TypeScript/JavaScript SDK with full async support and OpenTelemetry integration

Python

Async Python SDK with function registration and context-aware logging

Rust

High-performance async Rust SDK with automatic reconnection

Key Features

Function Registration

Register callable functions that can be invoked by other services in your distributed system

Function Invocation

Call functions synchronously or asynchronously (fire-and-forget) across your service mesh

Trigger Management

Create and manage triggers for API endpoints, events, schedules, and custom trigger types

Custom Trigger Types

Define your own trigger types with custom logic to extend the platform

Context-Aware Logging

Built-in logging with execution context tracking across all function calls

OpenTelemetry Integration

Full observability with traces, metrics, and logs (Node.js SDK with optional Python/Rust support)

Automatic Reconnection

Resilient WebSocket connections with automatic reconnection handling

State Management

Built-in state and stream management for atomic updates and distributed data

How It Works

The III SDK communicates with the III Engine via WebSocket connections. The engine acts as a central orchestrator for:
  • Function Registry and Routing - Maintains a registry of all available functions and routes invocations to the appropriate service
  • Trigger Management - Manages trigger registration, configuration, and execution across your system
  • Inter-Service Communication - Enables seamless communication between different services in your architecture
  • Telemetry and Observability - Collects and exports traces, metrics, and logs for full system visibility
The III Engine must be running and accessible via WebSocket (default: ws://localhost:49134) for the SDK to function.

Quick Example

Here’s a simple example showing how to register a function and create an HTTP trigger:
import { III } from 'iii-sdk'

const iii = new III('ws://localhost:49134')

iii.registerFunction({ id: 'myFunction' }, (req) => {
  return { status_code: 200, body: { message: 'Hello, world!' } }
})

iii.registerTrigger({
  type: 'http',
  function_id: 'myFunction',
  config: { api_path: '/hello', http_method: 'POST' },
})

const result = await iii.call('myFunction', { param: 'value' })

Next Steps

Get Started

Follow our quickstart guide to build your first III application

Installation Guide

Detailed setup instructions and prerequisites for each language

API Reference

Explore the complete API documentation for all SDKs

Examples

Browse complete example applications in the GitHub repository

License

The III SDK is licensed under the Apache License 2.0. See the LICENSE file for details.

Build docs developers (and LLMs) love