Introduction
What the AICE SDKs are, which services they cover, and the two ideas every integration rests on.
AICE is a set of independent services: an agent runtime, a recommendation engine, document search, a crawler, a data connector, KYC checks and a code sandbox. Each one exposes a REST API. The SDKs wrap those APIs in typed clients for Python and TypeScript that share one transport, so retries, errors and authentication behave the same way whichever service you call.
Two ideas to hold on to
One key per project
The console issues a key for each project. It works on the services that project enables, and it never leaves your servers.
Every request names a user
The key says which project is calling, not who is asking. Most calls also carry the ID of the user they act for.
Services
| Service | What it does | Python | TypeScript |
|---|---|---|---|
| Agent Platform | Streaming conversational agents with tools, memory and human approval | aice-agent-platform | @aiceafrica/agent-platform |
| Recommendation | Track interactions, train a model, get ranked recommendations | aice-recommendation | @aiceafrica/recommendation |
| Knowledge | Document ingestion, scopes and semantic search | aice-knowledge | @aiceafrica/knowledge |
| Crawler | Budgeted web crawls, reviewed then published to Knowledge | aice-crawler | @aiceafrica/crawler |
| Data Brain | Query connected data sources without exposing credentials | aice-data-brain | @aiceafrica/data-brain |
| KYC | Document analysis, face capture and verification | aice-kyc | @aiceafrica/kyc |
| Sandbox | Isolated sessions for running code | aice-sandbox | not yet |
Want every client behind one object? The umbrella SDK (aice-sdk / @aiceafrica/sdk) builds each one lazily from a single project key.
How the pieces fit
browser ──▶ your backend ──(project key + X-User-Id)──▶ AICE serviceThe SDKs are server-side clients. The project key is a credential for everything in that project, so it lives in your backend's environment, never in a browser bundle or a mobile app. A browser that needs an AICE feature, such as a chat window, calls your backend, and your backend calls AICE. The chat UI guide shows that pattern end to end.