Quick Start
Get started with Aetherfy in under 5 minutes. Build your first AI agent memory system.
Getting your first API key
Web-first (recommended)
- Sign up with email or GitHub.
- On first login, the welcome modal reveals your default API key's plaintext.
- Copy it — you will see it once.
- Use it from any SDK, CLI, or HTTP client.
You will see your key once. The plaintext is never stored on our side after that single reveal — only its hash. If you lose it, head to the API Keys page and create a replacement.
SDK / CLI-first (BYOK)
Already comfortable in a terminal? Once you have your key from the dashboard, drop it into AETHERFY_API_KEY and the SDKs pick it up automatically:
# Python SDK — picks up AETHERFY_API_KEY automatically
import os
os.environ["AETHERFY_API_KEY"] = "afy_live_your_api_key_here"
from aetherfy_vectors import AetherfyVectorsClient
client = AetherfyVectorsClient() # env var → no kwarg needed// JS / TypeScript SDK — same env-var convention
// process.env.AETHERFY_API_KEY = 'afy_live_your_api_key_here'
import { AetherfyVectorsClient } from 'aetherfy-vectors';
const client = new AetherfyVectorsClient(); // env var → no kwarg neededThe CLI is the same convention — afy login --api-key … persists the key locally.
A note on revocation:the auto-provisioned default key can be revoked like any other. Revoking it doesn't lose dashboard editor access — the editor uses an internal token — but it does invalidate the key for SDK and CLI use, so create a replacement before revoking if you're using it outside the dashboard.
Install the SDK
Add Aetherfy to your project
npm install aetherfy-vectorsInitialize the client
Get your API key from the dashboard
import { AetherfyVectorsClient, DistanceMetric } from 'aetherfy-vectors'
const client = new AetherfyVectorsClient({
apiKey: process.env.AETHERFY_API_KEY
})Create a collection
Set up a collection for your vectors
await client.createCollection('agent-memory', {
size: 1536, // OpenAI ada-002 dimensions
distance: DistanceMetric.COSINE
})Insert vectors
Add vectors with payload data to your collection
await client.upsert('agent-memory', [
{
id: 1, // unsigned integer, or a UUID string
vector: embeddings, // Your vector embeddings
payload: {
agent_id: 'assistant',
content: 'User prefers morning meetings',
timestamp: Date.now()
}
}
])Search vectors
Find similar vectors with filtering
const results = await client.search('agent-memory', queryEmbedding, {
limit: 5,
withPayload: true,
queryFilter: {
must: [{ key: 'agent_id', match: { value: 'assistant' } }]
}
})
console.log(results) // Returns from the nearest region