라벨 API

받은 메일에 라벨을 붙여 받은편지함을 정리하고, 라벨 · 라벨 없음 · 읽음 여부로 목록을 거릅니다.

Markdown 보기마지막 수정

라벨은 에이전트가 받은 메일에 붙이는 자기 메모입니다. 정책 · 위험 검사 · 승인에 쓰이지 않습니다. 두 경로 모두 읽기(messages:read) 권한이 필요합니다. 격리된 메일에는 붙일 수 없고 개수에도 들어가지 않습니다.

메일에 라벨 붙이기

http
PUT /v1/messages/inbound/{messageId}/labels

두 모양 중 하나만 보냅니다.

라벨을 통째로 바꾸기
{ "labels": ["invoice", "needs-reply"] }
더하고 빼기
{ "add": ["done"], "remove": ["needs-reply"] }

응답은 바뀐 뒤의 라벨입니다.

json
{ "message_id": "e4b2…77d0", "labels": ["done", "invoice"] }
  • 라벨은 1~64자: 영문 소문자, 숫자, ., _, -. 첫 글자는 영문자나 숫자입니다.
  • 메일 한 통에 20개, 에이전트 하나가 쓰는 서로 다른 라벨은 200개까지입니다.
  • 없거나 격리된 메일이면 404 message_not_found입니다.

라벨 목록

http
GET /v1/labels?agent_id={agentId}
json
{
  "agent_id": "7c21…f5a1",
  "labels": [
    { "label": "invoice", "count": 12, "unread": 3 },
    { "label": "needs-reply", "count": 4, "unread": 4 }
  ],
  "limits": { "per_message": 20, "per_agent": 200 }
}

count는 그 라벨이 붙은 보이는 메일 수, unread는 그중 아직 열지 않은 메일 수입니다.

받은편지함 거르기

GET /v1/messages/inbound가 필터 셋을 더 받습니다. 목록의 메일마다 labels와 read도 옵니다.

쿼리설명
label이 라벨이 붙은 메일만
unlabeledtrue: 라벨이 없는 메일만. label과 함께 쓸 수 없습니다.
readtrue: 이미 연 메일만, false: 안 읽은 메일만

메일은 GET /v1/messages/inbound/{messageId}나 MCP read_email로 처음 열 때 읽음이 됩니다. 목록만 봐서는 읽음이 되지 않습니다.

오류

상태error뜻
400invalid_label라벨 모양이 틀렸습니다.
400label_limit메일 한 통의 라벨이 20개를 넘게 됩니다.
400path_body_mismatch본문의 agent_id가 토큰의 에이전트가 아닙니다.
409agent_label_limit서로 다른 라벨을 이미 200개 씁니다. 있는 라벨을 쓰거나 하나를 모든 메일에서 뺀 뒤 씁니다.

이 문서에 대한 의견은 support@atmark.ai로 보내 주세요.