인증
API Key 인증
모든 API 요청은 API Key를 사용한 인증이 필요합니다. 요청 헤더에 API Key를 포함하세요:
# Using curl
curl -X POST http://localhost:9100/api/brain/memory/store \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"content": "Example memory"}'
# Using JavaScript fetch
fetch('http://localhost:9100/api/brain/memory/store', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
content: 'Example memory'
})
})참고: 로컬 개발 시 API Key 인증은 선택 사항입니다. 프로덕션에서는 항상 API Key와 HTTPS를 사용하세요.
속도 제한
공정한 사용을 보장하기 위해 API 요청에 속도 제한이 적용됩니다:
- 무료 티어: 분당 100건 요청
- Pro 티어: 분당 1,000건 요청
- Enterprise: 맞춤 제한
모든 응답에 속도 제한 헤더가 포함됩니다:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1704153600Memory API
VoyageAI 임베딩으로 시맨틱 메모리를 저장, 검색, 탐색
Base URL: http://localhost:9100/api/brain/memory/api/brain/memory/storeStore a new memory with embeddings
파라미터:
contentstring필수Memory content to storetagsstring[]Tags for categorizationmetadataobjectAdditional metadata/api/brain/memory/recallRecall memories using semantic search
파라미터:
querystring필수Search querylimitnumberMax results (default: 10)scoreThresholdnumberMin similarity score (0-1)/api/brain/memory/searchUnified search across all memory types
파라미터:
querystring필수Search queryfiltersobjectFilter by type, tags, date rangelimitnumberMax results (default: 20)/api/brain/memory/listList all stored memories with pagination
파라미터:
limitnumberResults per page (default: 20)offsetnumberPagination offsetVision API
비디오 처리, 프레임 추출, 장면 감지
Base URL: http://localhost:9100/api/brain/videoagent/api/brain/videoagent/submit-jobSubmit video for processing
파라미터:
filenamestring필수Video filenamevideoUrlstringURL to video fileoptionsobjectProcessing optionsuserIdstringUser ID for tracking/api/brain/videoagent/statusCheck video processing status
파라미터:
jobIdstring필수Job ID from submit-job/api/brain/videoagent/resultGet completed video processing results
파라미터:
jobIdstring필수Job ID from submit-job/api/brain/videoagent/cancelCancel a running video processing job
파라미터:
jobIdstring필수Job ID to cancelOrchestrator API
멀티 에이전트 작업 조율 및 실행
Base URL: http://localhost:9100/api/brain/orchestrate/api/brain/orchestrate/submitSubmit task for multi-agent orchestration
파라미터:
taskstring필수Task descriptionmaxAgentsnumberMax agents (default: 3)timeoutnumberTimeout in ms (default: 180000)contextobjectAdditional context/api/brain/orchestrate/statusCheck orchestration task status
파라미터:
jobIdstring필수Job ID from submit/api/brain/orchestrate/resultGet completed orchestration results
파라미터:
jobIdstring필수Job ID from submit/api/brain/orchestrate/agent/collaborateMulti-agent collaboration on complex tasks
파라미터:
objectivestring필수Collaboration objectiveagentsarrayAgent configurationiterationsnumberIterations (default: 2)Documents API
문서 처리, 청킹, 검색
Base URL: http://localhost:9100/api/brain/fileprocess/api/brain/fileprocess/submit-urlSubmit document URL for processing
파라미터:
fileUrlstring필수Document URLfilenamestring필수Document filenamemetadataobjectDocument metadatauserIdstringUser ID for tracking/api/brain/fileprocess/submit-fileSubmit document file for processing
파라미터:
filenamestring필수Document filenamefileSizenumberFile size in bytesmimeTypestringMIME typemetadataobjectDocument metadata/api/brain/fileprocess/statusCheck document processing status
파라미터:
jobIdstring필수Job ID from submit/api/brain/fileprocess/store-documentStore document with intelligent chunking
파라미터:
contentstring필수Document contenttitlestringDocument titlemetadataobjectDocument metadataGeospatial API
지오코딩, 좌표 변환, 공간 분석
Base URL: http://localhost:9100/api/brain/geospatial/api/brain/geospatial/geocodeConvert address to coordinates
파라미터:
addressstring필수Address to geocode/api/brain/geospatial/reverse-geocodeConvert coordinates to address
파라미터:
latitudenumber필수Latitudelongitudenumber필수Longitude/api/brain/geospatial/distanceCalculate distance between coordinates
파라미터:
fromobject필수Start coordinatestoobject필수End coordinatesunitstringkm or miles (default: km)/api/brain/geospatial/proximityFind points within radius
파라미터:
centerobject필수Center coordinatesradiusnumber필수Radius in kmpointsarray필수Points to checkLearning API
점진적 지식 구축 및 리콜
Base URL: http://localhost:9100/api/brain/learning/api/brain/learning/triggerTrigger progressive learning on a topic
파라미터:
topicstring필수Learning topicprioritynumber필수Priority 1-10triggerstring필수Trigger reasoncontextobjectAdditional context/api/brain/learning/recallRecall learned knowledge on a topic
파라미터:
topicstring필수Topic to recalllayerstringOVERVIEW|PROCEDURES|TECHNIQUES|EXPERT|allmaxResultsnumberMax results (default: 10)Connect API
MCP 도구 실행 및 서버 관리
Base URL: http://localhost:9100/api/brain/connect/api/brain/connect/executeExecute an MCP tool
파라미터:
toolstring필수Tool nameparametersobject필수Tool parameters/api/brain/connect/toolsList all available MCP tools
/api/brain/connect/serversList all MCP servers
/api/brain/connect/server/addAdd a new MCP server
파라미터:
namestring필수Server nameconfigobject필수Server configuration응답 형식
표준 JSON 응답
모든 API 엔드포인트는 다음 구조의 JSON 응답을 반환합니다:
{
"success": true,
"data": {
// Response data
},
"metadata": {
"requestId": "req_abc123",
"timestamp": "2025-11-07T10:00:00Z",
"processingTime": 123
}
}
// Error response
{
"success": false,
"error": {
"code": "INVALID_PARAMETER",
"message": "The 'query' parameter is required",
"details": {}
},
"metadata": {
"requestId": "req_abc123",
"timestamp": "2025-11-07T10:00:00Z"
}
}Server-Sent Events (SSE) 스트리밍
장시간 실행 작업은 SSE를 통한 실시간 진행 업데이트를 지원합니다:
// Connect to SSE stream
const eventSource = new EventSource(
'http://localhost:9100/api/brain/orchestrate/stream?jobId=job_abc123'
);
eventSource.onmessage = (event) => {
const data = JSON.parse(event.data);
console.log('Progress:', data);
};
// SSE event format
{
"type": "progress",
"jobId": "job_abc123",
"state": "in_progress",
"progress": 45,
"message": "Agent 2/5 completed research phase",
"metadata": {
"agentId": "agent_xyz",
"phase": "research"
}
}에러 코드
400 Bad Request잘못된 파라미터 또는 형식이 올바르지 않은 요청
401 UnauthorizedAPI Key가 없거나 유효하지 않음
403 Forbidden이 작업에 대한 권한 부족
404 Not Found리소스를 찾을 수 없음
429 Too Many Requests속도 제한 초과
500 Internal Server Error서버 오류 - 지원팀에 문의하세요
503 Service Unavailable서비스 일시적으로 사용 불가
