Skip to main content

Authentication

Remem uses API keys for tenant-scoped authentication and JWTs for admin access.

API Keys

All /v1/* endpoints require an API key passed in the X-API-Key header:
curl -H "X-API-Key: vlt_abc123..." https://api.remem.io/v1/query
API keys are:
  • Tenant-scoped — each key belongs to exactly one tenant
  • Prefixed — all keys start with vlt_ for easy identification
  • Revocable — revoked keys stop working immediately
  • Hashed at rest — only the SHA-256 hash is stored in the database

Creating Keys

curl -X POST https://api.remem.io/v1/auth/api-keys \
  -H "X-API-Key: vlt_existing_key..." \
  -d '{"name": "production-agent"}'
The full key value is only returned at creation. Store it in a secrets manager.

Sensitivity Scoping

Each API key has a maximum sensitivity level that controls which documents it can access:
LevelAccess
publicOnly public documents
internalPublic + internal documents
confidentialPublic + internal + confidential
personalAll documents (default for new keys)
Query results are automatically filtered to the key’s maximum sensitivity level.

Bearer Tokens (JWT)

Admin and dashboard endpoints accept JWT bearer tokens:
curl -H "Authorization: Bearer eyJhbG..." https://api.remem.io/v1/tenants/

Public Endpoints

These endpoints do not require authentication:
EndpointDescription
GET /API info
GET /healthHealth check
GET /health/liveLiveness probe
GET /health/readyReadiness probe
GET /health/servicesService connectivity
POST /public/signupCreate tenant + return initial API key

Rate Limits

Rate limits are applied per API key:
TierRequests/minBurst
Free6010
Pro60050
When rate-limited, the API returns 429 Too Many Requests with a Retry-After header.