Base URL
The API runs locally on your machine:7437. You can configure this via:
ENGRAM_PORTenvironment variable- Command line argument:
engram serve 8080
Authentication
Engram runs locally and does not require authentication. All API endpoints are accessible without credentials.Request Format
All POST/PATCH requests expect JSON bodies withContent-Type: application/json.
Response Format
All responses are JSON. Successful responses return appropriate HTTP status codes (200, 201, etc.) with data. Errors return 4xx/5xx codes with an error message:Common Status Codes
200 OK- Request succeeded201 Created- Resource created successfully400 Bad Request- Invalid request parameters404 Not Found- Resource not found500 Internal Server Error- Server error
Health Check
Check if the server is running:Response
API Endpoints
The API is organized into the following sections:- Sessions - Manage coding sessions
- Observations - Store and retrieve memories
- Search - Full-text search with FTS5
- Prompts - Track user prompts
Data Types
Timestamps
All timestamps are in ISO 8601 format (UTC):Nullable Fields
Optional fields are omitted or set tonull in responses.
Rate Limits
There are no rate limits for the local API.Privacy
Engram supports<private>...</private> tags to prevent sensitive data from being stored. Content within these tags is automatically stripped and replaced with [REDACTED] before persistence.