Documentation
AACSearch provides managed search through a tenant-scoped API. Create indexes, upload documents and query them through the console, REST API or SDK. The platform applies access controls, quotas and analytics.
AACSearch provides managed search through a tenant-scoped API. Create indexes, upload documents and query them through the console, REST API or SDK. The platform applies access controls, quotas and analytics.
Every endpoint in this documentation is served by the running service under /api/v1, and every request and response body shown here mirrors the source in packages/api/routes/v1.
Start here
Platform overview
How tenancy, the engine and the API fit together.
Quickstart
Create an index, upload documents, run your first search.
API reference
Authentication, endpoints, request and response bodies.
Errors & limits
Error codes, rate limits, plan quotas and wallet behaviour.
What the platform does
- Tenant isolation. Index access is checked within the authenticated organization. The API applies tenant and document access filters server-side.
- Key-based public API. Keys look like
aac_live_…, carry scopes, and are stored as SHA-256 hashes — the plaintext is shown once. - Search that is more than keyword matching. Typo tolerance, faceting, grouping, filters, vector and hybrid semantic search, autocomplete, click and conversion tracking.
- AI features on the same index. RAG answers with citations, a conversation assistant with streaming, natural-language search, voice and image queries.
- Metering you can see. Search usage, document counts, AI tokens and reindex runs are metered per billing period;
GET /billing/usageandGET /billing/walletexpose the numbers the API enforces. - A widget that needs no key in the browser. Your server trades the API key for a short-lived, search-only session token (
POST /api/v1/embed/session); the embed script uses only that token, through the AACSearch proxy.
Layout of this documentation
| Section | Contents |
|---|---|
| Getting started | Platform overview and a five-step quickstart |
| API reference | Auth, search, suggest, documents, analytics, embed session, status, webhooks, errors |
| SDKs | Typed TypeScript and Python clients |
| Guides | Semantic search, RAG assistant, voice and image, experiments, connectors, billing, widget |
Versions and compatibility
The API is versioned in the path (/api/v1). Responses are JSON with snake_case keys; errors always use the envelope {"error": {"code", "message", "request_id"}}. Every response carries a request_id worth quoting to support.
Available features are reported by GET /api/v1/capabilities. A supported feature can still require a configured model, index fields or deployment settings. Backend version and infrastructure details belong to platform administration.