API Reference
REST 엔드포인트 카탈로그. Python · TypeScript SDK가 이걸 래핑합니다 — HTTP 직접 호출 이유가 없다면 SDK부터 시작.
인증
v1 엔드포인트는 Token 인증 — API 키를 헤더에:
Authorization: Token mg-your-api-key
API 키(
mg- prefix)는 프로젝트 스코프. Platform 라우트(auth, billing, dashboard)는 JWT Bearer 토큰 사용 — v1 surface가 아님.엔드포인트 카탈로그
| Method | Path | 용도 |
|---|---|---|
| POST | /v1/memories/ | 메시지에서 자동 추출 + 저장 |
| POST | /v1/memories/extract | 동기 추출 (옵션 저장) — memgen 전용 |
| POST | /v1/memories/search/ | 의미 검색 |
| POST | /v1/memories/get/ | 필터로 페이징 조회 |
| GET | /v1/memories/{id}/ | 단건 조회 |
| PUT | /v1/memories/{id}/ | 텍스트 수정 |
| DELETE | /v1/memories/{id}/ | Soft delete |
| DELETE | /v1/memories/ | 필터 기반 일괄 삭제 (GDPR) |
| GET | /v1/memories/{id}/history/ | 변경 로그 |
| POST | /v1/memories/feedback/ | 품질 시그널 |
| GET | /v1/projects/{id}/config | extraction policy + label taxonomy 조회 |
| PUT | /v1/projects/{id}/config | extraction policy + label taxonomy 갱신 |
| GET | /v1/entities/ | user/agent/app 엔티티 목록 |
| DELETE | /v1/entities/ | 엔티티 + 그 메모리 삭제 |
| GET | /v1/events/ | 메모리 변경 이벤트 스트림 |
| POST | /v1/engine/retrieve/ | Raw 임베딩 검색 (LLM 없이) |
| POST | /v1/engine/embed/ | 텍스트 → 벡터 |
| POST | /v1/engine/consolidate/ | 유사 메모리 병합 (고급) |
Memories — 가장 흔한
POST
/v1/memories/Auth
TokenRequest Body
{
"messages": [
{"role": "user", "content": "I'm vegetarian, allergic to nuts"},
{"role": "assistant", "content": "Got it!"}
],
"user_id": "alice",
"agent_id": "bot_v2",
"run_id": "session-001",
"metadata": {"channel": "chat"},
"categories": ["preferences"]
}Response
{
"results": [{
"id": "uuid",
"memory": "user is vegetarian, allergic to nuts",
"metadata": {
"core": {
"summary": "...",
"entities": ["nuts"],
"tags": ["preferences", "allergy"],
"key_facts": ["vegetarian", "allergic to nuts"],
"importance": 2
}
}
}],
"credits_used": 100,
"credits_remaining": 1985900
}POST
/v1/memories/extractAuth
TokenRequest Body
{
"messages": [{"role": "user", "content": "I adopted a puppy named Mochi."}],
"user_id": "alice",
"store": true,
"extension": null,
"metadata": {"app": "demo"}
}Response
{
"core": {
"summary": "User adopted a puppy named Mochi.",
"entities": ["puppy", "Mochi"],
"tags": ["pet"],
"key_facts": ["adopted puppy named Mochi"],
"importance": 2,
"timestamp": "2026-05-03T12:34"
},
"extensions": {},
"memory_id": "uuid",
"usage": {
"core": {"prompt_tokens": 150, "completion_tokens": 80, "model": "..."}
}
}POST
/v1/memories/search/Auth
TokenRequest Body
{
"query": "food restrictions",
"user_id": "alice",
"filters": {
"metadata": {"channel": "chat"},
"categories": ["preferences"]
},
"top_k": 10,
"threshold": 0.3
}Response
{
"results": [{
"id": "uuid",
"memory": "user is vegetarian, allergic to nuts",
"score": 0.87,
"categories": ["preferences", "allergy"]
}]
}Project Config — 도메인 커스터마이징
PUT
/v1/projects/{project_id}/configAuth
TokenRequest Body
{
"extraction_policy": "Extract dietary preferences and allergies. Skip payment info.",
"label_taxonomy": [
{"diet": "Dietary preference"},
{"allergy": "Allergic condition"}
]
}GET
/v1/projects/{project_id}/configAuth
TokenEngine — raw 벡터 연산 고급
LLM 추출을 건너뛰고 임베딩 + 벡터 스토어와 직접 통신. 자세한 내용은 Engine 페이지.
POST
/v1/engine/retrieve/Auth
TokenRequest Body
{
"query": "food restrictions",
"user_id": "alice",
"limit": 5
}POST
/v1/engine/embed/Auth
TokenRequest Body
{"text": "hello world", "mode": "query"}Response
{"embedding": [0.034, -0.012, ...], "dimension": 4096}응답 envelope 규약
- List endpoint는
{ results: [...], pagination: {...} }반환 - 변경 호출은 갱신된 객체 +
credits_used/credits_remaining반환 - 에러는
{ "detail": "human message" }+ 해당 HTTP 상태 코드