Skip to main content

Purpose

The integration-api is the single point of contact with every external AI provider in the platform. It:
  • Stores provider API keys encrypted at rest using AES-256-GCM
  • Decrypts credentials in-memory per request (never written to logs or disk)
  • Executes LLM streaming and non-streaming inference
  • Generates embeddings for RAG search
  • Verifies provider credentials before saving them

Port

9004 — HTTP · gRPC (cmux)

Language

Go 1.25 Gin (REST) + gRPC

Storage

PostgreSQL integration_db Redis (provider cache)
integration-api is the only service that decrypts and uses provider API keys. Keys are decrypted in-memory per request and are never written to logs, forwarded to other services, or stored in plaintext anywhere.

Credential Encryption Flow


Supported Providers


Caller Architecture

Each LLM provider lives under api/integration-api/internal/caller/<provider>/. The directory structure is:
Each provider package contains:

Running


Health Endpoints


Next Steps

Configuration

Environment variables including INTEGRATION_CRYPTO_KEY.

Adding Providers

LargeLanguageCaller interface and how to add a new LLM provider.

Assistant API

How assistant-api calls integration-api during a live voice conversation.

Architecture

Full system topology.