예약 발송 API

보낼 시각을 정해 메일을 예약하고, 목록을 보고, 취소합니다. 정책은 보낼 때 확인합니다.

Markdown 보기마지막 수정

예약 만들기

http
POST /v1/messages/scheduled

Idempotency-Key 헤더와 보내기(messages:send) 권한이 필요합니다. 본문은 새 메일과 같고 두 필드가 더해집니다.

필드필수설명
send_at예보낼 시각(ISO 8601). 30일 이내여야 하고 과거면 안 됩니다.
agent_cancellable아니요기본 true. false면 에이전트 토큰으로 취소할 수 없고 소유자만 콘솔에서 취소합니다. 만든 뒤에는 바꿀 수 없습니다.

응답은 202이고 schedule_id, status, send_at, agent_cancellable이 옵니다. 이 단계에서는 정책을 확인하지 않습니다. 보낼 시각에 확인하고, 그때 막히면 나가지 않습니다.

목록

http
GET /v1/messages/scheduled?agent_id={agentId}

읽기 권한. status(scheduled·dispatched·cancelled), limit(1~50), cursor로 거릅니다. 응답은 schedules 배열과 next_cursor입니다.

한 건 보기

http
GET /v1/messages/scheduled/{scheduleId}

목록 항목에 제목(subject)이 더해집니다. 항목에는 send_at, recipients, from_address, cancelled_at, cancel_reason_code, cancelled_via, dispatch_outcome, message_id가 있습니다.

취소

http
POST /v1/messages/scheduled/{scheduleId}/cancel

보내기 권한. 본문에 reason_code가 필수이고 note는 선택입니다.

reason_code: no_longer_needed, wrong_recipient, wrong_content, wrong_time, duplicate, owner_request, other

응답뜻
200취소됨
403 schedule_not_agent_cancellable에이전트가 취소할 수 없는 예약. 소유자에게 요청합니다.
409 schedule_already_dispatched이미 나갔습니다. 거둘 수 없습니다.
409 schedule_in_flight지금 나가는 중입니다. 잠시 뒤 상태를 다시 봅니다.
429 cancel_rate_limited시간당 취소 한도에 닿았습니다.

취소 사유와 경로는 기록에 영구히 남고 소유자가 콘솔 로그에서 봅니다.

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