필요 권한: subscribers
GET
/api/v1/subscribers
구독자 목록을 조회합니다.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
list_id |
string | 리스트 UUID로 필터링 |
status |
string | subscribed, unsubscribed, bounced |
limit |
integer | 결과 수 (기본: 20, 최대: 100) |
offset |
integer | 페이지네이션 오프셋 |
Response
{
"success": true,
"data": {
"subscribers": [
{
"id": "uuid-1234...",
"email": "user@example.com",
"name": "John Doe",
"status": "subscribed",
"metadata": {},
"created_at": "2026-01-01T00:00:00Z"
}
],
"total": 100,
"limit": 20,
"offset": 0
}
}
POST
/api/v1/subscribers
새 구독자를 추가합니다.
Request Body
{
"email": "user@example.com",
"name": "John Doe", // optional
"list_id": "list-uuid-123",
"status": "subscribed", // optional: subscribed (default)
"metadata": { // optional
"company": "Acme Inc",
"plan": "pro"
}
}
Response
{
"success": true,
"data": {
"id": "subscriber-uuid-123",
"email": "user@example.com",
"name": "John Doe",
"status": "subscribed",
"created_at": "2026-01-10T12:00:00Z"
}
}
GET
/api/v1/subscribers/{id}
구독자 상세 정보를 조회합니다.
Response
{
"success": true,
"data": {
"id": "subscriber-uuid-123",
"email": "user@example.com",
"name": "John Doe",
"status": "subscribed",
"metadata": {},
"created_at": "2026-01-01T00:00:00Z",
"updated_at": "2026-01-10T12:00:00Z"
}
}
PUT
/api/v1/subscribers/{id}
구독자 정보를 수정합니다.
Request Body
{
"name": "Jane Doe",
"status": "subscribed",
"metadata": {
"company": "New Company"
}
}
Response
{
"success": true,
"data": {
"id": "subscriber-uuid-123",
"email": "user@example.com",
"name": "Jane Doe",
"status": "subscribed",
"updated_at": "2026-01-10T12:00:00Z"
}
}
DELETE
/api/v1/subscribers/{id}
구독자를 삭제합니다.
Response
{
"success": true,
"message": "Subscriber deleted successfully"
}