> For the complete documentation index, see [llms.txt](https://a-send.gitbook.io/api/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://a-send.gitbook.io/api/api-reference/reference/message.md).

# Message

메시지 발송 및 관리

## 알림톡 발송

> 카카오 알림톡 메시지를 발송합니다.\
> \
> 요청이 접수되면 발송 큐에 예약되며, 실제 발송은 비동기로 처리됩니다.\
> \
> \- 전화번호는 \`010-1234-5678\`, \`01012345678\` 형식 모두 허용됩니다.\
> \- 템플릿에 \`#{변수명}\` 형식으로 정의된 모든 변수에 대한 값을 \`variables\`에 포함해야 합니다.\
> \- 필요한 변수 목록은 \[템플릿 상세 조회]\(#/Template/getTemplateDetail)에서 확인할 수 있습니다.<br>

```json
{"openapi":"3.0.3","info":{"title":"Asend API Reference","version":"1.1.0"},"tags":[{"name":"Message","description":"메시지 발송 및 관리"}],"servers":[{"url":"https://api.a-send.kr","description":"Production"}],"security":[{"HmacAuth":[]}],"components":{"securitySchemes":{"HmacAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"`apiKey={API_KEY}, ts={TIMESTAMP}, nonce={NONCE}, signature={SIGNATURE}` 형식.\n자세한 내용은 Introduction을 참고하세요.\n"}},"schemas":{"SendAlimtalkRequest":{"type":"object","required":["cid","tid","to","variables"],"properties":{"cid":{"type":"string","description":"발송 채널 ID. [채널 목록 조회](#/Channel/listChannels)에서 확인할 수 있습니다."},"tid":{"type":"string","description":"템플릿 ID. [템플릿 목록 조회](#/Template/listTemplates)에서 확인할 수 있습니다."},"to":{"type":"string","description":"수신자 전화번호.\n`010-1234-5678`, `01012345678` 형식 모두 허용됩니다.\n"},"variables":{"type":"object","description":"템플릿 변수 (키-값 쌍).\n[템플릿 상세 조회](#/Template/getTemplateDetail)의 `variables` 배열에 있는 모든 변수에 대한 값을 포함해야 합니다.\n","additionalProperties":{"type":"string"}}}},"SendMessageResponse":{"type":"object","properties":{"message":{"type":"string"},"data":{"type":"object","properties":{"message_id":{"type":"string","description":"메시지 예약 고유 ID.\n이 값으로 상태 조회, 취소 등을 할 수 있습니다.\n"}}}}},"ErrorResponse":{"type":"object","properties":{"message":{"type":"string"},"data":{"type":"object","nullable":true,"properties":{"reason":{"type":"string","description":"실패 상세 사유"}}}}},"BaseResponse":{"type":"object","properties":{"message":{"type":"string"},"data":{"nullable":true}}}},"headers":{"X-RateLimit-Limit":{"description":"1분당 허용되는 최대 요청 횟수","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"남은 요청 가능 횟수","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"요청 제한이 초기화되는 시간 (Unix Timestamp)","schema":{"type":"integer"}}},"responses":{"Unauthorized":{"description":"인증 실패","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaseResponse"}}}},"RateLimitExceeded":{"description":"요청 제한 초과 (1분당 60회)","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaseResponse"}}}},"InternalError":{"description":"서버 내부 오류","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaseResponse"}}}}}},"paths":{"/v1/message/send/alimtalk":{"post":{"tags":["Message"],"summary":"알림톡 발송","description":"카카오 알림톡 메시지를 발송합니다.\n\n요청이 접수되면 발송 큐에 예약되며, 실제 발송은 비동기로 처리됩니다.\n\n- 전화번호는 `010-1234-5678`, `01012345678` 형식 모두 허용됩니다.\n- 템플릿에 `#{변수명}` 형식으로 정의된 모든 변수에 대한 값을 `variables`에 포함해야 합니다.\n- 필요한 변수 목록은 [템플릿 상세 조회](#/Template/getTemplateDetail)에서 확인할 수 있습니다.\n","operationId":"sendAlimtalk","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendAlimtalkRequest"}}}},"responses":{"202":{"description":"발송 큐에 예약되었습니다.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendMessageResponse"}}}},"400":{"description":"잘못된 요청","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimitExceeded"},"500":{"$ref":"#/components/responses/InternalError"}}}}}}
```

## 이메일 발송

> 이메일을 발송합니다.\
> \
> 요청이 접수되면 발송 큐에 예약되며, 실제 발송은 비동기로 처리됩니다.\
> \
> \- \`body\`에는 HTML 형식의 이메일 본문을 전달합니다.\
> \- \`subject\`와 \`body\`에 \`#{변수명}\` 형식의 변수를 사용하면 \`variables\`의 값으로 치환됩니다.\
> \- \`variables\`는 선택 사항입니다. 변수가 없으면 생략할 수 있습니다.<br>

```json
{"openapi":"3.0.3","info":{"title":"Asend API Reference","version":"1.1.0"},"tags":[{"name":"Message","description":"메시지 발송 및 관리"}],"servers":[{"url":"https://api.a-send.kr","description":"Production"}],"security":[{"HmacAuth":[]}],"components":{"securitySchemes":{"HmacAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"`apiKey={API_KEY}, ts={TIMESTAMP}, nonce={NONCE}, signature={SIGNATURE}` 형식.\n자세한 내용은 Introduction을 참고하세요.\n"}},"schemas":{"SendEmailRequest":{"type":"object","required":["to","subject","body"],"properties":{"to":{"type":"string","format":"email","description":"수신자 이메일 주소"},"to_name":{"type":"string","description":"수신자 이름 (선택)"},"subject":{"type":"string","description":"이메일 제목.\n`#{변수명}` 형식의 변수를 사용하면 `variables`의 값으로 치환됩니다.\n"},"body":{"type":"string","description":"이메일 본문 (HTML).\n`#{변수명}` 형식의 변수를 사용하면 `variables`의 값으로 치환됩니다.\n"},"variables":{"type":"object","description":"변수 (키-값 쌍, 선택).\n`subject`와 `body`에 사용된 `#{변수명}`을 치환합니다.\n","additionalProperties":{"type":"string"}}}},"SendMessageResponse":{"type":"object","properties":{"message":{"type":"string"},"data":{"type":"object","properties":{"message_id":{"type":"string","description":"메시지 예약 고유 ID.\n이 값으로 상태 조회, 취소 등을 할 수 있습니다.\n"}}}}},"ErrorResponse":{"type":"object","properties":{"message":{"type":"string"},"data":{"type":"object","nullable":true,"properties":{"reason":{"type":"string","description":"실패 상세 사유"}}}}},"BaseResponse":{"type":"object","properties":{"message":{"type":"string"},"data":{"nullable":true}}}},"headers":{"X-RateLimit-Limit":{"description":"1분당 허용되는 최대 요청 횟수","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"남은 요청 가능 횟수","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"요청 제한이 초기화되는 시간 (Unix Timestamp)","schema":{"type":"integer"}}},"responses":{"Unauthorized":{"description":"인증 실패","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaseResponse"}}}},"RateLimitExceeded":{"description":"요청 제한 초과 (1분당 60회)","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaseResponse"}}}},"InternalError":{"description":"서버 내부 오류","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaseResponse"}}}}}},"paths":{"/v1/message/send/email":{"post":{"tags":["Message"],"summary":"이메일 발송","description":"이메일을 발송합니다.\n\n요청이 접수되면 발송 큐에 예약되며, 실제 발송은 비동기로 처리됩니다.\n\n- `body`에는 HTML 형식의 이메일 본문을 전달합니다.\n- `subject`와 `body`에 `#{변수명}` 형식의 변수를 사용하면 `variables`의 값으로 치환됩니다.\n- `variables`는 선택 사항입니다. 변수가 없으면 생략할 수 있습니다.\n","operationId":"sendEmail","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendEmailRequest"}}}},"responses":{"202":{"description":"발송 큐에 예약되었습니다.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendMessageResponse"}}}},"400":{"description":"잘못된 요청","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimitExceeded"},"500":{"$ref":"#/components/responses/InternalError"}}}}}}
```

## 메시지 상태 조회

> 발송된 메시지의 현재 상태를 조회합니다.\
> \
> 발송 요청 시 반환된 \`message\_id\`를 사용합니다.\
> \
> \### 메시지 상태값\
> \
> \| 상태 | 설명 |\
> \|---|---|\
> \| \`pending\` | 대기 중 |\
> \| \`validated\` | 검증 완료 |\
> \| \`queued\` | 큐에 등록됨 |\
> \| \`processing\` | 발송 처리 중 |\
> \| \`completed\` | 발송 완료 |\
> \| \`failed\` | 발송 실패 |\
> \| \`cancelled\` | 취소됨 |<br>

```json
{"openapi":"3.0.3","info":{"title":"Asend API Reference","version":"1.1.0"},"tags":[{"name":"Message","description":"메시지 발송 및 관리"}],"servers":[{"url":"https://api.a-send.kr","description":"Production"}],"security":[{"HmacAuth":[]}],"components":{"securitySchemes":{"HmacAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"`apiKey={API_KEY}, ts={TIMESTAMP}, nonce={NONCE}, signature={SIGNATURE}` 형식.\n자세한 내용은 Introduction을 참고하세요.\n"}},"schemas":{"MessageIdRequest":{"type":"object","required":["message_id"],"properties":{"message_id":{"type":"string","description":"메시지 예약 고유 ID (발송 요청 시 반환된 값)"}}},"MessageStatusResponse":{"type":"object","properties":{"message":{"type":"string"},"data":{"type":"object","properties":{"message_id":{"type":"string","description":"메시지 예약 고유 ID"},"status":{"type":"string","description":"메시지 상태","enum":["pending","validated","queued","processing","completed","failed","cancelled"]},"agency_type":{"type":"string","description":"발송 대행사 유형","enum":["kakao","email"]},"message_type":{"type":"string","description":"메시지 유형","enum":["alimtalk","email"]},"scheduled_at":{"type":"string","format":"date-time","description":"발송 예약 시각"},"completed_at":{"type":"string","format":"date-time","nullable":true,"description":"발송 완료 시각 (미완료 시 null)"}}}}},"ErrorResponse":{"type":"object","properties":{"message":{"type":"string"},"data":{"type":"object","nullable":true,"properties":{"reason":{"type":"string","description":"실패 상세 사유"}}}}},"BaseResponse":{"type":"object","properties":{"message":{"type":"string"},"data":{"nullable":true}}}},"headers":{"X-RateLimit-Limit":{"description":"1분당 허용되는 최대 요청 횟수","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"남은 요청 가능 횟수","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"요청 제한이 초기화되는 시간 (Unix Timestamp)","schema":{"type":"integer"}}},"responses":{"Unauthorized":{"description":"인증 실패","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaseResponse"}}}},"RateLimitExceeded":{"description":"요청 제한 초과 (1분당 60회)","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaseResponse"}}}},"InternalError":{"description":"서버 내부 오류","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaseResponse"}}}}}},"paths":{"/v1/message/status":{"post":{"tags":["Message"],"summary":"메시지 상태 조회","description":"발송된 메시지의 현재 상태를 조회합니다.\n\n발송 요청 시 반환된 `message_id`를 사용합니다.\n\n### 메시지 상태값\n\n| 상태 | 설명 |\n|---|---|\n| `pending` | 대기 중 |\n| `validated` | 검증 완료 |\n| `queued` | 큐에 등록됨 |\n| `processing` | 발송 처리 중 |\n| `completed` | 발송 완료 |\n| `failed` | 발송 실패 |\n| `cancelled` | 취소됨 |\n","operationId":"getMessageStatus","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageIdRequest"}}}},"responses":{"200":{"description":"조회 성공","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageStatusResponse"}}}},"400":{"description":"잘못된 요청","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"description":"메시지를 찾을 수 없음","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaseResponse"}}}},"429":{"$ref":"#/components/responses/RateLimitExceeded"},"500":{"$ref":"#/components/responses/InternalError"}}}}}}
```

## 메시지 목록 조회

> 발송 메시지 목록을 조회합니다. 커서 기반 페이지네이션을 사용합니다.\
> \
> 최신순(내림차순)으로 정렬됩니다.<br>

```json
{"openapi":"3.0.3","info":{"title":"Asend API Reference","version":"1.1.0"},"tags":[{"name":"Message","description":"메시지 발송 및 관리"}],"servers":[{"url":"https://api.a-send.kr","description":"Production"}],"security":[{"HmacAuth":[]}],"components":{"securitySchemes":{"HmacAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"`apiKey={API_KEY}, ts={TIMESTAMP}, nonce={NONCE}, signature={SIGNATURE}` 형식.\n자세한 내용은 Introduction을 참고하세요.\n"}},"schemas":{"MessageListRequest":{"type":"object","properties":{"cursor":{"type":"string","nullable":true,"description":"페이지네이션 커서.\n이전 응답의 `next_cursor` 값을 전달합니다. 첫 요청 시 생략합니다.\n"},"limit":{"type":"integer","minimum":1,"maximum":100,"default":20,"description":"한 페이지당 반환할 항목 수 (기본값 20, 최대 100)"},"status":{"type":"string","nullable":true,"description":"상태 필터","enum":["pending","validated","queued","processing","completed","failed","cancelled"]},"message_type":{"type":"string","nullable":true,"description":"메시지 타입 필터","enum":["alimtalk","email"]}}},"MessageListResponse":{"type":"object","properties":{"message":{"type":"string"},"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/MessageListItem"}},"next_cursor":{"type":"string","nullable":true,"description":"다음 페이지 커서 (마지막 페이지이면 null)"},"has_more":{"type":"boolean","description":"다음 페이지 존재 여부"}}}}},"MessageListItem":{"type":"object","properties":{"message_id":{"type":"string","description":"메시지 예약 고유 ID"},"status":{"type":"string","description":"메시지 상태"},"agency_type":{"type":"string","description":"발송 대행사 유형"},"message_type":{"type":"string","description":"메시지 유형"},"scheduled_at":{"type":"string","format":"date-time","description":"발송 예약 시각"},"completed_at":{"type":"string","format":"date-time","nullable":true,"description":"발송 완료 시각"},"created_at":{"type":"string","format":"date-time","description":"생성 시각"}}},"ErrorResponse":{"type":"object","properties":{"message":{"type":"string"},"data":{"type":"object","nullable":true,"properties":{"reason":{"type":"string","description":"실패 상세 사유"}}}}},"BaseResponse":{"type":"object","properties":{"message":{"type":"string"},"data":{"nullable":true}}}},"headers":{"X-RateLimit-Limit":{"description":"1분당 허용되는 최대 요청 횟수","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"남은 요청 가능 횟수","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"요청 제한이 초기화되는 시간 (Unix Timestamp)","schema":{"type":"integer"}}},"responses":{"Unauthorized":{"description":"인증 실패","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaseResponse"}}}},"RateLimitExceeded":{"description":"요청 제한 초과 (1분당 60회)","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaseResponse"}}}},"InternalError":{"description":"서버 내부 오류","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaseResponse"}}}}}},"paths":{"/v1/message/list":{"post":{"tags":["Message"],"summary":"메시지 목록 조회","description":"발송 메시지 목록을 조회합니다. 커서 기반 페이지네이션을 사용합니다.\n\n최신순(내림차순)으로 정렬됩니다.\n","operationId":"listMessages","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageListRequest"}}}},"responses":{"200":{"description":"조회 성공","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageListResponse"}}}},"400":{"description":"잘못된 요청","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimitExceeded"},"500":{"$ref":"#/components/responses/InternalError"}}}}}}
```

## 메시지 예약 취소

> 아직 발송되지 않은 메시지의 예약을 취소합니다.\
> \
> \`pending\`, \`validated\`, \`queued\` 상태의 메시지만 취소할 수 있습니다.\
> 이미 발송 처리가 시작된(\`processing\`) 메시지나 완료된(\`completed\`) 메시지는 취소할 수 없습니다.<br>

```json
{"openapi":"3.0.3","info":{"title":"Asend API Reference","version":"1.1.0"},"tags":[{"name":"Message","description":"메시지 발송 및 관리"}],"servers":[{"url":"https://api.a-send.kr","description":"Production"}],"security":[{"HmacAuth":[]}],"components":{"securitySchemes":{"HmacAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"`apiKey={API_KEY}, ts={TIMESTAMP}, nonce={NONCE}, signature={SIGNATURE}` 형식.\n자세한 내용은 Introduction을 참고하세요.\n"}},"schemas":{"MessageIdRequest":{"type":"object","required":["message_id"],"properties":{"message_id":{"type":"string","description":"메시지 예약 고유 ID (발송 요청 시 반환된 값)"}}},"CancelMessageResponse":{"type":"object","properties":{"message":{"type":"string"},"data":{"type":"object","properties":{"message_id":{"type":"string","description":"취소된 메시지 ID"},"status":{"type":"string","description":"변경된 상태"}}}}},"ErrorResponse":{"type":"object","properties":{"message":{"type":"string"},"data":{"type":"object","nullable":true,"properties":{"reason":{"type":"string","description":"실패 상세 사유"}}}}},"BaseResponse":{"type":"object","properties":{"message":{"type":"string"},"data":{"nullable":true}}}},"headers":{"X-RateLimit-Limit":{"description":"1분당 허용되는 최대 요청 횟수","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"남은 요청 가능 횟수","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"요청 제한이 초기화되는 시간 (Unix Timestamp)","schema":{"type":"integer"}}},"responses":{"Unauthorized":{"description":"인증 실패","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaseResponse"}}}},"RateLimitExceeded":{"description":"요청 제한 초과 (1분당 60회)","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaseResponse"}}}},"InternalError":{"description":"서버 내부 오류","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaseResponse"}}}}}},"paths":{"/v1/message/cancel":{"post":{"tags":["Message"],"summary":"메시지 예약 취소","description":"아직 발송되지 않은 메시지의 예약을 취소합니다.\n\n`pending`, `validated`, `queued` 상태의 메시지만 취소할 수 있습니다.\n이미 발송 처리가 시작된(`processing`) 메시지나 완료된(`completed`) 메시지는 취소할 수 없습니다.\n","operationId":"cancelMessage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageIdRequest"}}}},"responses":{"200":{"description":"취소 성공","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelMessageResponse"}}}},"400":{"description":"잘못된 요청","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"description":"메시지를 찾을 수 없음","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaseResponse"}}}},"429":{"$ref":"#/components/responses/RateLimitExceeded"},"500":{"$ref":"#/components/responses/InternalError"}}}}}}
```
