에이전트 런타임에서 작업 공간을 위해 S3에 기록된 gzip으로 압축된 JSONL 로그 배치를 조회합니다. 프로젝트 범위는 경로 ID 경로 매개 변수에 의해 전달되며 조직은 해당 프로젝트 에서 파생됩니다.
쿼리 매개변수
-
작업 공간 식별자
-
RFC3339 시작 시간(기본값: 1시간 전, 범위 6시간을 초과할 수 없음)
-
RFC3339 종료 시간(기본값: 지금, 범위 6시간을 초과할 수 없음)
-
최대 항목(기본값 500, 최대 5000)
-
이전 응답의 불투명한 페이지 커서
-
수준을 쉼표 또는 공백으로 구분하여 정확히 일치하도록 로그 수준을 기록합니다(DEBUG, INFO, WARNING, ERROR. 경고/오류 별칭도 허용). 이전 최소 심각도 필터하다 의 단절적 변경: 이제 level=INFO는 INFO+WARNING+ERROR가 아닌 INFO만 반환합니다.
-
실행 ID 로 필터링(정확히 일치)
-
세션 ID 로 필터링(정확히 일치)
-
정확히 일치하는 소스(쉼표 또는 공백으로 구분)(stdout, stderr, python-logging, node-logging)
-
쉼표 또는 공백으로 구분하여 정확히 일치하는 서비스(에이전트-실행-런타임, 도구-실행기, 에이전트/tool 별칭도 허용됨)
-
메시지 또는 부팅 ID 에서 대소문자를 구분하지 않는 하위 문자열 일치
-
정렬 순서: asc (기본값, 오래된 것 먼저) 또는 desc (최신 것 먼저)
-
최신 항목만 단일 페이지로 반환( 커서 와 상호 배타적)
GET /api/v1/projects/{id}/agent-logs
curl \
--request GET 'https://agentengine.mongodb.com/api/v1/projects/{id}/agent-logs?workspace_id=string' \
--header "Authorization: $API_KEY"
응답 예시(406)
작업을 사용할 수 없습니다.
{
"detail": "This operation is not available in API version 2026-09-20-preview.",
"error": 406,
"errorCode": "OPERATION_NOT_IN_API_VERSION",
"parameters": [
"Accept"
],
"reason": "Not Acceptable"
}
{
"detail": "This operation supports text/event-stream, which the Accept header excludes. Remove unsupported media-type parameters or accept this type with a positive q value.",
"error": 406,
"errorCode": "UNACCEPTABLE_MEDIA_TYPE",
"parameters": [
"Accept"
],
"reason": "Not Acceptable"
}
{
"detail": "The requested API version is not supported. Supported versions: 2026-09-20-preview.",
"error": 406,
"errorCode": "UNSUPPORTED_API_VERSION",
"parameters": [
"Accept"
],
"reason": "Not Acceptable"
}
응답 예시(406)
{
"detail": "This operation is not available in API version 2026-09-20-preview.",
"error": 406,
"errorCode": "OPERATION_NOT_IN_API_VERSION",
"parameters": [
"Accept"
],
"reason": "Not Acceptable"
}
응답 예시(200)
{
"hasMore": true,
"logs": [
{
"bootId": "string",
"executionId": "string",
"fields": {},
"level": "string",
"logger": "string",
"message": "string",
"podName": "string",
"service": "string",
"sessionId": "string",
"source": "string",
"tenantId": "string",
"timestamp": "string",
"traceId": "string",
"workspaceId": "string"
}
],
"nextCursor": "string"
}
응답 예시(200)
{
"hasMore": true,
"logs": [
{
"bootId": "string",
"executionId": "string",
"fields": {},
"level": "string",
"logger": "string",
"message": "string",
"podName": "string",
"service": "string",
"sessionId": "string",
"source": "string",
"tenantId": "string",
"timestamp": "string",
"traceId": "string",
"workspaceId": "string"
}
],
"nextCursor": "string"
}
응답 예시(400)
{
"code": "string",
"error": "string",
"success": true
}
응답 예시(400)
{
"code": "string",
"error": "string",
"success": true
}
응답 예시(403)
{
"code": "string",
"error": "string",
"success": true
}
응답 예시(403)
{
"code": "string",
"error": "string",
"success": true
}
응답 예시(404)
{
"code": "string",
"error": "string",
"success": true
}
응답 예시(404)
{
"code": "string",
"error": "string",
"success": true
}
응답 예시(429)
# Headers
Retry-After: string
# Payload
{
"code": "string",
"error": "string",
"success": true
}
응답 예시(429)
# Headers
Retry-After: string
# Payload
{
"code": "string",
"error": "string",
"success": true
}
응답 예시(500)
{
"code": "string",
"error": "string",
"success": true
}
응답 예시(500)
{
"code": "string",
"error": "string",
"success": true
}
응답 예시(503)
# Headers
Retry-After: string
# Payload
{
"code": "string",
"error": "string",
"success": true
}
응답 예시(503)
# Headers
Retry-After: string
# Payload
{
"code": "string",
"error": "string",
"success": true
}