Purpose
Theintegration-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
- LLM
- STT
- TTS
- Telephony
Caller Architecture
Each LLM provider lives underapi/integration-api/internal/caller/<provider>/. The directory structure is:
Running
- Docker Compose
- From Source
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.