제품
GET/v1/workspaces/{workspaceId}/products
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
성공 응답.
application/json
valueobject
dataarray필수
각 항목object
idstring필수
format: "uuid"
workspace_idstring필수
format: "uuid"
namestring필수
slugstring필수
kindstring필수
enum: "product", "store", "brand", "newsletter", "company", "other"
website_urlstring | null필수
domainsarray필수
각 항목string
descriptionstring필수
contextobject필수
추가 속성모든 값
brandobject필수
company_namestring
maxLength: 160
logo_urlstring
아이콘: 마크 단독으로 이메일 바닥글, 슬라이드인 양식에 작게 쓰거나 워드마크가 없을 때 헤더로 사용해요.
maxLength: 2000
wordmark_urlstring
워드마크: 디자인된 회사 이름으로 모든 이메일 상단에 단독으로 표시돼요.
maxLength: 2000
website_urlstring
maxLength: 2000
primary_colorstring
maxLength: 7
accent_colorstring
maxLength: 7
background_colorstring
maxLength: 7
surface_colorstring
maxLength: 7
text_colorstring
maxLength: 7
muted_text_colorstring
maxLength: 7
heading_font_familystring
maxLength: 200
body_font_familystring
maxLength: 200
tonestring
maxLength: 1000
footer_addressstring
maxLength: 500
email_stylestring
maxLength: 20
statusstring필수
deleting: 사람이 삭제했으며 delete_after까지 복구할 수 있고 이후 영구 삭제돼요.
enum: "active", "archived", "deleting"
delete_afterstring | null
deleting 상태인 제품이 영구 삭제되는 시점.
format: "date-time"
is_defaultboolean필수
route_readyboolean필수
setuparray필수
각 항목object
keystring필수
enum: "context", "domain", "mailboxes", "journeys", "broadcasts", "compliance"
statusstring필수
enum: "todo", "in_progress", "complete", "not_relevant"
completion_sourcestring | null필수
enum: "system", "person", "agent", null
notestring필수
updated_atstring | null필수
format: "date-time"
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/products' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/products
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
namestring필수
minLength: 1 · maxLength: 160
kindstring
default: "product" · enum: "product", "store", "brand", "newsletter", "company", "other"
website_urlstring | null
maxLength: 2000
descriptionstring
maxLength: 4000
contextobject
추가 속성모든 값
domainsarray
maxItems: 20
각 항목string
maxLength: 253
성공 응답 201
성공 응답.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
workspace_idstring필수
format: "uuid"
namestring필수
slugstring필수
kindstring필수
enum: "product", "store", "brand", "newsletter", "company", "other"
website_urlstring | null필수
domainsarray필수
각 항목string
descriptionstring필수
contextobject필수
추가 속성모든 값
brandobject필수
company_namestring
maxLength: 160
logo_urlstring
아이콘: 마크 단독으로 이메일 바닥글, 슬라이드인 양식에 작게 쓰거나 워드마크가 없을 때 헤더로 사용해요.
maxLength: 2000
wordmark_urlstring
워드마크: 디자인된 회사 이름으로 모든 이메일 상단에 단독으로 표시돼요.
maxLength: 2000
website_urlstring
maxLength: 2000
primary_colorstring
maxLength: 7
accent_colorstring
maxLength: 7
background_colorstring
maxLength: 7
surface_colorstring
maxLength: 7
text_colorstring
maxLength: 7
muted_text_colorstring
maxLength: 7
heading_font_familystring
maxLength: 200
body_font_familystring
maxLength: 200
tonestring
maxLength: 1000
footer_addressstring
maxLength: 500
email_stylestring
maxLength: 20
statusstring필수
deleting: 사람이 삭제했으며 delete_after까지 복구할 수 있고 이후 영구 삭제돼요.
enum: "active", "archived", "deleting"
delete_afterstring | null
deleting 상태인 제품이 영구 삭제되는 시점.
format: "date-time"
is_defaultboolean필수
route_readyboolean필수
setuparray필수
각 항목object
keystring필수
enum: "context", "domain", "mailboxes", "journeys", "broadcasts", "compliance"
statusstring필수
enum: "todo", "in_progress", "complete", "not_relevant"
completion_sourcestring | null필수
enum: "system", "person", "agent", null
notestring필수
updated_atstring | null필수
format: "date-time"
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/products' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "example",
"kind": "product",
"website_url": "example",
"description": "example",
"context": {},
"domains": [
"example"
]
}'
GET/v1/workspaces/{workspaceId}/products/{productId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
성공 응답.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
workspace_idstring필수
format: "uuid"
namestring필수
slugstring필수
kindstring필수
enum: "product", "store", "brand", "newsletter", "company", "other"
website_urlstring | null필수
domainsarray필수
각 항목string
descriptionstring필수
contextobject필수
추가 속성모든 값
brandobject필수
company_namestring
maxLength: 160
logo_urlstring
아이콘: 마크 단독으로 이메일 바닥글, 슬라이드인 양식에 작게 쓰거나 워드마크가 없을 때 헤더로 사용해요.
maxLength: 2000
wordmark_urlstring
워드마크: 디자인된 회사 이름으로 모든 이메일 상단에 단독으로 표시돼요.
maxLength: 2000
website_urlstring
maxLength: 2000
primary_colorstring
maxLength: 7
accent_colorstring
maxLength: 7
background_colorstring
maxLength: 7
surface_colorstring
maxLength: 7
text_colorstring
maxLength: 7
muted_text_colorstring
maxLength: 7
heading_font_familystring
maxLength: 200
body_font_familystring
maxLength: 200
tonestring
maxLength: 1000
footer_addressstring
maxLength: 500
email_stylestring
maxLength: 20
statusstring필수
deleting: 사람이 삭제했으며 delete_after까지 복구할 수 있고 이후 영구 삭제돼요.
enum: "active", "archived", "deleting"
delete_afterstring | null
deleting 상태인 제품이 영구 삭제되는 시점.
format: "date-time"
is_defaultboolean필수
route_readyboolean필수
setuparray필수
각 항목object
keystring필수
enum: "context", "domain", "mailboxes", "journeys", "broadcasts", "compliance"
statusstring필수
enum: "todo", "in_progress", "complete", "not_relevant"
completion_sourcestring | null필수
enum: "system", "person", "agent", null
notestring필수
updated_atstring | null필수
format: "date-time"
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/products/{productId}' \
--header "Authorization: Bearer $BANGER_API_KEY"
PATCH/v1/workspaces/{workspaceId}/products/{productId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
namestring
maxLength: 160
kindstring
enum: "product", "store", "brand", "newsletter", "company", "other"
website_urlstring | null
maxLength: 2000
descriptionstring
maxLength: 4000
contextobject
추가 속성모든 값
brandobject
company_namestring
maxLength: 160
logo_urlstring
아이콘: 마크 단독으로 이메일 바닥글, 슬라이드인 양식에 작게 쓰거나 워드마크가 없을 때 헤더로 사용해요.
maxLength: 2000
wordmark_urlstring
워드마크: 디자인된 회사 이름으로 모든 이메일 상단에 단독으로 표시돼요.
maxLength: 2000
website_urlstring
maxLength: 2000
primary_colorstring
maxLength: 7
accent_colorstring
maxLength: 7
background_colorstring
maxLength: 7
surface_colorstring
maxLength: 7
text_colorstring
maxLength: 7
muted_text_colorstring
maxLength: 7
heading_font_familystring
maxLength: 200
body_font_familystring
maxLength: 200
tonestring
maxLength: 1000
footer_addressstring
maxLength: 500
email_stylestring
maxLength: 20
statusstring
enum: "active", "archived"
성공 응답 200
성공 응답.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
workspace_idstring필수
format: "uuid"
namestring필수
slugstring필수
kindstring필수
enum: "product", "store", "brand", "newsletter", "company", "other"
website_urlstring | null필수
domainsarray필수
각 항목string
descriptionstring필수
contextobject필수
추가 속성모든 값
brandobject필수
company_namestring
maxLength: 160
logo_urlstring
아이콘: 마크 단독으로 이메일 바닥글, 슬라이드인 양식에 작게 쓰거나 워드마크가 없을 때 헤더로 사용해요.
maxLength: 2000
wordmark_urlstring
워드마크: 디자인된 회사 이름으로 모든 이메일 상단에 단독으로 표시돼요.
maxLength: 2000
website_urlstring
maxLength: 2000
primary_colorstring
maxLength: 7
accent_colorstring
maxLength: 7
background_colorstring
maxLength: 7
surface_colorstring
maxLength: 7
text_colorstring
maxLength: 7
muted_text_colorstring
maxLength: 7
heading_font_familystring
maxLength: 200
body_font_familystring
maxLength: 200
tonestring
maxLength: 1000
footer_addressstring
maxLength: 500
email_stylestring
maxLength: 20
statusstring필수
deleting: 사람이 삭제했으며 delete_after까지 복구할 수 있고 이후 영구 삭제돼요.
enum: "active", "archived", "deleting"
delete_afterstring | null
deleting 상태인 제품이 영구 삭제되는 시점.
format: "date-time"
is_defaultboolean필수
route_readyboolean필수
setuparray필수
각 항목object
keystring필수
enum: "context", "domain", "mailboxes", "journeys", "broadcasts", "compliance"
statusstring필수
enum: "todo", "in_progress", "complete", "not_relevant"
completion_sourcestring | null필수
enum: "system", "person", "agent", null
notestring필수
updated_atstring | null필수
format: "date-time"
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
curl 예제
curl --request PATCH --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/products/{productId}' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "example",
"kind": "product",
"website_url": "example",
"description": "example",
"context": {},
"brand": {
"company_name": "example",
"logo_url": "example",
"wordmark_url": "example",
"website_url": "example",
"primary_color": "example",
"accent_color": "example",
"background_color": "example",
"surface_color": "example",
"text_color": "example",
"muted_text_color": "example",
"heading_font_family": "example",
"body_font_family": "example",
"tone": "example",
"footer_address": "example",
"email_style": "example"
},
"status": "active"
}'
DELETE/v1/workspaces/{workspaceId}/products/{productId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
성공 응답 202
제품은 사용 중지 상태이며 먼저 복구하지 않으면 delete_after에 영구 삭제돼요. 멱등 재실행은 같은 결과를 반환해요.
application/json
curl 예제
curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/products/{productId}' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Idempotency-Key: examplexxxxxxxxx' \
--header 'Content-Type: application/json' \
--data-raw '{
"confirm_name": "example",
"preview_token": "examplexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}'
GET/v1/workspaces/{workspaceId}/products/{productId}/deletion-preview
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
제품 삭제로 제거되고 중지되는 항목.
application/json
valueobject
dataobject필수
productobject필수
idstring필수
format: "uuid"
namestring필수
is_defaultboolean필수
next_default_product지정되지 않음필수
기본 제품 삭제 시 워크스페이스 기본이 되는 제품.
oneOf 1null
oneOf 2object
idstring필수
format: "uuid"
namestring필수
last_productboolean필수
유일한 활성 제품은 삭제할 수 없어요.
mailboxesarray필수
각 항목object
idstring필수
format: "uuid"
addressstring필수
domainsarray필수
복구 기간이 지나면 Banger가 제거하는 발송 도메인.
각 항목object
idstring필수
format: "uuid"
domainstring필수
journeysinteger필수
broadcastsinteger필수
signup_formsinteger필수
contactsinteger필수
api_keysinteger필수
webhooksinteger필수
pending_sendsinteger필수
impactarray필수
각 항목string
preview_tokenstring필수
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/products/{productId}/deletion-preview' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/products/{productId}/restore
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
제품이 다시 활성화됐어요.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
namestring필수
statusstring필수
enum: "active"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/products/{productId}/restore' \
--header "Authorization: Bearer $BANGER_API_KEY"
PUT/v1/workspaces/{workspaceId}/products/{productId}/setup/{key}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
statusstring필수
enum: "todo", "in_progress", "complete", "not_relevant"
completion_sourcestring
default: "person" · enum: "system", "person", "agent"
notestring
maxLength: 1000
성공 응답 200
성공 응답.
application/json
valueobject
dataobject필수
keystring필수
enum: "context", "domain", "mailboxes", "journeys", "broadcasts", "compliance"
statusstring필수
enum: "todo", "in_progress", "complete", "not_relevant"
completion_sourcestring | null필수
enum: "system", "person", "agent", null
notestring필수
updated_atstring | null필수
format: "date-time"
curl 예제
curl --request PUT --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/products/{productId}/setup/{key}' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"status": "todo",
"completion_source": "person",
"note": "example"
}'
POST/v1/workspaces/{workspaceId}/products/{productId}/domains
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
성공 응답 201
성공 응답.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
workspace_idstring필수
format: "uuid"
namestring필수
slugstring필수
kindstring필수
enum: "product", "store", "brand", "newsletter", "company", "other"
website_urlstring | null필수
domainsarray필수
각 항목string
descriptionstring필수
contextobject필수
추가 속성모든 값
brandobject필수
company_namestring
maxLength: 160
logo_urlstring
아이콘: 마크 단독으로 이메일 바닥글, 슬라이드인 양식에 작게 쓰거나 워드마크가 없을 때 헤더로 사용해요.
maxLength: 2000
wordmark_urlstring
워드마크: 디자인된 회사 이름으로 모든 이메일 상단에 단독으로 표시돼요.
maxLength: 2000
website_urlstring
maxLength: 2000
primary_colorstring
maxLength: 7
accent_colorstring
maxLength: 7
background_colorstring
maxLength: 7
surface_colorstring
maxLength: 7
text_colorstring
maxLength: 7
muted_text_colorstring
maxLength: 7
heading_font_familystring
maxLength: 200
body_font_familystring
maxLength: 200
tonestring
maxLength: 1000
footer_addressstring
maxLength: 500
email_stylestring
maxLength: 20
statusstring필수
deleting: 사람이 삭제했으며 delete_after까지 복구할 수 있고 이후 영구 삭제돼요.
enum: "active", "archived", "deleting"
delete_afterstring | null
deleting 상태인 제품이 영구 삭제되는 시점.
format: "date-time"
is_defaultboolean필수
route_readyboolean필수
setuparray필수
각 항목object
keystring필수
enum: "context", "domain", "mailboxes", "journeys", "broadcasts", "compliance"
statusstring필수
enum: "todo", "in_progress", "complete", "not_relevant"
completion_sourcestring | null필수
enum: "system", "person", "agent", null
notestring필수
updated_atstring | null필수
format: "date-time"
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/products/{productId}/domains' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"domain": "example"
}'
임시저장
GET/v1/workspaces/{workspaceId}/drafts
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
성공 응답.
application/json
valueobject
dataarray필수
각 항목object
idstring필수
format: "uuid"
mailbox_idstring필수
format: "uuid"
thread_idstring | null필수
format: "uuid"
versioninteger필수
toarray필수
각 항목object
emailstring필수
namestring
ccarray필수
각 항목object
emailstring필수
namestring
bccarray필수
각 항목object
emailstring필수
namestring
subjectstring필수
body_textstring필수
statusstring필수
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
attachmentsarray필수
각 항목object
idstring필수
format: "uuid"
filenamestring필수
content_typestring필수
size_bytesinteger필수
sha256string
created_atstring
format: "date-time"
body_html_urlstring
format: "uri"
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/drafts?mailbox_id=00000000-0000-4000-8000-000000000001' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/drafts
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
mailbox_idstring필수
format: "uuid"
thread_idstring
format: "uuid"
toarray
maxItems: 500
각 항목object
namestring
emailstring필수
format: "email"
ccarray
maxItems: 500
각 항목object
namestring
emailstring필수
format: "email"
bccarray
maxItems: 500
각 항목object
namestring
emailstring필수
format: "email"
subjectstring
maxLength: 10000
body_textstring
maxLength: 2000000
body_htmlstring
maxLength: 2000000
성공 응답 201
성공 응답.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
mailbox_idstring필수
format: "uuid"
thread_idstring | null필수
format: "uuid"
versioninteger필수
toarray필수
각 항목object
emailstring필수
namestring
ccarray필수
각 항목object
emailstring필수
namestring
bccarray필수
각 항목object
emailstring필수
namestring
subjectstring필수
body_textstring필수
statusstring필수
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
attachmentsarray필수
각 항목object
idstring필수
format: "uuid"
filenamestring필수
content_typestring필수
size_bytesinteger필수
sha256string
created_atstring
format: "date-time"
body_html_urlstring
format: "uri"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/drafts' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"mailbox_id": "00000000-0000-4000-8000-000000000001",
"thread_id": "00000000-0000-4000-8000-000000000001",
"to": [
{
"name": "example",
"email": "person@example.com"
}
],
"cc": [
{
"name": "example",
"email": "person@example.com"
}
],
"bcc": [
{
"name": "example",
"email": "person@example.com"
}
],
"subject": "example",
"body_text": "example",
"body_html": "example"
}'
GET/v1/workspaces/{workspaceId}/drafts/{draftId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
기준 전달률 성능, 상태, 사고.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
mailbox_idstring필수
format: "uuid"
thread_idstring | null필수
format: "uuid"
versioninteger필수
toarray필수
각 항목object
emailstring필수
namestring
ccarray필수
각 항목object
emailstring필수
namestring
bccarray필수
각 항목object
emailstring필수
namestring
subjectstring필수
body_textstring필수
statusstring필수
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
attachmentsarray필수
각 항목object
idstring필수
format: "uuid"
filenamestring필수
content_typestring필수
size_bytesinteger필수
sha256string
created_atstring
format: "date-time"
body_html_urlstring
format: "uri"
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/drafts/{draftId}' \
--header "Authorization: Bearer $BANGER_API_KEY"
PUT/v1/workspaces/{workspaceId}/drafts/{draftId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
value지정되지 않음
allOf 1object
추가 속성 없음
mailbox_idstring필수
format: "uuid"
thread_idstring
format: "uuid"
toarray
maxItems: 500
각 항목object
namestring
emailstring필수
format: "email"
ccarray
maxItems: 500
각 항목object
namestring
emailstring필수
format: "email"
bccarray
maxItems: 500
각 항목object
namestring
emailstring필수
format: "email"
subjectstring
maxLength: 10000
body_textstring
maxLength: 2000000
body_htmlstring
maxLength: 2000000
allOf 2object
versioninteger필수
minimum: 1
성공 응답 200
성공 응답.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
mailbox_idstring필수
format: "uuid"
thread_idstring | null필수
format: "uuid"
versioninteger필수
toarray필수
각 항목object
emailstring필수
namestring
ccarray필수
각 항목object
emailstring필수
namestring
bccarray필수
각 항목object
emailstring필수
namestring
subjectstring필수
body_textstring필수
statusstring필수
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
attachmentsarray필수
각 항목object
idstring필수
format: "uuid"
filenamestring필수
content_typestring필수
size_bytesinteger필수
sha256string
created_atstring
format: "date-time"
body_html_urlstring
format: "uri"
curl 예제
curl --request PUT --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/drafts/{draftId}' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"mailbox_id": "00000000-0000-4000-8000-000000000001",
"thread_id": "00000000-0000-4000-8000-000000000001",
"to": [
{
"name": "example",
"email": "person@example.com"
}
],
"cc": [
{
"name": "example",
"email": "person@example.com"
}
],
"bcc": [
{
"name": "example",
"email": "person@example.com"
}
],
"subject": "example",
"body_text": "example",
"body_html": "example",
"version": 1
}'
DELETE/v1/workspaces/{workspaceId}/drafts/{draftId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 204
임시저장과 참조 객체가 삭제 예약됐어요.
응답 본문 없음.
curl 예제
curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/drafts/{draftId}' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/drafts/{draftId}/send
호출자가 접근할 수 있는 메일함에서 임시저장을 보내요. 발송에 승인이 필요한 호출자는 대신 대기 중인 승인을 받으며 임시저장을 직접 보낼 수 있는 사람이 결정해요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 202
발송이 대기열에 있거나 승인을 기다려요.
application/json
valueobject
data지정되지 않음필수
oneOf 1object
idstring필수
format: "uuid"
typestring필수
statusstring필수
enum: "accepted", "executing", "succeeded", "failed"
workspace_revisioninteger필수
format: "int64"
created_atstring필수
format: "date-time"
oneOf 2object
추가 속성 없음
approvalobject필수
idstring필수
format: "uuid"
requested_by_actor_idstring필수
action_kindstring필수
summarystring필수
capability_scopesarray필수
각 항목string
resource_scopeobject필수
추가 속성array
각 항목string
추가 중첩 생략
payloadobject필수
추가 속성모든 값
payload_sha256string필수
pattern: "^[0-9a-f]{64}$"
statusstring필수
enum: "pending", "approved", "rejected", "cancelled", "expired"
missedboolean필수
expires_atstring필수
format: "date-time"
decided_by_actor_idstring | null
decision_reasonstring | null
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
decided_atstring | null
format: "date-time"
execution_job_idstring
format: "uuid"
reviewobject
추가 속성 없음
dispositionstring필수
enum: "automatic", "human_required"
recipient_countinteger | null필수
minimum: 0
reasonsarray필수
각 항목string
추가 중첩 생략
checksarray필수
각 항목string
추가 중첩 생략
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/drafts/{draftId}/send' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Idempotency-Key: examplexxxxxxxxx'
POST/v1/workspaces/{workspaceId}/drafts/{draftId}/attachments
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/octet-stream
성공 응답 201
성공 응답.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
filenamestring필수
content_typestring필수
size_bytesinteger필수
sha256string
created_atstring
format: "date-time"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/drafts/{draftId}/attachments' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Filename: example' \
--header 'Content-Type: application/octet-stream' \
--data-binary @request-body
DELETE/v1/workspaces/{workspaceId}/drafts/{draftId}/attachments/{attachmentId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 204
첨부 파일은 버전을 고려한 B2 삭제가 예약됐어요.
응답 본문 없음.
curl 예제
curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/drafts/{draftId}/attachments/{attachmentId}' \
--header "Authorization: Bearer $BANGER_API_KEY"
GET/v1/workspaces/{workspaceId}/drafts/{draftId}/html
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
임시저장 HTML.
text/html
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/drafts/{draftId}/html' \
--header "Authorization: Bearer $BANGER_API_KEY"
GET/v1/workspaces/{workspaceId}/contacts
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
성공 응답.
application/json
valueobject
dataarray필수
각 항목object
idstring필수
format: "uuid"
emailstring필수
format: "email"
display_namestring | null필수
attributesobject필수
추가 속성모든 값
statusstring필수
enum: "subscribed", "unsubscribed", "bounced", "complained"
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
pageobject필수
next_cursorstring
has_moreboolean필수
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contacts?cursor=example&limit=50&q=example' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/contacts
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
성공 응답 201
성공 응답.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
emailstring필수
format: "email"
display_namestring | null필수
attributesobject필수
추가 속성모든 값
statusstring필수
enum: "subscribed", "unsubscribed", "bounced", "complained"
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contacts' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"email": "person@example.com",
"display_name": "example",
"status": "subscribed",
"attributes": {},
"consent_confirmed": true
}'
GET/v1/workspaces/{workspaceId}/contacts/{contactId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
성공 응답.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
emailstring필수
format: "email"
display_namestring | null필수
attributesobject필수
추가 속성모든 값
statusstring필수
enum: "subscribed", "unsubscribed", "bounced", "complained"
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
suppressedboolean필수
suppression_reasonstring | null필수
sourcesarray필수
각 항목object
kindstring필수
referencestring필수
connection_idstring | null필수
format: "uuid"
metadataobject필수
추가 속성모든 값
first_seen_atstring필수
format: "date-time"
last_seen_atstring필수
format: "date-time"
listsarray필수
각 항목object
idstring필수
format: "uuid"
namestring필수
subscription_statusstring필수
consent_evidencearray필수
각 항목object
kindstring필수
referencestring필수
connection_idstring | null필수
format: "uuid"
metadataobject필수
추가 속성모든 값
first_seen_atstring필수
format: "date-time"
last_seen_atstring필수
format: "date-time"
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contacts/{contactId}' \
--header "Authorization: Bearer $BANGER_API_KEY"
DELETE/v1/workspaces/{workspaceId}/contacts/{contactId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 204
연락처가 삭제됐어요.
응답 본문 없음.
curl 예제
curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contacts/{contactId}' \
--header "Authorization: Bearer $BANGER_API_KEY"
GET/v1/workspaces/{workspaceId}/contacts/imports
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
성공 응답.
application/json
valueobject
dataarray필수
각 항목object
idstring
format: "uuid"
filenamestring
list_idstring | null
format: "uuid"
list_namestring | null
statusstring
total_rowsinteger
imported_rowsinteger
invalid_rowsinteger
error_summaryarray
각 항목string
consent_confirmedboolean
consent_confirmed_atstring | null
format: "date-time"
processed_rowsinteger
attempt_countinteger
last_error_codestring | null
created_atstring
format: "date-time"
completed_atstring | null
format: "date-time"
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contacts/imports' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/contacts/imports
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
filenamestring필수
minLength: 1 · maxLength: 500
list_idstring
format: "uuid"
consent_confirmedboolean
가져온 행 중 구독 상태인 행이 있으면 필수예요.
rowsarray필수
minItems: 1 · maxItems: 5000
각 항목object
emailstring필수
format: "email"
display_namestring
maxLength: 1000
statusstring
enum: "subscribed", "unsubscribed", "bounced", "complained"
attributesobject
추가 속성모든 값
성공 응답 201
성공 응답.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
statusstring필수
enum: "queued"
total_rowsinteger필수
imported_rowsinteger필수
invalid_rowsinteger필수
list_idstring | null필수
format: "uuid"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contacts/imports' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"filename": "example",
"list_id": "00000000-0000-4000-8000-000000000001",
"consent_confirmed": true,
"rows": [
{
"email": "person@example.com",
"display_name": "example",
"status": "subscribed",
"attributes": {}
}
]
}'
PATCH/v1/workspaces/{workspaceId}/contacts/{contactId}/attributes
contacts:write와 contacts:read가 필요해요. 기존 연락처만 업데이트해요. 생략한 속성은 유지하고 명시적 false는 저장하며 null은 필드를 제거해요. 검증된 원본 사실을 제공하세요. 없는 데이터는 false가 아니에요. 구독, 발송 억제, ID, 소스 이력은 바뀌지 않아요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
attributesobject필수
추가 속성모든 값
성공 응답 200
현재 연락처 다시 읽기이며 이 변경이 이미 적용됐으면 replayed가 true예요.
application/json
curl 예제
curl --request PATCH --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contacts/{contactId}/attributes' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
--header 'Idempotency-Key: example' \
--header 'Content-Type: application/json' \
--data-raw '{
"attributes": {}
}'
POST/v1/workspaces/{workspaceId}/contacts/upsert
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
emailstring필수
format: "email" · maxLength: 320
display_namestring
minLength: 0 · maxLength: 1000
attributesobject
추가 속성모든 값
statusstring필수
enum: "subscribed", "unsubscribed", "bounced", "complained"
consent_evidenceobject
추가 속성 없음
sourcestring
minLength: 1 · maxLength: 2000
referencestring
minLength: 1 · maxLength: 2000
observed_atstring
format: "date-time"
statementstring
minLength: 1 · maxLength: 2000
consent_confirmedboolean
성공 응답 200
기준 다시 읽기 또는 멱등 수신 확인이에요. 공급자 접수는 sent이며 delivered는 전달 이벤트가 필요하고 받은편지함 도착을 증명하지 않아요.
application/json
valueobject
data지정되지 않음필수
allOf 1object
idstring필수
format: "uuid"
emailstring필수
format: "email"
display_namestring | null필수
attributesobject필수
추가 속성모든 값
statusstring필수
enum: "subscribed", "unsubscribed", "bounced", "complained"
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
suppressedboolean필수
suppression_reasonstring | null필수
sourcesarray필수
각 항목object
kindstring필수
referencestring필수
connection_idstring | null필수
format: "uuid"
metadataobject필수
추가 속성모든 값
first_seen_atstring필수
format: "date-time"
last_seen_atstring필수
format: "date-time"
listsarray필수
각 항목object
idstring필수
format: "uuid"
namestring필수
subscription_statusstring필수
consent_evidencearray필수
각 항목object
kindstring필수
referencestring필수
connection_idstring | null필수
format: "uuid"
metadataobject필수
추가 속성모든 값
first_seen_atstring필수
format: "date-time"
last_seen_atstring필수
format: "date-time"
allOf 2object
replayedboolean필수
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contacts/upsert' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
--header 'Idempotency-Key: example' \
--header 'Content-Type: application/json' \
--data-raw '{
"email": "person@example.com",
"display_name": "example",
"attributes": {},
"status": "subscribed",
"consent_evidence": {
"source": "example",
"reference": "example",
"observed_at": "2026-01-01T00:00:00Z",
"statement": "example"
},
"consent_confirmed": true
}'
POST/v1/workspaces/{workspaceId}/contacts/import-validation
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
rowsarray필수
minItems: 1 · maxItems: 5000
각 항목object
추가 속성 없음
emailstring필수
format: "email" · maxLength: 320
display_namestring
minLength: 0 · maxLength: 1000
attributesobject
추가 속성모든 값
statusstring필수
enum: "subscribed", "unsubscribed", "bounced", "complained"
consent_evidenceobject
추가 속성 없음
sourcestring
minLength: 1 · maxLength: 2000
referencestring
minLength: 1 · maxLength: 2000
observed_atstring
format: "date-time"
statementstring
minLength: 1 · maxLength: 2000
consent_confirmedboolean
성공 응답 200
기준 다시 읽기 또는 멱등 수신 확인이에요. 공급자 접수는 sent이며 delivered는 전달 이벤트가 필요하고 받은편지함 도착을 증명하지 않아요.
application/json
valueobject
dataobject필수
validboolean필수
total_rowsinteger필수
valid_rowsinteger필수
errorsarray필수
각 항목object
rowinteger필수
codestring필수
messagestring필수
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contacts/import-validation' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
--header 'Content-Type: application/json' \
--data-raw '{
"rows": [
{
"email": "person@example.com",
"display_name": "example",
"attributes": {},
"status": "subscribed",
"consent_evidence": {
"source": "example",
"reference": "example",
"observed_at": "2026-01-01T00:00:00Z",
"statement": "example"
}
}
],
"consent_confirmed": true
}'
GET/v1/workspaces/{workspaceId}/contacts/imports/{importId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
기준 다시 읽기 또는 멱등 수신 확인이에요. 공급자 접수는 sent이며 delivered는 전달 이벤트가 필요하고 받은편지함 도착을 증명하지 않아요.
application/json
valueobject
dataobject필수
idstring
format: "uuid"
filenamestring
list_idstring | null
format: "uuid"
list_namestring | null
statusstring
total_rowsinteger
imported_rowsinteger
invalid_rowsinteger
error_summaryarray
각 항목string
consent_confirmedboolean
consent_confirmed_atstring | null
format: "date-time"
processed_rowsinteger
attempt_countinteger
last_error_codestring | null
created_atstring
format: "date-time"
completed_atstring | null
format: "date-time"
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contacts/imports/{importId}' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
GET/v1/workspaces/{workspaceId}/contacts/fields
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
성공 응답.
application/json
valueobject
dataarray필수
각 항목string
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contacts/fields' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/contacts/import-mapping
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
성공 응답 200
성공 응답.
application/json
valueobject
dataobject필수
mappingobject필수
columnsarray필수
각 항목object
columnstring필수
targetstring필수
enum: "email", "display_name", "first_name", "last_name", "locale", "time_zone", "status", "unsubscribed_flag", "subscribed_flag", "field", "ignore"
field_keystring
field_typestring
enum: "text", "number", "boolean", "date", "choice", "choices"
confidencenumber필수
sourcestring필수
enum: "saved", "ai", "rules", "person"
alternativesarray
각 항목object
추가 중첩 생략
locale_valuesobject필수
추가 속성string | null
reviewobject필수
neededboolean필수
reasonsarray필수
각 항목string
columnsarray필수
각 항목string
sourcestring필수
enum: "saved", "ai", "rules"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/contacts/import-mapping' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"filename": "example",
"columns": [
{
"name": "example",
"samples": [
"example"
],
"filled": 0,
"rows": 0
}
]
}'
대상
POST/v1/workspaces/{workspaceId}/audience/lists
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
성공 응답 200
기준 다시 읽기 또는 멱등 수신 확인이에요. 공급자 접수는 sent이며 delivered는 전달 이벤트가 필요하고 받은편지함 도착을 증명하지 않아요.
application/json
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/audience/lists' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
--header 'Idempotency-Key: example' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "example",
"description": "example"
}'
GET/v1/workspaces/{workspaceId}/audience/lists/{listId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
기준 다시 읽기 또는 멱등 수신 확인이에요. 공급자 접수는 sent이며 delivered는 전달 이벤트가 필요하고 받은편지함 도착을 증명하지 않아요.
application/json
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/audience/lists/{listId}' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
POST/v1/workspaces/{workspaceId}/audience/lists/{listId}/members
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
contact_idsarray필수
maxItems: 1000
각 항목string
format: "uuid"
성공 응답 200
기준 다시 읽기 또는 멱등 수신 확인이에요. 공급자 접수는 sent이며 delivered는 전달 이벤트가 필요하고 받은편지함 도착을 증명하지 않아요.
application/json
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/audience/lists/{listId}/members' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
--header 'Idempotency-Key: example' \
--header 'Content-Type: application/json' \
--data-raw '{
"contact_ids": [
"00000000-0000-4000-8000-000000000001"
]
}'
DELETE/v1/workspaces/{workspaceId}/audience/lists/{listId}/members
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
contact_idsarray필수
maxItems: 1000
각 항목string
format: "uuid"
성공 응답 200
기준 다시 읽기 또는 멱등 수신 확인이에요. 공급자 접수는 sent이며 delivered는 전달 이벤트가 필요하고 받은편지함 도착을 증명하지 않아요.
application/json
curl 예제
curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/audience/lists/{listId}/members' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
--header 'Idempotency-Key: example' \
--header 'Content-Type: application/json' \
--data-raw '{
"contact_ids": [
"00000000-0000-4000-8000-000000000001"
]
}'
POST/v1/workspaces/{workspaceId}/audience/segments
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
namestring필수
minLength: 1 · maxLength: 200
filterobject필수
추가 속성 없음
statusstring
enum: "subscribed", "unsubscribed", "bounced", "complained"
attributesobject
추가 속성모든 값
성공 응답 200
기준 다시 읽기 또는 멱등 수신 확인이에요. 공급자 접수는 sent이며 delivered는 전달 이벤트가 필요하고 받은편지함 도착을 증명하지 않아요.
application/json
valueobject
data지정되지 않음필수
allOf 1지정되지 않음
allOf 1object
idstring필수
format: "uuid"
namestring필수
filterobject필수
조건은 선언된 연락처 필드를 참조하고 유형이 지원하는 연산자를 사용해야 해요. set과 not_set은 value를 생략하고 within_days는 1–3650일을 사용해요.
추가 속성 없음
statusstring
enum: "subscribed", "unsubscribed", "bounced", "complained"
attributesobject
추가 속성모든 값
conditionsarray
maxItems: 20
각 항목object
추가 중첩 생략
matchstring
enum: "all", "any"
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
allOf 2object
countinteger필수
missing_consent_evidence_countinteger필수
samplearray필수
각 항목object
idstring필수
format: "uuid"
추가 중첩 생략
emailstring필수
추가 중첩 생략
display_namestring | null필수
추가 중첩 생략
attributesobject필수
추가 중첩 생략
excludedobject필수
suppressedinteger필수
not_subscribedinteger필수
missing_recipient_hashinteger필수
missing_consent_evidenceinteger필수
allOf 2object
replayedboolean필수
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/audience/segments' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
--header 'Idempotency-Key: example' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "example",
"filter": {
"status": "subscribed",
"attributes": {}
}
}'
GET/v1/workspaces/{workspaceId}/audience/segments/{segmentId}/preview
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
기준 다시 읽기 또는 멱등 수신 확인이에요. 공급자 접수는 sent이며 delivered는 전달 이벤트가 필요하고 받은편지함 도착을 증명하지 않아요.
application/json
valueobject
data지정되지 않음필수
allOf 1object
idstring필수
format: "uuid"
namestring필수
filterobject필수
조건은 선언된 연락처 필드를 참조하고 유형이 지원하는 연산자를 사용해야 해요. set과 not_set은 value를 생략하고 within_days는 1–3650일을 사용해요.
추가 속성 없음
statusstring
enum: "subscribed", "unsubscribed", "bounced", "complained"
attributesobject
추가 속성모든 값
conditionsarray
maxItems: 20
각 항목object
fieldstring필수
추가 중첩 생략
opstring필수
enum: "is", "is_not", "contains", "set", "not_set", "gt", "gte", "lt", "lte", "within_days", "any_of", "includes"
추가 중첩 생략
value지정되지 않음
추가 중첩 생략
matchstring
enum: "all", "any"
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
allOf 2object
countinteger필수
missing_consent_evidence_countinteger필수
samplearray필수
각 항목object
idstring필수
format: "uuid"
emailstring필수
display_namestring | null필수
attributesobject필수
추가 속성모든 값
excludedobject필수
suppressedinteger필수
not_subscribedinteger필수
missing_recipient_hashinteger필수
missing_consent_evidenceinteger필수
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/audience/segments/{segmentId}/preview' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
GET/v1/workspaces/{workspaceId}/audience/approvals
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
기준 다시 읽기 또는 멱등 수신 확인이에요. 공급자 접수는 sent이며 delivered는 전달 이벤트가 필요하고 받은편지함 도착을 증명하지 않아요.
application/json
valueobject
dataarray필수
각 항목지정되지 않음
allOf 1object
idstring필수
format: "uuid"
requested_by_actor_idstring필수
action_kindstring필수
summarystring필수
capability_scopesarray필수
각 항목string
resource_scopeobject필수
추가 속성array
각 항목string
추가 중첩 생략
payloadobject필수
추가 속성모든 값
payload_sha256string필수
pattern: "^[0-9a-f]{64}$"
statusstring필수
enum: "pending", "approved", "rejected", "cancelled", "expired"
missedboolean필수
expires_atstring필수
format: "date-time"
decided_by_actor_idstring | null
decision_reasonstring | null
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
decided_atstring | null
format: "date-time"
execution_job_idstring
format: "uuid"
reviewobject
추가 속성 없음
dispositionstring필수
enum: "automatic", "human_required"
recipient_countinteger | null필수
minimum: 0
reasonsarray필수
각 항목string
추가 중첩 생략
checksarray필수
각 항목string
추가 중첩 생략
allOf 2object
approval_idstring필수
format: "uuid"
broadcast_idstring | null필수
format: "uuid"
import_idstring | null필수
format: "uuid"
blockersarray필수
각 항목object
codestring필수
추가 중첩 생략
messagestring필수
추가 중첩 생략
executionsarray필수
각 항목object
idstring필수
format: "uuid"
추가 중첩 생략
statusstring필수
추가 중첩 생략
resultobject필수
추가 중첩 생략
error_codestring | null필수
추가 중첩 생략
execution_job_idsarray필수
각 항목string
format: "uuid"
execution_statusstring필수
enum: "completed", "failed", "queued", "awaiting_review", "not_queued"
human_review_urlstring | null필수
human_review_instructionstring | null필수
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/audience/approvals?status=pending' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
GET/v1/workspaces/{workspaceId}/audience/approvals/{approvalId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
기준 다시 읽기 또는 멱등 수신 확인이에요. 공급자 접수는 sent이며 delivered는 전달 이벤트가 필요하고 받은편지함 도착을 증명하지 않아요.
application/json
valueobject
data지정되지 않음필수
allOf 1object
idstring필수
format: "uuid"
requested_by_actor_idstring필수
action_kindstring필수
summarystring필수
capability_scopesarray필수
각 항목string
resource_scopeobject필수
추가 속성array
각 항목string
payloadobject필수
추가 속성모든 값
payload_sha256string필수
pattern: "^[0-9a-f]{64}$"
statusstring필수
enum: "pending", "approved", "rejected", "cancelled", "expired"
missedboolean필수
expires_atstring필수
format: "date-time"
decided_by_actor_idstring | null
decision_reasonstring | null
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
decided_atstring | null
format: "date-time"
execution_job_idstring
format: "uuid"
reviewobject
추가 속성 없음
dispositionstring필수
enum: "automatic", "human_required"
recipient_countinteger | null필수
minimum: 0
reasonsarray필수
각 항목string
checksarray필수
각 항목string
allOf 2object
approval_idstring필수
format: "uuid"
broadcast_idstring | null필수
format: "uuid"
import_idstring | null필수
format: "uuid"
blockersarray필수
각 항목object
codestring필수
messagestring필수
executionsarray필수
각 항목object
idstring필수
format: "uuid"
statusstring필수
resultobject필수
추가 속성모든 값
error_codestring | null필수
execution_job_idsarray필수
각 항목string
format: "uuid"
execution_statusstring필수
enum: "completed", "failed", "queued", "awaiting_review", "not_queued"
human_review_urlstring | null필수
human_review_instructionstring | null필수
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/audience/approvals/{approvalId}' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
GET/v1/workspaces/{workspaceId}/signup-forms
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
성공 응답.
application/json
valueobject
dataarray필수
각 항목object
idstring필수
format: "uuid"
product_idstring필수
format: "uuid"
public_idstring필수
pattern: "^f_[a-z0-9]{16}$"
namestring필수
kindstring필수
enum: "inline", "popup", "bar", "slide_in", "page"
list_idstring필수
format: "uuid"
list_namestring필수
mailbox_idstring | null필수
format: "uuid"
double_opt_inboolean필수
configobject필수
추가 속성 없음
eyebrowstring
maxLength: 60
headlinestring
minLength: 1 · maxLength: 140
bodystring
maxLength: 400
button_labelstring
minLength: 1 · maxLength: 40
email_placeholderstring
maxLength: 80
name_placeholderstring
maxLength: 60
fine_printstring
maxLength: 160
incentivestring
maxLength: 160
success_headlinestring
maxLength: 120
success_bodystring
maxLength: 400
redirect_urlstring
maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"
image_urlstring
maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"
artstring
enum: "arcs", "blocks", "horizon", "confetti", "frame", "bands", "dots"
stylestring
enum: "", "brand", "material", "clarity", "editorial", "bold", "luxe", "playful", "plain"
count_nounstring
maxLength: 30
confirm_promisestring
maxLength: 200
localestring
collect_nameboolean
show_logoboolean
show_countboolean
exit_intentboolean
delay_secondsinteger
minimum: 0 · maximum: 600
scroll_percentinteger
minimum: 0 · maximum: 100
frequency_daysinteger
minimum: 0 · maximum: 365
imagestring
enum: "none", "photo", "art"
layoutstring
enum: "stacked", "split"
themestring
enum: "light", "dark", "brand", "auto"
positionstring
enum: "bottom", "top", "right", "left"
fieldsarray
maxItems: 6
각 항목object
선택형 질문은 선택지가 필요하고 다른 질문 유형은 선택지를 받지 않아요. 키는 고유해야 하며 예약된 양식 필드를 사용할 수 없어요. 생략된 키는 라벨에서 만들어요.
추가 속성 없음
keystring
pattern: "^[a-z][a-z0-9_]{0,39}$"
추가 중첩 생략
labelstring필수
minLength: 1 · maxLength: 80
추가 중첩 생략
typestring
default: "text" · enum: "text", "select", "checkbox"
추가 중첩 생략
requiredboolean
default: false
추가 중첩 생략
placeholderstring
maxLength: 80
추가 중첩 생략
optionsarray
minItems: 1 · maxItems: 20 · uniqueItems: true
추가 중첩 생략
statusstring필수
enum: "active", "paused", "archived"
viewsinteger필수
submissionsinteger필수
confirmationsinteger필수
subscribersinteger필수
versioninteger필수
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
hosted_urlstring필수
embed_codestring필수
embed_slotstring필수
open_buttonstring필수
conversion_ratenumber필수
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/signup-forms?include_archived=true' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/signup-forms
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
namestring
maxLength: 200
kindstring
default: "inline" · enum: "inline", "popup", "bar", "slide_in", "page"
list_idstring
format: "uuid"
list_namestring
maxLength: 200
mailbox_idstring | null
format: "uuid"
double_opt_inboolean
default: true
configobject
추가 속성 없음
eyebrowstring
maxLength: 60
headlinestring
minLength: 1 · maxLength: 140
bodystring
maxLength: 400
button_labelstring
minLength: 1 · maxLength: 40
email_placeholderstring
maxLength: 80
name_placeholderstring
maxLength: 60
fine_printstring
maxLength: 160
incentivestring
maxLength: 160
success_headlinestring
maxLength: 120
success_bodystring
maxLength: 400
redirect_urlstring
maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"
image_urlstring
maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"
artstring
enum: "arcs", "blocks", "horizon", "confetti", "frame", "bands", "dots"
stylestring
enum: "", "brand", "material", "clarity", "editorial", "bold", "luxe", "playful", "plain"
count_nounstring
maxLength: 30
confirm_promisestring
maxLength: 200
localestring
collect_nameboolean
show_logoboolean
show_countboolean
exit_intentboolean
delay_secondsinteger
minimum: 0 · maximum: 600
scroll_percentinteger
minimum: 0 · maximum: 100
frequency_daysinteger
minimum: 0 · maximum: 365
imagestring
enum: "none", "photo", "art"
layoutstring
enum: "stacked", "split"
themestring
enum: "light", "dark", "brand", "auto"
positionstring
enum: "bottom", "top", "right", "left"
fieldsarray
maxItems: 6
각 항목object
선택형 질문은 선택지가 필요하고 다른 질문 유형은 선택지를 받지 않아요. 키는 고유해야 하며 예약된 양식 필드를 사용할 수 없어요. 생략된 키는 라벨에서 만들어요.
추가 속성 없음
keystring
pattern: "^[a-z][a-z0-9_]{0,39}$"
labelstring필수
minLength: 1 · maxLength: 80
typestring
default: "text" · enum: "text", "select", "checkbox"
requiredboolean
default: false
placeholderstring
maxLength: 80
optionsarray
minItems: 1 · maxItems: 20 · uniqueItems: true
각 항목string
minLength: 1 · maxLength: 80
성공 응답 200
성공 응답.
application/json
valueobject
dataobject필수
idstring
format: "uuid"
product_idstring
format: "uuid"
public_idstring
pattern: "^f_[a-z0-9]{16}$"
namestring
kindstring
enum: "inline", "popup", "bar", "slide_in", "page"
list_idstring
format: "uuid"
list_namestring
mailbox_idstring | null
format: "uuid"
double_opt_inboolean
configobject
추가 속성 없음
eyebrowstring
maxLength: 60
headlinestring
minLength: 1 · maxLength: 140
bodystring
maxLength: 400
button_labelstring
minLength: 1 · maxLength: 40
email_placeholderstring
maxLength: 80
name_placeholderstring
maxLength: 60
fine_printstring
maxLength: 160
incentivestring
maxLength: 160
success_headlinestring
maxLength: 120
success_bodystring
maxLength: 400
redirect_urlstring
maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"
image_urlstring
maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"
artstring
enum: "arcs", "blocks", "horizon", "confetti", "frame", "bands", "dots"
stylestring
enum: "", "brand", "material", "clarity", "editorial", "bold", "luxe", "playful", "plain"
count_nounstring
maxLength: 30
confirm_promisestring
maxLength: 200
localestring
collect_nameboolean
show_logoboolean
show_countboolean
exit_intentboolean
delay_secondsinteger
minimum: 0 · maximum: 600
scroll_percentinteger
minimum: 0 · maximum: 100
frequency_daysinteger
minimum: 0 · maximum: 365
imagestring
enum: "none", "photo", "art"
layoutstring
enum: "stacked", "split"
themestring
enum: "light", "dark", "brand", "auto"
positionstring
enum: "bottom", "top", "right", "left"
fieldsarray
maxItems: 6
각 항목object
선택형 질문은 선택지가 필요하고 다른 질문 유형은 선택지를 받지 않아요. 키는 고유해야 하며 예약된 양식 필드를 사용할 수 없어요. 생략된 키는 라벨에서 만들어요.
추가 속성 없음
keystring
pattern: "^[a-z][a-z0-9_]{0,39}$"
labelstring필수
minLength: 1 · maxLength: 80
typestring
default: "text" · enum: "text", "select", "checkbox"
requiredboolean
default: false
placeholderstring
maxLength: 80
optionsarray
minItems: 1 · maxItems: 20 · uniqueItems: true
각 항목string
minLength: 1 · maxLength: 80
추가 중첩 생략
statusstring
enum: "active", "paused", "archived"
viewsinteger
submissionsinteger
confirmationsinteger
subscribersinteger
versioninteger
created_atstring
format: "date-time"
updated_atstring
format: "date-time"
hosted_urlstring
embed_codestring
embed_slotstring
open_buttonstring
conversion_ratenumber
replayedboolean
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/signup-forms' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Idempotency-Key: example' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "example",
"kind": "inline",
"list_id": "00000000-0000-4000-8000-000000000001",
"list_name": "example",
"mailbox_id": "00000000-0000-4000-8000-000000000001",
"double_opt_in": true,
"config": {
"eyebrow": "example",
"headline": "example",
"body": "example",
"button_label": "example",
"email_placeholder": "example",
"name_placeholder": "example",
"fine_print": "example",
"incentive": "example",
"success_headline": "example",
"success_body": "example",
"redirect_url": "example",
"image_url": "example",
"art": "arcs",
"style": "",
"count_noun": "example",
"confirm_promise": "example",
"locale": "example",
"collect_name": true,
"show_logo": true,
"show_count": true,
"exit_intent": true,
"delay_seconds": 0,
"scroll_percent": 0,
"frequency_days": 0,
"image": "none",
"layout": "stacked",
"theme": "light",
"position": "bottom",
"fields": [
{
"key": "example",
"label": "example",
"type": "text",
"required": false,
"placeholder": "example",
"options": [
"example"
]
}
]
}
}'
GET/v1/workspaces/{workspaceId}/signup-forms/readiness
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
성공 응답.
application/json
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/signup-forms/readiness' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/signup-forms/preview
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
kindstring
enum: "inline", "popup", "bar", "slide_in", "page"
configobject
추가 속성 없음
eyebrowstring
maxLength: 60
headlinestring
minLength: 1 · maxLength: 140
bodystring
maxLength: 400
button_labelstring
minLength: 1 · maxLength: 40
email_placeholderstring
maxLength: 80
name_placeholderstring
maxLength: 60
fine_printstring
maxLength: 160
incentivestring
maxLength: 160
success_headlinestring
maxLength: 120
success_bodystring
maxLength: 400
redirect_urlstring
maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"
image_urlstring
maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"
artstring
enum: "arcs", "blocks", "horizon", "confetti", "frame", "bands", "dots"
stylestring
enum: "", "brand", "material", "clarity", "editorial", "bold", "luxe", "playful", "plain"
count_nounstring
maxLength: 30
confirm_promisestring
maxLength: 200
localestring
collect_nameboolean
show_logoboolean
show_countboolean
exit_intentboolean
delay_secondsinteger
minimum: 0 · maximum: 600
scroll_percentinteger
minimum: 0 · maximum: 100
frequency_daysinteger
minimum: 0 · maximum: 365
imagestring
enum: "none", "photo", "art"
layoutstring
enum: "stacked", "split"
themestring
enum: "light", "dark", "brand", "auto"
positionstring
enum: "bottom", "top", "right", "left"
fieldsarray
maxItems: 6
각 항목object
선택형 질문은 선택지가 필요하고 다른 질문 유형은 선택지를 받지 않아요. 키는 고유해야 하며 예약된 양식 필드를 사용할 수 없어요. 생략된 키는 라벨에서 만들어요.
추가 속성 없음
keystring
pattern: "^[a-z][a-z0-9_]{0,39}$"
labelstring필수
minLength: 1 · maxLength: 80
typestring
default: "text" · enum: "text", "select", "checkbox"
requiredboolean
default: false
placeholderstring
maxLength: 80
optionsarray
minItems: 1 · maxItems: 20 · uniqueItems: true
각 항목string
minLength: 1 · maxLength: 80
double_opt_inboolean
statestring
enum: "form", "success"
성공 응답 200
성공 응답.
application/json
valueobject
dataobject필수
kindstring필수
enum: "inline", "popup", "bar", "slide_in", "page"
statestring필수
enum: "form", "success"
htmlstring필수
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/signup-forms/preview' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"kind": "inline",
"config": {
"eyebrow": "example",
"headline": "example",
"body": "example",
"button_label": "example",
"email_placeholder": "example",
"name_placeholder": "example",
"fine_print": "example",
"incentive": "example",
"success_headline": "example",
"success_body": "example",
"redirect_url": "example",
"image_url": "example",
"art": "arcs",
"style": "",
"count_noun": "example",
"confirm_promise": "example",
"locale": "example",
"collect_name": true,
"show_logo": true,
"show_count": true,
"exit_intent": true,
"delay_seconds": 0,
"scroll_percent": 0,
"frequency_days": 0,
"image": "none",
"layout": "stacked",
"theme": "light",
"position": "bottom",
"fields": [
{
"key": "example",
"label": "example",
"type": "text",
"required": false,
"placeholder": "example",
"options": [
"example"
]
}
]
},
"double_opt_in": true,
"state": "form"
}'
GET/v1/workspaces/{workspaceId}/signup-forms/{formId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
성공 응답.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
product_idstring필수
format: "uuid"
public_idstring필수
pattern: "^f_[a-z0-9]{16}$"
namestring필수
kindstring필수
enum: "inline", "popup", "bar", "slide_in", "page"
list_idstring필수
format: "uuid"
list_namestring필수
mailbox_idstring | null필수
format: "uuid"
double_opt_inboolean필수
configobject필수
추가 속성 없음
eyebrowstring
maxLength: 60
headlinestring
minLength: 1 · maxLength: 140
bodystring
maxLength: 400
button_labelstring
minLength: 1 · maxLength: 40
email_placeholderstring
maxLength: 80
name_placeholderstring
maxLength: 60
fine_printstring
maxLength: 160
incentivestring
maxLength: 160
success_headlinestring
maxLength: 120
success_bodystring
maxLength: 400
redirect_urlstring
maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"
image_urlstring
maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"
artstring
enum: "arcs", "blocks", "horizon", "confetti", "frame", "bands", "dots"
stylestring
enum: "", "brand", "material", "clarity", "editorial", "bold", "luxe", "playful", "plain"
count_nounstring
maxLength: 30
confirm_promisestring
maxLength: 200
localestring
collect_nameboolean
show_logoboolean
show_countboolean
exit_intentboolean
delay_secondsinteger
minimum: 0 · maximum: 600
scroll_percentinteger
minimum: 0 · maximum: 100
frequency_daysinteger
minimum: 0 · maximum: 365
imagestring
enum: "none", "photo", "art"
layoutstring
enum: "stacked", "split"
themestring
enum: "light", "dark", "brand", "auto"
positionstring
enum: "bottom", "top", "right", "left"
fieldsarray
maxItems: 6
각 항목object
선택형 질문은 선택지가 필요하고 다른 질문 유형은 선택지를 받지 않아요. 키는 고유해야 하며 예약된 양식 필드를 사용할 수 없어요. 생략된 키는 라벨에서 만들어요.
추가 속성 없음
keystring
pattern: "^[a-z][a-z0-9_]{0,39}$"
labelstring필수
minLength: 1 · maxLength: 80
typestring
default: "text" · enum: "text", "select", "checkbox"
requiredboolean
default: false
placeholderstring
maxLength: 80
optionsarray
minItems: 1 · maxItems: 20 · uniqueItems: true
각 항목string
minLength: 1 · maxLength: 80
추가 중첩 생략
statusstring필수
enum: "active", "paused", "archived"
viewsinteger필수
submissionsinteger필수
confirmationsinteger필수
subscribersinteger필수
versioninteger필수
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
hosted_urlstring필수
embed_codestring필수
embed_slotstring필수
open_buttonstring필수
conversion_ratenumber필수
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/signup-forms/{formId}' \
--header "Authorization: Bearer $BANGER_API_KEY"
PATCH/v1/workspaces/{workspaceId}/signup-forms/{formId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
namestring
maxLength: 200
kindstring
default: "inline" · enum: "inline", "popup", "bar", "slide_in", "page"
list_idstring
format: "uuid"
list_namestring
maxLength: 200
mailbox_idstring | null
format: "uuid"
double_opt_inboolean
default: true
configobject
추가 속성 없음
eyebrowstring
maxLength: 60
headlinestring
minLength: 1 · maxLength: 140
bodystring
maxLength: 400
button_labelstring
minLength: 1 · maxLength: 40
email_placeholderstring
maxLength: 80
name_placeholderstring
maxLength: 60
fine_printstring
maxLength: 160
incentivestring
maxLength: 160
success_headlinestring
maxLength: 120
success_bodystring
maxLength: 400
redirect_urlstring
maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"
image_urlstring
maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"
artstring
enum: "arcs", "blocks", "horizon", "confetti", "frame", "bands", "dots"
stylestring
enum: "", "brand", "material", "clarity", "editorial", "bold", "luxe", "playful", "plain"
count_nounstring
maxLength: 30
confirm_promisestring
maxLength: 200
localestring
collect_nameboolean
show_logoboolean
show_countboolean
exit_intentboolean
delay_secondsinteger
minimum: 0 · maximum: 600
scroll_percentinteger
minimum: 0 · maximum: 100
frequency_daysinteger
minimum: 0 · maximum: 365
imagestring
enum: "none", "photo", "art"
layoutstring
enum: "stacked", "split"
themestring
enum: "light", "dark", "brand", "auto"
positionstring
enum: "bottom", "top", "right", "left"
fieldsarray
maxItems: 6
각 항목object
선택형 질문은 선택지가 필요하고 다른 질문 유형은 선택지를 받지 않아요. 키는 고유해야 하며 예약된 양식 필드를 사용할 수 없어요. 생략된 키는 라벨에서 만들어요.
추가 속성 없음
keystring
pattern: "^[a-z][a-z0-9_]{0,39}$"
labelstring필수
minLength: 1 · maxLength: 80
typestring
default: "text" · enum: "text", "select", "checkbox"
requiredboolean
default: false
placeholderstring
maxLength: 80
optionsarray
minItems: 1 · maxItems: 20 · uniqueItems: true
각 항목string
minLength: 1 · maxLength: 80
statusstring
enum: "active", "paused", "archived"
expected_versioninteger
성공 응답 200
성공 응답.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
product_idstring필수
format: "uuid"
public_idstring필수
pattern: "^f_[a-z0-9]{16}$"
namestring필수
kindstring필수
enum: "inline", "popup", "bar", "slide_in", "page"
list_idstring필수
format: "uuid"
list_namestring필수
mailbox_idstring | null필수
format: "uuid"
double_opt_inboolean필수
configobject필수
추가 속성 없음
eyebrowstring
maxLength: 60
headlinestring
minLength: 1 · maxLength: 140
bodystring
maxLength: 400
button_labelstring
minLength: 1 · maxLength: 40
email_placeholderstring
maxLength: 80
name_placeholderstring
maxLength: 60
fine_printstring
maxLength: 160
incentivestring
maxLength: 160
success_headlinestring
maxLength: 120
success_bodystring
maxLength: 400
redirect_urlstring
maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"
image_urlstring
maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"
artstring
enum: "arcs", "blocks", "horizon", "confetti", "frame", "bands", "dots"
stylestring
enum: "", "brand", "material", "clarity", "editorial", "bold", "luxe", "playful", "plain"
count_nounstring
maxLength: 30
confirm_promisestring
maxLength: 200
localestring
collect_nameboolean
show_logoboolean
show_countboolean
exit_intentboolean
delay_secondsinteger
minimum: 0 · maximum: 600
scroll_percentinteger
minimum: 0 · maximum: 100
frequency_daysinteger
minimum: 0 · maximum: 365
imagestring
enum: "none", "photo", "art"
layoutstring
enum: "stacked", "split"
themestring
enum: "light", "dark", "brand", "auto"
positionstring
enum: "bottom", "top", "right", "left"
fieldsarray
maxItems: 6
각 항목object
선택형 질문은 선택지가 필요하고 다른 질문 유형은 선택지를 받지 않아요. 키는 고유해야 하며 예약된 양식 필드를 사용할 수 없어요. 생략된 키는 라벨에서 만들어요.
추가 속성 없음
keystring
pattern: "^[a-z][a-z0-9_]{0,39}$"
labelstring필수
minLength: 1 · maxLength: 80
typestring
default: "text" · enum: "text", "select", "checkbox"
requiredboolean
default: false
placeholderstring
maxLength: 80
optionsarray
minItems: 1 · maxItems: 20 · uniqueItems: true
각 항목string
minLength: 1 · maxLength: 80
추가 중첩 생략
statusstring필수
enum: "active", "paused", "archived"
viewsinteger필수
submissionsinteger필수
confirmationsinteger필수
subscribersinteger필수
versioninteger필수
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
hosted_urlstring필수
embed_codestring필수
embed_slotstring필수
open_buttonstring필수
conversion_ratenumber필수
replayedboolean필수
curl 예제
curl --request PATCH --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/signup-forms/{formId}' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Idempotency-Key: example' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "example",
"kind": "inline",
"list_id": "00000000-0000-4000-8000-000000000001",
"list_name": "example",
"mailbox_id": "00000000-0000-4000-8000-000000000001",
"double_opt_in": true,
"config": {
"eyebrow": "example",
"headline": "example",
"body": "example",
"button_label": "example",
"email_placeholder": "example",
"name_placeholder": "example",
"fine_print": "example",
"incentive": "example",
"success_headline": "example",
"success_body": "example",
"redirect_url": "example",
"image_url": "example",
"art": "arcs",
"style": "",
"count_noun": "example",
"confirm_promise": "example",
"locale": "example",
"collect_name": true,
"show_logo": true,
"show_count": true,
"exit_intent": true,
"delay_seconds": 0,
"scroll_percent": 0,
"frequency_days": 0,
"image": "none",
"layout": "stacked",
"theme": "light",
"position": "bottom",
"fields": [
{
"key": "example",
"label": "example",
"type": "text",
"required": false,
"placeholder": "example",
"options": [
"example"
]
}
]
},
"status": "active",
"expected_version": 1
}'
POST/v1/workspaces/{workspaceId}/signup-forms/{formId}/preview
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
kindstring
enum: "inline", "popup", "bar", "slide_in", "page"
configobject
추가 속성 없음
eyebrowstring
maxLength: 60
headlinestring
minLength: 1 · maxLength: 140
bodystring
maxLength: 400
button_labelstring
minLength: 1 · maxLength: 40
email_placeholderstring
maxLength: 80
name_placeholderstring
maxLength: 60
fine_printstring
maxLength: 160
incentivestring
maxLength: 160
success_headlinestring
maxLength: 120
success_bodystring
maxLength: 400
redirect_urlstring
maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"
image_urlstring
maxLength: 2000 · pattern: "^(|https://[^\\s\"'<>]+)$"
artstring
enum: "arcs", "blocks", "horizon", "confetti", "frame", "bands", "dots"
stylestring
enum: "", "brand", "material", "clarity", "editorial", "bold", "luxe", "playful", "plain"
count_nounstring
maxLength: 30
confirm_promisestring
maxLength: 200
localestring
collect_nameboolean
show_logoboolean
show_countboolean
exit_intentboolean
delay_secondsinteger
minimum: 0 · maximum: 600
scroll_percentinteger
minimum: 0 · maximum: 100
frequency_daysinteger
minimum: 0 · maximum: 365
imagestring
enum: "none", "photo", "art"
layoutstring
enum: "stacked", "split"
themestring
enum: "light", "dark", "brand", "auto"
positionstring
enum: "bottom", "top", "right", "left"
fieldsarray
maxItems: 6
각 항목object
선택형 질문은 선택지가 필요하고 다른 질문 유형은 선택지를 받지 않아요. 키는 고유해야 하며 예약된 양식 필드를 사용할 수 없어요. 생략된 키는 라벨에서 만들어요.
추가 속성 없음
keystring
pattern: "^[a-z][a-z0-9_]{0,39}$"
labelstring필수
minLength: 1 · maxLength: 80
typestring
default: "text" · enum: "text", "select", "checkbox"
requiredboolean
default: false
placeholderstring
maxLength: 80
optionsarray
minItems: 1 · maxItems: 20 · uniqueItems: true
각 항목string
minLength: 1 · maxLength: 80
double_opt_inboolean
statestring
enum: "form", "success"
성공 응답 200
성공 응답.
application/json
valueobject
dataobject필수
kindstring필수
enum: "inline", "popup", "bar", "slide_in", "page"
statestring필수
enum: "form", "success"
htmlstring필수
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/signup-forms/{formId}/preview' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"kind": "inline",
"config": {
"eyebrow": "example",
"headline": "example",
"body": "example",
"button_label": "example",
"email_placeholder": "example",
"name_placeholder": "example",
"fine_print": "example",
"incentive": "example",
"success_headline": "example",
"success_body": "example",
"redirect_url": "example",
"image_url": "example",
"art": "arcs",
"style": "",
"count_noun": "example",
"confirm_promise": "example",
"locale": "example",
"collect_name": true,
"show_logo": true,
"show_count": true,
"exit_intent": true,
"delay_seconds": 0,
"scroll_percent": 0,
"frequency_days": 0,
"image": "none",
"layout": "stacked",
"theme": "light",
"position": "bottom",
"fields": [
{
"key": "example",
"label": "example",
"type": "text",
"required": false,
"placeholder": "example",
"options": [
"example"
]
}
]
},
"double_opt_in": true,
"state": "form"
}'
템플릿
GET/v1/workspaces/{workspaceId}/templates
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
성공 응답.
application/json
valueobject
dataarray필수
각 항목object
idstring필수
format: "uuid"
product_idstring
format: "uuid"
namestring필수
subjectstring필수
body_textstring필수
contentobject필수
추가 속성string
slotsarray필수
각 항목object
keystring필수
pattern: "^[A-Za-z0-9_$.-]{1,200}$"
labelstring
maxLength: 120
typestring
enum: "text", "paragraph", "url", "image"
helpstring
maxLength: 300
statusstring필수
enum: "active", "archived"
originstring필수
enum: "person", "agent", "starter", "import"
created_by_actor_idstring | null
campaign_idstring | null
format: "uuid"
message_kindstring
starter_idstring | null
starter_versioninteger | null
versioninteger필수
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
body_html_urlstring
format: "uri"
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/templates' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/templates
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
namestring필수
minLength: 1 · maxLength: 200
subjectstring
maxLength: 10000
body_textstring
maxLength: 2000000
body_htmlstring
maxLength: 2000000
contentobject
추가 속성string
slotsarray
각 항목object
keystring필수
pattern: "^[A-Za-z0-9_$.-]{1,200}$"
labelstring
maxLength: 120
typestring
enum: "text", "paragraph", "url", "image"
helpstring
maxLength: 300
originstring
enum: "person", "agent", "starter", "import"
message_kindstring
starter_idstring
maxLength: 80
starter_versioninteger
minimum: 1
성공 응답 201
성공 응답.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
product_idstring
format: "uuid"
namestring필수
subjectstring필수
body_textstring필수
contentobject필수
추가 속성string
slotsarray필수
각 항목object
keystring필수
pattern: "^[A-Za-z0-9_$.-]{1,200}$"
labelstring
maxLength: 120
typestring
enum: "text", "paragraph", "url", "image"
helpstring
maxLength: 300
statusstring필수
enum: "active", "archived"
originstring필수
enum: "person", "agent", "starter", "import"
created_by_actor_idstring | null
campaign_idstring | null
format: "uuid"
message_kindstring
starter_idstring | null
starter_versioninteger | null
versioninteger필수
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
body_html_urlstring
format: "uri"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/templates' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "example",
"subject": "example",
"body_text": "example",
"body_html": "example",
"content": {},
"slots": [
{
"key": "example",
"label": "example",
"type": "text",
"help": "example"
}
],
"origin": "person",
"message_kind": "example",
"starter_id": "example",
"starter_version": 1
}'
POST/v1/workspaces/{workspaceId}/templates/preview
저장하지 않은 디자인을 샘플 또는 대상 값으로 렌더링하고 자리표시자 누락을 보고해요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
subjectstring
maxLength: 10000
body_textstring
maxLength: 2000000
body_htmlstring
maxLength: 2000000
contentobject
추가 속성string
audienceobject
모든 구독 연락처 또는 비어 있지 않은 contact_ids, list_ids, segment_ids 목록을 하나 이상 선택하세요.
all_subscribedboolean
contact_idsarray
maxItems: 10000
각 항목string
format: "uuid"
list_idsarray
maxItems: 1000
각 항목string
format: "uuid"
segment_idsarray
maxItems: 1000
각 항목string
format: "uuid"
sample_emailstring
기존 연락처 이메일이에요. 알 수 없는 주소는 sample_recipient_not_found를 반환해요. 생략하면 샘플 또는 대상 값을 사용해요.
maxLength: 320
성공 응답 200
성공 응답.
application/json
valueobject
dataobject필수
subjectstring필수
body_textstring필수
body_htmlstring
font_renderingarray필수
각 항목object
stackstring필수
fontstring필수
web_fontboolean필수
clientsarray필수
각 항목object
clientstring필수
추가 중첩 생략
labelstring필수
추가 중첩 생략
fontstring필수
추가 중첩 생략
web_fontboolean필수
추가 중첩 생략
fallbackboolean필수
추가 중첩 생략
sample_recipient지정되지 않음필수
anyOf 1object
emailstring필수
display_namestring | null필수
anyOf 2null
required_variablesarray필수
각 항목string
effective_slotsarray필수
각 항목object
keystring필수
pattern: "^[A-Za-z0-9_$.-]{1,200}$"
labelstring
maxLength: 120
typestring
enum: "text", "paragraph", "url", "image"
helpstring
maxLength: 300
audience_countinteger
gapsarray
각 항목object
variablestring필수
missing_countinteger필수
sample_emailsarray필수
각 항목string
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/templates/preview' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"subject": "example",
"body_text": "example",
"body_html": "example",
"content": {},
"audience": {
"all_subscribed": true,
"contact_ids": [
"00000000-0000-4000-8000-000000000001"
],
"list_ids": [
"00000000-0000-4000-8000-000000000001"
],
"segment_ids": [
"00000000-0000-4000-8000-000000000001"
]
},
"sample_email": "example"
}'
GET/v1/workspaces/{workspaceId}/templates/{templateId}
디자인 하나와 인라인 HTML, 채울 콘텐츠, 실제 슬롯.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
성공 응답.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
product_idstring
format: "uuid"
namestring필수
subjectstring필수
body_textstring필수
contentobject필수
추가 속성string
slotsarray필수
각 항목object
keystring필수
pattern: "^[A-Za-z0-9_$.-]{1,200}$"
labelstring
maxLength: 120
typestring
enum: "text", "paragraph", "url", "image"
helpstring
maxLength: 300
statusstring필수
enum: "active", "archived"
originstring필수
enum: "person", "agent", "starter", "import"
created_by_actor_idstring | null
campaign_idstring | null
format: "uuid"
message_kindstring
starter_idstring | null
starter_versioninteger | null
versioninteger필수
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
body_html_urlstring
format: "uri"
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/templates/{templateId}' \
--header "Authorization: Bearer $BANGER_API_KEY"
PATCH/v1/workspaces/{workspaceId}/templates/{templateId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
namestring
maxLength: 200
subjectstring
maxLength: 10000
body_textstring
maxLength: 2000000
body_htmlstring
minLength: 1 · maxLength: 2000000
contentobject
추가 속성string
maxLength: 20000
slotsarray
maxItems: 100
각 항목object
keystring필수
maxLength: 200
labelstring
maxLength: 120
typestring
enum: "text", "paragraph", "url", "image"
helpstring
maxLength: 300
statusstring
enum: "active", "archived"
성공 응답 200
성공 응답.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
product_idstring
format: "uuid"
namestring필수
subjectstring필수
body_textstring필수
contentobject필수
추가 속성string
slotsarray필수
각 항목object
keystring필수
pattern: "^[A-Za-z0-9_$.-]{1,200}$"
labelstring
maxLength: 120
typestring
enum: "text", "paragraph", "url", "image"
helpstring
maxLength: 300
statusstring필수
enum: "active", "archived"
originstring필수
enum: "person", "agent", "starter", "import"
created_by_actor_idstring | null
campaign_idstring | null
format: "uuid"
message_kindstring
starter_idstring | null
starter_versioninteger | null
versioninteger필수
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
body_html_urlstring
format: "uri"
curl 예제
curl --request PATCH --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/templates/{templateId}' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "example",
"subject": "example",
"body_text": "example",
"body_html": "example",
"content": {},
"slots": [
{
"key": "example",
"label": "example",
"type": "text",
"help": "example"
}
],
"status": "active"
}'
POST/v1/workspaces/{workspaceId}/templates/{templateId}/duplicate
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
namestring
maxLength: 200
성공 응답 201
성공 응답.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
product_idstring
format: "uuid"
namestring필수
subjectstring필수
body_textstring필수
contentobject필수
추가 속성string
slotsarray필수
각 항목object
keystring필수
pattern: "^[A-Za-z0-9_$.-]{1,200}$"
labelstring
maxLength: 120
typestring
enum: "text", "paragraph", "url", "image"
helpstring
maxLength: 300
statusstring필수
enum: "active", "archived"
originstring필수
enum: "person", "agent", "starter", "import"
created_by_actor_idstring | null
campaign_idstring | null
format: "uuid"
message_kindstring
starter_idstring | null
starter_versioninteger | null
versioninteger필수
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
body_html_urlstring
format: "uri"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/templates/{templateId}/duplicate' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "example"
}'
POST/v1/workspaces/{workspaceId}/templates/{templateId}/preview
저장된 디자인을 샘플 또는 대상 값으로 렌더링하고 자리표시자 누락을 보고해요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
contentobject
추가 속성string
audienceobject
모든 구독 연락처 또는 비어 있지 않은 contact_ids, list_ids, segment_ids 목록을 하나 이상 선택하세요.
all_subscribedboolean
contact_idsarray
maxItems: 10000
각 항목string
format: "uuid"
list_idsarray
maxItems: 1000
각 항목string
format: "uuid"
segment_idsarray
maxItems: 1000
각 항목string
format: "uuid"
sample_emailstring
기존 연락처 이메일이에요. 알 수 없는 주소는 sample_recipient_not_found를 반환해요. 생략하면 샘플 또는 대상 값을 사용해요.
maxLength: 320
성공 응답 200
성공 응답.
application/json
valueobject
dataobject필수
subjectstring필수
body_textstring필수
body_htmlstring
font_renderingarray필수
각 항목object
stackstring필수
fontstring필수
web_fontboolean필수
clientsarray필수
각 항목object
clientstring필수
추가 중첩 생략
labelstring필수
추가 중첩 생략
fontstring필수
추가 중첩 생략
web_fontboolean필수
추가 중첩 생략
fallbackboolean필수
추가 중첩 생략
sample_recipient지정되지 않음필수
anyOf 1object
emailstring필수
display_namestring | null필수
anyOf 2null
required_variablesarray필수
각 항목string
effective_slotsarray필수
각 항목object
keystring필수
pattern: "^[A-Za-z0-9_$.-]{1,200}$"
labelstring
maxLength: 120
typestring
enum: "text", "paragraph", "url", "image"
helpstring
maxLength: 300
audience_countinteger
gapsarray
각 항목object
variablestring필수
missing_countinteger필수
sample_emailsarray필수
각 항목string
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/templates/{templateId}/preview' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"content": {},
"audience": {
"all_subscribed": true,
"contact_ids": [
"00000000-0000-4000-8000-000000000001"
],
"list_ids": [
"00000000-0000-4000-8000-000000000001"
],
"segment_ids": [
"00000000-0000-4000-8000-000000000001"
]
},
"sample_email": "example"
}'
GET/v1/workspaces/{workspaceId}/templates/{templateId}/html
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
스크립트 없는 HTML 이메일 템플릿 본문.
text/html
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/templates/{templateId}/html' \
--header "Authorization: Bearer $BANGER_API_KEY"
캠페인
POST/v1/workspaces/{workspaceId}/campaigns/coverage-preview
단체 발송을 저장하기 전에 확인하는, 대상이 채울 수 없는 필수 자리표시자.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
성공 응답 200
성공 응답.
application/json
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/coverage-preview' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"subject": "example",
"body_text": "example",
"body_html": "example",
"content": {},
"audience": {
"all_subscribed": true,
"contact_ids": [
"00000000-0000-4000-8000-000000000001"
],
"list_ids": [
"00000000-0000-4000-8000-000000000001"
],
"segment_ids": [
"00000000-0000-4000-8000-000000000001"
]
},
"sample_email": "example",
"template_id": "00000000-0000-4000-8000-000000000001"
}'
GET/v1/workspaces/{workspaceId}/campaigns
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
성공 응답.
application/json
valueobject
dataarray필수
각 항목object
idstring필수
format: "uuid"
product_idstring
format: "uuid"
namestring필수
mailbox_idstring
format: "uuid"
template_idstring | null
format: "uuid"
managed_content_idstring | null
format: "uuid"
managed_source_revision_idstring | null
format: "uuid"
managed_publication_idstring | null
format: "uuid"
managed_locales_snapshotarray
각 항목string
expires_after_secondsinteger | null
statusstring필수
versioninteger필수
subject_variantsarray
각 항목string
selected_subject_variantinteger
content_overridesobject
추가 속성string
audience_queryobject
모든 구독 연락처 또는 비어 있지 않은 contact_ids, list_ids, segment_ids 목록을 하나 이상 선택하세요.
all_subscribedboolean
contact_idsarray
maxItems: 10000
각 항목string
format: "uuid"
list_idsarray
maxItems: 1000
각 항목string
format: "uuid"
segment_idsarray
maxItems: 1000
각 항목string
format: "uuid"
audience_frozen_atstring | null
format: "date-time"
audience_recipient_countinteger | null
audience_snapshot_sha256string | null
audience_snapshot_campaign_versioninteger | null
scheduled_atstring | null
format: "date-time"
started_atstring | null
format: "date-time"
completed_atstring | null
format: "date-time"
created_atstring
format: "date-time"
updated_atstring
format: "date-time"
archived_atstring | null
format: "date-time"
statsobject
추가 속성모든 값
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/campaigns
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
성공 응답 201
성공 응답.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
product_idstring
format: "uuid"
namestring필수
mailbox_idstring
format: "uuid"
template_idstring | null
format: "uuid"
managed_content_idstring | null
format: "uuid"
managed_source_revision_idstring | null
format: "uuid"
managed_publication_idstring | null
format: "uuid"
managed_locales_snapshotarray
각 항목string
expires_after_secondsinteger | null
statusstring필수
versioninteger필수
subject_variantsarray
각 항목string
selected_subject_variantinteger
content_overridesobject
추가 속성string
audience_queryobject
모든 구독 연락처 또는 비어 있지 않은 contact_ids, list_ids, segment_ids 목록을 하나 이상 선택하세요.
all_subscribedboolean
contact_idsarray
maxItems: 10000
각 항목string
format: "uuid"
list_idsarray
maxItems: 1000
각 항목string
format: "uuid"
segment_idsarray
maxItems: 1000
각 항목string
format: "uuid"
audience_frozen_atstring | null
format: "date-time"
audience_recipient_countinteger | null
audience_snapshot_sha256string | null
audience_snapshot_campaign_versioninteger | null
scheduled_atstring | null
format: "date-time"
started_atstring | null
format: "date-time"
completed_atstring | null
format: "date-time"
created_atstring
format: "date-time"
updated_atstring
format: "date-time"
archived_atstring | null
format: "date-time"
statsobject
추가 속성모든 값
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "example",
"mailbox_id": "00000000-0000-4000-8000-000000000001",
"template_id": "00000000-0000-4000-8000-000000000001",
"subject_variants": [
"example"
],
"selected_subject_variant": 0,
"audience": {
"all_subscribed": false,
"contact_ids": [
"00000000-0000-4000-8000-000000000001"
],
"list_ids": [
"00000000-0000-4000-8000-000000000001"
],
"segment_ids": [
"00000000-0000-4000-8000-000000000001"
]
}
}'
POST/v1/workspaces/{workspaceId}/campaigns/audience-preview
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
성공 응답 200
성공 응답.
application/json
valueobject
dataobject필수
countinteger필수
missing_consent_evidence_countinteger필수
samplearray필수
각 항목object
idstring필수
format: "uuid"
emailstring필수
display_namestring | null필수
attributesobject필수
추가 속성모든 값
excludedobject필수
suppressedinteger필수
not_subscribedinteger필수
missing_recipient_hashinteger필수
missing_consent_evidenceinteger필수
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/audience-preview' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"audience": {
"all_subscribed": true,
"contact_ids": [
"00000000-0000-4000-8000-000000000001"
],
"list_ids": [
"00000000-0000-4000-8000-000000000001"
],
"segment_ids": [
"00000000-0000-4000-8000-000000000001"
]
}
}'
GET/v1/workspaces/{workspaceId}/campaigns/{campaignId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
성공 응답.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
product_idstring
format: "uuid"
namestring필수
mailbox_idstring
format: "uuid"
template_idstring | null
format: "uuid"
managed_content_idstring | null
format: "uuid"
managed_source_revision_idstring | null
format: "uuid"
managed_publication_idstring | null
format: "uuid"
managed_locales_snapshotarray
각 항목string
expires_after_secondsinteger | null
statusstring필수
versioninteger필수
subject_variantsarray
각 항목string
selected_subject_variantinteger
content_overridesobject
추가 속성string
audience_queryobject
모든 구독 연락처 또는 비어 있지 않은 contact_ids, list_ids, segment_ids 목록을 하나 이상 선택하세요.
all_subscribedboolean
contact_idsarray
maxItems: 10000
각 항목string
format: "uuid"
list_idsarray
maxItems: 1000
각 항목string
format: "uuid"
segment_idsarray
maxItems: 1000
각 항목string
format: "uuid"
audience_frozen_atstring | null
format: "date-time"
audience_recipient_countinteger | null
audience_snapshot_sha256string | null
audience_snapshot_campaign_versioninteger | null
scheduled_atstring | null
format: "date-time"
started_atstring | null
format: "date-time"
completed_atstring | null
format: "date-time"
created_atstring
format: "date-time"
updated_atstring
format: "date-time"
archived_atstring | null
format: "date-time"
statsobject
추가 속성모든 값
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/{campaignId}' \
--header "Authorization: Bearer $BANGER_API_KEY"
PATCH/v1/workspaces/{workspaceId}/campaigns/{campaignId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
성공 응답 200
성공 응답.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
product_idstring
format: "uuid"
namestring필수
mailbox_idstring
format: "uuid"
template_idstring | null
format: "uuid"
managed_content_idstring | null
format: "uuid"
managed_source_revision_idstring | null
format: "uuid"
managed_publication_idstring | null
format: "uuid"
managed_locales_snapshotarray
각 항목string
expires_after_secondsinteger | null
statusstring필수
versioninteger필수
subject_variantsarray
각 항목string
selected_subject_variantinteger
content_overridesobject
추가 속성string
audience_queryobject
모든 구독 연락처 또는 비어 있지 않은 contact_ids, list_ids, segment_ids 목록을 하나 이상 선택하세요.
all_subscribedboolean
contact_idsarray
maxItems: 10000
각 항목string
format: "uuid"
list_idsarray
maxItems: 1000
각 항목string
format: "uuid"
segment_idsarray
maxItems: 1000
각 항목string
format: "uuid"
audience_frozen_atstring | null
format: "date-time"
audience_recipient_countinteger | null
audience_snapshot_sha256string | null
audience_snapshot_campaign_versioninteger | null
scheduled_atstring | null
format: "date-time"
started_atstring | null
format: "date-time"
completed_atstring | null
format: "date-time"
created_atstring
format: "date-time"
updated_atstring
format: "date-time"
archived_atstring | null
format: "date-time"
statsobject
추가 속성모든 값
curl 예제
curl --request PATCH --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/{campaignId}' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "example",
"mailbox_id": "00000000-0000-4000-8000-000000000001",
"template_id": "00000000-0000-4000-8000-000000000001",
"subject_variants": [
"example"
],
"selected_subject_variant": 0,
"audience": {}
}'
DELETE/v1/workspaces/{workspaceId}/campaigns/{campaignId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
성공 응답.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
deletedboolean필수
const: true
curl 예제
curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/{campaignId}' \
--header "Authorization: Bearer $BANGER_API_KEY"
GET/v1/workspaces/{workspaceId}/campaigns/{campaignId}/recipients
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
성공 응답.
application/json
valueobject
dataarray필수
각 항목object
contact_idstring | null
format: "uuid"
recipient_emailstring
recipient_namestring | null
recipient_hashstring
statusstring
dispatch_statusstring
command_idstring | null
format: "uuid"
error_codestring | null
created_atstring
format: "date-time"
updated_atstring
format: "date-time"
delivery_statestring | null
provider_message_keystring | null
last_event_atstring | null
format: "date-time"
first_delivered_atstring | null
format: "date-time"
first_opened_atstring | null
format: "date-time"
first_clicked_atstring | null
format: "date-time"
first_human_likely_opened_atstring | null
format: "date-time"
first_human_likely_clicked_atstring | null
format: "date-time"
first_replied_atstring | null
format: "date-time"
machine_open_countinteger
machine_click_countinteger
privacy_proxy_open_countinteger
unknown_open_countinteger
unknown_click_countinteger
first_unsubscribed_atstring | null
format: "date-time"
pageobject필수
next_cursorstring
has_moreboolean필수
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/{campaignId}/recipients?cursor=example&limit=50&status=pending' \
--header "Authorization: Bearer $BANGER_API_KEY"
GET/v1/workspaces/{workspaceId}/campaigns/{campaignId}/timeline
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
성공 응답.
application/json
valueobject
dataarray필수
각 항목object
idstring필수
typestring필수
occurred_atstring필수
format: "date-time"
actor_idstring | null필수
detailobject필수
추가 속성모든 값
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/{campaignId}/timeline' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/campaigns/{campaignId}/pause
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
성공 응답.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
product_idstring필수
format: "uuid"
namestring필수
mailbox_idstring필수
format: "uuid"
template_idstring | null필수
format: "uuid"
statusstring필수
audience_queryobject필수
모든 구독 연락처 또는 비어 있지 않은 contact_ids, list_ids, segment_ids 목록을 하나 이상 선택하세요.
all_subscribedboolean
contact_idsarray
maxItems: 10000
각 항목string
format: "uuid"
list_idsarray
maxItems: 1000
각 항목string
format: "uuid"
segment_idsarray
maxItems: 1000
각 항목string
format: "uuid"
scheduled_atstring | null필수
format: "date-time"
started_atstring | null필수
format: "date-time"
completed_atstring | null필수
format: "date-time"
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/{campaignId}/pause' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/campaigns/{campaignId}/resume
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
성공 응답.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
product_idstring필수
format: "uuid"
namestring필수
mailbox_idstring필수
format: "uuid"
template_idstring | null필수
format: "uuid"
statusstring필수
audience_queryobject필수
모든 구독 연락처 또는 비어 있지 않은 contact_ids, list_ids, segment_ids 목록을 하나 이상 선택하세요.
all_subscribedboolean
contact_idsarray
maxItems: 10000
각 항목string
format: "uuid"
list_idsarray
maxItems: 1000
각 항목string
format: "uuid"
segment_idsarray
maxItems: 1000
각 항목string
format: "uuid"
scheduled_atstring | null필수
format: "date-time"
started_atstring | null필수
format: "date-time"
completed_atstring | null필수
format: "date-time"
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/{campaignId}/resume' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/campaigns/{campaignId}/cancel
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
성공 응답.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
product_idstring필수
format: "uuid"
namestring필수
mailbox_idstring필수
format: "uuid"
template_idstring | null필수
format: "uuid"
statusstring필수
audience_queryobject필수
모든 구독 연락처 또는 비어 있지 않은 contact_ids, list_ids, segment_ids 목록을 하나 이상 선택하세요.
all_subscribedboolean
contact_idsarray
maxItems: 10000
각 항목string
format: "uuid"
list_idsarray
maxItems: 1000
각 항목string
format: "uuid"
segment_idsarray
maxItems: 1000
각 항목string
format: "uuid"
scheduled_atstring | null필수
format: "date-time"
started_atstring | null필수
format: "date-time"
completed_atstring | null필수
format: "date-time"
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/{campaignId}/cancel' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/campaigns/{campaignId}/schedule
사용 중단 예정
사용 중단 예정인 직접 예약 경계예요. 항상 governed_review_required를 반환하니 워크스페이스 수신자 임계값을 적용하려면 캠페인 검토 엔드포인트를 사용하세요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답
계약에 성공 응답이 지정돼 있지 않아요.
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/{campaignId}/schedule' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/campaigns/{campaignId}/test
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
tostring필수
minLength: 3 · maxLength: 320
data_modestring
default: "contact" · enum: "sample", "fallback", "contact"
contact_emailstring
maxLength: 320
variant_keystring
maxLength: 80
localestring
성공 응답 202
성공 응답.
application/json
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/{campaignId}/test' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Idempotency-Key: examplexxxxxxxxx' \
--header 'Content-Type: application/json' \
--data-raw '{
"to": "example",
"data_mode": "contact",
"contact_email": "example",
"variant_key": "example",
"locale": "example"
}'
POST/v1/workspaces/{workspaceId}/campaigns/{campaignId}/review
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
expected_versioninteger
minimum: 1
expected_design_versioninteger
minimum: 1
recipient_selectionobject
추가 속성 없음
all_subscribedboolean
contact_idsarray
maxItems: 10000
각 항목string
format: "uuid"
list_idsarray
maxItems: 1000
각 항목string
format: "uuid"
segment_idsarray
maxItems: 1000
각 항목string
format: "uuid"
scheduled_atstring
format: "date-time"
send_nowboolean
const: true
approve_as_launcherboolean
검토 정책이 사람을 요구하면 보내기를 누른 사람이 정확히 이 요청을 승인해요. API 키와 에이전트에서는 무시되며 승인에서 기다려요.
oneOf 1지정되지 않음
oneOf 2지정되지 않음
성공 응답 201
캠페인 예약 승인이 생성됐어요.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
requested_by_actor_idstring필수
action_kindstring필수
summarystring필수
capability_scopesarray필수
각 항목string
resource_scopeobject필수
추가 속성array
각 항목string
payloadobject필수
추가 속성모든 값
payload_sha256string필수
pattern: "^[0-9a-f]{64}$"
statusstring필수
enum: "pending", "approved", "rejected", "cancelled", "expired"
missedboolean필수
expires_atstring필수
format: "date-time"
decided_by_actor_idstring | null
decision_reasonstring | null
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
decided_atstring | null
format: "date-time"
execution_job_idstring
format: "uuid"
reviewobject
추가 속성 없음
dispositionstring필수
enum: "automatic", "human_required"
recipient_countinteger | null필수
minimum: 0
reasonsarray필수
각 항목string
checksarray필수
각 항목string
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/{campaignId}/review' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Idempotency-Key: examplexxxxxxxxx' \
--header 'Content-Type: application/json' \
--data-raw '"example"'
POST/v1/workspaces/{workspaceId}/campaigns/{campaignId}/archive
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
성공 응답.
application/json
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/{campaignId}/archive' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/campaigns/{campaignId}/unarchive
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
성공 응답.
application/json
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/{campaignId}/unarchive' \
--header "Authorization: Bearer $BANGER_API_KEY"
PUT/v1/workspaces/{workspaceId}/campaigns/{campaignId}/design-test
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
namestring필수
minLength: 1 · maxLength: 200
mailbox_idstring필수
format: "uuid"
audienceobject필수
모든 구독 연락처 또는 비어 있지 않은 contact_ids, list_ids, segment_ids 목록을 하나 이상 선택하세요.
all_subscribedboolean
contact_idsarray
maxItems: 10000
각 항목string
format: "uuid"
list_idsarray
maxItems: 1000
각 항목string
format: "uuid"
segment_idsarray
maxItems: 1000
각 항목string
format: "uuid"
automatic_translationboolean
variantsarray필수
minItems: 1 · maxItems: 4
각 항목object
body_htmlstring필수
minLength: 1 · maxLength: 2000000
subjectstring
maxLength: 10000
body_textstring
maxLength: 2000000
contentobject
추가 속성string
성공 응답 200
성공 응답.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
product_idstring
format: "uuid"
namestring필수
mailbox_idstring
format: "uuid"
template_idstring | null
format: "uuid"
managed_content_idstring | null
format: "uuid"
managed_source_revision_idstring | null
format: "uuid"
managed_publication_idstring | null
format: "uuid"
managed_locales_snapshotarray
각 항목string
expires_after_secondsinteger | null
statusstring필수
versioninteger필수
subject_variantsarray
각 항목string
selected_subject_variantinteger
content_overridesobject
추가 속성string
audience_queryobject
모든 구독 연락처 또는 비어 있지 않은 contact_ids, list_ids, segment_ids 목록을 하나 이상 선택하세요.
all_subscribedboolean
contact_idsarray
maxItems: 10000
각 항목string
format: "uuid"
list_idsarray
maxItems: 1000
각 항목string
format: "uuid"
segment_idsarray
maxItems: 1000
각 항목string
format: "uuid"
audience_frozen_atstring | null
format: "date-time"
audience_recipient_countinteger | null
audience_snapshot_sha256string | null
audience_snapshot_campaign_versioninteger | null
scheduled_atstring | null
format: "date-time"
started_atstring | null
format: "date-time"
completed_atstring | null
format: "date-time"
created_atstring
format: "date-time"
updated_atstring
format: "date-time"
archived_atstring | null
format: "date-time"
statsobject
추가 속성모든 값
design_template_idstring필수
format: "uuid"
curl 예제
curl --request PUT --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/campaigns/{campaignId}/design-test' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "example",
"mailbox_id": "00000000-0000-4000-8000-000000000001",
"audience": {
"all_subscribed": true,
"contact_ids": [
"00000000-0000-4000-8000-000000000001"
],
"list_ids": [
"00000000-0000-4000-8000-000000000001"
],
"segment_ids": [
"00000000-0000-4000-8000-000000000001"
]
},
"automatic_translation": true,
"variants": [
{
"body_html": "example",
"subject": "example",
"body_text": "example",
"content": {}
}
]
}'
단체 발송
POST/v1/workspaces/{workspaceId}/broadcasts
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
namestring필수
minLength: 1 · maxLength: 200
mailbox_idstring
기존 보낸 사람 주소예요. 생략하면 온보딩 발신자, 활성 사용자 지정 메일함, 호스팅 메일함 순으로 사용해요.
format: "uuid"
template_idstring
format: "uuid"
audienceobject
추가 속성 없음
all_subscribedboolean
contact_idsarray
maxItems: 10000
각 항목string
format: "uuid"
list_idsarray
maxItems: 1000
각 항목string
format: "uuid"
segment_idsarray
maxItems: 1000
각 항목string
format: "uuid"
subject_variantsarray
maxItems: 8
각 항목string
minLength: 1 · maxLength: 998
selected_subject_variantinteger
minimum: 0 · maximum: 7
expires_after_secondsinteger
예약 시점부터 이 초 수가 지나면 미발송 수신자를 폐기하며 기본값은 7일이에요.
minimum: 1 · maximum: 604800
content_overridesobject
추가 속성string
maxLength: 20000
성공 응답 200
기준 다시 읽기 또는 멱등 수신 확인이에요. 공급자 접수는 sent이며 delivered는 전달 이벤트가 필요하고 받은편지함 도착을 증명하지 않아요.
application/json
valueobject
data지정되지 않음필수
allOf 1지정되지 않음
allOf 1object
idstring필수
format: "uuid"
product_idstring필수
format: "uuid"
namestring필수
mailbox_idstring
format: "uuid"
template_idstring | null
format: "uuid"
managed_content_idstring | null
format: "uuid"
managed_source_revision_idstring | null
format: "uuid"
managed_publication_idstring | null
format: "uuid"
managed_locales_snapshotarray
각 항목string
expires_after_secondsinteger | null
statusstring
versioninteger필수
subject_variantsarray
각 항목string
selected_subject_variantinteger
content_overridesobject
추가 속성string
audience_queryobject
모든 구독 연락처 또는 비어 있지 않은 contact_ids, list_ids, segment_ids 목록을 하나 이상 선택하세요.
all_subscribedboolean
contact_idsarray
maxItems: 10000
각 항목string
format: "uuid"
추가 중첩 생략
list_idsarray
maxItems: 1000
각 항목string
format: "uuid"
추가 중첩 생략
segment_idsarray
maxItems: 1000
각 항목string
format: "uuid"
추가 중첩 생략
audience_frozen_atstring | null
format: "date-time"
audience_recipient_countinteger | null
audience_snapshot_sha256string | null
audience_snapshot_campaign_versioninteger | null
scheduled_atstring | null
format: "date-time"
started_atstring | null
format: "date-time"
completed_atstring | null
format: "date-time"
created_atstring
format: "date-time"
updated_atstring
format: "date-time"
archived_atstring | null
format: "date-time"
statsobject
추가 속성모든 값
broadcast_idstring필수
format: "uuid"
sender_addressstring | null필수
sending_blocker지정되지 않음필수
anyOf 1object
codestring필수
추가 중첩 생략
messagestring필수
추가 중첩 생략
anyOf 2null
design지정되지 않음필수
anyOf 1object
idstring
format: "uuid"
추가 중첩 생략
product_idstring
format: "uuid"
추가 중첩 생략
namestring
추가 중첩 생략
subjectstring
추가 중첩 생략
body_textstring
추가 중첩 생략
contentobject
추가 중첩 생략
slotsarray
추가 중첩 생략
statusstring
enum: "active", "archived"
추가 중첩 생략
originstring
enum: "person", "agent", "starter", "import"
추가 중첩 생략
created_by_actor_idstring | null
추가 중첩 생략
campaign_idstring | null
format: "uuid"
추가 중첩 생략
message_kindstring
추가 중첩 생략
starter_idstring | null
추가 중첩 생략
starter_versioninteger | null
추가 중첩 생략
versioninteger
추가 중첩 생략
created_atstring
format: "date-time"
추가 중첩 생략
updated_atstring
format: "date-time"
추가 중첩 생략
body_html_urlstring
format: "uri"
추가 중첩 생략
body_htmlstring | null
추가 중첩 생략
body_html_b2_keystring | null
추가 중첩 생략
anyOf 2null
managed_content지정되지 않음필수
anyOf 1지정되지 않음
allOf 1object
추가 중첩 생략
allOf 2object
추가 중첩 생략
anyOf 2null
subjectstring | null필수
sender_mailbox지정되지 않음필수
anyOf 1object
idstring필수
format: "uuid"
추가 중첩 생략
addressstring필수
추가 중첩 생략
display_namestring필수
추가 중첩 생략
statusstring필수
추가 중첩 생략
anyOf 2null
reply_mailbox지정되지 않음필수
anyOf 1object
idstring필수
format: "uuid"
추가 중첩 생략
addressstring필수
추가 중첩 생략
display_namestring필수
추가 중첩 생략
statusstring필수
추가 중첩 생략
anyOf 2null
design_versioninteger | null필수
audienceobject필수
모든 구독 연락처 또는 비어 있지 않은 contact_ids, list_ids, segment_ids 목록을 하나 이상 선택하세요.
all_subscribedboolean
contact_idsarray
maxItems: 10000
각 항목string
format: "uuid"
추가 중첩 생략
list_idsarray
maxItems: 1000
각 항목string
format: "uuid"
추가 중첩 생략
segment_idsarray
maxItems: 1000
각 항목string
format: "uuid"
추가 중첩 생략
allOf 2object
replayedboolean필수
allOf 2object
previewobject
subjectstring필수
preheaderstring
htmlstring필수
textstring필수
localestring필수
directionstring필수
enum: "ltr", "rtl"
warningsarray
각 항목string
추가 속성모든 값
translation_jobsarray필수
각 항목string
format: "uuid"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/broadcasts' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
--header 'Idempotency-Key: example' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "example",
"mailbox_id": "00000000-0000-4000-8000-000000000001",
"template_id": "00000000-0000-4000-8000-000000000001",
"audience": {
"all_subscribed": true,
"contact_ids": [
"00000000-0000-4000-8000-000000000001"
],
"list_ids": [
"00000000-0000-4000-8000-000000000001"
],
"segment_ids": [
"00000000-0000-4000-8000-000000000001"
]
},
"subject_variants": [
"example"
],
"selected_subject_variant": 0,
"expires_after_seconds": 1,
"content_overrides": {}
}'
GET/v1/workspaces/{workspaceId}/broadcasts/{broadcastId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
기준 다시 읽기 또는 멱등 수신 확인이에요. 공급자 접수는 sent이며 delivered는 전달 이벤트가 필요하고 받은편지함 도착을 증명하지 않아요.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
product_idstring필수
format: "uuid"
namestring필수
mailbox_idstring
format: "uuid"
template_idstring | null
format: "uuid"
managed_content_idstring | null
format: "uuid"
managed_source_revision_idstring | null
format: "uuid"
managed_publication_idstring | null
format: "uuid"
managed_locales_snapshotarray
각 항목string
expires_after_secondsinteger | null
statusstring
versioninteger필수
subject_variantsarray
각 항목string
selected_subject_variantinteger
content_overridesobject
추가 속성string
audience_queryobject
모든 구독 연락처 또는 비어 있지 않은 contact_ids, list_ids, segment_ids 목록을 하나 이상 선택하세요.
all_subscribedboolean
contact_idsarray
maxItems: 10000
각 항목string
format: "uuid"
list_idsarray
maxItems: 1000
각 항목string
format: "uuid"
segment_idsarray
maxItems: 1000
각 항목string
format: "uuid"
audience_frozen_atstring | null
format: "date-time"
audience_recipient_countinteger | null
audience_snapshot_sha256string | null
audience_snapshot_campaign_versioninteger | null
scheduled_atstring | null
format: "date-time"
started_atstring | null
format: "date-time"
completed_atstring | null
format: "date-time"
created_atstring
format: "date-time"
updated_atstring
format: "date-time"
archived_atstring | null
format: "date-time"
statsobject
추가 속성모든 값
broadcast_idstring필수
format: "uuid"
sender_addressstring | null필수
sending_blocker지정되지 않음필수
anyOf 1object
codestring필수
messagestring필수
anyOf 2null
design지정되지 않음필수
anyOf 1object
idstring
format: "uuid"
product_idstring
format: "uuid"
namestring
subjectstring
body_textstring
contentobject
추가 속성string
slotsarray
각 항목object
keystring필수
pattern: "^[A-Za-z0-9_$.-]{1,200}$"
추가 중첩 생략
labelstring
maxLength: 120
추가 중첩 생략
typestring
enum: "text", "paragraph", "url", "image"
추가 중첩 생략
helpstring
maxLength: 300
추가 중첩 생략
statusstring
enum: "active", "archived"
originstring
enum: "person", "agent", "starter", "import"
created_by_actor_idstring | null
campaign_idstring | null
format: "uuid"
message_kindstring
starter_idstring | null
starter_versioninteger | null
versioninteger
created_atstring
format: "date-time"
updated_atstring
format: "date-time"
body_html_urlstring
format: "uri"
body_htmlstring | null
body_html_b2_keystring | null
anyOf 2null
managed_content지정되지 않음필수
anyOf 1지정되지 않음
allOf 1object
idstring필수
format: "uuid"
namestring필수
versioninteger필수
minimum: 1
review_requiredboolean필수
draft_revision_idstring | null
format: "uuid"
submitted_revision_idstring | null
format: "uuid"
approved_revision_idstring | null
format: "uuid"
published_revision_idstring | null
format: "uuid"
published_publication_idstring | null
format: "uuid"
source_revisionobject
추가 속성모든 값
translationsarray
각 항목object
추가 중첩 생략
translation_jobsarray
각 항목object
추가 중첩 생략
allOf 2object
source_revision지정되지 않음필수
anyOf 1object
추가 중첩 생략
anyOf 2null
추가 중첩 생략
published_source_revision지정되지 않음필수
anyOf 1object
추가 중첩 생략
anyOf 2null
추가 중첩 생략
translationsarray필수
각 항목object
추가 중첩 생략
anyOf 2null
subjectstring | null필수
sender_mailbox지정되지 않음필수
anyOf 1object
idstring필수
format: "uuid"
addressstring필수
display_namestring필수
statusstring필수
anyOf 2null
reply_mailbox지정되지 않음필수
anyOf 1object
idstring필수
format: "uuid"
addressstring필수
display_namestring필수
statusstring필수
anyOf 2null
design_versioninteger | null필수
audienceobject필수
모든 구독 연락처 또는 비어 있지 않은 contact_ids, list_ids, segment_ids 목록을 하나 이상 선택하세요.
all_subscribedboolean
contact_idsarray
maxItems: 10000
각 항목string
format: "uuid"
list_idsarray
maxItems: 1000
각 항목string
format: "uuid"
segment_idsarray
maxItems: 1000
각 항목string
format: "uuid"
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/broadcasts/{broadcastId}' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
PATCH/v1/workspaces/{workspaceId}/broadcasts/{broadcastId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
namestring
minLength: 1 · maxLength: 200
mailbox_idstring
format: "uuid"
template_idstring
format: "uuid"
audienceobject
추가 속성 없음
all_subscribedboolean
contact_idsarray
maxItems: 10000
각 항목string
format: "uuid"
list_idsarray
maxItems: 1000
각 항목string
format: "uuid"
segment_idsarray
maxItems: 1000
각 항목string
format: "uuid"
subject_variantsarray
maxItems: 8
각 항목string
minLength: 1 · maxLength: 998
selected_subject_variantinteger
minimum: 0 · maximum: 7
expires_after_secondsinteger
예약 시점부터 이 초 수가 지나면 미발송 수신자를 폐기해요.
minimum: 1 · maximum: 604800
content_overridesobject
추가 속성string
maxLength: 20000
expected_versioninteger필수
minimum: 1
성공 응답 200
기준 다시 읽기 또는 멱등 수신 확인이에요. 공급자 접수는 sent이며 delivered는 전달 이벤트가 필요하고 받은편지함 도착을 증명하지 않아요.
application/json
valueobject
data지정되지 않음필수
allOf 1object
idstring필수
format: "uuid"
product_idstring필수
format: "uuid"
namestring필수
mailbox_idstring
format: "uuid"
template_idstring | null
format: "uuid"
managed_content_idstring | null
format: "uuid"
managed_source_revision_idstring | null
format: "uuid"
managed_publication_idstring | null
format: "uuid"
managed_locales_snapshotarray
각 항목string
expires_after_secondsinteger | null
statusstring
versioninteger필수
subject_variantsarray
각 항목string
selected_subject_variantinteger
content_overridesobject
추가 속성string
audience_queryobject
모든 구독 연락처 또는 비어 있지 않은 contact_ids, list_ids, segment_ids 목록을 하나 이상 선택하세요.
all_subscribedboolean
contact_idsarray
maxItems: 10000
각 항목string
format: "uuid"
list_idsarray
maxItems: 1000
각 항목string
format: "uuid"
segment_idsarray
maxItems: 1000
각 항목string
format: "uuid"
audience_frozen_atstring | null
format: "date-time"
audience_recipient_countinteger | null
audience_snapshot_sha256string | null
audience_snapshot_campaign_versioninteger | null
scheduled_atstring | null
format: "date-time"
started_atstring | null
format: "date-time"
completed_atstring | null
format: "date-time"
created_atstring
format: "date-time"
updated_atstring
format: "date-time"
archived_atstring | null
format: "date-time"
statsobject
추가 속성모든 값
broadcast_idstring필수
format: "uuid"
sender_addressstring | null필수
sending_blocker지정되지 않음필수
anyOf 1object
codestring필수
messagestring필수
anyOf 2null
design지정되지 않음필수
anyOf 1object
idstring
format: "uuid"
product_idstring
format: "uuid"
namestring
subjectstring
body_textstring
contentobject
추가 속성string
추가 중첩 생략
slotsarray
각 항목object
추가 중첩 생략
statusstring
enum: "active", "archived"
originstring
enum: "person", "agent", "starter", "import"
created_by_actor_idstring | null
campaign_idstring | null
format: "uuid"
message_kindstring
starter_idstring | null
starter_versioninteger | null
versioninteger
created_atstring
format: "date-time"
updated_atstring
format: "date-time"
body_html_urlstring
format: "uri"
body_htmlstring | null
body_html_b2_keystring | null
anyOf 2null
managed_content지정되지 않음필수
anyOf 1지정되지 않음
allOf 1object
idstring필수
format: "uuid"
추가 중첩 생략
namestring필수
추가 중첩 생략
versioninteger필수
minimum: 1
추가 중첩 생략
review_requiredboolean필수
추가 중첩 생략
draft_revision_idstring | null
format: "uuid"
추가 중첩 생략
submitted_revision_idstring | null
format: "uuid"
추가 중첩 생략
approved_revision_idstring | null
format: "uuid"
추가 중첩 생략
published_revision_idstring | null
format: "uuid"
추가 중첩 생략
published_publication_idstring | null
format: "uuid"
추가 중첩 생략
source_revisionobject
추가 중첩 생략
translationsarray
추가 중첩 생략
translation_jobsarray
추가 중첩 생략
allOf 2object
source_revision지정되지 않음필수
추가 중첩 생략
published_source_revision지정되지 않음필수
추가 중첩 생략
translationsarray필수
추가 중첩 생략
anyOf 2null
subjectstring | null필수
sender_mailbox지정되지 않음필수
anyOf 1object
idstring필수
format: "uuid"
addressstring필수
display_namestring필수
statusstring필수
anyOf 2null
reply_mailbox지정되지 않음필수
anyOf 1object
idstring필수
format: "uuid"
addressstring필수
display_namestring필수
statusstring필수
anyOf 2null
design_versioninteger | null필수
audienceobject필수
모든 구독 연락처 또는 비어 있지 않은 contact_ids, list_ids, segment_ids 목록을 하나 이상 선택하세요.
all_subscribedboolean
contact_idsarray
maxItems: 10000
각 항목string
format: "uuid"
list_idsarray
maxItems: 1000
각 항목string
format: "uuid"
segment_idsarray
maxItems: 1000
각 항목string
format: "uuid"
allOf 2object
replayedboolean필수
curl 예제
curl --request PATCH --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/broadcasts/{broadcastId}' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
--header 'Idempotency-Key: example' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "example",
"mailbox_id": "00000000-0000-4000-8000-000000000001",
"template_id": "00000000-0000-4000-8000-000000000001",
"audience": {
"all_subscribed": true,
"contact_ids": [
"00000000-0000-4000-8000-000000000001"
],
"list_ids": [
"00000000-0000-4000-8000-000000000001"
],
"segment_ids": [
"00000000-0000-4000-8000-000000000001"
]
},
"subject_variants": [
"example"
],
"selected_subject_variant": 0,
"expires_after_seconds": 1,
"content_overrides": {},
"expected_version": 1
}'
POST/v1/workspaces/{workspaceId}/broadcasts/audience-preview
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
성공 응답 200
기준 다시 읽기 또는 멱등 수신 확인이에요. 공급자 접수는 sent이며 delivered는 전달 이벤트가 필요하고 받은편지함 도착을 증명하지 않아요.
application/json
valueobject
data지정되지 않음필수
allOf 1object
countinteger필수
missing_consent_evidence_countinteger필수
samplearray필수
각 항목object
idstring필수
format: "uuid"
emailstring필수
display_namestring | null필수
attributesobject필수
추가 속성모든 값
excludedobject필수
suppressedinteger필수
not_subscribedinteger필수
missing_recipient_hashinteger필수
missing_consent_evidenceinteger필수
allOf 2object
eligible_countinteger필수
required_variablesarray필수
각 항목string
missing_personalization_fieldsarray필수
각 항목object
variablestring필수
missingCountinteger필수
sampleEmailsarray필수
각 항목string
추가 중첩 생략
audienceobject필수
모든 구독 연락처 또는 비어 있지 않은 contact_ids, list_ids, segment_ids 목록을 하나 이상 선택하세요.
all_subscribedboolean
contact_idsarray
maxItems: 10000
각 항목string
format: "uuid"
list_idsarray
maxItems: 1000
각 항목string
format: "uuid"
segment_idsarray
maxItems: 1000
각 항목string
format: "uuid"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/broadcasts/audience-preview' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
--header 'Content-Type: application/json' \
--data-raw '{
"audience": {
"all_subscribed": true,
"contact_ids": [
"00000000-0000-4000-8000-000000000001"
],
"list_ids": [
"00000000-0000-4000-8000-000000000001"
],
"segment_ids": [
"00000000-0000-4000-8000-000000000001"
]
},
"template_id": "00000000-0000-4000-8000-000000000001",
"subject": "example",
"content_overrides": {}
}'
POST/v1/workspaces/{workspaceId}/broadcasts/{broadcastId}/audience-preview
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
audienceobject
추가 속성 없음
all_subscribedboolean
contact_idsarray
maxItems: 10000
각 항목string
format: "uuid"
list_idsarray
maxItems: 1000
각 항목string
format: "uuid"
segment_idsarray
maxItems: 1000
각 항목string
format: "uuid"
성공 응답 200
기준 다시 읽기 또는 멱등 수신 확인이에요. 공급자 접수는 sent이며 delivered는 전달 이벤트가 필요하고 받은편지함 도착을 증명하지 않아요.
application/json
valueobject
data지정되지 않음필수
allOf 1object
countinteger필수
missing_consent_evidence_countinteger필수
samplearray필수
각 항목object
idstring필수
format: "uuid"
emailstring필수
display_namestring | null필수
attributesobject필수
추가 속성모든 값
excludedobject필수
suppressedinteger필수
not_subscribedinteger필수
missing_recipient_hashinteger필수
missing_consent_evidenceinteger필수
allOf 2object
eligible_countinteger필수
required_variablesarray필수
각 항목string
missing_personalization_fieldsarray필수
각 항목object
variablestring필수
missingCountinteger필수
sampleEmailsarray필수
각 항목string
추가 중첩 생략
audienceobject필수
모든 구독 연락처 또는 비어 있지 않은 contact_ids, list_ids, segment_ids 목록을 하나 이상 선택하세요.
all_subscribedboolean
contact_idsarray
maxItems: 10000
각 항목string
format: "uuid"
list_idsarray
maxItems: 1000
각 항목string
format: "uuid"
segment_idsarray
maxItems: 1000
각 항목string
format: "uuid"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/broadcasts/{broadcastId}/audience-preview' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
--header 'Content-Type: application/json' \
--data-raw '{
"audience": {
"all_subscribed": true,
"contact_ids": [
"00000000-0000-4000-8000-000000000001"
],
"list_ids": [
"00000000-0000-4000-8000-000000000001"
],
"segment_ids": [
"00000000-0000-4000-8000-000000000001"
]
}
}'
GET/v1/workspaces/{workspaceId}/broadcasts/{broadcastId}/readiness
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
기준 다시 읽기 또는 멱등 수신 확인이에요. 공급자 접수는 sent이며 delivered는 전달 이벤트가 필요하고 받은편지함 도착을 증명하지 않아요.
application/json
valueobject
dataobject필수
broadcast_idstring필수
format: "uuid"
product_idstring필수
format: "uuid"
readyboolean필수
blockersarray필수
각 항목object
codestring필수
messagestring필수
audience지정되지 않음필수
allOf 1object
countinteger필수
missing_consent_evidence_countinteger필수
samplearray필수
각 항목object
idstring필수
format: "uuid"
추가 중첩 생략
emailstring필수
추가 중첩 생략
display_namestring | null필수
추가 중첩 생략
attributesobject필수
추가 중첩 생략
excludedobject필수
suppressedinteger필수
not_subscribedinteger필수
missing_recipient_hashinteger필수
missing_consent_evidenceinteger필수
allOf 2object
eligible_countinteger필수
required_variablesarray필수
각 항목string
missing_personalization_fieldsarray필수
각 항목object
variablestring필수
추가 중첩 생략
missingCountinteger필수
추가 중첩 생략
sampleEmailsarray필수
추가 중첩 생략
audienceobject필수
모든 구독 연락처 또는 비어 있지 않은 contact_ids, list_ids, segment_ids 목록을 하나 이상 선택하세요.
all_subscribedboolean
contact_idsarray
maxItems: 10000
각 항목string
format: "uuid"
추가 중첩 생략
list_idsarray
maxItems: 1000
각 항목string
format: "uuid"
추가 중첩 생략
segment_idsarray
maxItems: 1000
각 항목string
format: "uuid"
추가 중첩 생략
campaign_versioninteger필수
design_versioninteger | null필수
languages지정되지 않음필수
anyOf 1object
아직 번역 중인 대상 언어는 단체 발송을 지연시키지 않아요. 해당 독자는 번역이 준비되면 받고 발송 후 하루 안에 준비되지 않으면 건너뛰어요(translation_failed, translation_awaiting_review, translation_still_preparing).
requestedarray필수
각 항목object
localestring필수
추가 중첩 생략
countinteger필수
추가 중첩 생략
pending_localesarray필수
각 항목string
waiting_localesarray필수
각 항목string
anyOf 2null
sendingobject필수
route_kindstring | null
sending_stream_idstring | null
format: "uuid"
banger_send_limitinteger | string | null
daily_send_limitinteger | string | null
usedinteger | string | null
daily_usedinteger | string | null
delivery_pace지정되지 않음필수
anyOf 1object
daysinteger필수
daily_limitinteger필수
messagestring필수
anyOf 2null
approval_requirementsobject필수
dispositionstring필수
enum: "automatic", "human_required"
recipient_countinteger | null필수
reasonsarray필수
각 항목string
checksarray필수
각 항목string
footerobject필수
identity_presentboolean필수
address_presentboolean필수
checks_are_advisoryboolean필수
const: true
next_actionstring필수
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/broadcasts/{broadcastId}/readiness' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
GET/v1/workspaces/{workspaceId}/broadcasts/{broadcastId}/recipients
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
기준 다시 읽기 또는 멱등 수신 확인이에요. 공급자 접수는 sent이며 delivered는 전달 이벤트가 필요하고 받은편지함 도착을 증명하지 않아요.
application/json
valueobject
dataarray필수
각 항목object
contact_idstring | null
format: "uuid"
recipient_emailstring
recipient_namestring | null
recipient_hashstring
statusstring
dispatch_statusstring
command_idstring | null
format: "uuid"
error_codestring | null
created_atstring
format: "date-time"
updated_atstring
format: "date-time"
delivery_statestring | null
provider_message_keystring | null
last_event_atstring | null
format: "date-time"
first_delivered_atstring | null
format: "date-time"
first_opened_atstring | null
format: "date-time"
first_clicked_atstring | null
format: "date-time"
first_human_likely_opened_atstring | null
format: "date-time"
first_human_likely_clicked_atstring | null
format: "date-time"
first_replied_atstring | null
format: "date-time"
machine_open_countinteger
machine_click_countinteger
privacy_proxy_open_countinteger
unknown_open_countinteger
unknown_click_countinteger
first_unsubscribed_atstring | null
format: "date-time"
pageobject필수
next_cursorstring
has_moreboolean필수
delivery_semanticsstring필수
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/broadcasts/{broadcastId}/recipients?cursor=example&limit=1&status=pending' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
GET/v1/workspaces/{workspaceId}/broadcasts/{broadcastId}/timeline
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
기준 다시 읽기 또는 멱등 수신 확인이에요. 공급자 접수는 sent이며 delivered는 전달 이벤트가 필요하고 받은편지함 도착을 증명하지 않아요.
application/json
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/broadcasts/{broadcastId}/timeline' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
여정
GET/v1/workspaces/{workspaceId}/journeys
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
제품 여정.
application/json
valueobject
dataarray필수
각 항목지정되지 않음
allOf 1object
추가 속성 없음
namestring필수
minLength: 1 · maxLength: 200
descriptionstring
maxLength: 2000
mailbox_idstring
기존 발신자예요. 생략하면 온보딩 발신자, 활성 사용자 지정 메일함, 호스팅 메일함 순으로 우선해요. 저장되거나 명시된 발신자는 바뀌지 않아요.
format: "uuid"
from_local_partstring
maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"
triggerobject필수
kindstring필수
enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"
connection_idstring
format: "uuid"
configobject
eventstring
추가 중첩 생략
once_per_personboolean
각 사람은 한 번만 진입해요. 완료 후 다시 진입하게 하려면 false로 설정하세요.
default: true
추가 중첩 생략
reentry_daysinteger
once_per_person이 false이면 마지막 진입 후 재진입까지 필요한 일수.
minimum: 1 · maximum: 365
추가 중첩 생략
추가 속성모든 값
conditionsarray
각 항목object
추가 중첩 생략
audienceobject
추가 속성모든 값
goalobject
추가 속성 없음
kindstring필수
enum: "none", "event", "reply", "conversion"
connection_idstring
format: "uuid"
configobject필수
추가 속성모든 값
exitobject
추가 속성 없음
on_replyboolean
default: true
on_unsubscribeboolean
default: true
on_suppressionboolean
default: true
eventstring
maxLength: 200
approval_modestring
enum: "policy", "required"
apiobject
keystring
maxLength: 100
content_modestring
enum: "code", "managed"
identitystring
maxLength: 300
managed_contentobject
생성 전용 단축 작업으로 원본 관리 이메일 임시저장과 이를 이메일 단계에서 참조하는 여정을 원자적으로 저장해요. 없는 대상 언어는 무료 번역 대기열에 들어가며 여정을 게시하거나 활성화하지 않아요.
추가 속성 없음
source_localestring
기준 BCP 47 원본 로캘이며 생략하면 제품 설정을 상속해요.
configured_localesarray
원본 및 대상 로캘이며 생략된 원본은 서버가 추가해요.
maxItems: 100 · uniqueItems: true
각 항목string
추가 중첩 생략
fallback_localestring
layout_idstring
선택한 재사용 레이아웃이며 서버가 게시된 개정판의 스냅샷을 이 콘텐츠 개정판에 저장해요.
format: "uuid"
localization_policyobject
여정 이메일은 그 사람의 언어로만 보내요. 영수증, 코드, 보안 알림은 약 1분, 다른 이메일은 최대 하루 번역을 기다리며 그때까지 준비되지 않으면 보내지 않아요.
추가 속성 없음
manual_reviewboolean
default: false
추가 중첩 생략
sourceobject필수
추가 속성 없음
subjectstring필수
minLength: 1 · maxLength: 100000
추가 중첩 생략
preheaderstring
maxLength: 100000
추가 중첩 생략
body_textstring
원본 호환성을 위해 받으며 렌더링된 일반 텍스트는 최종 HTML에서 생성해요.
maxLength: 100000
추가 중첩 생략
body_htmlstring필수
minLength: 1 · maxLength: 100000
추가 중첩 생략
layoutstring
{{ content }} 슬롯 하나를 포함해야 해요.
maxLength: 100000
추가 중첩 생략
variantsobject
선택적 원본 버전이며 각 버전은 같은 개정판에서 자동 번역돼요.
추가 중첩 생략
variablesobject필수
추가 중첩 생략
samplesobject
미리보기와 원본 검증을 위한 이름 있는 샘플 값 집합.
추가 속성object
추가 중첩 생략
translationsobject
원본 ICU 메시지 카탈로그와 선택적으로 제공한 대상 카탈로그예요. 설정된 대상이 없으면 비동기 번역 대기열에 들어가며 저장에 필요하지 않아요.
추가 속성object
추가 중첩 생략
stepsarray필수
maxItems: 100
각 항목object
추가 속성 없음
idstring
format: "uuid"
추가 중첩 생략
positioninteger
minimum: 1 · maximum: 100
추가 중첩 생략
kindstring필수
enum: "email", "wait", "condition", "action", "split"
추가 중첩 생략
namestring필수
minLength: 1 · maxLength: 200
추가 중첩 생략
managed_contentobject
이메일 단계의 유형이 있는 원본 계약과 임시저장/게시 개정판 ID.
추가 중첩 생략
configobject필수
대기 단계는 선택적으로 name, path, operator(equals, not_equals, contains, exists), value가 있는 until과 필수 on_met(continue, end_journey)을 받아요. continue는 다음 알림 이메일을 건너뛰고 end_journey는 여정을 완료해요. 같은 분기에서 알림 이메일이 바로 뒤따라야 해요. 대기는 amount/unit까지 매분 현재 고객 데이터를 확인해요. 없는 필드는 알 수 없음으로 처리해 알림을 보류해요. 일반 대기와 독립 조건은 기존 동작을 유지해요. 검증된 고객 이정표로 검사 이름을 지으세요. 관리형 이메일 단계는 managed_content_id로 게시된 콘텐츠를 참조하며 활성화는 미게시 참조를 거부해요. 이메일 단계는 expires_after_seconds(1-604800)를 설정해 원래 시작부터 그 간격 후 지연 발송을 폐기할 수 있고 기본값은 7일이에요.
추가 중첩 생략
armsarray
minItems: 2 · maxItems: 4
추가 중첩 생략
allOf 2object
idstring필수
format: "uuid"
statusstring필수
enum: "draft", "discovered", "active", "paused", "archived"
api_keystring | null
content_modestring | null
enum: "code", "managed", null
identitystring | null
identity_aliasesarray
각 항목string
samplesarray
각 항목object
추가 속성모든 값
versioninteger필수
minimum: 1
statsobject필수
추가 속성모든 값
stepStatsarray
각 항목object
추가 속성모든 값
armStatsarray
각 항목object
추가 속성모든 값
healthobject필수
추가 속성모든 값
indicatorobject필수
추가 속성모든 값
sparklinearray필수
각 항목number
activated_atstring | null
format: "date-time"
updated_atstring
format: "date-time"
last_activity_atstring | null
format: "date-time"
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys?status=draft&trigger_kind=example&testing=1&q=example' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/journeys
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
namestring필수
minLength: 1 · maxLength: 200
descriptionstring
maxLength: 2000
mailbox_idstring
기존 발신자예요. 생략하면 온보딩 발신자, 활성 사용자 지정 메일함, 호스팅 메일함 순으로 우선해요. 저장되거나 명시된 발신자는 바뀌지 않아요.
format: "uuid"
from_local_partstring
maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"
triggerobject필수
kindstring필수
enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"
connection_idstring
format: "uuid"
configobject
eventstring
once_per_personboolean
각 사람은 한 번만 진입해요. 완료 후 다시 진입하게 하려면 false로 설정하세요.
default: true
reentry_daysinteger
once_per_person이 false이면 마지막 진입 후 재진입까지 필요한 일수.
minimum: 1 · maximum: 365
추가 속성모든 값
conditionsarray
각 항목object
추가 속성모든 값
audienceobject
추가 속성모든 값
goalobject
추가 속성 없음
kindstring필수
enum: "none", "event", "reply", "conversion"
connection_idstring
format: "uuid"
configobject필수
추가 속성모든 값
exitobject
추가 속성 없음
on_replyboolean
default: true
on_unsubscribeboolean
default: true
on_suppressionboolean
default: true
eventstring
maxLength: 200
approval_modestring
enum: "policy", "required"
apiobject
keystring
maxLength: 100
content_modestring
enum: "code", "managed"
identitystring
maxLength: 300
managed_contentobject
생성 전용 단축 작업으로 원본 관리 이메일 임시저장과 이를 이메일 단계에서 참조하는 여정을 원자적으로 저장해요. 없는 대상 언어는 무료 번역 대기열에 들어가며 여정을 게시하거나 활성화하지 않아요.
추가 속성 없음
source_localestring
기준 BCP 47 원본 로캘이며 생략하면 제품 설정을 상속해요.
configured_localesarray
원본 및 대상 로캘이며 생략된 원본은 서버가 추가해요.
maxItems: 100 · uniqueItems: true
각 항목string
fallback_localestring
layout_idstring
선택한 재사용 레이아웃이며 서버가 게시된 개정판의 스냅샷을 이 콘텐츠 개정판에 저장해요.
format: "uuid"
localization_policyobject
여정 이메일은 그 사람의 언어로만 보내요. 영수증, 코드, 보안 알림은 약 1분, 다른 이메일은 최대 하루 번역을 기다리며 그때까지 준비되지 않으면 보내지 않아요.
추가 속성 없음
manual_reviewboolean
default: false
sourceobject필수
추가 속성 없음
subjectstring필수
minLength: 1 · maxLength: 100000
preheaderstring
maxLength: 100000
body_textstring
원본 호환성을 위해 받으며 렌더링된 일반 텍스트는 최종 HTML에서 생성해요.
maxLength: 100000
body_htmlstring필수
minLength: 1 · maxLength: 100000
layoutstring
{{ content }} 슬롯 하나를 포함해야 해요.
maxLength: 100000
variantsobject
선택적 원본 버전이며 각 버전은 같은 개정판에서 자동 번역돼요.
추가 속성object
추가 속성 없음
subjectstring필수
minLength: 1 · maxLength: 100000
preheaderstring
maxLength: 100000
body_htmlstring필수
minLength: 1 · maxLength: 100000
body_textstring
maxLength: 100000
layoutstring
maxLength: 100000
variablesobject필수
추가 속성지정되지 않음
재귀적 유형 변수예요. 금액은 {amount_cents: integer, currency: ISO 4217 code}, date는 ISO 달력 날짜, datetime은 오프셋이 있는 ISO 타임스탬프를 사용해요.
oneOf 1object
추가 속성 없음
typestring필수
enum: "string", "text", "url", "image_url", "html", "date", "datetime", "number", "boolean", "money"
추가 중첩 생략
requiredboolean
추가 중첩 생략
descriptionstring
maxLength: 2000
추가 중첩 생략
default지정되지 않음
필드 유형과 일치해야 해요.
추가 중첩 생략
oneOf 2object
추가 속성 없음
type지정되지 않음필수
const: "object"
추가 중첩 생략
requiredboolean
추가 중첩 생략
descriptionstring
maxLength: 2000
추가 중첩 생략
defaultobject
추가 중첩 생략
propertiesobject필수
추가 중첩 생략
oneOf 3object
추가 속성 없음
type지정되지 않음필수
const: "list"
추가 중첩 생략
requiredboolean
추가 중첩 생략
descriptionstring
maxLength: 2000
추가 중첩 생략
defaultarray
추가 중첩 생략
items지정되지 않음필수
재귀적 유형 변수예요. 금액은 {amount_cents: integer, currency: ISO 4217 code}, date는 ISO 달력 날짜, datetime은 오프셋이 있는 ISO 타임스탬프를 사용해요.
추가 중첩 생략
samplesobject
미리보기와 원본 검증을 위한 이름 있는 샘플 값 집합.
추가 속성object
추가 속성모든 값
translationsobject
원본 ICU 메시지 카탈로그와 선택적으로 제공한 대상 카탈로그예요. 설정된 대상이 없으면 비동기 번역 대기열에 들어가며 저장에 필요하지 않아요.
추가 속성object
추가 속성string
stepsarray필수
maxItems: 100
각 항목object
추가 속성 없음
idstring
format: "uuid"
positioninteger
minimum: 1 · maximum: 100
kindstring필수
enum: "email", "wait", "condition", "action", "split"
namestring필수
minLength: 1 · maxLength: 200
managed_contentobject
이메일 단계의 유형이 있는 원본 계약과 임시저장/게시 개정판 ID.
idstring
format: "uuid"
versioninteger
draft_revision_idstring | null
format: "uuid"
published_revision_idstring | null
format: "uuid"
published_publication_idstring | null
format: "uuid"
source_revision_idstring | null
format: "uuid"
layout_revision_idstring | null
format: "uuid"
published_layout_revision_idstring | null
format: "uuid"
source_localestring | null
configured_localesarray
각 항목string
variablesobject
추가 속성모든 값
published_variablesobject
추가 속성모든 값
configobject필수
대기 단계는 선택적으로 name, path, operator(equals, not_equals, contains, exists), value가 있는 until과 필수 on_met(continue, end_journey)을 받아요. continue는 다음 알림 이메일을 건너뛰고 end_journey는 여정을 완료해요. 같은 분기에서 알림 이메일이 바로 뒤따라야 해요. 대기는 amount/unit까지 매분 현재 고객 데이터를 확인해요. 없는 필드는 알 수 없음으로 처리해 알림을 보류해요. 일반 대기와 독립 조건은 기존 동작을 유지해요. 검증된 고객 이정표로 검사 이름을 지으세요. 관리형 이메일 단계는 managed_content_id로 게시된 콘텐츠를 참조하며 활성화는 미게시 참조를 거부해요. 이메일 단계는 expires_after_seconds(1-604800)를 설정해 원래 시작부터 그 간격 후 지연 발송을 폐기할 수 있고 기본값은 7일이에요.
추가 속성모든 값
armsarray
minItems: 2 · maxItems: 4
각 항목object
추가 속성 없음
keystring필수
enum: "A", "B", "C", "D"
labelstring필수
maxLength: 120
allocationnumber필수
minimum: 0 · maximum: 100
stepsarray필수
각 항목object
추가 속성 없음
추가 중첩 생략
성공 응답 201
여정이 생성됐어요.
application/json
valueobject
data지정되지 않음
allOf 1object
추가 속성 없음
namestring필수
minLength: 1 · maxLength: 200
descriptionstring
maxLength: 2000
mailbox_idstring
기존 발신자예요. 생략하면 온보딩 발신자, 활성 사용자 지정 메일함, 호스팅 메일함 순으로 우선해요. 저장되거나 명시된 발신자는 바뀌지 않아요.
format: "uuid"
from_local_partstring
maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"
triggerobject필수
kindstring필수
enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"
connection_idstring
format: "uuid"
configobject
eventstring
once_per_personboolean
각 사람은 한 번만 진입해요. 완료 후 다시 진입하게 하려면 false로 설정하세요.
default: true
reentry_daysinteger
once_per_person이 false이면 마지막 진입 후 재진입까지 필요한 일수.
minimum: 1 · maximum: 365
추가 속성모든 값
conditionsarray
각 항목object
추가 속성모든 값
audienceobject
추가 속성모든 값
goalobject
추가 속성 없음
kindstring필수
enum: "none", "event", "reply", "conversion"
connection_idstring
format: "uuid"
configobject필수
추가 속성모든 값
exitobject
추가 속성 없음
on_replyboolean
default: true
on_unsubscribeboolean
default: true
on_suppressionboolean
default: true
eventstring
maxLength: 200
approval_modestring
enum: "policy", "required"
apiobject
keystring
maxLength: 100
content_modestring
enum: "code", "managed"
identitystring
maxLength: 300
managed_contentobject
생성 전용 단축 작업으로 원본 관리 이메일 임시저장과 이를 이메일 단계에서 참조하는 여정을 원자적으로 저장해요. 없는 대상 언어는 무료 번역 대기열에 들어가며 여정을 게시하거나 활성화하지 않아요.
추가 속성 없음
source_localestring
기준 BCP 47 원본 로캘이며 생략하면 제품 설정을 상속해요.
configured_localesarray
원본 및 대상 로캘이며 생략된 원본은 서버가 추가해요.
maxItems: 100 · uniqueItems: true
각 항목string
fallback_localestring
layout_idstring
선택한 재사용 레이아웃이며 서버가 게시된 개정판의 스냅샷을 이 콘텐츠 개정판에 저장해요.
format: "uuid"
localization_policyobject
여정 이메일은 그 사람의 언어로만 보내요. 영수증, 코드, 보안 알림은 약 1분, 다른 이메일은 최대 하루 번역을 기다리며 그때까지 준비되지 않으면 보내지 않아요.
추가 속성 없음
manual_reviewboolean
default: false
sourceobject필수
추가 속성 없음
subjectstring필수
minLength: 1 · maxLength: 100000
preheaderstring
maxLength: 100000
body_textstring
원본 호환성을 위해 받으며 렌더링된 일반 텍스트는 최종 HTML에서 생성해요.
maxLength: 100000
body_htmlstring필수
minLength: 1 · maxLength: 100000
layoutstring
{{ content }} 슬롯 하나를 포함해야 해요.
maxLength: 100000
variantsobject
선택적 원본 버전이며 각 버전은 같은 개정판에서 자동 번역돼요.
추가 속성object
추가 속성 없음
추가 중첩 생략
variablesobject필수
추가 속성지정되지 않음
재귀적 유형 변수예요. 금액은 {amount_cents: integer, currency: ISO 4217 code}, date는 ISO 달력 날짜, datetime은 오프셋이 있는 ISO 타임스탬프를 사용해요.
추가 중첩 생략
samplesobject
미리보기와 원본 검증을 위한 이름 있는 샘플 값 집합.
추가 속성object
추가 속성모든 값
translationsobject
원본 ICU 메시지 카탈로그와 선택적으로 제공한 대상 카탈로그예요. 설정된 대상이 없으면 비동기 번역 대기열에 들어가며 저장에 필요하지 않아요.
추가 속성object
추가 속성string
추가 중첩 생략
stepsarray필수
maxItems: 100
각 항목object
추가 속성 없음
idstring
format: "uuid"
positioninteger
minimum: 1 · maximum: 100
kindstring필수
enum: "email", "wait", "condition", "action", "split"
namestring필수
minLength: 1 · maxLength: 200
managed_contentobject
이메일 단계의 유형이 있는 원본 계약과 임시저장/게시 개정판 ID.
idstring
format: "uuid"
추가 중첩 생략
versioninteger
추가 중첩 생략
draft_revision_idstring | null
format: "uuid"
추가 중첩 생략
published_revision_idstring | null
format: "uuid"
추가 중첩 생략
published_publication_idstring | null
format: "uuid"
추가 중첩 생략
source_revision_idstring | null
format: "uuid"
추가 중첩 생략
layout_revision_idstring | null
format: "uuid"
추가 중첩 생략
published_layout_revision_idstring | null
format: "uuid"
추가 중첩 생략
source_localestring | null
추가 중첩 생략
configured_localesarray
추가 중첩 생략
variablesobject
추가 중첩 생략
published_variablesobject
추가 중첩 생략
configobject필수
대기 단계는 선택적으로 name, path, operator(equals, not_equals, contains, exists), value가 있는 until과 필수 on_met(continue, end_journey)을 받아요. continue는 다음 알림 이메일을 건너뛰고 end_journey는 여정을 완료해요. 같은 분기에서 알림 이메일이 바로 뒤따라야 해요. 대기는 amount/unit까지 매분 현재 고객 데이터를 확인해요. 없는 필드는 알 수 없음으로 처리해 알림을 보류해요. 일반 대기와 독립 조건은 기존 동작을 유지해요. 검증된 고객 이정표로 검사 이름을 지으세요. 관리형 이메일 단계는 managed_content_id로 게시된 콘텐츠를 참조하며 활성화는 미게시 참조를 거부해요. 이메일 단계는 expires_after_seconds(1-604800)를 설정해 원래 시작부터 그 간격 후 지연 발송을 폐기할 수 있고 기본값은 7일이에요.
추가 속성모든 값
armsarray
minItems: 2 · maxItems: 4
각 항목object
추가 속성 없음
추가 중첩 생략
allOf 2object
idstring필수
format: "uuid"
statusstring필수
enum: "draft", "discovered", "active", "paused", "archived"
api_keystring | null
content_modestring | null
enum: "code", "managed", null
identitystring | null
identity_aliasesarray
각 항목string
samplesarray
각 항목object
추가 속성모든 값
versioninteger필수
minimum: 1
statsobject필수
추가 속성모든 값
stepStatsarray
각 항목object
추가 속성모든 값
armStatsarray
각 항목object
추가 속성모든 값
healthobject필수
추가 속성모든 값
indicatorobject필수
추가 속성모든 값
sparklinearray필수
각 항목number
activated_atstring | null
format: "date-time"
updated_atstring
format: "date-time"
last_activity_atstring | null
format: "date-time"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Idempotency-Key: examplexxxxxxxxx' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "example",
"description": "example",
"mailbox_id": "00000000-0000-4000-8000-000000000001",
"from_local_part": "example",
"trigger": {
"kind": "manual",
"connection_id": "00000000-0000-4000-8000-000000000001",
"config": {
"event": "example",
"once_per_person": true,
"reentry_days": 1
},
"conditions": [
{}
]
},
"audience": {},
"goal": {
"kind": "none",
"connection_id": "00000000-0000-4000-8000-000000000001",
"config": {}
},
"exit": {
"on_reply": true,
"on_unsubscribe": true,
"on_suppression": true,
"event": "example"
},
"approval_mode": "policy",
"api": {
"key": "example",
"content_mode": "code",
"identity": "example"
},
"managed_content": {
"source_locale": "example",
"configured_locales": [
"example"
],
"fallback_locale": "example",
"layout_id": "00000000-0000-4000-8000-000000000001",
"localization_policy": {
"manual_review": false
},
"source": {
"subject": "example",
"preheader": "example",
"body_text": "example",
"body_html": "example",
"layout": "example",
"variants": {},
"variables": {}
},
"samples": {},
"translations": {}
},
"steps": [
{
"id": "00000000-0000-4000-8000-000000000001",
"position": 1,
"kind": "email",
"name": "example",
"config": {},
"arms": [
{
"key": "A",
"label": "example",
"allocation": 0,
"steps": [
{
"id": null,
"position": null,
"kind": null,
"name": null,
"config": null,
"arms": null
}
]
}
]
}
]
}'
GET/v1/workspaces/{workspaceId}/journeys/{journeyId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
여정 정의, 등록 활동, 테스트.
application/json
valueobject
data지정되지 않음
allOf 1object
추가 속성 없음
namestring필수
minLength: 1 · maxLength: 200
descriptionstring
maxLength: 2000
mailbox_idstring
기존 발신자예요. 생략하면 온보딩 발신자, 활성 사용자 지정 메일함, 호스팅 메일함 순으로 우선해요. 저장되거나 명시된 발신자는 바뀌지 않아요.
format: "uuid"
from_local_partstring
maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"
triggerobject필수
kindstring필수
enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"
connection_idstring
format: "uuid"
configobject
eventstring
once_per_personboolean
각 사람은 한 번만 진입해요. 완료 후 다시 진입하게 하려면 false로 설정하세요.
default: true
reentry_daysinteger
once_per_person이 false이면 마지막 진입 후 재진입까지 필요한 일수.
minimum: 1 · maximum: 365
추가 속성모든 값
conditionsarray
각 항목object
추가 속성모든 값
audienceobject
추가 속성모든 값
goalobject
추가 속성 없음
kindstring필수
enum: "none", "event", "reply", "conversion"
connection_idstring
format: "uuid"
configobject필수
추가 속성모든 값
exitobject
추가 속성 없음
on_replyboolean
default: true
on_unsubscribeboolean
default: true
on_suppressionboolean
default: true
eventstring
maxLength: 200
approval_modestring
enum: "policy", "required"
apiobject
keystring
maxLength: 100
content_modestring
enum: "code", "managed"
identitystring
maxLength: 300
managed_contentobject
생성 전용 단축 작업으로 원본 관리 이메일 임시저장과 이를 이메일 단계에서 참조하는 여정을 원자적으로 저장해요. 없는 대상 언어는 무료 번역 대기열에 들어가며 여정을 게시하거나 활성화하지 않아요.
추가 속성 없음
source_localestring
기준 BCP 47 원본 로캘이며 생략하면 제품 설정을 상속해요.
configured_localesarray
원본 및 대상 로캘이며 생략된 원본은 서버가 추가해요.
maxItems: 100 · uniqueItems: true
각 항목string
fallback_localestring
layout_idstring
선택한 재사용 레이아웃이며 서버가 게시된 개정판의 스냅샷을 이 콘텐츠 개정판에 저장해요.
format: "uuid"
localization_policyobject
여정 이메일은 그 사람의 언어로만 보내요. 영수증, 코드, 보안 알림은 약 1분, 다른 이메일은 최대 하루 번역을 기다리며 그때까지 준비되지 않으면 보내지 않아요.
추가 속성 없음
manual_reviewboolean
default: false
sourceobject필수
추가 속성 없음
subjectstring필수
minLength: 1 · maxLength: 100000
preheaderstring
maxLength: 100000
body_textstring
원본 호환성을 위해 받으며 렌더링된 일반 텍스트는 최종 HTML에서 생성해요.
maxLength: 100000
body_htmlstring필수
minLength: 1 · maxLength: 100000
layoutstring
{{ content }} 슬롯 하나를 포함해야 해요.
maxLength: 100000
variantsobject
선택적 원본 버전이며 각 버전은 같은 개정판에서 자동 번역돼요.
추가 속성object
추가 속성 없음
추가 중첩 생략
variablesobject필수
추가 속성지정되지 않음
재귀적 유형 변수예요. 금액은 {amount_cents: integer, currency: ISO 4217 code}, date는 ISO 달력 날짜, datetime은 오프셋이 있는 ISO 타임스탬프를 사용해요.
추가 중첩 생략
samplesobject
미리보기와 원본 검증을 위한 이름 있는 샘플 값 집합.
추가 속성object
추가 속성모든 값
translationsobject
원본 ICU 메시지 카탈로그와 선택적으로 제공한 대상 카탈로그예요. 설정된 대상이 없으면 비동기 번역 대기열에 들어가며 저장에 필요하지 않아요.
추가 속성object
추가 속성string
추가 중첩 생략
stepsarray필수
maxItems: 100
각 항목object
추가 속성 없음
idstring
format: "uuid"
positioninteger
minimum: 1 · maximum: 100
kindstring필수
enum: "email", "wait", "condition", "action", "split"
namestring필수
minLength: 1 · maxLength: 200
managed_contentobject
이메일 단계의 유형이 있는 원본 계약과 임시저장/게시 개정판 ID.
idstring
format: "uuid"
추가 중첩 생략
versioninteger
추가 중첩 생략
draft_revision_idstring | null
format: "uuid"
추가 중첩 생략
published_revision_idstring | null
format: "uuid"
추가 중첩 생략
published_publication_idstring | null
format: "uuid"
추가 중첩 생략
source_revision_idstring | null
format: "uuid"
추가 중첩 생략
layout_revision_idstring | null
format: "uuid"
추가 중첩 생략
published_layout_revision_idstring | null
format: "uuid"
추가 중첩 생략
source_localestring | null
추가 중첩 생략
configured_localesarray
추가 중첩 생략
variablesobject
추가 중첩 생략
published_variablesobject
추가 중첩 생략
configobject필수
대기 단계는 선택적으로 name, path, operator(equals, not_equals, contains, exists), value가 있는 until과 필수 on_met(continue, end_journey)을 받아요. continue는 다음 알림 이메일을 건너뛰고 end_journey는 여정을 완료해요. 같은 분기에서 알림 이메일이 바로 뒤따라야 해요. 대기는 amount/unit까지 매분 현재 고객 데이터를 확인해요. 없는 필드는 알 수 없음으로 처리해 알림을 보류해요. 일반 대기와 독립 조건은 기존 동작을 유지해요. 검증된 고객 이정표로 검사 이름을 지으세요. 관리형 이메일 단계는 managed_content_id로 게시된 콘텐츠를 참조하며 활성화는 미게시 참조를 거부해요. 이메일 단계는 expires_after_seconds(1-604800)를 설정해 원래 시작부터 그 간격 후 지연 발송을 폐기할 수 있고 기본값은 7일이에요.
추가 속성모든 값
armsarray
minItems: 2 · maxItems: 4
각 항목object
추가 속성 없음
추가 중첩 생략
allOf 2object
idstring필수
format: "uuid"
statusstring필수
enum: "draft", "discovered", "active", "paused", "archived"
api_keystring | null
content_modestring | null
enum: "code", "managed", null
identitystring | null
identity_aliasesarray
각 항목string
samplesarray
각 항목object
추가 속성모든 값
versioninteger필수
minimum: 1
statsobject필수
추가 속성모든 값
stepStatsarray
각 항목object
추가 속성모든 값
armStatsarray
각 항목object
추가 속성모든 값
healthobject필수
추가 속성모든 값
indicatorobject필수
추가 속성모든 값
sparklinearray필수
각 항목number
activated_atstring | null
format: "date-time"
updated_atstring
format: "date-time"
last_activity_atstring | null
format: "date-time"
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}' \
--header "Authorization: Bearer $BANGER_API_KEY"
PUT/v1/workspaces/{workspaceId}/journeys/{journeyId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
namestring필수
minLength: 1 · maxLength: 200
descriptionstring
maxLength: 2000
mailbox_idstring
기존 발신자예요. 생략하면 온보딩 발신자, 활성 사용자 지정 메일함, 호스팅 메일함 순으로 우선해요. 저장되거나 명시된 발신자는 바뀌지 않아요.
format: "uuid"
from_local_partstring
maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"
triggerobject필수
kindstring필수
enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"
connection_idstring
format: "uuid"
configobject
eventstring
once_per_personboolean
각 사람은 한 번만 진입해요. 완료 후 다시 진입하게 하려면 false로 설정하세요.
default: true
reentry_daysinteger
once_per_person이 false이면 마지막 진입 후 재진입까지 필요한 일수.
minimum: 1 · maximum: 365
추가 속성모든 값
conditionsarray
각 항목object
추가 속성모든 값
audienceobject
추가 속성모든 값
goalobject
추가 속성 없음
kindstring필수
enum: "none", "event", "reply", "conversion"
connection_idstring
format: "uuid"
configobject필수
추가 속성모든 값
exitobject
추가 속성 없음
on_replyboolean
default: true
on_unsubscribeboolean
default: true
on_suppressionboolean
default: true
eventstring
maxLength: 200
approval_modestring
enum: "policy", "required"
apiobject
keystring
maxLength: 100
content_modestring
enum: "code", "managed"
identitystring
maxLength: 300
managed_contentobject
생성 전용 단축 작업으로 원본 관리 이메일 임시저장과 이를 이메일 단계에서 참조하는 여정을 원자적으로 저장해요. 없는 대상 언어는 무료 번역 대기열에 들어가며 여정을 게시하거나 활성화하지 않아요.
추가 속성 없음
source_localestring
기준 BCP 47 원본 로캘이며 생략하면 제품 설정을 상속해요.
configured_localesarray
원본 및 대상 로캘이며 생략된 원본은 서버가 추가해요.
maxItems: 100 · uniqueItems: true
각 항목string
fallback_localestring
layout_idstring
선택한 재사용 레이아웃이며 서버가 게시된 개정판의 스냅샷을 이 콘텐츠 개정판에 저장해요.
format: "uuid"
localization_policyobject
여정 이메일은 그 사람의 언어로만 보내요. 영수증, 코드, 보안 알림은 약 1분, 다른 이메일은 최대 하루 번역을 기다리며 그때까지 준비되지 않으면 보내지 않아요.
추가 속성 없음
manual_reviewboolean
default: false
sourceobject필수
추가 속성 없음
subjectstring필수
minLength: 1 · maxLength: 100000
preheaderstring
maxLength: 100000
body_textstring
원본 호환성을 위해 받으며 렌더링된 일반 텍스트는 최종 HTML에서 생성해요.
maxLength: 100000
body_htmlstring필수
minLength: 1 · maxLength: 100000
layoutstring
{{ content }} 슬롯 하나를 포함해야 해요.
maxLength: 100000
variantsobject
선택적 원본 버전이며 각 버전은 같은 개정판에서 자동 번역돼요.
추가 속성object
추가 속성 없음
subjectstring필수
minLength: 1 · maxLength: 100000
preheaderstring
maxLength: 100000
body_htmlstring필수
minLength: 1 · maxLength: 100000
body_textstring
maxLength: 100000
layoutstring
maxLength: 100000
variablesobject필수
추가 속성지정되지 않음
재귀적 유형 변수예요. 금액은 {amount_cents: integer, currency: ISO 4217 code}, date는 ISO 달력 날짜, datetime은 오프셋이 있는 ISO 타임스탬프를 사용해요.
oneOf 1object
추가 속성 없음
typestring필수
enum: "string", "text", "url", "image_url", "html", "date", "datetime", "number", "boolean", "money"
추가 중첩 생략
requiredboolean
추가 중첩 생략
descriptionstring
maxLength: 2000
추가 중첩 생략
default지정되지 않음
필드 유형과 일치해야 해요.
추가 중첩 생략
oneOf 2object
추가 속성 없음
type지정되지 않음필수
const: "object"
추가 중첩 생략
requiredboolean
추가 중첩 생략
descriptionstring
maxLength: 2000
추가 중첩 생략
defaultobject
추가 중첩 생략
propertiesobject필수
추가 중첩 생략
oneOf 3object
추가 속성 없음
type지정되지 않음필수
const: "list"
추가 중첩 생략
requiredboolean
추가 중첩 생략
descriptionstring
maxLength: 2000
추가 중첩 생략
defaultarray
추가 중첩 생략
items지정되지 않음필수
재귀적 유형 변수예요. 금액은 {amount_cents: integer, currency: ISO 4217 code}, date는 ISO 달력 날짜, datetime은 오프셋이 있는 ISO 타임스탬프를 사용해요.
추가 중첩 생략
samplesobject
미리보기와 원본 검증을 위한 이름 있는 샘플 값 집합.
추가 속성object
추가 속성모든 값
translationsobject
원본 ICU 메시지 카탈로그와 선택적으로 제공한 대상 카탈로그예요. 설정된 대상이 없으면 비동기 번역 대기열에 들어가며 저장에 필요하지 않아요.
추가 속성object
추가 속성string
stepsarray필수
maxItems: 100
각 항목object
추가 속성 없음
idstring
format: "uuid"
positioninteger
minimum: 1 · maximum: 100
kindstring필수
enum: "email", "wait", "condition", "action", "split"
namestring필수
minLength: 1 · maxLength: 200
managed_contentobject
이메일 단계의 유형이 있는 원본 계약과 임시저장/게시 개정판 ID.
idstring
format: "uuid"
versioninteger
draft_revision_idstring | null
format: "uuid"
published_revision_idstring | null
format: "uuid"
published_publication_idstring | null
format: "uuid"
source_revision_idstring | null
format: "uuid"
layout_revision_idstring | null
format: "uuid"
published_layout_revision_idstring | null
format: "uuid"
source_localestring | null
configured_localesarray
각 항목string
variablesobject
추가 속성모든 값
published_variablesobject
추가 속성모든 값
configobject필수
대기 단계는 선택적으로 name, path, operator(equals, not_equals, contains, exists), value가 있는 until과 필수 on_met(continue, end_journey)을 받아요. continue는 다음 알림 이메일을 건너뛰고 end_journey는 여정을 완료해요. 같은 분기에서 알림 이메일이 바로 뒤따라야 해요. 대기는 amount/unit까지 매분 현재 고객 데이터를 확인해요. 없는 필드는 알 수 없음으로 처리해 알림을 보류해요. 일반 대기와 독립 조건은 기존 동작을 유지해요. 검증된 고객 이정표로 검사 이름을 지으세요. 관리형 이메일 단계는 managed_content_id로 게시된 콘텐츠를 참조하며 활성화는 미게시 참조를 거부해요. 이메일 단계는 expires_after_seconds(1-604800)를 설정해 원래 시작부터 그 간격 후 지연 발송을 폐기할 수 있고 기본값은 7일이에요.
추가 속성모든 값
armsarray
minItems: 2 · maxItems: 4
각 항목object
추가 속성 없음
keystring필수
enum: "A", "B", "C", "D"
labelstring필수
maxLength: 120
allocationnumber필수
minimum: 0 · maximum: 100
stepsarray필수
각 항목object
추가 속성 없음
추가 중첩 생략
성공 응답 200
여정이 업데이트됐어요.
application/json
valueobject
data지정되지 않음
allOf 1object
추가 속성 없음
namestring필수
minLength: 1 · maxLength: 200
descriptionstring
maxLength: 2000
mailbox_idstring
기존 발신자예요. 생략하면 온보딩 발신자, 활성 사용자 지정 메일함, 호스팅 메일함 순으로 우선해요. 저장되거나 명시된 발신자는 바뀌지 않아요.
format: "uuid"
from_local_partstring
maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"
triggerobject필수
kindstring필수
enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"
connection_idstring
format: "uuid"
configobject
eventstring
once_per_personboolean
각 사람은 한 번만 진입해요. 완료 후 다시 진입하게 하려면 false로 설정하세요.
default: true
reentry_daysinteger
once_per_person이 false이면 마지막 진입 후 재진입까지 필요한 일수.
minimum: 1 · maximum: 365
추가 속성모든 값
conditionsarray
각 항목object
추가 속성모든 값
audienceobject
추가 속성모든 값
goalobject
추가 속성 없음
kindstring필수
enum: "none", "event", "reply", "conversion"
connection_idstring
format: "uuid"
configobject필수
추가 속성모든 값
exitobject
추가 속성 없음
on_replyboolean
default: true
on_unsubscribeboolean
default: true
on_suppressionboolean
default: true
eventstring
maxLength: 200
approval_modestring
enum: "policy", "required"
apiobject
keystring
maxLength: 100
content_modestring
enum: "code", "managed"
identitystring
maxLength: 300
managed_contentobject
생성 전용 단축 작업으로 원본 관리 이메일 임시저장과 이를 이메일 단계에서 참조하는 여정을 원자적으로 저장해요. 없는 대상 언어는 무료 번역 대기열에 들어가며 여정을 게시하거나 활성화하지 않아요.
추가 속성 없음
source_localestring
기준 BCP 47 원본 로캘이며 생략하면 제품 설정을 상속해요.
configured_localesarray
원본 및 대상 로캘이며 생략된 원본은 서버가 추가해요.
maxItems: 100 · uniqueItems: true
각 항목string
fallback_localestring
layout_idstring
선택한 재사용 레이아웃이며 서버가 게시된 개정판의 스냅샷을 이 콘텐츠 개정판에 저장해요.
format: "uuid"
localization_policyobject
여정 이메일은 그 사람의 언어로만 보내요. 영수증, 코드, 보안 알림은 약 1분, 다른 이메일은 최대 하루 번역을 기다리며 그때까지 준비되지 않으면 보내지 않아요.
추가 속성 없음
manual_reviewboolean
default: false
sourceobject필수
추가 속성 없음
subjectstring필수
minLength: 1 · maxLength: 100000
preheaderstring
maxLength: 100000
body_textstring
원본 호환성을 위해 받으며 렌더링된 일반 텍스트는 최종 HTML에서 생성해요.
maxLength: 100000
body_htmlstring필수
minLength: 1 · maxLength: 100000
layoutstring
{{ content }} 슬롯 하나를 포함해야 해요.
maxLength: 100000
variantsobject
선택적 원본 버전이며 각 버전은 같은 개정판에서 자동 번역돼요.
추가 속성object
추가 속성 없음
추가 중첩 생략
variablesobject필수
추가 속성지정되지 않음
재귀적 유형 변수예요. 금액은 {amount_cents: integer, currency: ISO 4217 code}, date는 ISO 달력 날짜, datetime은 오프셋이 있는 ISO 타임스탬프를 사용해요.
추가 중첩 생략
samplesobject
미리보기와 원본 검증을 위한 이름 있는 샘플 값 집합.
추가 속성object
추가 속성모든 값
translationsobject
원본 ICU 메시지 카탈로그와 선택적으로 제공한 대상 카탈로그예요. 설정된 대상이 없으면 비동기 번역 대기열에 들어가며 저장에 필요하지 않아요.
추가 속성object
추가 속성string
추가 중첩 생략
stepsarray필수
maxItems: 100
각 항목object
추가 속성 없음
idstring
format: "uuid"
positioninteger
minimum: 1 · maximum: 100
kindstring필수
enum: "email", "wait", "condition", "action", "split"
namestring필수
minLength: 1 · maxLength: 200
managed_contentobject
이메일 단계의 유형이 있는 원본 계약과 임시저장/게시 개정판 ID.
idstring
format: "uuid"
추가 중첩 생략
versioninteger
추가 중첩 생략
draft_revision_idstring | null
format: "uuid"
추가 중첩 생략
published_revision_idstring | null
format: "uuid"
추가 중첩 생략
published_publication_idstring | null
format: "uuid"
추가 중첩 생략
source_revision_idstring | null
format: "uuid"
추가 중첩 생략
layout_revision_idstring | null
format: "uuid"
추가 중첩 생략
published_layout_revision_idstring | null
format: "uuid"
추가 중첩 생략
source_localestring | null
추가 중첩 생략
configured_localesarray
추가 중첩 생략
variablesobject
추가 중첩 생략
published_variablesobject
추가 중첩 생략
configobject필수
대기 단계는 선택적으로 name, path, operator(equals, not_equals, contains, exists), value가 있는 until과 필수 on_met(continue, end_journey)을 받아요. continue는 다음 알림 이메일을 건너뛰고 end_journey는 여정을 완료해요. 같은 분기에서 알림 이메일이 바로 뒤따라야 해요. 대기는 amount/unit까지 매분 현재 고객 데이터를 확인해요. 없는 필드는 알 수 없음으로 처리해 알림을 보류해요. 일반 대기와 독립 조건은 기존 동작을 유지해요. 검증된 고객 이정표로 검사 이름을 지으세요. 관리형 이메일 단계는 managed_content_id로 게시된 콘텐츠를 참조하며 활성화는 미게시 참조를 거부해요. 이메일 단계는 expires_after_seconds(1-604800)를 설정해 원래 시작부터 그 간격 후 지연 발송을 폐기할 수 있고 기본값은 7일이에요.
추가 속성모든 값
armsarray
minItems: 2 · maxItems: 4
각 항목object
추가 속성 없음
추가 중첩 생략
allOf 2object
idstring필수
format: "uuid"
statusstring필수
enum: "draft", "discovered", "active", "paused", "archived"
api_keystring | null
content_modestring | null
enum: "code", "managed", null
identitystring | null
identity_aliasesarray
각 항목string
samplesarray
각 항목object
추가 속성모든 값
versioninteger필수
minimum: 1
statsobject필수
추가 속성모든 값
stepStatsarray
각 항목object
추가 속성모든 값
armStatsarray
각 항목object
추가 속성모든 값
healthobject필수
추가 속성모든 값
indicatorobject필수
추가 속성모든 값
sparklinearray필수
각 항목number
activated_atstring | null
format: "date-time"
updated_atstring
format: "date-time"
last_activity_atstring | null
format: "date-time"
curl 예제
curl --request PUT --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "example",
"description": "example",
"mailbox_id": "00000000-0000-4000-8000-000000000001",
"from_local_part": "example",
"trigger": {
"kind": "manual",
"connection_id": "00000000-0000-4000-8000-000000000001",
"config": {
"event": "example",
"once_per_person": true,
"reentry_days": 1
},
"conditions": [
{}
]
},
"audience": {},
"goal": {
"kind": "none",
"connection_id": "00000000-0000-4000-8000-000000000001",
"config": {}
},
"exit": {
"on_reply": true,
"on_unsubscribe": true,
"on_suppression": true,
"event": "example"
},
"approval_mode": "policy",
"api": {
"key": "example",
"content_mode": "code",
"identity": "example"
},
"managed_content": {
"source_locale": "example",
"configured_locales": [
"example"
],
"fallback_locale": "example",
"layout_id": "00000000-0000-4000-8000-000000000001",
"localization_policy": {
"manual_review": false
},
"source": {
"subject": "example",
"preheader": "example",
"body_text": "example",
"body_html": "example",
"layout": "example",
"variants": {},
"variables": {}
},
"samples": {},
"translations": {}
},
"steps": [
{
"id": "00000000-0000-4000-8000-000000000001",
"position": 1,
"kind": "email",
"name": "example",
"config": {},
"arms": [
{
"key": "A",
"label": "example",
"allocation": 0,
"steps": [
{
"id": null,
"position": null,
"kind": null,
"name": null,
"config": null,
"arms": null
}
]
}
]
}
]
}'
PATCH/v1/workspaces/{workspaceId}/journeys/{journeyId}
name, description, mailbox_id, from_local_part, trigger, audience, goal, exit, approval_mode, api, steps를 지원해요. trigger, goal, api, exit 객체는 한 단계 병합하고 steps는 제공된 트리를 교체해요. 오래된 편집을 거부하려면 expected_version을 포함하세요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
expected_versioninteger
minimum: 1
namestring
descriptionstring
mailbox_idstring
format: "uuid"
from_local_partstring
triggerobject
추가 속성모든 값
audienceobject
추가 속성모든 값
goalobject
추가 속성모든 값
exitobject
추가 속성모든 값
approval_modestring
enum: "policy", "required"
apiobject
추가 속성모든 값
stepsarray
각 항목object
추가 속성 없음
idstring
format: "uuid"
positioninteger
minimum: 1 · maximum: 100
kindstring필수
enum: "email", "wait", "condition", "action", "split"
namestring필수
minLength: 1 · maxLength: 200
managed_contentobject
이메일 단계의 유형이 있는 원본 계약과 임시저장/게시 개정판 ID.
idstring
format: "uuid"
versioninteger
draft_revision_idstring | null
format: "uuid"
published_revision_idstring | null
format: "uuid"
published_publication_idstring | null
format: "uuid"
source_revision_idstring | null
format: "uuid"
layout_revision_idstring | null
format: "uuid"
published_layout_revision_idstring | null
format: "uuid"
source_localestring | null
configured_localesarray
각 항목string
variablesobject
추가 속성모든 값
published_variablesobject
추가 속성모든 값
configobject필수
대기 단계는 선택적으로 name, path, operator(equals, not_equals, contains, exists), value가 있는 until과 필수 on_met(continue, end_journey)을 받아요. continue는 다음 알림 이메일을 건너뛰고 end_journey는 여정을 완료해요. 같은 분기에서 알림 이메일이 바로 뒤따라야 해요. 대기는 amount/unit까지 매분 현재 고객 데이터를 확인해요. 없는 필드는 알 수 없음으로 처리해 알림을 보류해요. 일반 대기와 독립 조건은 기존 동작을 유지해요. 검증된 고객 이정표로 검사 이름을 지으세요. 관리형 이메일 단계는 managed_content_id로 게시된 콘텐츠를 참조하며 활성화는 미게시 참조를 거부해요. 이메일 단계는 expires_after_seconds(1-604800)를 설정해 원래 시작부터 그 간격 후 지연 발송을 폐기할 수 있고 기본값은 7일이에요.
추가 속성모든 값
armsarray
minItems: 2 · maxItems: 4
각 항목object
추가 속성 없음
keystring필수
enum: "A", "B", "C", "D"
labelstring필수
maxLength: 120
allocationnumber필수
minimum: 0 · maximum: 100
stepsarray필수
각 항목object
추가 속성 없음
추가 중첩 생략
성공 응답 200
여정이 업데이트됐어요.
application/json
valueobject
data지정되지 않음필수
allOf 1object
추가 속성 없음
namestring필수
minLength: 1 · maxLength: 200
descriptionstring
maxLength: 2000
mailbox_idstring
기존 발신자예요. 생략하면 온보딩 발신자, 활성 사용자 지정 메일함, 호스팅 메일함 순으로 우선해요. 저장되거나 명시된 발신자는 바뀌지 않아요.
format: "uuid"
from_local_partstring
maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"
triggerobject필수
kindstring필수
enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"
connection_idstring
format: "uuid"
configobject
eventstring
once_per_personboolean
각 사람은 한 번만 진입해요. 완료 후 다시 진입하게 하려면 false로 설정하세요.
default: true
reentry_daysinteger
once_per_person이 false이면 마지막 진입 후 재진입까지 필요한 일수.
minimum: 1 · maximum: 365
추가 속성모든 값
conditionsarray
각 항목object
추가 속성모든 값
audienceobject
추가 속성모든 값
goalobject
추가 속성 없음
kindstring필수
enum: "none", "event", "reply", "conversion"
connection_idstring
format: "uuid"
configobject필수
추가 속성모든 값
exitobject
추가 속성 없음
on_replyboolean
default: true
on_unsubscribeboolean
default: true
on_suppressionboolean
default: true
eventstring
maxLength: 200
approval_modestring
enum: "policy", "required"
apiobject
keystring
maxLength: 100
content_modestring
enum: "code", "managed"
identitystring
maxLength: 300
managed_contentobject
생성 전용 단축 작업으로 원본 관리 이메일 임시저장과 이를 이메일 단계에서 참조하는 여정을 원자적으로 저장해요. 없는 대상 언어는 무료 번역 대기열에 들어가며 여정을 게시하거나 활성화하지 않아요.
추가 속성 없음
source_localestring
기준 BCP 47 원본 로캘이며 생략하면 제품 설정을 상속해요.
configured_localesarray
원본 및 대상 로캘이며 생략된 원본은 서버가 추가해요.
maxItems: 100 · uniqueItems: true
각 항목string
fallback_localestring
layout_idstring
선택한 재사용 레이아웃이며 서버가 게시된 개정판의 스냅샷을 이 콘텐츠 개정판에 저장해요.
format: "uuid"
localization_policyobject
여정 이메일은 그 사람의 언어로만 보내요. 영수증, 코드, 보안 알림은 약 1분, 다른 이메일은 최대 하루 번역을 기다리며 그때까지 준비되지 않으면 보내지 않아요.
추가 속성 없음
manual_reviewboolean
default: false
sourceobject필수
추가 속성 없음
subjectstring필수
minLength: 1 · maxLength: 100000
preheaderstring
maxLength: 100000
body_textstring
원본 호환성을 위해 받으며 렌더링된 일반 텍스트는 최종 HTML에서 생성해요.
maxLength: 100000
body_htmlstring필수
minLength: 1 · maxLength: 100000
layoutstring
{{ content }} 슬롯 하나를 포함해야 해요.
maxLength: 100000
variantsobject
선택적 원본 버전이며 각 버전은 같은 개정판에서 자동 번역돼요.
추가 속성object
추가 속성 없음
추가 중첩 생략
variablesobject필수
추가 속성지정되지 않음
재귀적 유형 변수예요. 금액은 {amount_cents: integer, currency: ISO 4217 code}, date는 ISO 달력 날짜, datetime은 오프셋이 있는 ISO 타임스탬프를 사용해요.
추가 중첩 생략
samplesobject
미리보기와 원본 검증을 위한 이름 있는 샘플 값 집합.
추가 속성object
추가 속성모든 값
translationsobject
원본 ICU 메시지 카탈로그와 선택적으로 제공한 대상 카탈로그예요. 설정된 대상이 없으면 비동기 번역 대기열에 들어가며 저장에 필요하지 않아요.
추가 속성object
추가 속성string
추가 중첩 생략
stepsarray필수
maxItems: 100
각 항목object
추가 속성 없음
idstring
format: "uuid"
positioninteger
minimum: 1 · maximum: 100
kindstring필수
enum: "email", "wait", "condition", "action", "split"
namestring필수
minLength: 1 · maxLength: 200
managed_contentobject
이메일 단계의 유형이 있는 원본 계약과 임시저장/게시 개정판 ID.
idstring
format: "uuid"
추가 중첩 생략
versioninteger
추가 중첩 생략
draft_revision_idstring | null
format: "uuid"
추가 중첩 생략
published_revision_idstring | null
format: "uuid"
추가 중첩 생략
published_publication_idstring | null
format: "uuid"
추가 중첩 생략
source_revision_idstring | null
format: "uuid"
추가 중첩 생략
layout_revision_idstring | null
format: "uuid"
추가 중첩 생략
published_layout_revision_idstring | null
format: "uuid"
추가 중첩 생략
source_localestring | null
추가 중첩 생략
configured_localesarray
추가 중첩 생략
variablesobject
추가 중첩 생략
published_variablesobject
추가 중첩 생략
configobject필수
대기 단계는 선택적으로 name, path, operator(equals, not_equals, contains, exists), value가 있는 until과 필수 on_met(continue, end_journey)을 받아요. continue는 다음 알림 이메일을 건너뛰고 end_journey는 여정을 완료해요. 같은 분기에서 알림 이메일이 바로 뒤따라야 해요. 대기는 amount/unit까지 매분 현재 고객 데이터를 확인해요. 없는 필드는 알 수 없음으로 처리해 알림을 보류해요. 일반 대기와 독립 조건은 기존 동작을 유지해요. 검증된 고객 이정표로 검사 이름을 지으세요. 관리형 이메일 단계는 managed_content_id로 게시된 콘텐츠를 참조하며 활성화는 미게시 참조를 거부해요. 이메일 단계는 expires_after_seconds(1-604800)를 설정해 원래 시작부터 그 간격 후 지연 발송을 폐기할 수 있고 기본값은 7일이에요.
추가 속성모든 값
armsarray
minItems: 2 · maxItems: 4
각 항목object
추가 속성 없음
추가 중첩 생략
allOf 2object
idstring필수
format: "uuid"
statusstring필수
enum: "draft", "discovered", "active", "paused", "archived"
api_keystring | null
content_modestring | null
enum: "code", "managed", null
identitystring | null
identity_aliasesarray
각 항목string
samplesarray
각 항목object
추가 속성모든 값
versioninteger필수
minimum: 1
statsobject필수
추가 속성모든 값
stepStatsarray
각 항목object
추가 속성모든 값
armStatsarray
각 항목object
추가 속성모든 값
healthobject필수
추가 속성모든 값
indicatorobject필수
추가 속성모든 값
sparklinearray필수
각 항목number
activated_atstring | null
format: "date-time"
updated_atstring
format: "date-time"
last_activity_atstring | null
format: "date-time"
curl 예제
curl --request PATCH --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"expected_version": 1,
"name": "example",
"description": "example",
"mailbox_id": "00000000-0000-4000-8000-000000000001",
"from_local_part": "example",
"trigger": {},
"audience": {},
"goal": {},
"exit": {},
"approval_mode": "policy",
"api": {},
"steps": [
{
"id": "00000000-0000-4000-8000-000000000001",
"position": 1,
"kind": "email",
"name": "example",
"config": {},
"arms": [
{
"key": "A",
"label": "example",
"allocation": 0,
"steps": [
{
"id": null,
"position": null,
"kind": null,
"name": null,
"config": null,
"arms": null
}
]
}
]
}
]
}'
DELETE/v1/workspaces/{workspaceId}/journeys/{journeyId}
보관하여 기본 목록에서 여정을 제거하고 활성 등록을 중지해요. 발송 이력은 유지해요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 204
여정이 제거됐어요.
응답 본문 없음.
curl 예제
curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/journeys/{journeyId}/convert-managed
단방향 변환이에요. 이메일 단계가 하나인 여정은 contract를 제공하세요. 분할 분기를 포함한 여러 이메일은 이메일마다 정확히 하나의 저장된 step_id와 준비된 HTML/Liquid 계약이 있는 step_contents를 제공하세요. 변환은 원자적이며 여정을 임시저장으로 바꿔요. 새 관리형 콘텐츠 개정판마다 자체 관리 게시 검토를 받으며 변환 중 이메일을 보내거나 게시하지 않아요. Banger는 소스 코드를 가져오거나 실행하지 않아요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
expected_versioninteger필수
minimum: 1
contractobject
추가 속성 없음
source_localestring
기준 BCP 47 원본 로캘이며 생략하면 제품 설정을 상속해요.
configured_localesarray
원본 및 대상 로캘이며 생략된 원본은 서버가 추가해요.
maxItems: 100 · uniqueItems: true
각 항목string
fallback_localestring
layout_idstring
선택한 재사용 레이아웃이며 서버가 게시된 개정판의 스냅샷을 이 콘텐츠 개정판에 저장해요.
format: "uuid"
localization_policyobject
여정 이메일은 그 사람의 언어로만 보내요. 영수증, 코드, 보안 알림은 약 1분, 다른 이메일은 최대 하루 번역을 기다리며 그때까지 준비되지 않으면 보내지 않아요.
추가 속성 없음
manual_reviewboolean
default: false
sourceobject필수
추가 속성 없음
subjectstring필수
minLength: 1 · maxLength: 100000
preheaderstring
maxLength: 100000
body_textstring
원본 호환성을 위해 받으며 렌더링된 일반 텍스트는 최종 HTML에서 생성해요.
maxLength: 100000
body_htmlstring필수
minLength: 1 · maxLength: 100000
layoutstring
{{ content }} 슬롯 하나를 포함해야 해요.
maxLength: 100000
variantsobject
선택적 원본 버전이며 각 버전은 같은 개정판에서 자동 번역돼요.
추가 속성object
추가 속성 없음
subjectstring필수
minLength: 1 · maxLength: 100000
preheaderstring
maxLength: 100000
body_htmlstring필수
minLength: 1 · maxLength: 100000
body_textstring
maxLength: 100000
layoutstring
maxLength: 100000
variablesobject필수
추가 속성지정되지 않음
재귀적 유형 변수예요. 금액은 {amount_cents: integer, currency: ISO 4217 code}, date는 ISO 달력 날짜, datetime은 오프셋이 있는 ISO 타임스탬프를 사용해요.
oneOf 1object
추가 속성 없음
typestring필수
enum: "string", "text", "url", "image_url", "html", "date", "datetime", "number", "boolean", "money"
추가 중첩 생략
requiredboolean
추가 중첩 생략
descriptionstring
maxLength: 2000
추가 중첩 생략
default지정되지 않음
필드 유형과 일치해야 해요.
추가 중첩 생략
oneOf 2object
추가 속성 없음
type지정되지 않음필수
const: "object"
추가 중첩 생략
requiredboolean
추가 중첩 생략
descriptionstring
maxLength: 2000
추가 중첩 생략
defaultobject
추가 중첩 생략
propertiesobject필수
추가 중첩 생략
oneOf 3object
추가 속성 없음
type지정되지 않음필수
const: "list"
추가 중첩 생략
requiredboolean
추가 중첩 생략
descriptionstring
maxLength: 2000
추가 중첩 생략
defaultarray
추가 중첩 생략
items지정되지 않음필수
재귀적 유형 변수예요. 금액은 {amount_cents: integer, currency: ISO 4217 code}, date는 ISO 달력 날짜, datetime은 오프셋이 있는 ISO 타임스탬프를 사용해요.
추가 중첩 생략
samplesobject
미리보기와 원본 검증을 위한 이름 있는 샘플 값 집합.
추가 속성object
추가 속성모든 값
translationsobject
원본 ICU 메시지 카탈로그와 선택적으로 제공한 대상 카탈로그예요. 설정된 대상이 없으면 비동기 번역 대기열에 들어가며 저장에 필요하지 않아요.
추가 속성object
추가 속성string
step_contentsarray
minItems: 1
각 항목object
추가 속성 없음
step_idstring필수
format: "uuid"
contractobject필수
추가 속성 없음
source_localestring
기준 BCP 47 원본 로캘이며 생략하면 제품 설정을 상속해요.
configured_localesarray
원본 및 대상 로캘이며 생략된 원본은 서버가 추가해요.
maxItems: 100 · uniqueItems: true
각 항목string
fallback_localestring
layout_idstring
선택한 재사용 레이아웃이며 서버가 게시된 개정판의 스냅샷을 이 콘텐츠 개정판에 저장해요.
format: "uuid"
localization_policyobject
여정 이메일은 그 사람의 언어로만 보내요. 영수증, 코드, 보안 알림은 약 1분, 다른 이메일은 최대 하루 번역을 기다리며 그때까지 준비되지 않으면 보내지 않아요.
추가 속성 없음
manual_reviewboolean
default: false
sourceobject필수
추가 속성 없음
subjectstring필수
minLength: 1 · maxLength: 100000
preheaderstring
maxLength: 100000
body_textstring
원본 호환성을 위해 받으며 렌더링된 일반 텍스트는 최종 HTML에서 생성해요.
maxLength: 100000
body_htmlstring필수
minLength: 1 · maxLength: 100000
layoutstring
{{ content }} 슬롯 하나를 포함해야 해요.
maxLength: 100000
variantsobject
선택적 원본 버전이며 각 버전은 같은 개정판에서 자동 번역돼요.
추가 속성object
추가 속성 없음
추가 중첩 생략
variablesobject필수
추가 속성지정되지 않음
재귀적 유형 변수예요. 금액은 {amount_cents: integer, currency: ISO 4217 code}, date는 ISO 달력 날짜, datetime은 오프셋이 있는 ISO 타임스탬프를 사용해요.
추가 중첩 생략
samplesobject
미리보기와 원본 검증을 위한 이름 있는 샘플 값 집합.
추가 속성object
추가 속성모든 값
translationsobject
원본 ICU 메시지 카탈로그와 선택적으로 제공한 대상 카탈로그예요. 설정된 대상이 없으면 비동기 번역 대기열에 들어가며 저장에 필요하지 않아요.
추가 속성object
추가 속성string
추가 중첩 생략
oneOf 1지정되지 않음
oneOf 2지정되지 않음
성공 응답 200
같은 변환의 멱등 재실행.
application/json
valueobject
dataobject필수
journey_idstring필수
format: "uuid"
statusstring필수
enum: "draft"
review_requiredboolean필수
const: true
managed_content_stepsarray필수
각 항목object
step_idstring필수
format: "uuid"
managed_content_idstring필수
format: "uuid"
content_versioninteger필수
source_revision_idstring | null필수
format: "uuid"
previewobject필수
subjectstring필수
preheaderstring
htmlstring필수
textstring필수
localestring필수
directionstring필수
enum: "ltr", "rtl"
warningsarray
각 항목string
추가 중첩 생략
추가 속성모든 값
translation_jobsarray필수
각 항목string
format: "uuid"
managed_content_idstring
format: "uuid"
content_versioninteger
source_revision_idstring | null
format: "uuid"
previewobject
subjectstring필수
preheaderstring
htmlstring필수
textstring필수
localestring필수
directionstring필수
enum: "ltr", "rtl"
warningsarray
각 항목string
추가 속성모든 값
replayedboolean필수
approvalsarray필수
각 항목object
step_idstring필수
format: "uuid"
approvalobject필수
idstring필수
format: "uuid"
requested_by_actor_idstring필수
action_kindstring필수
summarystring필수
capability_scopesarray필수
각 항목string
추가 중첩 생략
resource_scopeobject필수
추가 속성array
추가 중첩 생략
payloadobject필수
추가 속성모든 값
payload_sha256string필수
pattern: "^[0-9a-f]{64}$"
statusstring필수
enum: "pending", "approved", "rejected", "cancelled", "expired"
missedboolean필수
expires_atstring필수
format: "date-time"
decided_by_actor_idstring | null
decision_reasonstring | null
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
decided_atstring | null
format: "date-time"
execution_job_idstring
format: "uuid"
reviewobject
추가 속성 없음
dispositionstring필수
enum: "automatic", "human_required"
추가 중첩 생략
recipient_countinteger | null필수
minimum: 0
추가 중첩 생략
reasonsarray필수
추가 중첩 생략
checksarray필수
추가 중첩 생략
approvalobject
idstring필수
format: "uuid"
requested_by_actor_idstring필수
action_kindstring필수
summarystring필수
capability_scopesarray필수
각 항목string
resource_scopeobject필수
추가 속성array
각 항목string
payloadobject필수
추가 속성모든 값
payload_sha256string필수
pattern: "^[0-9a-f]{64}$"
statusstring필수
enum: "pending", "approved", "rejected", "cancelled", "expired"
missedboolean필수
expires_atstring필수
format: "date-time"
decided_by_actor_idstring | null
decision_reasonstring | null
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
decided_atstring | null
format: "date-time"
execution_job_idstring
format: "uuid"
reviewobject
추가 속성 없음
dispositionstring필수
enum: "automatic", "human_required"
recipient_countinteger | null필수
minimum: 0
reasonsarray필수
각 항목string
checksarray필수
각 항목string
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}/convert-managed' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
--header 'Idempotency-Key: examplexxxxxxxxx' \
--header 'Content-Type: application/json' \
--data-raw '"example"'
POST/v1/workspaces/{workspaceId}/journeys/{journeyId}/render
분할 분기를 포함해 여정에 이메일 단계가 여러 개면 step_id를 지정하세요. 선택한 임시저장 또는 게시된 불변 콘텐츠 개정판을 사용해요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
성공 응답 200
렌더링된 제목, HTML, 일반 텍스트, 로캘, 개정판 ID, 추출 경고.
application/json
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}/render' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
--header 'Content-Type: application/json' \
--data-raw '{
"step_id": "00000000-0000-4000-8000-000000000001",
"content_state": "draft",
"locale": "example",
"timezone": "example",
"sample_set": "example",
"variables": {}
}'
POST/v1/workspaces/{workspaceId}/journeys/{journeyId}/simulate
읽기 전용 시뮬레이션이에요. enrollment를 생략하면 등록 후 미리보기이고 명시적 트리거 시나리오를 제공하면 현재 저장된 연락처 자격을 확인해요. enrollment가 있으면 scope는 from_trigger이고 첫 타임라인 항목 kind는 enrollment예요. 자격 없는 수신자는 여정 단계를 건너뛰지만 독립 단체 발송 후보는 계속돼요. assume_active는 가상 활성화를 모델링하며 관리 승인이 아니에요. 공급자 이벤트 수신/중복 제거, 전달과 지연, 과거 대상 상태, 예약 및 수신 이메일 트리거는 시뮬레이션하지 않아요. 발견된 API 여정은 특수 온보딩 upsert 경로를 사용하며 이후 전달 억제는 별도예요. 활성 API 여정은 연락처 upsert 전에 저장된 대상을 확인하고 시뮬레이션은 쓰기 없이 그 순서를 모델링해요. 따라서 억제된 API 수신자도 적격 등록 뒤 exit/suppress가 올 수 있으며 렌더링된 발송은 없고 대기 중인 단체 발송은 취소돼요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
atstring필수
format: "date-time"
enrollment_idstring
content_statestring
default: "draft" · enum: "draft", "published"
localestring
variablesobject
추가 속성모든 값
communication_historyarray
이 시뮬레이션 수신자의 이전 발송 또는 예약.
maxItems: 10000
각 항목string
format: "date-time"
contactobject필수
emailstring필수
format: "email"
display_namestring필수
attributesobject필수
추가 속성모든 값
enrollmentobject
최상위 at 타임스탬프의 선택적 트리거 시도예요. 저장된 연락처는 현재 구독, 억제, 대상 소속을 사용해요. 가상 API/이벤트 연락처는 명시적 subscribed 및 suppressed=false 상태와 all_subscribed 대상이 필요해요.
추가 속성 없음
kindstring필수
enum: "manual", "api", "contact_created", "audience_joined", "event"
eventstring
maxLength: 200
assume_activeboolean
default: false
contact_statusstring
enum: "subscribed", "unsubscribed"
suppressedboolean
eventsarray
maxItems: 1000
각 항목object
atstring필수
format: "date-time"
kindstring필수
enum: "attributes", "reply", "unsubscribe", "suppress", "goal"
attributesobject
추가 속성모든 값
broadcastsarray
같은 수신자 타임라인에서 평가되는 저장된 예약 단체 발송 또는 명시적 관리형 콘텐츠 후보.
maxItems: 20
각 항목object
추가 속성 없음
idstring
maxLength: 100
atstring
format: "date-time"
expires_atstring
format: "date-time"
campaign_idstring
format: "uuid"
content_idstring
format: "uuid"
source_revision_idstring
format: "uuid"
localestring
variablesobject
추가 속성모든 값
oneOf 1지정되지 않음
oneOf 2지정되지 않음
성공 응답 200
정렬된 타임라인, 렌더링된 이메일 상세, scope, 시뮬레이션 경고예요. 등록 결과에는 eligible, eligible_assuming_activation, trigger_mismatch, event_mismatch, journey_not_active_or_reviewed, contact_unsubscribed, recipient_hash_missing, contact_suppressed, outside_journey_audience, already_enrolled, contact_predates_enrollment_scan, saved_contact_required, contact_state_unverified, audience_unverified가 있어요. 상세는 트리거와 연락처 상태 소스를 식별하며 저장된 트리거 조건을 현재 런타임이 평가하지 않는다고 표시할 수 있어요. 이미 발송 대기열에 있는 저장된 단체 발송 수신자는 already_queued이고 already_sent는 접수된 발송에만 사용해요.
application/json
valueobject
dataobject필수
journey_idstring필수
format: "uuid"
journey_versioninteger필수
content_statestring필수
enum: "draft", "published"
scopestring필수
enum: "from_trigger", "after_enrollment"
communication_policy_versioninteger필수
timelinearray필수
각 항목object
atstring필수
format: "date-time"
step_idstring
format: "uuid"
kindstring필수
outcomestring필수
details지정되지 않음
결과별 시뮬레이션 증거.
emailsarray필수
각 항목object
step_idstring | null필수
format: "uuid"
namestring필수
armobject
split_step_idstring
format: "uuid"
keystring필수
labelstring필수
sourcestring필수
enum: "managed", "design", "inline", "empty"
statusstring필수
enum: "rendered", "blocked"
subjectstring
previewstring
codestring
messagestring
warningsarray필수
각 항목string
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}/simulate' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
--header 'Content-Type: application/json' \
--data-raw '{
"at": "2026-01-01T00:00:00Z",
"enrollment_id": "example",
"content_state": "draft",
"locale": "example",
"variables": {},
"communication_history": [
"2026-01-01T00:00:00Z"
],
"contact": {
"email": "person@example.com",
"display_name": "example",
"attributes": {}
},
"enrollment": {
"kind": "manual",
"event": "example",
"assume_active": false,
"contact_status": "subscribed",
"suppressed": true
},
"events": [
{
"at": "2026-01-01T00:00:00Z",
"kind": "attributes",
"attributes": {}
}
],
"broadcasts": [
"example"
]
}'
POST/v1/workspaces/{workspaceId}/journeys/{journeyId}/status
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
성공 응답 200
여정 상태가 업데이트됐어요.
application/json
valueobject
data지정되지 않음필수
allOf 1object
추가 속성 없음
namestring필수
minLength: 1 · maxLength: 200
descriptionstring
maxLength: 2000
mailbox_idstring
기존 발신자예요. 생략하면 온보딩 발신자, 활성 사용자 지정 메일함, 호스팅 메일함 순으로 우선해요. 저장되거나 명시된 발신자는 바뀌지 않아요.
format: "uuid"
from_local_partstring
maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"
triggerobject필수
kindstring필수
enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"
connection_idstring
format: "uuid"
configobject
eventstring
once_per_personboolean
각 사람은 한 번만 진입해요. 완료 후 다시 진입하게 하려면 false로 설정하세요.
default: true
reentry_daysinteger
once_per_person이 false이면 마지막 진입 후 재진입까지 필요한 일수.
minimum: 1 · maximum: 365
추가 속성모든 값
conditionsarray
각 항목object
추가 속성모든 값
audienceobject
추가 속성모든 값
goalobject
추가 속성 없음
kindstring필수
enum: "none", "event", "reply", "conversion"
connection_idstring
format: "uuid"
configobject필수
추가 속성모든 값
exitobject
추가 속성 없음
on_replyboolean
default: true
on_unsubscribeboolean
default: true
on_suppressionboolean
default: true
eventstring
maxLength: 200
approval_modestring
enum: "policy", "required"
apiobject
keystring
maxLength: 100
content_modestring
enum: "code", "managed"
identitystring
maxLength: 300
managed_contentobject
생성 전용 단축 작업으로 원본 관리 이메일 임시저장과 이를 이메일 단계에서 참조하는 여정을 원자적으로 저장해요. 없는 대상 언어는 무료 번역 대기열에 들어가며 여정을 게시하거나 활성화하지 않아요.
추가 속성 없음
source_localestring
기준 BCP 47 원본 로캘이며 생략하면 제품 설정을 상속해요.
configured_localesarray
원본 및 대상 로캘이며 생략된 원본은 서버가 추가해요.
maxItems: 100 · uniqueItems: true
각 항목string
fallback_localestring
layout_idstring
선택한 재사용 레이아웃이며 서버가 게시된 개정판의 스냅샷을 이 콘텐츠 개정판에 저장해요.
format: "uuid"
localization_policyobject
여정 이메일은 그 사람의 언어로만 보내요. 영수증, 코드, 보안 알림은 약 1분, 다른 이메일은 최대 하루 번역을 기다리며 그때까지 준비되지 않으면 보내지 않아요.
추가 속성 없음
manual_reviewboolean
default: false
sourceobject필수
추가 속성 없음
subjectstring필수
minLength: 1 · maxLength: 100000
preheaderstring
maxLength: 100000
body_textstring
원본 호환성을 위해 받으며 렌더링된 일반 텍스트는 최종 HTML에서 생성해요.
maxLength: 100000
body_htmlstring필수
minLength: 1 · maxLength: 100000
layoutstring
{{ content }} 슬롯 하나를 포함해야 해요.
maxLength: 100000
variantsobject
선택적 원본 버전이며 각 버전은 같은 개정판에서 자동 번역돼요.
추가 속성object
추가 속성 없음
추가 중첩 생략
variablesobject필수
추가 속성지정되지 않음
재귀적 유형 변수예요. 금액은 {amount_cents: integer, currency: ISO 4217 code}, date는 ISO 달력 날짜, datetime은 오프셋이 있는 ISO 타임스탬프를 사용해요.
추가 중첩 생략
samplesobject
미리보기와 원본 검증을 위한 이름 있는 샘플 값 집합.
추가 속성object
추가 속성모든 값
translationsobject
원본 ICU 메시지 카탈로그와 선택적으로 제공한 대상 카탈로그예요. 설정된 대상이 없으면 비동기 번역 대기열에 들어가며 저장에 필요하지 않아요.
추가 속성object
추가 속성string
추가 중첩 생략
stepsarray필수
maxItems: 100
각 항목object
추가 속성 없음
idstring
format: "uuid"
positioninteger
minimum: 1 · maximum: 100
kindstring필수
enum: "email", "wait", "condition", "action", "split"
namestring필수
minLength: 1 · maxLength: 200
managed_contentobject
이메일 단계의 유형이 있는 원본 계약과 임시저장/게시 개정판 ID.
idstring
format: "uuid"
추가 중첩 생략
versioninteger
추가 중첩 생략
draft_revision_idstring | null
format: "uuid"
추가 중첩 생략
published_revision_idstring | null
format: "uuid"
추가 중첩 생략
published_publication_idstring | null
format: "uuid"
추가 중첩 생략
source_revision_idstring | null
format: "uuid"
추가 중첩 생략
layout_revision_idstring | null
format: "uuid"
추가 중첩 생략
published_layout_revision_idstring | null
format: "uuid"
추가 중첩 생략
source_localestring | null
추가 중첩 생략
configured_localesarray
추가 중첩 생략
variablesobject
추가 중첩 생략
published_variablesobject
추가 중첩 생략
configobject필수
대기 단계는 선택적으로 name, path, operator(equals, not_equals, contains, exists), value가 있는 until과 필수 on_met(continue, end_journey)을 받아요. continue는 다음 알림 이메일을 건너뛰고 end_journey는 여정을 완료해요. 같은 분기에서 알림 이메일이 바로 뒤따라야 해요. 대기는 amount/unit까지 매분 현재 고객 데이터를 확인해요. 없는 필드는 알 수 없음으로 처리해 알림을 보류해요. 일반 대기와 독립 조건은 기존 동작을 유지해요. 검증된 고객 이정표로 검사 이름을 지으세요. 관리형 이메일 단계는 managed_content_id로 게시된 콘텐츠를 참조하며 활성화는 미게시 참조를 거부해요. 이메일 단계는 expires_after_seconds(1-604800)를 설정해 원래 시작부터 그 간격 후 지연 발송을 폐기할 수 있고 기본값은 7일이에요.
추가 속성모든 값
armsarray
minItems: 2 · maxItems: 4
각 항목object
추가 속성 없음
추가 중첩 생략
allOf 2object
idstring필수
format: "uuid"
statusstring필수
enum: "draft", "discovered", "active", "paused", "archived"
api_keystring | null
content_modestring | null
enum: "code", "managed", null
identitystring | null
identity_aliasesarray
각 항목string
samplesarray
각 항목object
추가 속성모든 값
versioninteger필수
minimum: 1
statsobject필수
추가 속성모든 값
stepStatsarray
각 항목object
추가 속성모든 값
armStatsarray
각 항목object
추가 속성모든 값
healthobject필수
추가 속성모든 값
indicatorobject필수
추가 속성모든 값
sparklinearray필수
각 항목number
activated_atstring | null
format: "date-time"
updated_atstring
format: "date-time"
last_activity_atstring | null
format: "date-time"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}/status' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"status": "draft"
}'
POST/v1/workspaces/{workspaceId}/journeys/{journeyId}/preview
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
여정 대상과 준비 상태 미리보기.
application/json
valueobject
dataobject필수
sequence_idstring필수
format: "uuid"
recipient_countinteger필수
sample_recipientsarray필수
각 항목object
idstring필수
format: "uuid"
emailstring필수
display_namestring | null필수
stepsarray필수
각 항목object
추가 속성 없음
idstring
format: "uuid"
positioninteger
minimum: 1 · maximum: 100
kindstring필수
enum: "email", "wait", "condition", "action", "split"
namestring필수
minLength: 1 · maxLength: 200
managed_contentobject
이메일 단계의 유형이 있는 원본 계약과 임시저장/게시 개정판 ID.
idstring
format: "uuid"
versioninteger
draft_revision_idstring | null
format: "uuid"
published_revision_idstring | null
format: "uuid"
published_publication_idstring | null
format: "uuid"
source_revision_idstring | null
format: "uuid"
layout_revision_idstring | null
format: "uuid"
published_layout_revision_idstring | null
format: "uuid"
source_localestring | null
configured_localesarray
각 항목string
추가 중첩 생략
variablesobject
추가 속성모든 값
published_variablesobject
추가 속성모든 값
configobject필수
대기 단계는 선택적으로 name, path, operator(equals, not_equals, contains, exists), value가 있는 until과 필수 on_met(continue, end_journey)을 받아요. continue는 다음 알림 이메일을 건너뛰고 end_journey는 여정을 완료해요. 같은 분기에서 알림 이메일이 바로 뒤따라야 해요. 대기는 amount/unit까지 매분 현재 고객 데이터를 확인해요. 없는 필드는 알 수 없음으로 처리해 알림을 보류해요. 일반 대기와 독립 조건은 기존 동작을 유지해요. 검증된 고객 이정표로 검사 이름을 지으세요. 관리형 이메일 단계는 managed_content_id로 게시된 콘텐츠를 참조하며 활성화는 미게시 참조를 거부해요. 이메일 단계는 expires_after_seconds(1-604800)를 설정해 원래 시작부터 그 간격 후 지연 발송을 폐기할 수 있고 기본값은 7일이에요.
추가 속성모든 값
armsarray
minItems: 2 · maxItems: 4
각 항목object
추가 속성 없음
keystring필수
enum: "A", "B", "C", "D"
추가 중첩 생략
labelstring필수
maxLength: 120
추가 중첩 생략
allocationnumber필수
minimum: 0 · maximum: 100
추가 중첩 생략
stepsarray필수
추가 중첩 생략
readyboolean필수
exit_configobject필수
추가 속성 없음
on_replyboolean
default: true
on_unsubscribeboolean
default: true
on_suppressionboolean
default: true
eventstring
maxLength: 200
emailsarray필수
각 항목object
step_idstring | null필수
format: "uuid"
namestring필수
armobject
split_step_idstring
format: "uuid"
keystring필수
labelstring필수
sourcestring필수
enum: "managed", "design", "inline", "empty"
template_idstring
format: "uuid"
managed_content_idstring
format: "uuid"
subjectstring필수
previewstring필수
blockersarray필수
각 항목object
codestring필수
추가 중첩 생략
messagestring필수
추가 중첩 생략
blockersarray필수
각 항목object
codestring필수
messagestring필수
step_idstring | null필수
format: "uuid"
step_namestring필수
armstring
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}/preview' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/journeys/{journeyId}/enroll
action_kind sequence.enroll과 payload {sequence_id, contact_ids, sequence_version?, sequence_definition_sha256?}를 사용하는 POST /approvals의 별칭이에요. 같은 Idempotency-Key를 사용하므로 두 경로 모두 같은 키로 같은 승인을 반환해요. campaigns:send와 제품이 필요해요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
contact_idsarray필수
minItems: 1 · maxItems: 2000
각 항목string
format: "uuid"
sequence_versioninteger
minimum: 1
sequence_definition_sha256string
pattern: "^[a-f0-9]{64}$"
성공 응답 200
같은 Idempotency-Key로 기존 승인을 재실행했어요.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
requested_by_actor_idstring필수
action_kindstring필수
summarystring필수
capability_scopesarray필수
각 항목string
resource_scopeobject필수
추가 속성array
각 항목string
payloadobject필수
추가 속성모든 값
payload_sha256string필수
pattern: "^[0-9a-f]{64}$"
statusstring필수
enum: "pending", "approved", "rejected", "cancelled", "expired"
missedboolean필수
expires_atstring필수
format: "date-time"
decided_by_actor_idstring | null
decision_reasonstring | null
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
decided_atstring | null
format: "date-time"
execution_job_idstring
format: "uuid"
reviewobject
추가 속성 없음
dispositionstring필수
enum: "automatic", "human_required"
recipient_countinteger | null필수
minimum: 0
reasonsarray필수
각 항목string
checksarray필수
각 항목string
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}/enroll' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Idempotency-Key: examplexxxxxxxxx' \
--header 'Content-Type: application/json' \
--data-raw '{
"contact_ids": [
"00000000-0000-4000-8000-000000000001"
],
"sequence_version": 1,
"sequence_definition_sha256": "example"
}'
GET/v1/workspaces/{workspaceId}/journeys/{journeyId}/executions
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
여정 단계 실행.
application/json
valueobject
dataarray필수
각 항목object
enrollment_idstring필수
format: "uuid"
step_idstring필수
format: "uuid"
positioninteger필수
kindstring필수
namestring필수
statusstring필수
attempt_countinteger필수
send_intent_idstring | null필수
format: "uuid"
error_codestring | null필수
started_atstring | null필수
format: "date-time"
completed_atstring | null필수
format: "date-time"
updated_atstring필수
format: "date-time"
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}/executions' \
--header "Authorization: Bearer $BANGER_API_KEY"
GET/v1/workspaces/{workspaceId}/journeys/{journeyId}/people
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
최근 진입 순으로 정렬된 여정 참여자와 각 이메일 단계 결과.
application/json
valueobject
dataobject필수
stepsobject필수
누군가 도달한 모든 단계에 대해 단계 ID를 키로 해요.
추가 속성object
receivedinteger필수
skippedinteger필수
failedinteger필수
nowinteger필수
emailsarray필수
각 항목object
step_idstring필수
format: "uuid"
namestring필수
subjectstring필수
split_step_idstring
format: "uuid"
arm_keystring
countsobject필수
allinteger필수
in_progressinteger필수
finishedinteger필수
goal_reachedinteger필수
exitedinteger필수
failedinteger필수
peoplearray필수
각 항목object
enrollment_idstring필수
format: "uuid"
contact_idstring필수
format: "uuid"
emailstring필수
display_namestring필수
statestring필수
enum: "in_progress", "finished", "goal_reached", "exited", "failed"
stop_reasonstring
error_codestring
current_stepobject
idstring필수
format: "uuid"
namestring필수
kindstring필수
next_action_atstring
format: "date-time"
enrolled_atstring필수
format: "date-time"
completed_atstring
format: "date-time"
pathsobject필수
추가 속성string
emailsobject필수
이메일 단계 ID를 키로 하며 항목이 없는 단계는 아직 도달하지 않았어요.
추가 속성object
statestring필수
translating은 그 사람의 번역을 기다린다는 뜻이에요. skipped에는 제시간에 번역이 준비되지 않은 이유인 error_code translation_failed, translation_awaiting_review, translation_still_preparing이 포함되며 이정표에 먼저 도달했으면 none이에요.
enum: "pending", "translating", "skipped", "failed", "queued", "sent", "delivered", "opened", "clicked", "replied", "bounced", "complained"
추가 중첩 생략
atstring필수
format: "date-time"
추가 중첩 생략
send_intent_idstring
GET /transactional-sends/{send_intent_id}로 이 사람이 받은 정확한 메시지를 읽어요.
format: "uuid"
추가 중첩 생략
error_codestring
추가 중첩 생략
language지정되지 않음
이 사람이 이메일을 받은 언어 또는 translating 중 기다리는 언어.
추가 중첩 생략
variant_keystring
단계에서 실험할 때 그 사람이 받은 이메일의 실험 변형.
추가 중첩 생략
pageobject필수
has_moreboolean필수
next_cursorstring
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}/people?cursor=example&limit=50&state=in_progress&query=example&step_id=00000000-0000-4000-8000-000000000001&at=now' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/journeys/{journeyKey}/send
여정을 통해 이메일 한 통을 보내요. reply_to 기본값은 여정 메일함이며 빈 목록도 기본값을 뜻해요. 거부(4xx)는 수신자에 대해 동결된 항목을 남기지 않으므로 새 멱등성 키로 수정한 호출은 발송돼요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
to지정되지 않음
to, cc, bcc, reply_to 수신자: 주소("a@example.com" 또는 "Pat <a@example.com>"), { email, name } 객체, 또는 둘을 섞은 목록이에요. Banger는 이메일을 소문자로 바꾼 { email, name } 객체로 저장해요. 멱등성 해시는 발송된 본문을 포함하므로 같은 형식으로 재시도하세요.
oneOf 1string
minLength: 3 · maxLength: 1000
oneOf 2object
namestring
emailstring필수
format: "email"
oneOf 3array
maxItems: 500
각 항목지정되지 않음
oneOf 1string
minLength: 3 · maxLength: 1000
oneOf 2object
namestring
emailstring필수
format: "email"
reply_to지정되지 않음
to, cc, bcc, reply_to 수신자: 주소("a@example.com" 또는 "Pat <a@example.com>"), { email, name } 객체, 또는 둘을 섞은 목록이에요. Banger는 이메일을 소문자로 바꾼 { email, name } 객체로 저장해요. 멱등성 해시는 발송된 본문을 포함하므로 같은 형식으로 재시도하세요.
oneOf 1string
minLength: 3 · maxLength: 1000
oneOf 2object
namestring
emailstring필수
format: "email"
oneOf 3array
maxItems: 500
각 항목지정되지 않음
oneOf 1string
minLength: 3 · maxLength: 1000
oneOf 2object
namestring
emailstring필수
format: "email"
expires_atstring
format: "date-time"
expires_after_secondsinteger
minimum: 1 · maximum: 604800
추가 속성모든 값
성공 응답 202
여정 이메일이 접수됐어요.
application/json
valueobject
dataobject필수
action_kindstring필수
enum: "transactional.send"
idstring
format: "uuid"
send_intent_idstring
format: "uuid"
provider_attempt_idstring
format: "uuid"
statusstring필수
전달에 따른 sent/queued 상태 또는 동결된 요청의 상태: deferred(정책 예약 또는 번역 대기), processing(발송 중), discarded.
replayedboolean
journey지정되지 않음필수
anyOf 1object
journey_idstring필수
format: "uuid"
enrollment_idstring필수
format: "uuid"
step_idstring필수
format: "uuid"
step_positioninteger필수
originstring
enum: "journey"
journey_identitystring
anyOf 2null
ignored_variablesarray필수
각 항목string
scheduled_atstring
format: "date-time"
reasonstring
communication_reservation_idstring
format: "uuid"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyKey}/send' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Idempotency-Key: examplexxxxxxxxx' \
--header 'Content-Type: application/json' \
--data-raw '{
"to": "example",
"reply_to": "example",
"expires_at": "2026-01-01T00:00:00Z",
"expires_after_seconds": 1
}'
POST/v1/workspaces/{workspaceId}/journeys/{journeyId}/claim
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
namestring필수
minLength: 1 · maxLength: 200
mailbox_idstring필수
format: "uuid"
delivery_classstring필수
enum: "product", "broadcast"
content_modestring필수
enum: "code", "managed"
template_idstring
format: "uuid"
from_sampleboolean
variablesarray
maxItems: 50
각 항목object
literalstring필수
minLength: 1 · maxLength: 10000
namestring필수
pattern: "^[a-z][a-z0-9_]{0,63}$"
activateboolean
성공 응답 200
발견된 여정을 인수했어요.
application/json
valueobject
data지정되지 않음필수
allOf 1object
추가 속성 없음
namestring필수
minLength: 1 · maxLength: 200
descriptionstring
maxLength: 2000
mailbox_idstring
기존 발신자예요. 생략하면 온보딩 발신자, 활성 사용자 지정 메일함, 호스팅 메일함 순으로 우선해요. 저장되거나 명시된 발신자는 바뀌지 않아요.
format: "uuid"
from_local_partstring
maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"
triggerobject필수
kindstring필수
enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"
connection_idstring
format: "uuid"
configobject
eventstring
once_per_personboolean
각 사람은 한 번만 진입해요. 완료 후 다시 진입하게 하려면 false로 설정하세요.
default: true
reentry_daysinteger
once_per_person이 false이면 마지막 진입 후 재진입까지 필요한 일수.
minimum: 1 · maximum: 365
추가 속성모든 값
conditionsarray
각 항목object
추가 속성모든 값
audienceobject
추가 속성모든 값
goalobject
추가 속성 없음
kindstring필수
enum: "none", "event", "reply", "conversion"
connection_idstring
format: "uuid"
configobject필수
추가 속성모든 값
exitobject
추가 속성 없음
on_replyboolean
default: true
on_unsubscribeboolean
default: true
on_suppressionboolean
default: true
eventstring
maxLength: 200
approval_modestring
enum: "policy", "required"
apiobject
keystring
maxLength: 100
content_modestring
enum: "code", "managed"
identitystring
maxLength: 300
managed_contentobject
생성 전용 단축 작업으로 원본 관리 이메일 임시저장과 이를 이메일 단계에서 참조하는 여정을 원자적으로 저장해요. 없는 대상 언어는 무료 번역 대기열에 들어가며 여정을 게시하거나 활성화하지 않아요.
추가 속성 없음
source_localestring
기준 BCP 47 원본 로캘이며 생략하면 제품 설정을 상속해요.
configured_localesarray
원본 및 대상 로캘이며 생략된 원본은 서버가 추가해요.
maxItems: 100 · uniqueItems: true
각 항목string
fallback_localestring
layout_idstring
선택한 재사용 레이아웃이며 서버가 게시된 개정판의 스냅샷을 이 콘텐츠 개정판에 저장해요.
format: "uuid"
localization_policyobject
여정 이메일은 그 사람의 언어로만 보내요. 영수증, 코드, 보안 알림은 약 1분, 다른 이메일은 최대 하루 번역을 기다리며 그때까지 준비되지 않으면 보내지 않아요.
추가 속성 없음
manual_reviewboolean
default: false
sourceobject필수
추가 속성 없음
subjectstring필수
minLength: 1 · maxLength: 100000
preheaderstring
maxLength: 100000
body_textstring
원본 호환성을 위해 받으며 렌더링된 일반 텍스트는 최종 HTML에서 생성해요.
maxLength: 100000
body_htmlstring필수
minLength: 1 · maxLength: 100000
layoutstring
{{ content }} 슬롯 하나를 포함해야 해요.
maxLength: 100000
variantsobject
선택적 원본 버전이며 각 버전은 같은 개정판에서 자동 번역돼요.
추가 속성object
추가 속성 없음
추가 중첩 생략
variablesobject필수
추가 속성지정되지 않음
재귀적 유형 변수예요. 금액은 {amount_cents: integer, currency: ISO 4217 code}, date는 ISO 달력 날짜, datetime은 오프셋이 있는 ISO 타임스탬프를 사용해요.
추가 중첩 생략
samplesobject
미리보기와 원본 검증을 위한 이름 있는 샘플 값 집합.
추가 속성object
추가 속성모든 값
translationsobject
원본 ICU 메시지 카탈로그와 선택적으로 제공한 대상 카탈로그예요. 설정된 대상이 없으면 비동기 번역 대기열에 들어가며 저장에 필요하지 않아요.
추가 속성object
추가 속성string
추가 중첩 생략
stepsarray필수
maxItems: 100
각 항목object
추가 속성 없음
idstring
format: "uuid"
positioninteger
minimum: 1 · maximum: 100
kindstring필수
enum: "email", "wait", "condition", "action", "split"
namestring필수
minLength: 1 · maxLength: 200
managed_contentobject
이메일 단계의 유형이 있는 원본 계약과 임시저장/게시 개정판 ID.
idstring
format: "uuid"
추가 중첩 생략
versioninteger
추가 중첩 생략
draft_revision_idstring | null
format: "uuid"
추가 중첩 생략
published_revision_idstring | null
format: "uuid"
추가 중첩 생략
published_publication_idstring | null
format: "uuid"
추가 중첩 생략
source_revision_idstring | null
format: "uuid"
추가 중첩 생략
layout_revision_idstring | null
format: "uuid"
추가 중첩 생략
published_layout_revision_idstring | null
format: "uuid"
추가 중첩 생략
source_localestring | null
추가 중첩 생략
configured_localesarray
추가 중첩 생략
variablesobject
추가 중첩 생략
published_variablesobject
추가 중첩 생략
configobject필수
대기 단계는 선택적으로 name, path, operator(equals, not_equals, contains, exists), value가 있는 until과 필수 on_met(continue, end_journey)을 받아요. continue는 다음 알림 이메일을 건너뛰고 end_journey는 여정을 완료해요. 같은 분기에서 알림 이메일이 바로 뒤따라야 해요. 대기는 amount/unit까지 매분 현재 고객 데이터를 확인해요. 없는 필드는 알 수 없음으로 처리해 알림을 보류해요. 일반 대기와 독립 조건은 기존 동작을 유지해요. 검증된 고객 이정표로 검사 이름을 지으세요. 관리형 이메일 단계는 managed_content_id로 게시된 콘텐츠를 참조하며 활성화는 미게시 참조를 거부해요. 이메일 단계는 expires_after_seconds(1-604800)를 설정해 원래 시작부터 그 간격 후 지연 발송을 폐기할 수 있고 기본값은 7일이에요.
추가 속성모든 값
armsarray
minItems: 2 · maxItems: 4
각 항목object
추가 속성 없음
추가 중첩 생략
allOf 2object
idstring필수
format: "uuid"
statusstring필수
enum: "draft", "discovered", "active", "paused", "archived"
api_keystring | null
content_modestring | null
enum: "code", "managed", null
identitystring | null
identity_aliasesarray
각 항목string
samplesarray
각 항목object
추가 속성모든 값
versioninteger필수
minimum: 1
statsobject필수
추가 속성모든 값
stepStatsarray
각 항목object
추가 속성모든 값
armStatsarray
각 항목object
추가 속성모든 값
healthobject필수
추가 속성모든 값
indicatorobject필수
추가 속성모든 값
sparklinearray필수
각 항목number
activated_atstring | null
format: "date-time"
updated_atstring
format: "date-time"
last_activity_atstring | null
format: "date-time"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}/claim' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "example",
"mailbox_id": "00000000-0000-4000-8000-000000000001",
"delivery_class": "product",
"content_mode": "code",
"template_id": "00000000-0000-4000-8000-000000000001",
"from_sample": true,
"variables": [
{
"literal": "example",
"name": "example"
}
],
"activate": true
}'
POST/v1/workspaces/{workspaceId}/journeys/{journeyId}/merge
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
loser_idstring필수
format: "uuid"
성공 응답 200
여정이 병합됐어요.
application/json
valueobject
data지정되지 않음필수
allOf 1object
추가 속성 없음
namestring필수
minLength: 1 · maxLength: 200
descriptionstring
maxLength: 2000
mailbox_idstring
기존 발신자예요. 생략하면 온보딩 발신자, 활성 사용자 지정 메일함, 호스팅 메일함 순으로 우선해요. 저장되거나 명시된 발신자는 바뀌지 않아요.
format: "uuid"
from_local_partstring
maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"
triggerobject필수
kindstring필수
enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"
connection_idstring
format: "uuid"
configobject
eventstring
once_per_personboolean
각 사람은 한 번만 진입해요. 완료 후 다시 진입하게 하려면 false로 설정하세요.
default: true
reentry_daysinteger
once_per_person이 false이면 마지막 진입 후 재진입까지 필요한 일수.
minimum: 1 · maximum: 365
추가 속성모든 값
conditionsarray
각 항목object
추가 속성모든 값
audienceobject
추가 속성모든 값
goalobject
추가 속성 없음
kindstring필수
enum: "none", "event", "reply", "conversion"
connection_idstring
format: "uuid"
configobject필수
추가 속성모든 값
exitobject
추가 속성 없음
on_replyboolean
default: true
on_unsubscribeboolean
default: true
on_suppressionboolean
default: true
eventstring
maxLength: 200
approval_modestring
enum: "policy", "required"
apiobject
keystring
maxLength: 100
content_modestring
enum: "code", "managed"
identitystring
maxLength: 300
managed_contentobject
생성 전용 단축 작업으로 원본 관리 이메일 임시저장과 이를 이메일 단계에서 참조하는 여정을 원자적으로 저장해요. 없는 대상 언어는 무료 번역 대기열에 들어가며 여정을 게시하거나 활성화하지 않아요.
추가 속성 없음
source_localestring
기준 BCP 47 원본 로캘이며 생략하면 제품 설정을 상속해요.
configured_localesarray
원본 및 대상 로캘이며 생략된 원본은 서버가 추가해요.
maxItems: 100 · uniqueItems: true
각 항목string
fallback_localestring
layout_idstring
선택한 재사용 레이아웃이며 서버가 게시된 개정판의 스냅샷을 이 콘텐츠 개정판에 저장해요.
format: "uuid"
localization_policyobject
여정 이메일은 그 사람의 언어로만 보내요. 영수증, 코드, 보안 알림은 약 1분, 다른 이메일은 최대 하루 번역을 기다리며 그때까지 준비되지 않으면 보내지 않아요.
추가 속성 없음
manual_reviewboolean
default: false
sourceobject필수
추가 속성 없음
subjectstring필수
minLength: 1 · maxLength: 100000
preheaderstring
maxLength: 100000
body_textstring
원본 호환성을 위해 받으며 렌더링된 일반 텍스트는 최종 HTML에서 생성해요.
maxLength: 100000
body_htmlstring필수
minLength: 1 · maxLength: 100000
layoutstring
{{ content }} 슬롯 하나를 포함해야 해요.
maxLength: 100000
variantsobject
선택적 원본 버전이며 각 버전은 같은 개정판에서 자동 번역돼요.
추가 속성object
추가 속성 없음
추가 중첩 생략
variablesobject필수
추가 속성지정되지 않음
재귀적 유형 변수예요. 금액은 {amount_cents: integer, currency: ISO 4217 code}, date는 ISO 달력 날짜, datetime은 오프셋이 있는 ISO 타임스탬프를 사용해요.
추가 중첩 생략
samplesobject
미리보기와 원본 검증을 위한 이름 있는 샘플 값 집합.
추가 속성object
추가 속성모든 값
translationsobject
원본 ICU 메시지 카탈로그와 선택적으로 제공한 대상 카탈로그예요. 설정된 대상이 없으면 비동기 번역 대기열에 들어가며 저장에 필요하지 않아요.
추가 속성object
추가 속성string
추가 중첩 생략
stepsarray필수
maxItems: 100
각 항목object
추가 속성 없음
idstring
format: "uuid"
positioninteger
minimum: 1 · maximum: 100
kindstring필수
enum: "email", "wait", "condition", "action", "split"
namestring필수
minLength: 1 · maxLength: 200
managed_contentobject
이메일 단계의 유형이 있는 원본 계약과 임시저장/게시 개정판 ID.
idstring
format: "uuid"
추가 중첩 생략
versioninteger
추가 중첩 생략
draft_revision_idstring | null
format: "uuid"
추가 중첩 생략
published_revision_idstring | null
format: "uuid"
추가 중첩 생략
published_publication_idstring | null
format: "uuid"
추가 중첩 생략
source_revision_idstring | null
format: "uuid"
추가 중첩 생략
layout_revision_idstring | null
format: "uuid"
추가 중첩 생략
published_layout_revision_idstring | null
format: "uuid"
추가 중첩 생략
source_localestring | null
추가 중첩 생략
configured_localesarray
추가 중첩 생략
variablesobject
추가 중첩 생략
published_variablesobject
추가 중첩 생략
configobject필수
대기 단계는 선택적으로 name, path, operator(equals, not_equals, contains, exists), value가 있는 until과 필수 on_met(continue, end_journey)을 받아요. continue는 다음 알림 이메일을 건너뛰고 end_journey는 여정을 완료해요. 같은 분기에서 알림 이메일이 바로 뒤따라야 해요. 대기는 amount/unit까지 매분 현재 고객 데이터를 확인해요. 없는 필드는 알 수 없음으로 처리해 알림을 보류해요. 일반 대기와 독립 조건은 기존 동작을 유지해요. 검증된 고객 이정표로 검사 이름을 지으세요. 관리형 이메일 단계는 managed_content_id로 게시된 콘텐츠를 참조하며 활성화는 미게시 참조를 거부해요. 이메일 단계는 expires_after_seconds(1-604800)를 설정해 원래 시작부터 그 간격 후 지연 발송을 폐기할 수 있고 기본값은 7일이에요.
추가 속성모든 값
armsarray
minItems: 2 · maxItems: 4
각 항목object
추가 속성 없음
추가 중첩 생략
allOf 2object
idstring필수
format: "uuid"
statusstring필수
enum: "draft", "discovered", "active", "paused", "archived"
api_keystring | null
content_modestring | null
enum: "code", "managed", null
identitystring | null
identity_aliasesarray
각 항목string
samplesarray
각 항목object
추가 속성모든 값
versioninteger필수
minimum: 1
statsobject필수
추가 속성모든 값
stepStatsarray
각 항목object
추가 속성모든 값
armStatsarray
각 항목object
추가 속성모든 값
healthobject필수
추가 속성모든 값
indicatorobject필수
추가 속성모든 값
sparklinearray필수
각 항목number
activated_atstring | null
format: "date-time"
updated_atstring
format: "date-time"
last_activity_atstring | null
format: "date-time"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}/merge' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"loser_id": "00000000-0000-4000-8000-000000000001"
}'
POST/v1/workspaces/{workspaceId}/journeys/{journeyId}/splits/{stepId}/decide
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
arm_keystring필수
성공 응답 200
승리 분기가 승격됐어요.
application/json
valueobject
data지정되지 않음필수
allOf 1object
추가 속성 없음
namestring필수
minLength: 1 · maxLength: 200
descriptionstring
maxLength: 2000
mailbox_idstring
기존 발신자예요. 생략하면 온보딩 발신자, 활성 사용자 지정 메일함, 호스팅 메일함 순으로 우선해요. 저장되거나 명시된 발신자는 바뀌지 않아요.
format: "uuid"
from_local_partstring
maxLength: 64 · pattern: "^[a-z0-9][a-z0-9._+-]{0,62}$"
triggerobject필수
kindstring필수
enum: "manual", "contact_created", "audience_joined", "event", "schedule", "inbound_email", "api"
connection_idstring
format: "uuid"
configobject
eventstring
once_per_personboolean
각 사람은 한 번만 진입해요. 완료 후 다시 진입하게 하려면 false로 설정하세요.
default: true
reentry_daysinteger
once_per_person이 false이면 마지막 진입 후 재진입까지 필요한 일수.
minimum: 1 · maximum: 365
추가 속성모든 값
conditionsarray
각 항목object
추가 속성모든 값
audienceobject
추가 속성모든 값
goalobject
추가 속성 없음
kindstring필수
enum: "none", "event", "reply", "conversion"
connection_idstring
format: "uuid"
configobject필수
추가 속성모든 값
exitobject
추가 속성 없음
on_replyboolean
default: true
on_unsubscribeboolean
default: true
on_suppressionboolean
default: true
eventstring
maxLength: 200
approval_modestring
enum: "policy", "required"
apiobject
keystring
maxLength: 100
content_modestring
enum: "code", "managed"
identitystring
maxLength: 300
managed_contentobject
생성 전용 단축 작업으로 원본 관리 이메일 임시저장과 이를 이메일 단계에서 참조하는 여정을 원자적으로 저장해요. 없는 대상 언어는 무료 번역 대기열에 들어가며 여정을 게시하거나 활성화하지 않아요.
추가 속성 없음
source_localestring
기준 BCP 47 원본 로캘이며 생략하면 제품 설정을 상속해요.
configured_localesarray
원본 및 대상 로캘이며 생략된 원본은 서버가 추가해요.
maxItems: 100 · uniqueItems: true
각 항목string
fallback_localestring
layout_idstring
선택한 재사용 레이아웃이며 서버가 게시된 개정판의 스냅샷을 이 콘텐츠 개정판에 저장해요.
format: "uuid"
localization_policyobject
여정 이메일은 그 사람의 언어로만 보내요. 영수증, 코드, 보안 알림은 약 1분, 다른 이메일은 최대 하루 번역을 기다리며 그때까지 준비되지 않으면 보내지 않아요.
추가 속성 없음
manual_reviewboolean
default: false
sourceobject필수
추가 속성 없음
subjectstring필수
minLength: 1 · maxLength: 100000
preheaderstring
maxLength: 100000
body_textstring
원본 호환성을 위해 받으며 렌더링된 일반 텍스트는 최종 HTML에서 생성해요.
maxLength: 100000
body_htmlstring필수
minLength: 1 · maxLength: 100000
layoutstring
{{ content }} 슬롯 하나를 포함해야 해요.
maxLength: 100000
variantsobject
선택적 원본 버전이며 각 버전은 같은 개정판에서 자동 번역돼요.
추가 속성object
추가 속성 없음
추가 중첩 생략
variablesobject필수
추가 속성지정되지 않음
재귀적 유형 변수예요. 금액은 {amount_cents: integer, currency: ISO 4217 code}, date는 ISO 달력 날짜, datetime은 오프셋이 있는 ISO 타임스탬프를 사용해요.
추가 중첩 생략
samplesobject
미리보기와 원본 검증을 위한 이름 있는 샘플 값 집합.
추가 속성object
추가 속성모든 값
translationsobject
원본 ICU 메시지 카탈로그와 선택적으로 제공한 대상 카탈로그예요. 설정된 대상이 없으면 비동기 번역 대기열에 들어가며 저장에 필요하지 않아요.
추가 속성object
추가 속성string
추가 중첩 생략
stepsarray필수
maxItems: 100
각 항목object
추가 속성 없음
idstring
format: "uuid"
positioninteger
minimum: 1 · maximum: 100
kindstring필수
enum: "email", "wait", "condition", "action", "split"
namestring필수
minLength: 1 · maxLength: 200
managed_contentobject
이메일 단계의 유형이 있는 원본 계약과 임시저장/게시 개정판 ID.
idstring
format: "uuid"
추가 중첩 생략
versioninteger
추가 중첩 생략
draft_revision_idstring | null
format: "uuid"
추가 중첩 생략
published_revision_idstring | null
format: "uuid"
추가 중첩 생략
published_publication_idstring | null
format: "uuid"
추가 중첩 생략
source_revision_idstring | null
format: "uuid"
추가 중첩 생략
layout_revision_idstring | null
format: "uuid"
추가 중첩 생략
published_layout_revision_idstring | null
format: "uuid"
추가 중첩 생략
source_localestring | null
추가 중첩 생략
configured_localesarray
추가 중첩 생략
variablesobject
추가 중첩 생략
published_variablesobject
추가 중첩 생략
configobject필수
대기 단계는 선택적으로 name, path, operator(equals, not_equals, contains, exists), value가 있는 until과 필수 on_met(continue, end_journey)을 받아요. continue는 다음 알림 이메일을 건너뛰고 end_journey는 여정을 완료해요. 같은 분기에서 알림 이메일이 바로 뒤따라야 해요. 대기는 amount/unit까지 매분 현재 고객 데이터를 확인해요. 없는 필드는 알 수 없음으로 처리해 알림을 보류해요. 일반 대기와 독립 조건은 기존 동작을 유지해요. 검증된 고객 이정표로 검사 이름을 지으세요. 관리형 이메일 단계는 managed_content_id로 게시된 콘텐츠를 참조하며 활성화는 미게시 참조를 거부해요. 이메일 단계는 expires_after_seconds(1-604800)를 설정해 원래 시작부터 그 간격 후 지연 발송을 폐기할 수 있고 기본값은 7일이에요.
추가 속성모든 값
armsarray
minItems: 2 · maxItems: 4
각 항목object
추가 속성 없음
추가 중첩 생략
allOf 2object
idstring필수
format: "uuid"
statusstring필수
enum: "draft", "discovered", "active", "paused", "archived"
api_keystring | null
content_modestring | null
enum: "code", "managed", null
identitystring | null
identity_aliasesarray
각 항목string
samplesarray
각 항목object
추가 속성모든 값
versioninteger필수
minimum: 1
statsobject필수
추가 속성모든 값
stepStatsarray
각 항목object
추가 속성모든 값
armStatsarray
각 항목object
추가 속성모든 값
healthobject필수
추가 속성모든 값
indicatorobject필수
추가 속성모든 값
sparklinearray필수
각 항목number
activated_atstring | null
format: "date-time"
updated_atstring
format: "date-time"
last_activity_atstring | null
format: "date-time"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}/splits/{stepId}/decide' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"arm_key": "example"
}'
GET/v1/workspaces/{workspaceId}/journeys/{journeyId}/splits/recommend
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
권장 테스트 분기 수와 결정 시점.
application/json
valueobject
dataobject필수
arms_maxinteger필수
weekly_arrivalsinteger필수
per_arm_eta_daysobject필수
추가 속성number
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/journeys/{journeyId}/splits/recommend?position=1' \
--header "Authorization: Bearer $BANGER_API_KEY"
승인
GET/v1/workspaces/{workspaceId}/approvals/{approvalId}/managed-layout-preview/{contentId}
불변 개정판으로 재구성하고 두 원본 해시를 승인 스냅샷과 검증해요. 로캘 재정의는 받지 않아요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
해시 검증된 전체 변경 전후 제목, HTML, 일반 텍스트.
application/json
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/approvals/{approvalId}/managed-layout-preview/{contentId}?sample=example' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
GET/v1/workspaces/{workspaceId}/approvals/{approvalId}/journey-preview
정확히 검토된 정의(불변 HTML 키의 저장된 디자인, 고정된 관리 개정판)로 샘플 개인화를 렌더링하며 실행 중 여정은 사용하지 않아요. 스냅샷이 참조하는 대상 목록, 세그먼트, 트리거/목표 연결 이름도 표시해요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
단계 위치(분기 단계는 parent.arm.position)를 키로 하는 렌더링된 이메일과 대상 및 연결 이름.
application/json
valueobject
dataobject필수
approval_idstring필수
format: "uuid"
sequence_idstring | null
format: "uuid"
emailsarray필수
각 항목object
keystring필수
positioninteger필수
parent_positioninteger | null필수
arm_keystring | null필수
sourcestring필수
enum: "managed", "design", "inline", "empty"
subjectstring필수
preview_textstring필수
body_htmlstring
body_textstring필수
publishedboolean
errorstring
listsarray필수
각 항목object
idstring필수
namestring필수
member_countinteger필수
segmentsarray필수
각 항목object
idstring필수
namestring필수
connectionsarray필수
각 항목object
idstring필수
namestring필수
image_assetsobject필수
추가 속성string
sample_valuesboolean필수
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/approvals/{approvalId}/journey-preview' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
GET/v1/workspaces/{workspaceId}/approvals
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
워크스페이스 자동 및 사람 검토 감사 받은편지함.
application/json
valueobject
dataarray필수
각 항목object
idstring필수
format: "uuid"
requested_by_actor_idstring필수
action_kindstring필수
summarystring필수
capability_scopesarray필수
각 항목string
resource_scopeobject필수
추가 속성array
각 항목string
payloadobject필수
추가 속성모든 값
payload_sha256string필수
pattern: "^[0-9a-f]{64}$"
statusstring필수
enum: "pending", "approved", "rejected", "cancelled", "expired"
missedboolean필수
expires_atstring필수
format: "date-time"
decided_by_actor_idstring | null
decision_reasonstring | null
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
decided_atstring | null
format: "date-time"
execution_job_idstring
format: "uuid"
reviewobject
추가 속성 없음
dispositionstring필수
enum: "automatic", "human_required"
recipient_countinteger | null필수
minimum: 0
reasonsarray필수
각 항목string
checksarray필수
각 항목string
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/approvals?status=undecided' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/approvals
기준 Banger 작업에서는 Banger가 정확한 범위를 도출하고 워크스페이스 검토 정책을 적용하며 불변 감사 요청을 기록하고 설정 한도 내 작업을 자동 대기열에 넣어요. 관리형 이메일 원본 게시에는 action_kind managed_email.publish와 payload {content_id, expected_version}을 사용하세요. Banger는 원본 개정판/해시를 연결하고 필요할 때 사람 검토를 적용해요. 일반 승인 유형은 항상 대기 중이며 summary, capabilities, resources를 제공해야 해요. mail.draft 및 transactional.send payload의 to, cc, bcc, reply_to는 모든 RecipientInput 형식을 받고 { email, name } 객체로 저장돼요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
action_kindstring필수
minLength: 1 · maxLength: 100
summarystring
minLength: 1 · maxLength: 500
capabilitiesarray
minItems: 1 · maxItems: 50
각 항목string
maxLength: 100
resourcesobject
추가 속성array
maxItems: 500
각 항목string
maxLength: 200
payloadobject필수
추가 속성모든 값
expires_in_secondsinteger
minimum: 60 · maximum: 86400 · default: 3600
approve_as_launcherboolean
sequence.activate의 경우 검토 정책이 사람을 요구하면 켜기를 누른 사람이 정확히 이 요청을 승인해요. API 키와 에이전트에서는 무시되며 승인에서 기다려요.
성공 응답 201
관리 요청이 생성됐으며 이미 자동 승인돼 대기열에 있을 수도 있어요.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
requested_by_actor_idstring필수
action_kindstring필수
summarystring필수
capability_scopesarray필수
각 항목string
resource_scopeobject필수
추가 속성array
각 항목string
payloadobject필수
추가 속성모든 값
payload_sha256string필수
pattern: "^[0-9a-f]{64}$"
statusstring필수
enum: "pending", "approved", "rejected", "cancelled", "expired"
missedboolean필수
expires_atstring필수
format: "date-time"
decided_by_actor_idstring | null
decision_reasonstring | null
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
decided_atstring | null
format: "date-time"
execution_job_idstring
format: "uuid"
reviewobject
추가 속성 없음
dispositionstring필수
enum: "automatic", "human_required"
recipient_countinteger | null필수
minimum: 0
reasonsarray필수
각 항목string
checksarray필수
각 항목string
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/approvals' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Idempotency-Key: examplexxxxxxxxx' \
--header 'Content-Type: application/json' \
--data-raw '{
"action_kind": "example",
"summary": "example",
"capabilities": [
"example"
],
"resources": {},
"payload": {},
"expires_in_seconds": 3600,
"approve_as_launcher": true
}'
GET/v1/workspaces/{workspaceId}/approvals/count
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
제품 범위 미결정 승인 수.
application/json
valueobject
dataobject필수
추가 속성 없음
pendinginteger필수
minimum: 0
missedinteger필수
minimum: 0
totalinteger필수
minimum: 0
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/approvals/count' \
--header "Authorization: Bearer $BANGER_API_KEY"
GET/v1/workspaces/{workspaceId}/approvals/{approvalId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
정확한 승인 요청과 연결된 작업 payload.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
requested_by_actor_idstring필수
action_kindstring필수
summarystring필수
capability_scopesarray필수
각 항목string
resource_scopeobject필수
추가 속성array
각 항목string
payloadobject필수
추가 속성모든 값
payload_sha256string필수
pattern: "^[0-9a-f]{64}$"
statusstring필수
enum: "pending", "approved", "rejected", "cancelled", "expired"
missedboolean필수
expires_atstring필수
format: "date-time"
decided_by_actor_idstring | null
decision_reasonstring | null
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
decided_atstring | null
format: "date-time"
execution_job_idstring
format: "uuid"
reviewobject
추가 속성 없음
dispositionstring필수
enum: "automatic", "human_required"
recipient_countinteger | null필수
minimum: 0
reasonsarray필수
각 항목string
checksarray필수
각 항목string
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/approvals/{approvalId}' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/approvals/{approvalId}/decision
사람의 브라우저 세션만 가능해요. 워크스페이스 API 키는 승인을 결정할 수 없어요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
decisionstring필수
enum: "approved", "rejected"
reasonstring
maxLength: 500
expected_payload_sha256string
검토자에게 표시한 정확한 승인 payload 해시이며 불일치하면 409를 반환해요.
pattern: "^[a-f0-9]{64}$"
성공 응답 200
승인 결정이 기록됐어요.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
requested_by_actor_idstring필수
action_kindstring필수
summarystring필수
capability_scopesarray필수
각 항목string
resource_scopeobject필수
추가 속성array
각 항목string
payloadobject필수
추가 속성모든 값
payload_sha256string필수
pattern: "^[0-9a-f]{64}$"
statusstring필수
enum: "pending", "approved", "rejected", "cancelled", "expired"
missedboolean필수
expires_atstring필수
format: "date-time"
decided_by_actor_idstring | null
decision_reasonstring | null
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
decided_atstring | null
format: "date-time"
execution_job_idstring
format: "uuid"
reviewobject
추가 속성 없음
dispositionstring필수
enum: "automatic", "human_required"
recipient_countinteger | null필수
minimum: 0
reasonsarray필수
각 항목string
checksarray필수
각 항목string
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/approvals/{approvalId}/decision' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"decision": "approved",
"reason": "example",
"expected_payload_sha256": "example"
}'
POST/v1/workspaces/{workspaceId}/approvals/{approvalId}/cancel
아직 대기 중인 승인을 실행 없이 취소해요. 사람의 브라우저 세션만 가능해요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
reasonstring
maxLength: 500
성공 응답 200
승인이 취소됐고 대기 중인 에이전트 실행은 작업 없이 재개됐어요.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
requested_by_actor_idstring필수
action_kindstring필수
summarystring필수
capability_scopesarray필수
각 항목string
resource_scopeobject필수
추가 속성array
각 항목string
payloadobject필수
추가 속성모든 값
payload_sha256string필수
pattern: "^[0-9a-f]{64}$"
statusstring필수
enum: "pending", "approved", "rejected", "cancelled", "expired"
missedboolean필수
expires_atstring필수
format: "date-time"
decided_by_actor_idstring | null
decision_reasonstring | null
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
decided_atstring | null
format: "date-time"
execution_job_idstring
format: "uuid"
reviewobject
추가 속성 없음
dispositionstring필수
enum: "automatic", "human_required"
recipient_countinteger | null필수
minimum: 0
reasonsarray필수
각 항목string
checksarray필수
각 항목string
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/approvals/{approvalId}/cancel' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"reason": "example"
}'
POST/v1/workspaces/{workspaceId}/approvals/{approvalId}/dismiss
결정 기간을 놓친 승인을 닫아요. 사람의 브라우저 세션만 가능해요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
놓친 승인이 닫히고 취소로 기록됐어요.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
requested_by_actor_idstring필수
action_kindstring필수
summarystring필수
capability_scopesarray필수
각 항목string
resource_scopeobject필수
추가 속성array
각 항목string
payloadobject필수
추가 속성모든 값
payload_sha256string필수
pattern: "^[0-9a-f]{64}$"
statusstring필수
enum: "pending", "approved", "rejected", "cancelled", "expired"
missedboolean필수
expires_atstring필수
format: "date-time"
decided_by_actor_idstring | null
decision_reasonstring | null
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
decided_atstring | null
format: "date-time"
execution_job_idstring
format: "uuid"
reviewobject
추가 속성 없음
dispositionstring필수
enum: "automatic", "human_required"
recipient_countinteger | null필수
minimum: 0
reasonsarray필수
각 항목string
checksarray필수
각 항목string
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/approvals/{approvalId}/dismiss' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/approvals/{approvalId}/rerequest
새 결정 기간으로 놓친 승인을 복제하고 이전 요청을 취소해요. 사람의 브라우저 세션만 가능해요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 201
새 승인 요청이 생성됐어요.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
requested_by_actor_idstring필수
action_kindstring필수
summarystring필수
capability_scopesarray필수
각 항목string
resource_scopeobject필수
추가 속성array
각 항목string
payloadobject필수
추가 속성모든 값
payload_sha256string필수
pattern: "^[0-9a-f]{64}$"
statusstring필수
enum: "pending", "approved", "rejected", "cancelled", "expired"
missedboolean필수
expires_atstring필수
format: "date-time"
decided_by_actor_idstring | null
decision_reasonstring | null
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
decided_atstring | null
format: "date-time"
execution_job_idstring
format: "uuid"
reviewobject
추가 속성 없음
dispositionstring필수
enum: "automatic", "human_required"
recipient_countinteger | null필수
minimum: 0
reasonsarray필수
각 항목string
checksarray필수
각 항목string
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/approvals/{approvalId}/rerequest' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/approvals/{approvalId}/revise
대기 중인 관리 Banger 작업을 새로 정규화한 승인으로 교체해요. 이전 요청은 취소 상태로 이력에 남아요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
payloadobject필수
추가 속성모든 값
성공 응답 201
사람 검토용 대체 승인이 생성됐어요.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
requested_by_actor_idstring필수
action_kindstring필수
summarystring필수
capability_scopesarray필수
각 항목string
resource_scopeobject필수
추가 속성array
각 항목string
payloadobject필수
추가 속성모든 값
payload_sha256string필수
pattern: "^[0-9a-f]{64}$"
statusstring필수
enum: "pending", "approved", "rejected", "cancelled", "expired"
missedboolean필수
expires_atstring필수
format: "date-time"
decided_by_actor_idstring | null
decision_reasonstring | null
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
decided_atstring | null
format: "date-time"
execution_job_idstring
format: "uuid"
reviewobject
추가 속성 없음
dispositionstring필수
enum: "automatic", "human_required"
recipient_countinteger | null필수
minimum: 0
reasonsarray필수
각 항목string
checksarray필수
각 항목string
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/approvals/{approvalId}/revise' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Idempotency-Key: examplexxxxxxxxx' \
--header 'Content-Type: application/json' \
--data-raw '{
"payload": {}
}'
관리형 콘텐츠
GET/v1/workspaces/{workspaceId}/managed-content
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
제품 콘텐츠 목록과 선택적 다음 커서.
application/json
valueobject
dataobject필수
itemsarray필수
각 항목object
idstring필수
format: "uuid"
namestring필수
versioninteger필수
minimum: 1
review_requiredboolean필수
draft_revision_idstring | null
format: "uuid"
submitted_revision_idstring | null
format: "uuid"
approved_revision_idstring | null
format: "uuid"
published_revision_idstring | null
format: "uuid"
published_publication_idstring | null
format: "uuid"
source_revisionobject
추가 속성모든 값
translationsarray
각 항목object
추가 속성모든 값
translation_jobsarray
각 항목object
추가 속성모든 값
next_cursorstring | null필수
format: "uuid"
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/managed-content?limit=50&cursor=00000000-0000-4000-8000-000000000001' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
POST/v1/workspaces/{workspaceId}/managed-content
보내거나 게시하지 않아요. 번역 준비는 언어별 요금이 없어요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
namestring필수
minLength: 1 · maxLength: 200
contractobject필수
추가 속성 없음
source_localestring
기준 BCP 47 원본 로캘이며 생략하면 제품 설정을 상속해요.
configured_localesarray
원본 및 대상 로캘이며 생략된 원본은 서버가 추가해요.
maxItems: 100 · uniqueItems: true
각 항목string
fallback_localestring
layout_idstring
선택한 재사용 레이아웃이며 서버가 게시된 개정판의 스냅샷을 이 콘텐츠 개정판에 저장해요.
format: "uuid"
localization_policyobject
여정 이메일은 그 사람의 언어로만 보내요. 영수증, 코드, 보안 알림은 약 1분, 다른 이메일은 최대 하루 번역을 기다리며 그때까지 준비되지 않으면 보내지 않아요.
추가 속성 없음
manual_reviewboolean
default: false
sourceobject필수
추가 속성 없음
subjectstring필수
minLength: 1 · maxLength: 100000
preheaderstring
maxLength: 100000
body_textstring
원본 호환성을 위해 받으며 렌더링된 일반 텍스트는 최종 HTML에서 생성해요.
maxLength: 100000
body_htmlstring필수
minLength: 1 · maxLength: 100000
layoutstring
{{ content }} 슬롯 하나를 포함해야 해요.
maxLength: 100000
variantsobject
선택적 원본 버전이며 각 버전은 같은 개정판에서 자동 번역돼요.
추가 속성object
추가 속성 없음
subjectstring필수
minLength: 1 · maxLength: 100000
preheaderstring
maxLength: 100000
body_htmlstring필수
minLength: 1 · maxLength: 100000
body_textstring
maxLength: 100000
layoutstring
maxLength: 100000
variablesobject필수
추가 속성지정되지 않음
재귀적 유형 변수예요. 금액은 {amount_cents: integer, currency: ISO 4217 code}, date는 ISO 달력 날짜, datetime은 오프셋이 있는 ISO 타임스탬프를 사용해요.
oneOf 1object
추가 속성 없음
typestring필수
enum: "string", "text", "url", "image_url", "html", "date", "datetime", "number", "boolean", "money"
추가 중첩 생략
requiredboolean
추가 중첩 생략
descriptionstring
maxLength: 2000
추가 중첩 생략
default지정되지 않음
필드 유형과 일치해야 해요.
추가 중첩 생략
oneOf 2object
추가 속성 없음
type지정되지 않음필수
const: "object"
추가 중첩 생략
requiredboolean
추가 중첩 생략
descriptionstring
maxLength: 2000
추가 중첩 생략
defaultobject
추가 중첩 생략
propertiesobject필수
추가 중첩 생략
oneOf 3object
추가 속성 없음
type지정되지 않음필수
const: "list"
추가 중첩 생략
requiredboolean
추가 중첩 생략
descriptionstring
maxLength: 2000
추가 중첩 생략
defaultarray
추가 중첩 생략
items지정되지 않음필수
재귀적 유형 변수예요. 금액은 {amount_cents: integer, currency: ISO 4217 code}, date는 ISO 달력 날짜, datetime은 오프셋이 있는 ISO 타임스탬프를 사용해요.
추가 중첩 생략
samplesobject
미리보기와 원본 검증을 위한 이름 있는 샘플 값 집합.
추가 속성object
추가 속성모든 값
translationsobject
원본 ICU 메시지 카탈로그와 선택적으로 제공한 대상 카탈로그예요. 설정된 대상이 없으면 비동기 번역 대기열에 들어가며 저장에 필요하지 않아요.
추가 속성object
추가 속성string
성공 응답 201
임시저장 원본과 대기열 번역 작업.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
namestring필수
versioninteger필수
minimum: 1
review_requiredboolean필수
draft_revision_idstring | null
format: "uuid"
submitted_revision_idstring | null
format: "uuid"
approved_revision_idstring | null
format: "uuid"
published_revision_idstring | null
format: "uuid"
published_publication_idstring | null
format: "uuid"
source_revisionobject
추가 속성모든 값
translationsarray
각 항목object
추가 속성모든 값
translation_jobsarray
각 항목object
추가 속성모든 값
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/managed-content' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
--header 'Idempotency-Key: example' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "example",
"contract": {
"source_locale": "example",
"configured_locales": [
"example"
],
"fallback_locale": "example",
"layout_id": "00000000-0000-4000-8000-000000000001",
"localization_policy": {
"manual_review": false
},
"source": {
"subject": "example",
"preheader": "example",
"body_text": "example",
"body_html": "example",
"layout": "example",
"variants": {},
"variables": {}
},
"samples": {},
"translations": {}
}
}'
GET/v1/workspaces/{workspaceId}/managed-content/{contentId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
현재 콘텐츠 상태.
application/json
valueobject
data지정되지 않음필수
allOf 1object
idstring필수
format: "uuid"
namestring필수
versioninteger필수
minimum: 1
review_requiredboolean필수
draft_revision_idstring | null
format: "uuid"
submitted_revision_idstring | null
format: "uuid"
approved_revision_idstring | null
format: "uuid"
published_revision_idstring | null
format: "uuid"
published_publication_idstring | null
format: "uuid"
source_revisionobject
추가 속성모든 값
translationsarray
각 항목object
추가 속성모든 값
translation_jobsarray
각 항목object
추가 속성모든 값
allOf 2object
source_revisionobject필수
idstring필수
format: "uuid"
content_idstring필수
format: "uuid"
revisioninteger필수
source_localestring필수
configured_localesarray필수
각 항목string
fallback_localestring | null필수
localization_policyobject필수
여정 이메일은 그 사람의 언어로만 보내요. 영수증, 코드, 보안 알림은 약 1분, 다른 이메일은 최대 하루 번역을 기다리며 그때까지 준비되지 않으면 보내지 않아요.
추가 속성 없음
manual_reviewboolean
default: false
sourceobject필수
추가 속성 없음
subjectstring필수
minLength: 1 · maxLength: 100000
preheaderstring
maxLength: 100000
body_textstring
원본 호환성을 위해 받으며 렌더링된 일반 텍스트는 최종 HTML에서 생성해요.
maxLength: 100000
body_htmlstring필수
minLength: 1 · maxLength: 100000
layoutstring
{{ content }} 슬롯 하나를 포함해야 해요.
maxLength: 100000
variantsobject
선택적 원본 버전이며 각 버전은 같은 개정판에서 자동 번역돼요.
추가 속성object
추가 속성 없음
추가 중첩 생략
variablesobject필수
추가 속성지정되지 않음
재귀적 유형 변수예요. 금액은 {amount_cents: integer, currency: ISO 4217 code}, date는 ISO 달력 날짜, datetime은 오프셋이 있는 ISO 타임스탬프를 사용해요.
추가 중첩 생략
source_messagesobject필수
추가 속성string
layout_idstring | null필수
format: "uuid"
layout_revision_idstring | null필수
format: "uuid"
samplesobject필수
추가 속성object
추가 속성모든 값
restored_from_revision_idstring | null필수
format: "uuid"
translationsarray필수
각 항목지정되지 않음
allOf 1object
source_revision_idstring필수
format: "uuid"
추가 중첩 생략
localestring필수
추가 중첩 생략
stringsobject필수
추가 중첩 생략
provenancestring필수
enum: "supplied", "generated", "reviewed"
추가 중첩 생략
statusstring필수
enum: "ready", "needs_review"
추가 중첩 생략
allOf 2object
strings_sha256string필수
추가 중첩 생략
translation_jobsarray필수
각 항목object
idstring필수
format: "uuid"
source_revision_idstring필수
format: "uuid"
localestring필수
statusstring필수
attempt_countinteger필수
error_codestring | null필수
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/managed-content/{contentId}' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
PATCH/v1/workspaces/{workspaceId}/managed-content/{contentId}
호환성을 깨는 변수 변경은 이 콘텐츠 ID에 덮어 게시할 수 없어요. 새 관리형 콘텐츠를 만들고 게시한 다음 각 여정 또는 임시저장 단체 발송 참조를 새 ID로 바꾸고 여정을 검토/활성화하거나 단체 발송을 예약하세요. 기존 접수 발송과 예약 단체 발송 수신자는 고정 개정판을 유지해요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
expected_versioninteger필수
minimum: 1
contractobject필수
추가 속성 없음
source_localestring
기준 BCP 47 원본 로캘이며 생략하면 제품 설정을 상속해요.
configured_localesarray
원본 및 대상 로캘이며 생략된 원본은 서버가 추가해요.
maxItems: 100 · uniqueItems: true
각 항목string
fallback_localestring
layout_idstring
선택한 재사용 레이아웃이며 서버가 게시된 개정판의 스냅샷을 이 콘텐츠 개정판에 저장해요.
format: "uuid"
localization_policyobject
여정 이메일은 그 사람의 언어로만 보내요. 영수증, 코드, 보안 알림은 약 1분, 다른 이메일은 최대 하루 번역을 기다리며 그때까지 준비되지 않으면 보내지 않아요.
추가 속성 없음
manual_reviewboolean
default: false
sourceobject필수
추가 속성 없음
subjectstring필수
minLength: 1 · maxLength: 100000
preheaderstring
maxLength: 100000
body_textstring
원본 호환성을 위해 받으며 렌더링된 일반 텍스트는 최종 HTML에서 생성해요.
maxLength: 100000
body_htmlstring필수
minLength: 1 · maxLength: 100000
layoutstring
{{ content }} 슬롯 하나를 포함해야 해요.
maxLength: 100000
variantsobject
선택적 원본 버전이며 각 버전은 같은 개정판에서 자동 번역돼요.
추가 속성object
추가 속성 없음
subjectstring필수
minLength: 1 · maxLength: 100000
preheaderstring
maxLength: 100000
body_htmlstring필수
minLength: 1 · maxLength: 100000
body_textstring
maxLength: 100000
layoutstring
maxLength: 100000
variablesobject필수
추가 속성지정되지 않음
재귀적 유형 변수예요. 금액은 {amount_cents: integer, currency: ISO 4217 code}, date는 ISO 달력 날짜, datetime은 오프셋이 있는 ISO 타임스탬프를 사용해요.
oneOf 1object
추가 속성 없음
typestring필수
enum: "string", "text", "url", "image_url", "html", "date", "datetime", "number", "boolean", "money"
추가 중첩 생략
requiredboolean
추가 중첩 생략
descriptionstring
maxLength: 2000
추가 중첩 생략
default지정되지 않음
필드 유형과 일치해야 해요.
추가 중첩 생략
oneOf 2object
추가 속성 없음
type지정되지 않음필수
const: "object"
추가 중첩 생략
requiredboolean
추가 중첩 생략
descriptionstring
maxLength: 2000
추가 중첩 생략
defaultobject
추가 중첩 생략
propertiesobject필수
추가 중첩 생략
oneOf 3object
추가 속성 없음
type지정되지 않음필수
const: "list"
추가 중첩 생략
requiredboolean
추가 중첩 생략
descriptionstring
maxLength: 2000
추가 중첩 생략
defaultarray
추가 중첩 생략
items지정되지 않음필수
재귀적 유형 변수예요. 금액은 {amount_cents: integer, currency: ISO 4217 code}, date는 ISO 달력 날짜, datetime은 오프셋이 있는 ISO 타임스탬프를 사용해요.
추가 중첩 생략
samplesobject
미리보기와 원본 검증을 위한 이름 있는 샘플 값 집합.
추가 속성object
추가 속성모든 값
translationsobject
원본 ICU 메시지 카탈로그와 선택적으로 제공한 대상 카탈로그예요. 설정된 대상이 없으면 비동기 번역 대기열에 들어가며 저장에 필요하지 않아요.
추가 속성object
추가 속성string
성공 응답 200
새 임시저장 개정판과 대기열 번역 작업.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
namestring필수
versioninteger필수
minimum: 1
review_requiredboolean필수
draft_revision_idstring | null
format: "uuid"
submitted_revision_idstring | null
format: "uuid"
approved_revision_idstring | null
format: "uuid"
published_revision_idstring | null
format: "uuid"
published_publication_idstring | null
format: "uuid"
source_revisionobject
추가 속성모든 값
translationsarray
각 항목object
추가 속성모든 값
translation_jobsarray
각 항목object
추가 속성모든 값
curl 예제
curl --request PATCH --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/managed-content/{contentId}' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
--header 'Content-Type: application/json' \
--data-raw '{
"expected_version": 1,
"contract": {
"source_locale": "example",
"configured_locales": [
"example"
],
"fallback_locale": "example",
"layout_id": "00000000-0000-4000-8000-000000000001",
"localization_policy": {
"manual_review": false
},
"source": {
"subject": "example",
"preheader": "example",
"body_text": "example",
"body_html": "example",
"layout": "example",
"variants": {},
"variables": {}
},
"samples": {},
"translations": {}
}
}'
POST/v1/workspaces/{workspaceId}/managed-content/{contentId}/render
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
성공 응답 200
결정론적 제목, 프리헤더, HTML, 파생 일반 텍스트, 로캘, 방향.
application/json
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/managed-content/{contentId}/render' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
--header 'Content-Type: application/json' \
--data-raw '{
"source_revision_id": "00000000-0000-4000-8000-000000000001",
"variant": "example",
"locale": "example",
"timezone": "example",
"sample_set": "example",
"variables": {}
}'
POST/v1/workspaces/{workspaceId}/managed-content/{contentId}/translations/{locale}/retry
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
번역 재시도가 대기열에 들어갔어요.
application/json
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/managed-content/{contentId}/translations/{locale}/retry' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
GET/v1/workspaces/{workspaceId}/managed-content/{contentId}/translations
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
번역과 작업을 포함한 현재 콘텐츠 상태.
application/json
valueobject
data지정되지 않음필수
allOf 1object
idstring필수
format: "uuid"
namestring필수
versioninteger필수
minimum: 1
review_requiredboolean필수
draft_revision_idstring | null
format: "uuid"
submitted_revision_idstring | null
format: "uuid"
approved_revision_idstring | null
format: "uuid"
published_revision_idstring | null
format: "uuid"
published_publication_idstring | null
format: "uuid"
source_revisionobject
추가 속성모든 값
translationsarray
각 항목object
추가 속성모든 값
translation_jobsarray
각 항목object
추가 속성모든 값
allOf 2object
source_revisionobject필수
idstring필수
format: "uuid"
content_idstring필수
format: "uuid"
revisioninteger필수
source_localestring필수
configured_localesarray필수
각 항목string
fallback_localestring | null필수
localization_policyobject필수
여정 이메일은 그 사람의 언어로만 보내요. 영수증, 코드, 보안 알림은 약 1분, 다른 이메일은 최대 하루 번역을 기다리며 그때까지 준비되지 않으면 보내지 않아요.
추가 속성 없음
manual_reviewboolean
default: false
sourceobject필수
추가 속성 없음
subjectstring필수
minLength: 1 · maxLength: 100000
preheaderstring
maxLength: 100000
body_textstring
원본 호환성을 위해 받으며 렌더링된 일반 텍스트는 최종 HTML에서 생성해요.
maxLength: 100000
body_htmlstring필수
minLength: 1 · maxLength: 100000
layoutstring
{{ content }} 슬롯 하나를 포함해야 해요.
maxLength: 100000
variantsobject
선택적 원본 버전이며 각 버전은 같은 개정판에서 자동 번역돼요.
추가 속성object
추가 속성 없음
추가 중첩 생략
variablesobject필수
추가 속성지정되지 않음
재귀적 유형 변수예요. 금액은 {amount_cents: integer, currency: ISO 4217 code}, date는 ISO 달력 날짜, datetime은 오프셋이 있는 ISO 타임스탬프를 사용해요.
추가 중첩 생략
source_messagesobject필수
추가 속성string
layout_idstring | null필수
format: "uuid"
layout_revision_idstring | null필수
format: "uuid"
samplesobject필수
추가 속성object
추가 속성모든 값
restored_from_revision_idstring | null필수
format: "uuid"
translationsarray필수
각 항목지정되지 않음
allOf 1object
source_revision_idstring필수
format: "uuid"
추가 중첩 생략
localestring필수
추가 중첩 생략
stringsobject필수
추가 중첩 생략
provenancestring필수
enum: "supplied", "generated", "reviewed"
추가 중첩 생략
statusstring필수
enum: "ready", "needs_review"
추가 중첩 생략
allOf 2object
strings_sha256string필수
추가 중첩 생략
translation_jobsarray필수
각 항목object
idstring필수
format: "uuid"
source_revision_idstring필수
format: "uuid"
localestring필수
statusstring필수
attempt_countinteger필수
error_codestring | null필수
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/managed-content/{contentId}/translations' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
POST/v1/workspaces/{workspaceId}/managed-content/{contentId}/translations/{locale}/review
현재 다시 읽기의 카탈로그 SHA-256이 필요해요. 수정된 문자열은 선택적이며 이 작업은 원본을 게시하지 않아요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
source_revision_idstring필수
format: "uuid"
expected_translation_sha256string필수
pattern: "^[a-f0-9]{64}$"
stringsobject
추가 속성string
성공 응답 200
검토된 카탈로그와 새 SHA-256.
application/json
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/managed-content/{contentId}/translations/{locale}/review' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
--header 'Content-Type: application/json' \
--data-raw '{
"source_revision_id": "00000000-0000-4000-8000-000000000001",
"expected_translation_sha256": "example",
"strings": {}
}'
GET/v1/workspaces/{workspaceId}/managed-content/{contentId}/versions
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
게시 기록.
application/json
valueobject
dataobject필수
versionsarray필수
각 항목object
idstring필수
format: "uuid"
revisioninteger필수
source_localestring필수
configured_localesarray필수
각 항목string
sourceobject필수
추가 속성 없음
subjectstring필수
minLength: 1 · maxLength: 100000
preheaderstring
maxLength: 100000
body_textstring
원본 호환성을 위해 받으며 렌더링된 일반 텍스트는 최종 HTML에서 생성해요.
maxLength: 100000
body_htmlstring필수
minLength: 1 · maxLength: 100000
layoutstring
{{ content }} 슬롯 하나를 포함해야 해요.
maxLength: 100000
variantsobject
선택적 원본 버전이며 각 버전은 같은 개정판에서 자동 번역돼요.
추가 속성object
추가 속성 없음
추가 중첩 생략
variablesobject필수
추가 속성지정되지 않음
재귀적 유형 변수예요. 금액은 {amount_cents: integer, currency: ISO 4217 code}, date는 ISO 달력 날짜, datetime은 오프셋이 있는 ISO 타임스탬프를 사용해요.
추가 중첩 생략
source_messagesobject필수
추가 속성string
samplesobject필수
추가 속성object
추가 속성모든 값
restored_from_revision_idstring | null필수
format: "uuid"
created_by_actor_idstring필수
created_atstring필수
format: "date-time"
publicationsarray필수
각 항목object
idstring필수
format: "uuid"
source_revision_idstring필수
format: "uuid"
approval_idstring | null필수
format: "uuid"
published_by_actor_idstring필수
published_atstring필수
format: "date-time"
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/managed-content/{contentId}/versions' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001'
POST/v1/workspaces/{workspaceId}/managed-content/{contentId}/restore
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
성공 응답 200
복구된 임시저장 상태.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
namestring필수
versioninteger필수
minimum: 1
review_requiredboolean필수
draft_revision_idstring | null
format: "uuid"
submitted_revision_idstring | null
format: "uuid"
approved_revision_idstring | null
format: "uuid"
published_revision_idstring | null
format: "uuid"
published_publication_idstring | null
format: "uuid"
source_revisionobject
추가 속성모든 값
translationsarray
각 항목object
추가 속성모든 값
translation_jobsarray
각 항목object
추가 속성모든 값
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/managed-content/{contentId}/restore' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'X-Banger-Product-Id: 00000000-0000-4000-8000-000000000001' \
--header 'Content-Type: application/json' \
--data-raw '{
"source_revision_id": "00000000-0000-4000-8000-000000000001",
"expected_version": 1
}'
분류 규칙
GET/v1/workspaces/{workspaceId}/triage-rules
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
성공 응답.
application/json
valueobject
dataarray필수
각 항목object
idstring필수
format: "uuid"
mailbox_idstring필수
format: "uuid"
namestring필수
auto_set_for_label_idstring | null필수
format: "uuid"
descriptionstring | null필수
exact_conditionsobject필수
추가 속성 없음
fromarray
maxItems: 50
각 항목string
maxLength: 320
toarray
maxItems: 50
각 항목string
maxLength: 320
subject_containsarray
maxItems: 50
각 항목string
maxLength: 320
has_wordsarray
maxItems: 50
각 항목string
maxLength: 320
excludes_wordsarray
maxItems: 50
각 항목string
maxLength: 320
has_attachmentboolean
has_label_idsarray필수
각 항목string
format: "uuid"
actionsarray필수
각 항목object
typestring필수
enum: "apply_label", "archive", "mark_read", "star"
label_idstring
format: "uuid"
enabledboolean필수
versioninteger필수
error_codestring | null필수
example_countinteger필수
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/triage-rules?mailbox_id=00000000-0000-4000-8000-000000000001' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/triage-rules
수신 메일 분류 규칙을 만들어요(모든 요금제, 활성 규칙은 요금제 수량에 포함). When = description(Jev 판단) 및/또는 exact_conditions 및/또는 has_label_ids, Then = actions.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
value지정되지 않음
allOf 1object
namestring
maxLength: 120
descriptionstring | null
maxLength: 2000
exact_conditionsobject
추가 속성 없음
fromarray
maxItems: 50
각 항목string
maxLength: 320
toarray
maxItems: 50
각 항목string
maxLength: 320
subject_containsarray
maxItems: 50
각 항목string
maxLength: 320
has_wordsarray
maxItems: 50
각 항목string
maxLength: 320
excludes_wordsarray
maxItems: 50
각 항목string
maxLength: 320
has_attachmentboolean
has_label_idsarray
maxItems: 50
각 항목string
format: "uuid"
actionsarray
minItems: 1 · maxItems: 8
각 항목object
typestring필수
enum: "apply_label", "archive", "mark_read", "star"
label_idstring
format: "uuid"
enabledboolean
allOf 2object
mailbox_idstring필수
format: "uuid"
성공 응답 201
성공 응답.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
mailbox_idstring필수
format: "uuid"
namestring필수
auto_set_for_label_idstring | null필수
format: "uuid"
descriptionstring | null필수
exact_conditionsobject필수
추가 속성 없음
fromarray
maxItems: 50
각 항목string
maxLength: 320
toarray
maxItems: 50
각 항목string
maxLength: 320
subject_containsarray
maxItems: 50
각 항목string
maxLength: 320
has_wordsarray
maxItems: 50
각 항목string
maxLength: 320
excludes_wordsarray
maxItems: 50
각 항목string
maxLength: 320
has_attachmentboolean
has_label_idsarray필수
각 항목string
format: "uuid"
actionsarray필수
각 항목object
typestring필수
enum: "apply_label", "archive", "mark_read", "star"
label_idstring
format: "uuid"
enabledboolean필수
versioninteger필수
error_codestring | null필수
example_countinteger필수
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/triage-rules' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Idempotency-Key: example' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "example",
"description": "example",
"exact_conditions": {
"from": [
"example"
],
"to": [
"example"
],
"subject_contains": [
"example"
],
"has_words": [
"example"
],
"excludes_words": [
"example"
],
"has_attachment": true
},
"has_label_ids": [
"00000000-0000-4000-8000-000000000001"
],
"actions": [
{
"type": "apply_label",
"label_id": "00000000-0000-4000-8000-000000000001"
}
],
"enabled": true,
"mailbox_id": "00000000-0000-4000-8000-000000000001"
}'
POST/v1/workspaces/{workspaceId}/triage-rules/preview
When이 일치할 최근 스레드예요. 읽기 전용이며 점수는 반환하지 않아요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
성공 응답 200
성공 응답.
application/json
valueobject
dataobject필수
scannedinteger필수
matchesarray필수
각 항목object
thread_idstring필수
format: "uuid"
subjectstring필수
fromstring
received_atstring
format: "date-time"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/triage-rules/preview' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"mailbox_id": "00000000-0000-4000-8000-000000000001",
"rule_id": "00000000-0000-4000-8000-000000000001",
"description": "example",
"exact_conditions": {
"from": [
"example"
],
"to": [
"example"
],
"subject_contains": [
"example"
],
"has_words": [
"example"
],
"excludes_words": [
"example"
],
"has_attachment": true
},
"has_label_ids": [
"00000000-0000-4000-8000-000000000001"
],
"limit": 1
}'
POST/v1/workspaces/{workspaceId}/triage-rules/run-past-mail
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
성공 응답 202
성공 응답.
application/json
valueobject
dataobject필수
queued_threadsinteger필수
daysinteger필수
labels_onlyboolean필수
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/triage-rules/run-past-mail' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"mailbox_id": "00000000-0000-4000-8000-000000000001",
"rule_ids": [
"00000000-0000-4000-8000-000000000001"
],
"days": 1,
"include_other_actions": true
}'
GET/v1/workspaces/{workspaceId}/triage-rules/{ruleId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
성공 응답.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
mailbox_idstring필수
format: "uuid"
namestring필수
auto_set_for_label_idstring | null필수
format: "uuid"
descriptionstring | null필수
exact_conditionsobject필수
추가 속성 없음
fromarray
maxItems: 50
각 항목string
maxLength: 320
toarray
maxItems: 50
각 항목string
maxLength: 320
subject_containsarray
maxItems: 50
각 항목string
maxLength: 320
has_wordsarray
maxItems: 50
각 항목string
maxLength: 320
excludes_wordsarray
maxItems: 50
각 항목string
maxLength: 320
has_attachmentboolean
has_label_idsarray필수
각 항목string
format: "uuid"
actionsarray필수
각 항목object
typestring필수
enum: "apply_label", "archive", "mark_read", "star"
label_idstring
format: "uuid"
enabledboolean필수
versioninteger필수
error_codestring | null필수
example_countinteger필수
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/triage-rules/{ruleId}' \
--header "Authorization: Bearer $BANGER_API_KEY"
PATCH/v1/workspaces/{workspaceId}/triage-rules/{ruleId}
라벨 자동 설정 규칙은 updateLabel로만 편집할 수 있어요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
namestring
maxLength: 120
descriptionstring | null
maxLength: 2000
exact_conditionsobject
추가 속성 없음
fromarray
maxItems: 50
각 항목string
maxLength: 320
toarray
maxItems: 50
각 항목string
maxLength: 320
subject_containsarray
maxItems: 50
각 항목string
maxLength: 320
has_wordsarray
maxItems: 50
각 항목string
maxLength: 320
excludes_wordsarray
maxItems: 50
각 항목string
maxLength: 320
has_attachmentboolean
has_label_idsarray
maxItems: 50
각 항목string
format: "uuid"
actionsarray
minItems: 1 · maxItems: 8
각 항목object
typestring필수
enum: "apply_label", "archive", "mark_read", "star"
label_idstring
format: "uuid"
enabledboolean
성공 응답 200
성공 응답.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
mailbox_idstring필수
format: "uuid"
namestring필수
auto_set_for_label_idstring | null필수
format: "uuid"
descriptionstring | null필수
exact_conditionsobject필수
추가 속성 없음
fromarray
maxItems: 50
각 항목string
maxLength: 320
toarray
maxItems: 50
각 항목string
maxLength: 320
subject_containsarray
maxItems: 50
각 항목string
maxLength: 320
has_wordsarray
maxItems: 50
각 항목string
maxLength: 320
excludes_wordsarray
maxItems: 50
각 항목string
maxLength: 320
has_attachmentboolean
has_label_idsarray필수
각 항목string
format: "uuid"
actionsarray필수
각 항목object
typestring필수
enum: "apply_label", "archive", "mark_read", "star"
label_idstring
format: "uuid"
enabledboolean필수
versioninteger필수
error_codestring | null필수
example_countinteger필수
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
curl 예제
curl --request PATCH --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/triage-rules/{ruleId}' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Idempotency-Key: example' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "example",
"description": "example",
"exact_conditions": {
"from": [
"example"
],
"to": [
"example"
],
"subject_contains": [
"example"
],
"has_words": [
"example"
],
"excludes_words": [
"example"
],
"has_attachment": true
},
"has_label_ids": [
"00000000-0000-4000-8000-000000000001"
],
"actions": [
{
"type": "apply_label",
"label_id": "00000000-0000-4000-8000-000000000001"
}
],
"enabled": true
}'
DELETE/v1/workspaces/{workspaceId}/triage-rules/{ruleId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 204
분류 규칙이 삭제됐어요.
응답 본문 없음.
curl 예제
curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/triage-rules/{ruleId}' \
--header "Authorization: Bearer $BANGER_API_KEY"
연결
GET/v1/workspaces/{workspaceId}/connections
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
연결 메타데이터와 기능이며 자격 증명 자료는 반환하지 않아요.
application/json
valueobject
dataarray필수
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
adapter_keystring필수
categorystring필수
enum: "email", "customer", "product", "work", "data"
display_namestring필수
statusstring필수
enum: "pending_validation", "active", "error", "disabled"
auth_kindstring필수
enum: "api_key", "oauth2", "service_account", "none"
freshness_modestring필수
enum: "webhook", "poll", "on_demand", "hybrid"
capabilitiesarray필수
각 항목string
resource_scopeobject필수
추가 속성모든 값
configobject필수
클라우드 호스트와 프로젝트 ID 같은 비밀이 아닌 어댑터 설정.
추가 속성모든 값
active_credential_versioninteger | null
external_account_idstring | null
external_account_namestring | null
last_validated_atstring | null
format: "date-time"
last_success_atstring | null
format: "date-time"
last_error_codestring | null
disabled_atstring | null
format: "date-time"
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/connections' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/connections/adapters/{adapterKey}
Mailchimp 연결은 startMailchimpMigration처럼 즉시 이전을 시작하며 응답은
첫 보고서를 `mailchimp_migration`에 포함해요. display_name이 없으면 Mailchimp 연결은
"Mailchimp (Acme Inc)"처럼 계정 이름으로 지정돼요. 이미 연결된 Mailchimp 계정을
연결하면 409 `mailchimp_account_already_connected`와 `error.details.connection_id`를 반환해요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
성공 응답 200
기존 연결 요청의 멱등 재실행.
application/json
valueobject
dataobject필수
추가 속성 없음
idstring필수
format: "uuid"
adapter_keystring필수
categorystring필수
enum: "email", "customer", "product", "work", "data"
display_namestring필수
statusstring필수
enum: "pending_validation", "active", "error", "disabled"
auth_kindstring필수
enum: "api_key", "oauth2", "service_account", "none"
freshness_modestring필수
enum: "webhook", "poll", "on_demand", "hybrid"
capabilitiesarray필수
각 항목string
resource_scopeobject필수
추가 속성모든 값
configobject필수
클라우드 호스트와 프로젝트 ID 같은 비밀이 아닌 어댑터 설정.
추가 속성모든 값
active_credential_versioninteger | null
external_account_idstring | null
external_account_namestring | null
last_validated_atstring | null
format: "date-time"
last_success_atstring | null
format: "date-time"
last_error_codestring | null
disabled_atstring | null
format: "date-time"
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
mailchimp_migrationobject
Mailchimp 연결 하나에서 제품으로 이전해요. 실시간 진행은 GET /mailchimp-migration을 폴링하세요:
`phase`는 현재 단계를 나타내며 `counts`, `audiences`, `segments`, `templates`, `campaigns`는 진행하면서 늘어나요.
migration_idstring필수
format: "uuid"
connection_idstring필수
format: "uuid"
product_idstring필수
format: "uuid"
statusstring필수
enum: "importing", "completed"
phasestring필수
importing (reading Mailchimp), copying_designs (templates and campaigns), finishing, completed, needs_new_key (Mailchimp rejected the API key; the move is paused until a new key is saved with rotateConnectionCredential), or disconnected (the connection was removed; everything already moved stays in Banger and the counts stay readable).
enum: "importing", "copying_designs", "finishing", "completed", "needs_new_key", "disconnected"
started_atstring필수
format: "date-time"
completed_atstring | null필수
format: "date-time"
connectionobject필수
display_namestring필수
account_namestring | null필수
statusstring필수
enum: "pending_validation", "active", "error", "disabled"
last_error_codestring | null필수
needs_new_keyboolean필수
messagestring
Present when needs_new_key or disconnected, ready to show.
progressobject필수
import_streamsinteger필수
import_streams_doneinteger필수
failing_streamsarray필수
각 항목object
streamstring필수
refstring필수
error_codestring | null필수
designs_waitinginteger필수
notestring필수
countsobject필수
contactsinteger필수
subscribedinteger필수
unsubscribedinteger필수
bouncedinteger필수
contact_listsinteger필수
contact_fieldsinteger필수
segments_convertedinteger필수
segments_kept_as_listsinteger필수
templates_importedinteger필수
templates_to_rebuildinteger필수
campaigns_imported_as_designsinteger필수
automations_importedinteger필수
audiencesarray필수
각 항목object
mailchimp_idstring필수
namestring필수
list_idstring | null필수
format: "uuid"
list_namestring | null필수
members_in_bangerinteger필수
subscribedinteger필수
unsubscribedinteger필수
bouncedinteger필수
members_in_mailchimpinteger필수
contact_fieldsarray필수
각 항목object
mailchimp_tagstring필수
namestring필수
field_keystring필수
typestring필수
enum: "text", "number", "boolean", "date", "choice", "choices"
consentstring필수
segmentsarray필수
각 항목object
Mailchimp 세그먼트, 템플릿 또는 캠페인 하나가 변환된 결과.
mailchimp_idstring필수
세그먼트: <audience id>:<segment id>. 템플릿과 캠페인: 해당 Mailchimp id.
becamestring필수
enum: "segment", "contact_list", "template", "needs_rebuild"
idstring
Banger 세그먼트
format: "uuid"
namestring필수
reasonstring
세그먼트가 정적 목록으로 유지된 이유
dropped_merge_tagsarray
Banger에 대응 항목이 없어 디자인에서 제거한 Mailchimp 병합 태그(병합 필드 조건은 첫 분기를 유지하며 여기에 나열돼요).
각 항목string
replaced_footerboolean
Mailchimp 바닥글(브라우저 보기, 환경설정, 주소, 배지)이 제품 브랜드 바닥글로 바뀌었어요.
removed_linksarray
바닥글 외부에서 제거된 Mailchimp 전용 페이지 링크(브라우저 보기 등)를 해당 문구로 표시해요.
각 항목string
links_to_fillarray
Mailchimp에서 비어 있던 링크이며 각각 발송 전에 채워야 하는 디자인 URL 슬롯이 됐어요.
각 항목object
keystring필수
추가 중첩 생략
labelstring필수
추가 중첩 생략
kept_editsboolean
재실행에서 Banger에서 편집된 디자인을 발견해 그대로 유지했어요.
templatesarray필수
각 항목object
Mailchimp 세그먼트, 템플릿 또는 캠페인 하나가 변환된 결과.
mailchimp_idstring필수
세그먼트: <audience id>:<segment id>. 템플릿과 캠페인: 해당 Mailchimp id.
becamestring필수
enum: "segment", "contact_list", "template", "needs_rebuild"
idstring
Banger 세그먼트
format: "uuid"
namestring필수
reasonstring
세그먼트가 정적 목록으로 유지된 이유
dropped_merge_tagsarray
Banger에 대응 항목이 없어 디자인에서 제거한 Mailchimp 병합 태그(병합 필드 조건은 첫 분기를 유지하며 여기에 나열돼요).
각 항목string
replaced_footerboolean
Mailchimp 바닥글(브라우저 보기, 환경설정, 주소, 배지)이 제품 브랜드 바닥글로 바뀌었어요.
removed_linksarray
바닥글 외부에서 제거된 Mailchimp 전용 페이지 링크(브라우저 보기 등)를 해당 문구로 표시해요.
각 항목string
links_to_fillarray
Mailchimp에서 비어 있던 링크이며 각각 발송 전에 채워야 하는 디자인 URL 슬롯이 됐어요.
각 항목object
keystring필수
추가 중첩 생략
labelstring필수
추가 중첩 생략
kept_editsboolean
재실행에서 Banger에서 편집된 디자인을 발견해 그대로 유지했어요.
campaignsarray필수
각 항목object
Mailchimp 세그먼트, 템플릿 또는 캠페인 하나가 변환된 결과.
mailchimp_idstring필수
세그먼트: <audience id>:<segment id>. 템플릿과 캠페인: 해당 Mailchimp id.
becamestring필수
enum: "segment", "contact_list", "template", "needs_rebuild"
idstring
Banger 세그먼트
format: "uuid"
namestring필수
reasonstring
세그먼트가 정적 목록으로 유지된 이유
dropped_merge_tagsarray
Banger에 대응 항목이 없어 디자인에서 제거한 Mailchimp 병합 태그(병합 필드 조건은 첫 분기를 유지하며 여기에 나열돼요).
각 항목string
replaced_footerboolean
Mailchimp 바닥글(브라우저 보기, 환경설정, 주소, 배지)이 제품 브랜드 바닥글로 바뀌었어요.
removed_linksarray
바닥글 외부에서 제거된 Mailchimp 전용 페이지 링크(브라우저 보기 등)를 해당 문구로 표시해요.
각 항목string
links_to_fillarray
Mailchimp에서 비어 있던 링크이며 각각 발송 전에 채워야 하는 디자인 URL 슬롯이 됐어요.
각 항목object
keystring필수
추가 중첩 생략
labelstring필수
추가 중첩 생략
kept_editsboolean
재실행에서 Banger에서 편집된 디자인을 발견해 그대로 유지했어요.
automationsobject필수
importedboolean필수
const: false
whystring필수
next_stepsarray필수
각 항목string
help_call_urlstring필수
format: "uri"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/connections/adapters/{adapterKey}' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Idempotency-Key: examplexxxxxxxxx' \
--header 'Content-Type: application/json' \
--data-raw '{
"api_key": "examplexxxxx",
"display_name": "example",
"config": {}
}'
DELETE/v1/workspaces/{workspaceId}/connections/{connectionId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 204
연결, 자격 증명, 동기화 상태, 권한이 취소됐어요.
응답 본문 없음.
curl 예제
curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/connections/{connectionId}' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Idempotency-Key: examplexxxxxxxxx'
POST/v1/workspaces/{workspaceId}/connections/{connectionId}/validate
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
연결 자격 증명이 유효해요.
application/json
valueobject
dataobject필수
추가 속성 없음
idstring필수
format: "uuid"
adapter_keystring필수
categorystring필수
enum: "email", "customer", "product", "work", "data"
display_namestring필수
statusstring필수
enum: "pending_validation", "active", "error", "disabled"
auth_kindstring필수
enum: "api_key", "oauth2", "service_account", "none"
freshness_modestring필수
enum: "webhook", "poll", "on_demand", "hybrid"
capabilitiesarray필수
각 항목string
resource_scopeobject필수
추가 속성모든 값
configobject필수
클라우드 호스트와 프로젝트 ID 같은 비밀이 아닌 어댑터 설정.
추가 속성모든 값
active_credential_versioninteger | null
external_account_idstring | null
external_account_namestring | null
last_validated_atstring | null
format: "date-time"
last_success_atstring | null
format: "date-time"
last_error_codestring | null
disabled_atstring | null
format: "date-time"
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/connections/{connectionId}/validate' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/connections/{connectionId}/credential
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
성공 응답 200
이전 교체의 멱등 재실행.
application/json
valueobject
dataobject필수
추가 속성 없음
idstring필수
format: "uuid"
adapter_keystring필수
categorystring필수
enum: "email", "customer", "product", "work", "data"
display_namestring필수
statusstring필수
enum: "pending_validation", "active", "error", "disabled"
auth_kindstring필수
enum: "api_key", "oauth2", "service_account", "none"
freshness_modestring필수
enum: "webhook", "poll", "on_demand", "hybrid"
capabilitiesarray필수
각 항목string
resource_scopeobject필수
추가 속성모든 값
configobject필수
클라우드 호스트와 프로젝트 ID 같은 비밀이 아닌 어댑터 설정.
추가 속성모든 값
active_credential_versioninteger | null
external_account_idstring | null
external_account_namestring | null
last_validated_atstring | null
format: "date-time"
last_success_atstring | null
format: "date-time"
last_error_codestring | null
disabled_atstring | null
format: "date-time"
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/connections/{connectionId}/credential' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Idempotency-Key: examplexxxxxxxxx' \
--header 'Content-Type: application/json' \
--data-raw '{
"api_key": "examplexxxxx",
"display_name": "example",
"config": {}
}'
POST/v1/workspaces/{workspaceId}/connections/{connectionId}/query
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
adapter_keystring필수
enum: "figma", "github", "google-analytics", "google-calendar", "hubspot", "linear", "mailchimp", "notion", "slack", "snowflake", "zendesk"
operationstring필수
enum: "audiences.list", "blocks.children.list", "campaigns.list", "changelog.brief", "channels.list", "comments.list", "commits.list", "companies.list", "contacts.list", "cohorts.list", "customer.brief", "customers.list", "deals.list", "events.list", "file.summary", "funnels.list", "images.render", "invoices.list", "issues.list", "launch.brief", "messages.history", "messages.search", "nodes.get", "notifications.list", "pages.retrieve", "payment_intents.list", "persons.list", "profiles.list", "queries.execute", "queries.list", "releases.list", "reports.list", "reports.run", "repositories.list", "search.list", "subscriptions.list"
parametersobject
추가 속성모든 값
성공 응답 200
연결된 소스의 인증된 유형 응답.
application/json
valueobject
dataobject필수
추가 속성 없음
adapter_keystring필수
enum: "figma", "github", "google-analytics", "google-calendar", "hubspot", "linear", "mailchimp", "notion", "slack", "snowflake", "zendesk"
operationstring필수
capabilitystring필수
sourceobject필수
추가 속성 없음
external_account_idstring필수
external_account_namestring필수
fetched_atstring필수
format: "date-time"
freshnessstring필수
const: "live"
dataobject필수
추가 속성모든 값
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/connections/{connectionId}/query' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"adapter_key": "figma",
"operation": "audiences.list",
"parameters": {}
}'
GET/v1/workspaces/{workspaceId}/connections/{connectionId}/grants
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
연결의 활성 권한.
application/json
valueobject
dataarray필수
각 항목object
추가 속성 없음
connection_idstring필수
format: "uuid"
principal_kindstring필수
enum: "agent", "automation", "api_key"
principal_idstring필수
capabilitiesarray필수
각 항목string
resource_scopeobject필수
추가 속성모든 값
created_by_actor_idstring필수
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
expires_atstring | null
format: "date-time"
revoked_atstring | null
format: "date-time"
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/connections/{connectionId}/grants' \
--header "Authorization: Bearer $BANGER_API_KEY"
PUT/v1/workspaces/{workspaceId}/connections/{connectionId}/grants/{principalKind}/{principalId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
성공 응답 200
연결 접근이 허가되거나 교체됐어요.
application/json
valueobject
dataobject필수
추가 속성 없음
connection_idstring필수
format: "uuid"
principal_kindstring필수
enum: "agent", "automation", "api_key"
principal_idstring필수
capabilitiesarray필수
각 항목string
resource_scopeobject필수
추가 속성모든 값
created_by_actor_idstring필수
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
expires_atstring | null
format: "date-time"
revoked_atstring | null
format: "date-time"
curl 예제
curl --request PUT --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/connections/{connectionId}/grants/{principalKind}/{principalId}' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"capabilities": [
"example"
],
"resource_scope": {},
"expires_at": "2026-01-01T00:00:00Z"
}'
DELETE/v1/workspaces/{workspaceId}/connections/{connectionId}/grants/{principalKind}/{principalId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 204
연결 권한이 취소됐어요.
응답 본문 없음.
curl 예제
curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/connections/{connectionId}/grants/{principalKind}/{principalId}' \
--header "Authorization: Bearer $BANGER_API_KEY"
발송 도메인
GET/v1/workspaces/{workspaceId}/sending-domains
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
워크스페이스의 Banger 기본 발송 도메인.
application/json
valueobject
dataarray필수
각 항목object
추가 속성 없음
domain_idstring필수
format: "uuid"
product_idstring필수
format: "uuid"
root_domainstring필수
parent_domainstring
레인이 하위 도메인을 사용할 때 유지되는 회사 도메인.
setup_modestring
enum: "simple", "advanced"
domain_statusstring필수
enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"
lanesarray필수
minItems: 1 · maxItems: 3
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
created_atstring
format: "date-time"
kindstring필수
enum: "mailbox", "product", "broadcast"
display_namestring필수
from_domainstring필수
mail_from_domainstring | null필수
inbound_domainstring | null필수
route_providerstring필수
enum: "banger", "resend"
selected_provider_connection_idstring | null필수
format: "uuid"
inbound_providerstring | null필수
enum: "banger", null
statusstring필수
enum: "pending", "active", "paused", "deleting", "deleted"
status_reasonstring | null필수
desired_revisioninteger필수
minimum: 1
observed_revisioninteger필수
minimum: 0
dns_readyboolean필수
provider_readyboolean필수
inbound_readyboolean필수
outbound_readyboolean필수
banger_transport_readyboolean필수
banger_mail_from_domainstring | null필수
provisioning_job_idstring | null필수
format: "uuid"
provisioning_statusstring필수
enum: "pending", "provisioning", "waiting_dns", "active", "failed", "deleting", "deleted", "not_required"
provisioning_error_codestring | null
provisioning_next_attempt_atstring | null
provisioning_last_checked_atstring | null
provider_identity_statusstring | null
provider_dkim_statusstring | null
dns_recordsarray필수
각 항목object
추가 속성 없음
추가 중첩 생략
dns_recordsarray필수
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
lane_idstring필수
format: "uuid"
providerstring필수
enum: "banger", "resend"
purposestring필수
typestring필수
enum: "TXT", "MX", "CNAME"
namestring필수
valuestring필수
priorityinteger | null필수
requiredboolean필수
statusstring필수
enum: "pending", "verified", "error"
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
first_observed_atstring | null필수
format: "date-time"
last_checked_atstring | null필수
format: "date-time"
errorobject필수
추가 속성모든 값
provider_referencestring | null필수
deletionobject | null필수
추가 속성 없음
job_idstring필수
format: "uuid"
statusstring필수
enum: "pending", "processing", "waiting_provider", "completed", "failed"
last_error_codestring | null필수
cleanup_recordsarray필수
해체 완료 후 사용자가 제거할 수 있는 정확한 DNS 레코드.
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
추가 중첩 생략
lane_idstring필수
format: "uuid"
추가 중첩 생략
providerstring필수
enum: "banger", "resend"
추가 중첩 생략
purposestring필수
추가 중첩 생략
typestring필수
enum: "TXT", "MX", "CNAME"
추가 중첩 생략
namestring필수
추가 중첩 생략
valuestring필수
추가 중첩 생략
priorityinteger | null필수
추가 중첩 생략
requiredboolean필수
추가 중첩 생략
statusstring필수
enum: "pending", "verified", "error"
추가 중첩 생략
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
추가 중첩 생략
first_observed_atstring | null필수
format: "date-time"
추가 중첩 생략
last_checked_atstring | null필수
format: "date-time"
추가 중첩 생략
errorobject필수
추가 중첩 생략
provider_referencestring | null필수
추가 중첩 생략
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/sending-domains' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/sending-domains
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
domainstring필수
제품의 정확한 도메인 또는 하위 도메인이에요. 기본적으로 Banger는 별도 레인 하위 도메인 3개를 도출해요.
minLength: 3 · maxLength: 253
setup_modestring
간단 설정은 선택한 메일함 주소의 송수신에 메일함 전송 하나를 준비하며 단체 발송과 여정도 포함해요. 고급 설정은 별도 발송 레인을 준비해요.
default: "advanced" · enum: "simple", "advanced"
mailbox_modestring
간단 설정은 메일함 접두사가 없으면 루트가 기본이고 고급 설정은 하위 도메인이 기본이에요. 하위 도메인은 기존 도메인 메일을 유지해요. Migrate는 정확한 도메인에 메일함을 요청해요. 사용 중인 정확한 도메인이나 레인은 sending-domain-migrations 요청 후 로그인한 Banger 승인 패널의 허가가 필요해요. 에이전트 자격 증명은 이전을 허가할 수 없어요. 이전 메시지는 가져오지 않고 DNS는 자동 변경되지 않아요.
enum: "subdomain", "migrate"
root_dmarc_confirmedboolean
기존 호환성 필드이며 기존 정책을 유지하고 설정은 확인이 필요 없어요.
lane_prefixesobject
추가 속성 없음
mailboxstring
minLength: 1 · maxLength: 63 · default: "mail"
productstring
minLength: 1 · maxLength: 63 · default: "tx"
broadcaststring
minLength: 1 · maxLength: 63 · default: "broadcast"
route_providersobject
Banger가 이 도메인 DNS에서 Resend를 이미 감지하고 선택한 제품에 활성 연결이 있을 때만 받아요. 그렇지 않으면 클라이언트는 이를 안내해서는 안 돼요.
추가 속성 없음
productstring
default: "banger" · enum: "banger", "resend"
broadcaststring
default: "banger" · enum: "banger", "resend"
route_domainsobject
Resend에서 동기화한 정확한 검증된 도메인이며 Resend를 유지하는 각 레인에 필수예요.
추가 속성 없음
productstring
minLength: 3 · maxLength: 253
broadcaststring
minLength: 3 · maxLength: 253
성공 응답 200
Banger 기본 발송 도메인 요청의 멱등 재실행.
application/json
valueobject
dataobject필수
추가 속성 없음
domain_idstring필수
format: "uuid"
product_idstring필수
format: "uuid"
root_domainstring필수
parent_domainstring
레인이 하위 도메인을 사용할 때 유지되는 회사 도메인.
setup_modestring
enum: "simple", "advanced"
domain_statusstring필수
enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"
lanesarray필수
minItems: 1 · maxItems: 3
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
created_atstring
format: "date-time"
kindstring필수
enum: "mailbox", "product", "broadcast"
display_namestring필수
from_domainstring필수
mail_from_domainstring | null필수
inbound_domainstring | null필수
route_providerstring필수
enum: "banger", "resend"
selected_provider_connection_idstring | null필수
format: "uuid"
inbound_providerstring | null필수
enum: "banger", null
statusstring필수
enum: "pending", "active", "paused", "deleting", "deleted"
status_reasonstring | null필수
desired_revisioninteger필수
minimum: 1
observed_revisioninteger필수
minimum: 0
dns_readyboolean필수
provider_readyboolean필수
inbound_readyboolean필수
outbound_readyboolean필수
banger_transport_readyboolean필수
banger_mail_from_domainstring | null필수
provisioning_job_idstring | null필수
format: "uuid"
provisioning_statusstring필수
enum: "pending", "provisioning", "waiting_dns", "active", "failed", "deleting", "deleted", "not_required"
provisioning_error_codestring | null
provisioning_next_attempt_atstring | null
provisioning_last_checked_atstring | null
provider_identity_statusstring | null
provider_dkim_statusstring | null
dns_recordsarray필수
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
추가 중첩 생략
lane_idstring필수
format: "uuid"
추가 중첩 생략
providerstring필수
enum: "banger", "resend"
추가 중첩 생략
purposestring필수
추가 중첩 생략
typestring필수
enum: "TXT", "MX", "CNAME"
추가 중첩 생략
namestring필수
추가 중첩 생략
valuestring필수
추가 중첩 생략
priorityinteger | null필수
추가 중첩 생략
requiredboolean필수
추가 중첩 생략
statusstring필수
enum: "pending", "verified", "error"
추가 중첩 생략
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
추가 중첩 생략
first_observed_atstring | null필수
format: "date-time"
추가 중첩 생략
last_checked_atstring | null필수
format: "date-time"
추가 중첩 생략
errorobject필수
추가 중첩 생략
provider_referencestring | null필수
추가 중첩 생략
dns_recordsarray필수
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
lane_idstring필수
format: "uuid"
providerstring필수
enum: "banger", "resend"
purposestring필수
typestring필수
enum: "TXT", "MX", "CNAME"
namestring필수
valuestring필수
priorityinteger | null필수
requiredboolean필수
statusstring필수
enum: "pending", "verified", "error"
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
first_observed_atstring | null필수
format: "date-time"
last_checked_atstring | null필수
format: "date-time"
errorobject필수
추가 속성모든 값
provider_referencestring | null필수
deletionobject | null필수
추가 속성 없음
job_idstring필수
format: "uuid"
statusstring필수
enum: "pending", "processing", "waiting_provider", "completed", "failed"
last_error_codestring | null필수
cleanup_recordsarray필수
해체 완료 후 사용자가 제거할 수 있는 정확한 DNS 레코드.
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
lane_idstring필수
format: "uuid"
providerstring필수
enum: "banger", "resend"
purposestring필수
typestring필수
enum: "TXT", "MX", "CNAME"
namestring필수
valuestring필수
priorityinteger | null필수
requiredboolean필수
statusstring필수
enum: "pending", "verified", "error"
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
first_observed_atstring | null필수
format: "date-time"
last_checked_atstring | null필수
format: "date-time"
errorobject필수
추가 속성모든 값
provider_referencestring | null필수
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/sending-domains' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Idempotency-Key: examplexxxxxxxxx' \
--header 'Content-Type: application/json' \
--data-raw '{
"domain": "example",
"setup_mode": "advanced",
"mailbox_mode": "subdomain",
"root_dmarc_confirmed": true,
"lane_prefixes": {
"mailbox": "mail",
"product": "tx",
"broadcast": "broadcast"
},
"route_providers": {
"product": "banger",
"broadcast": "banger"
},
"route_domains": {
"product": "example",
"broadcast": "example"
}
}'
GET/v1/workspaces/{workspaceId}/sending-domains/{sendingDomainId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
현재 도메인, 스트림, 프로비저닝, 필수 DNS 상태.
application/json
valueobject
dataobject필수
추가 속성 없음
domain_idstring필수
format: "uuid"
product_idstring필수
format: "uuid"
root_domainstring필수
parent_domainstring
레인이 하위 도메인을 사용할 때 유지되는 회사 도메인.
setup_modestring
enum: "simple", "advanced"
domain_statusstring필수
enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"
lanesarray필수
minItems: 1 · maxItems: 3
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
created_atstring
format: "date-time"
kindstring필수
enum: "mailbox", "product", "broadcast"
display_namestring필수
from_domainstring필수
mail_from_domainstring | null필수
inbound_domainstring | null필수
route_providerstring필수
enum: "banger", "resend"
selected_provider_connection_idstring | null필수
format: "uuid"
inbound_providerstring | null필수
enum: "banger", null
statusstring필수
enum: "pending", "active", "paused", "deleting", "deleted"
status_reasonstring | null필수
desired_revisioninteger필수
minimum: 1
observed_revisioninteger필수
minimum: 0
dns_readyboolean필수
provider_readyboolean필수
inbound_readyboolean필수
outbound_readyboolean필수
banger_transport_readyboolean필수
banger_mail_from_domainstring | null필수
provisioning_job_idstring | null필수
format: "uuid"
provisioning_statusstring필수
enum: "pending", "provisioning", "waiting_dns", "active", "failed", "deleting", "deleted", "not_required"
provisioning_error_codestring | null
provisioning_next_attempt_atstring | null
provisioning_last_checked_atstring | null
provider_identity_statusstring | null
provider_dkim_statusstring | null
dns_recordsarray필수
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
추가 중첩 생략
lane_idstring필수
format: "uuid"
추가 중첩 생략
providerstring필수
enum: "banger", "resend"
추가 중첩 생략
purposestring필수
추가 중첩 생략
typestring필수
enum: "TXT", "MX", "CNAME"
추가 중첩 생략
namestring필수
추가 중첩 생략
valuestring필수
추가 중첩 생략
priorityinteger | null필수
추가 중첩 생략
requiredboolean필수
추가 중첩 생략
statusstring필수
enum: "pending", "verified", "error"
추가 중첩 생략
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
추가 중첩 생략
first_observed_atstring | null필수
format: "date-time"
추가 중첩 생략
last_checked_atstring | null필수
format: "date-time"
추가 중첩 생략
errorobject필수
추가 중첩 생략
provider_referencestring | null필수
추가 중첩 생략
dns_recordsarray필수
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
lane_idstring필수
format: "uuid"
providerstring필수
enum: "banger", "resend"
purposestring필수
typestring필수
enum: "TXT", "MX", "CNAME"
namestring필수
valuestring필수
priorityinteger | null필수
requiredboolean필수
statusstring필수
enum: "pending", "verified", "error"
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
first_observed_atstring | null필수
format: "date-time"
last_checked_atstring | null필수
format: "date-time"
errorobject필수
추가 속성모든 값
provider_referencestring | null필수
deletionobject | null필수
추가 속성 없음
job_idstring필수
format: "uuid"
statusstring필수
enum: "pending", "processing", "waiting_provider", "completed", "failed"
last_error_codestring | null필수
cleanup_recordsarray필수
해체 완료 후 사용자가 제거할 수 있는 정확한 DNS 레코드.
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
lane_idstring필수
format: "uuid"
providerstring필수
enum: "banger", "resend"
purposestring필수
typestring필수
enum: "TXT", "MX", "CNAME"
namestring필수
valuestring필수
priorityinteger | null필수
requiredboolean필수
statusstring필수
enum: "pending", "verified", "error"
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
first_observed_atstring | null필수
format: "date-time"
last_checked_atstring | null필수
format: "date-time"
errorobject필수
추가 속성모든 값
provider_referencestring | null필수
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/sending-domains/{sendingDomainId}' \
--header "Authorization: Bearer $BANGER_API_KEY"
DELETE/v1/workspaces/{workspaceId}/sending-domains/{sendingDomainId}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
성공 응답 202
송수신이 중지되고 멱등 공급자 해체가 대기열에 들어가요. 이메일 이력과 감사 기록은 유지돼요.
application/json
valueobject
dataobject필수
추가 속성 없음
domain_idstring필수
format: "uuid"
product_idstring필수
format: "uuid"
root_domainstring필수
parent_domainstring
레인이 하위 도메인을 사용할 때 유지되는 회사 도메인.
setup_modestring
enum: "simple", "advanced"
domain_statusstring필수
enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"
lanesarray필수
minItems: 1 · maxItems: 3
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
created_atstring
format: "date-time"
kindstring필수
enum: "mailbox", "product", "broadcast"
display_namestring필수
from_domainstring필수
mail_from_domainstring | null필수
inbound_domainstring | null필수
route_providerstring필수
enum: "banger", "resend"
selected_provider_connection_idstring | null필수
format: "uuid"
inbound_providerstring | null필수
enum: "banger", null
statusstring필수
enum: "pending", "active", "paused", "deleting", "deleted"
status_reasonstring | null필수
desired_revisioninteger필수
minimum: 1
observed_revisioninteger필수
minimum: 0
dns_readyboolean필수
provider_readyboolean필수
inbound_readyboolean필수
outbound_readyboolean필수
banger_transport_readyboolean필수
banger_mail_from_domainstring | null필수
provisioning_job_idstring | null필수
format: "uuid"
provisioning_statusstring필수
enum: "pending", "provisioning", "waiting_dns", "active", "failed", "deleting", "deleted", "not_required"
provisioning_error_codestring | null
provisioning_next_attempt_atstring | null
provisioning_last_checked_atstring | null
provider_identity_statusstring | null
provider_dkim_statusstring | null
dns_recordsarray필수
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
추가 중첩 생략
lane_idstring필수
format: "uuid"
추가 중첩 생략
providerstring필수
enum: "banger", "resend"
추가 중첩 생략
purposestring필수
추가 중첩 생략
typestring필수
enum: "TXT", "MX", "CNAME"
추가 중첩 생략
namestring필수
추가 중첩 생략
valuestring필수
추가 중첩 생략
priorityinteger | null필수
추가 중첩 생략
requiredboolean필수
추가 중첩 생략
statusstring필수
enum: "pending", "verified", "error"
추가 중첩 생략
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
추가 중첩 생략
first_observed_atstring | null필수
format: "date-time"
추가 중첩 생략
last_checked_atstring | null필수
format: "date-time"
추가 중첩 생략
errorobject필수
추가 중첩 생략
provider_referencestring | null필수
추가 중첩 생략
dns_recordsarray필수
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
lane_idstring필수
format: "uuid"
providerstring필수
enum: "banger", "resend"
purposestring필수
typestring필수
enum: "TXT", "MX", "CNAME"
namestring필수
valuestring필수
priorityinteger | null필수
requiredboolean필수
statusstring필수
enum: "pending", "verified", "error"
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
first_observed_atstring | null필수
format: "date-time"
last_checked_atstring | null필수
format: "date-time"
errorobject필수
추가 속성모든 값
provider_referencestring | null필수
deletionobject | null필수
추가 속성 없음
job_idstring필수
format: "uuid"
statusstring필수
enum: "pending", "processing", "waiting_provider", "completed", "failed"
last_error_codestring | null필수
cleanup_recordsarray필수
해체 완료 후 사용자가 제거할 수 있는 정확한 DNS 레코드.
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
lane_idstring필수
format: "uuid"
providerstring필수
enum: "banger", "resend"
purposestring필수
typestring필수
enum: "TXT", "MX", "CNAME"
namestring필수
valuestring필수
priorityinteger | null필수
requiredboolean필수
statusstring필수
enum: "pending", "verified", "error"
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
first_observed_atstring | null필수
format: "date-time"
last_checked_atstring | null필수
format: "date-time"
errorobject필수
추가 속성모든 값
provider_referencestring | null필수
curl 예제
curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/sending-domains/{sendingDomainId}' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"confirm_domain": "example"
}'
DELETE/v1/workspaces/{workspaceId}/sending-domains/{sendingDomainId}/lanes/{laneKind}
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
confirm_domainstring필수
선택한 레인의 정확한 하위 도메인.
성공 응답 202
선택한 레인만 중지돼 제거 대기열에 들어가요. 다른 레인과 메시지 이력은 유지돼요.
application/json
valueobject
dataobject필수
추가 속성 없음
domain_idstring필수
format: "uuid"
product_idstring필수
format: "uuid"
root_domainstring필수
parent_domainstring
레인이 하위 도메인을 사용할 때 유지되는 회사 도메인.
setup_modestring
enum: "simple", "advanced"
domain_statusstring필수
enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"
lanesarray필수
minItems: 1 · maxItems: 3
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
created_atstring
format: "date-time"
kindstring필수
enum: "mailbox", "product", "broadcast"
display_namestring필수
from_domainstring필수
mail_from_domainstring | null필수
inbound_domainstring | null필수
route_providerstring필수
enum: "banger", "resend"
selected_provider_connection_idstring | null필수
format: "uuid"
inbound_providerstring | null필수
enum: "banger", null
statusstring필수
enum: "pending", "active", "paused", "deleting", "deleted"
status_reasonstring | null필수
desired_revisioninteger필수
minimum: 1
observed_revisioninteger필수
minimum: 0
dns_readyboolean필수
provider_readyboolean필수
inbound_readyboolean필수
outbound_readyboolean필수
banger_transport_readyboolean필수
banger_mail_from_domainstring | null필수
provisioning_job_idstring | null필수
format: "uuid"
provisioning_statusstring필수
enum: "pending", "provisioning", "waiting_dns", "active", "failed", "deleting", "deleted", "not_required"
provisioning_error_codestring | null
provisioning_next_attempt_atstring | null
provisioning_last_checked_atstring | null
provider_identity_statusstring | null
provider_dkim_statusstring | null
dns_recordsarray필수
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
추가 중첩 생략
lane_idstring필수
format: "uuid"
추가 중첩 생략
providerstring필수
enum: "banger", "resend"
추가 중첩 생략
purposestring필수
추가 중첩 생략
typestring필수
enum: "TXT", "MX", "CNAME"
추가 중첩 생략
namestring필수
추가 중첩 생략
valuestring필수
추가 중첩 생략
priorityinteger | null필수
추가 중첩 생략
requiredboolean필수
추가 중첩 생략
statusstring필수
enum: "pending", "verified", "error"
추가 중첩 생략
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
추가 중첩 생략
first_observed_atstring | null필수
format: "date-time"
추가 중첩 생략
last_checked_atstring | null필수
format: "date-time"
추가 중첩 생략
errorobject필수
추가 중첩 생략
provider_referencestring | null필수
추가 중첩 생략
dns_recordsarray필수
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
lane_idstring필수
format: "uuid"
providerstring필수
enum: "banger", "resend"
purposestring필수
typestring필수
enum: "TXT", "MX", "CNAME"
namestring필수
valuestring필수
priorityinteger | null필수
requiredboolean필수
statusstring필수
enum: "pending", "verified", "error"
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
first_observed_atstring | null필수
format: "date-time"
last_checked_atstring | null필수
format: "date-time"
errorobject필수
추가 속성모든 값
provider_referencestring | null필수
deletionobject | null필수
추가 속성 없음
job_idstring필수
format: "uuid"
statusstring필수
enum: "pending", "processing", "waiting_provider", "completed", "failed"
last_error_codestring | null필수
cleanup_recordsarray필수
해체 완료 후 사용자가 제거할 수 있는 정확한 DNS 레코드.
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
lane_idstring필수
format: "uuid"
providerstring필수
enum: "banger", "resend"
purposestring필수
typestring필수
enum: "TXT", "MX", "CNAME"
namestring필수
valuestring필수
priorityinteger | null필수
requiredboolean필수
statusstring필수
enum: "pending", "verified", "error"
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
first_observed_atstring | null필수
format: "date-time"
last_checked_atstring | null필수
format: "date-time"
errorobject필수
추가 속성모든 값
provider_referencestring | null필수
curl 예제
curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/sending-domains/{sendingDomainId}/lanes/{laneKind}' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"confirm_domain": "example"
}'
POST/v1/workspaces/{workspaceId}/sending-domains/{sendingDomainId}/lanes/{laneKind}/pause
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
DNS나 다른 레인을 바꾸지 않고 선택한 레인을 일시 중지해요.
application/json
valueobject
dataobject필수
추가 속성 없음
domain_idstring필수
format: "uuid"
product_idstring필수
format: "uuid"
root_domainstring필수
parent_domainstring
레인이 하위 도메인을 사용할 때 유지되는 회사 도메인.
setup_modestring
enum: "simple", "advanced"
domain_statusstring필수
enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"
lanesarray필수
minItems: 1 · maxItems: 3
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
created_atstring
format: "date-time"
kindstring필수
enum: "mailbox", "product", "broadcast"
display_namestring필수
from_domainstring필수
mail_from_domainstring | null필수
inbound_domainstring | null필수
route_providerstring필수
enum: "banger", "resend"
selected_provider_connection_idstring | null필수
format: "uuid"
inbound_providerstring | null필수
enum: "banger", null
statusstring필수
enum: "pending", "active", "paused", "deleting", "deleted"
status_reasonstring | null필수
desired_revisioninteger필수
minimum: 1
observed_revisioninteger필수
minimum: 0
dns_readyboolean필수
provider_readyboolean필수
inbound_readyboolean필수
outbound_readyboolean필수
banger_transport_readyboolean필수
banger_mail_from_domainstring | null필수
provisioning_job_idstring | null필수
format: "uuid"
provisioning_statusstring필수
enum: "pending", "provisioning", "waiting_dns", "active", "failed", "deleting", "deleted", "not_required"
provisioning_error_codestring | null
provisioning_next_attempt_atstring | null
provisioning_last_checked_atstring | null
provider_identity_statusstring | null
provider_dkim_statusstring | null
dns_recordsarray필수
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
추가 중첩 생략
lane_idstring필수
format: "uuid"
추가 중첩 생략
providerstring필수
enum: "banger", "resend"
추가 중첩 생략
purposestring필수
추가 중첩 생략
typestring필수
enum: "TXT", "MX", "CNAME"
추가 중첩 생략
namestring필수
추가 중첩 생략
valuestring필수
추가 중첩 생략
priorityinteger | null필수
추가 중첩 생략
requiredboolean필수
추가 중첩 생략
statusstring필수
enum: "pending", "verified", "error"
추가 중첩 생략
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
추가 중첩 생략
first_observed_atstring | null필수
format: "date-time"
추가 중첩 생략
last_checked_atstring | null필수
format: "date-time"
추가 중첩 생략
errorobject필수
추가 중첩 생략
provider_referencestring | null필수
추가 중첩 생략
dns_recordsarray필수
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
lane_idstring필수
format: "uuid"
providerstring필수
enum: "banger", "resend"
purposestring필수
typestring필수
enum: "TXT", "MX", "CNAME"
namestring필수
valuestring필수
priorityinteger | null필수
requiredboolean필수
statusstring필수
enum: "pending", "verified", "error"
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
first_observed_atstring | null필수
format: "date-time"
last_checked_atstring | null필수
format: "date-time"
errorobject필수
추가 속성모든 값
provider_referencestring | null필수
deletionobject | null필수
추가 속성 없음
job_idstring필수
format: "uuid"
statusstring필수
enum: "pending", "processing", "waiting_provider", "completed", "failed"
last_error_codestring | null필수
cleanup_recordsarray필수
해체 완료 후 사용자가 제거할 수 있는 정확한 DNS 레코드.
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
lane_idstring필수
format: "uuid"
providerstring필수
enum: "banger", "resend"
purposestring필수
typestring필수
enum: "TXT", "MX", "CNAME"
namestring필수
valuestring필수
priorityinteger | null필수
requiredboolean필수
statusstring필수
enum: "pending", "verified", "error"
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
first_observed_atstring | null필수
format: "date-time"
last_checked_atstring | null필수
format: "date-time"
errorobject필수
추가 속성모든 값
provider_referencestring | null필수
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/sending-domains/{sendingDomainId}/lanes/{laneKind}/pause' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/sending-domains/{sendingDomainId}/lanes/{laneKind}/resume
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
저장된 DNS와 공급자 상태가 준비되면 선택한 레인이 재개돼요.
application/json
valueobject
dataobject필수
추가 속성 없음
domain_idstring필수
format: "uuid"
product_idstring필수
format: "uuid"
root_domainstring필수
parent_domainstring
레인이 하위 도메인을 사용할 때 유지되는 회사 도메인.
setup_modestring
enum: "simple", "advanced"
domain_statusstring필수
enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"
lanesarray필수
minItems: 1 · maxItems: 3
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
created_atstring
format: "date-time"
kindstring필수
enum: "mailbox", "product", "broadcast"
display_namestring필수
from_domainstring필수
mail_from_domainstring | null필수
inbound_domainstring | null필수
route_providerstring필수
enum: "banger", "resend"
selected_provider_connection_idstring | null필수
format: "uuid"
inbound_providerstring | null필수
enum: "banger", null
statusstring필수
enum: "pending", "active", "paused", "deleting", "deleted"
status_reasonstring | null필수
desired_revisioninteger필수
minimum: 1
observed_revisioninteger필수
minimum: 0
dns_readyboolean필수
provider_readyboolean필수
inbound_readyboolean필수
outbound_readyboolean필수
banger_transport_readyboolean필수
banger_mail_from_domainstring | null필수
provisioning_job_idstring | null필수
format: "uuid"
provisioning_statusstring필수
enum: "pending", "provisioning", "waiting_dns", "active", "failed", "deleting", "deleted", "not_required"
provisioning_error_codestring | null
provisioning_next_attempt_atstring | null
provisioning_last_checked_atstring | null
provider_identity_statusstring | null
provider_dkim_statusstring | null
dns_recordsarray필수
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
추가 중첩 생략
lane_idstring필수
format: "uuid"
추가 중첩 생략
providerstring필수
enum: "banger", "resend"
추가 중첩 생략
purposestring필수
추가 중첩 생략
typestring필수
enum: "TXT", "MX", "CNAME"
추가 중첩 생략
namestring필수
추가 중첩 생략
valuestring필수
추가 중첩 생략
priorityinteger | null필수
추가 중첩 생략
requiredboolean필수
추가 중첩 생략
statusstring필수
enum: "pending", "verified", "error"
추가 중첩 생략
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
추가 중첩 생략
first_observed_atstring | null필수
format: "date-time"
추가 중첩 생략
last_checked_atstring | null필수
format: "date-time"
추가 중첩 생략
errorobject필수
추가 중첩 생략
provider_referencestring | null필수
추가 중첩 생략
dns_recordsarray필수
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
lane_idstring필수
format: "uuid"
providerstring필수
enum: "banger", "resend"
purposestring필수
typestring필수
enum: "TXT", "MX", "CNAME"
namestring필수
valuestring필수
priorityinteger | null필수
requiredboolean필수
statusstring필수
enum: "pending", "verified", "error"
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
first_observed_atstring | null필수
format: "date-time"
last_checked_atstring | null필수
format: "date-time"
errorobject필수
추가 속성모든 값
provider_referencestring | null필수
deletionobject | null필수
추가 속성 없음
job_idstring필수
format: "uuid"
statusstring필수
enum: "pending", "processing", "waiting_provider", "completed", "failed"
last_error_codestring | null필수
cleanup_recordsarray필수
해체 완료 후 사용자가 제거할 수 있는 정확한 DNS 레코드.
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
lane_idstring필수
format: "uuid"
providerstring필수
enum: "banger", "resend"
purposestring필수
typestring필수
enum: "TXT", "MX", "CNAME"
namestring필수
valuestring필수
priorityinteger | null필수
requiredboolean필수
statusstring필수
enum: "pending", "verified", "error"
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
first_observed_atstring | null필수
format: "date-time"
last_checked_atstring | null필수
format: "date-time"
errorobject필수
추가 속성모든 값
provider_referencestring | null필수
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/sending-domains/{sendingDomainId}/lanes/{laneKind}/resume' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/sending-domains/{sendingDomainId}/verify
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
Banger ID와 DNS 검증을 안전하게 다시 확인했어요.
application/json
valueobject
dataobject필수
추가 속성 없음
domain_idstring필수
format: "uuid"
product_idstring필수
format: "uuid"
root_domainstring필수
parent_domainstring
레인이 하위 도메인을 사용할 때 유지되는 회사 도메인.
setup_modestring
enum: "simple", "advanced"
domain_statusstring필수
enum: "pending", "verified", "failed", "disabled", "deleting", "deleted"
lanesarray필수
minItems: 1 · maxItems: 3
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
created_atstring
format: "date-time"
kindstring필수
enum: "mailbox", "product", "broadcast"
display_namestring필수
from_domainstring필수
mail_from_domainstring | null필수
inbound_domainstring | null필수
route_providerstring필수
enum: "banger", "resend"
selected_provider_connection_idstring | null필수
format: "uuid"
inbound_providerstring | null필수
enum: "banger", null
statusstring필수
enum: "pending", "active", "paused", "deleting", "deleted"
status_reasonstring | null필수
desired_revisioninteger필수
minimum: 1
observed_revisioninteger필수
minimum: 0
dns_readyboolean필수
provider_readyboolean필수
inbound_readyboolean필수
outbound_readyboolean필수
banger_transport_readyboolean필수
banger_mail_from_domainstring | null필수
provisioning_job_idstring | null필수
format: "uuid"
provisioning_statusstring필수
enum: "pending", "provisioning", "waiting_dns", "active", "failed", "deleting", "deleted", "not_required"
provisioning_error_codestring | null
provisioning_next_attempt_atstring | null
provisioning_last_checked_atstring | null
provider_identity_statusstring | null
provider_dkim_statusstring | null
dns_recordsarray필수
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
추가 중첩 생략
lane_idstring필수
format: "uuid"
추가 중첩 생략
providerstring필수
enum: "banger", "resend"
추가 중첩 생략
purposestring필수
추가 중첩 생략
typestring필수
enum: "TXT", "MX", "CNAME"
추가 중첩 생략
namestring필수
추가 중첩 생략
valuestring필수
추가 중첩 생략
priorityinteger | null필수
추가 중첩 생략
requiredboolean필수
추가 중첩 생략
statusstring필수
enum: "pending", "verified", "error"
추가 중첩 생략
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
추가 중첩 생략
first_observed_atstring | null필수
format: "date-time"
추가 중첩 생략
last_checked_atstring | null필수
format: "date-time"
추가 중첩 생략
errorobject필수
추가 중첩 생략
provider_referencestring | null필수
추가 중첩 생략
dns_recordsarray필수
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
lane_idstring필수
format: "uuid"
providerstring필수
enum: "banger", "resend"
purposestring필수
typestring필수
enum: "TXT", "MX", "CNAME"
namestring필수
valuestring필수
priorityinteger | null필수
requiredboolean필수
statusstring필수
enum: "pending", "verified", "error"
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
first_observed_atstring | null필수
format: "date-time"
last_checked_atstring | null필수
format: "date-time"
errorobject필수
추가 속성모든 값
provider_referencestring | null필수
deletionobject | null필수
추가 속성 없음
job_idstring필수
format: "uuid"
statusstring필수
enum: "pending", "processing", "waiting_provider", "completed", "failed"
last_error_codestring | null필수
cleanup_recordsarray필수
해체 완료 후 사용자가 제거할 수 있는 정확한 DNS 레코드.
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
lane_idstring필수
format: "uuid"
providerstring필수
enum: "banger", "resend"
purposestring필수
typestring필수
enum: "TXT", "MX", "CNAME"
namestring필수
valuestring필수
priorityinteger | null필수
requiredboolean필수
statusstring필수
enum: "pending", "verified", "error"
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
first_observed_atstring | null필수
format: "date-time"
last_checked_atstring | null필수
format: "date-time"
errorobject필수
추가 속성모든 값
provider_referencestring | null필수
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/sending-domains/{sendingDomainId}/verify' \
--header "Authorization: Bearer $BANGER_API_KEY"
웹훅
GET/v1/workspaces/{workspaceId}/webhooks
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
워크스페이스 웹훅 엔드포인트.
application/json
valueobject
dataarray필수
각 항목object
idstring필수
format: "uuid"
kindstring필수
enum: "outbound", "inbound"
source_keystring필수
pattern: "^[a-z0-9][a-z0-9_-]{0,62}$"
namestring필수
endpoint_urlstring | null
format: "uri"
statusstring필수
enum: "active", "disabled", "error"
event_typesarray필수
각 항목string
connection_idstring | null
format: "uuid"
delivered_countinteger필수
minimum: 0
failed_countinteger필수
minimum: 0
last_delivered_atstring | null
format: "date-time"
last_received_atstring | null
format: "date-time"
last_error_codestring | null
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/webhooks' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/webhooks
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
kindstring필수
enum: "outbound", "inbound"
namestring필수
minLength: 1 · maxLength: 120
source_keystring
banger_api는 POST /events가 만드는 웹훅용으로 예약돼요.
pattern: "^[a-z0-9][a-z0-9_-]{0,62}$" · default: "custom"
source_configobject
소스별 결정론적 이벤트 평가와 전달 매핑이며 Zendesk와 Supabase Auth를 지원해요.
추가 속성 없음
vip_tagsarray
minItems: 1 · maxItems: 20 · uniqueItems: true
각 항목string
pattern: "^[a-z0-9][a-z0-9_-]{0,63}$"
sla_warning_minutesinteger
minimum: 1 · maximum: 10080
project_urlstring
Supabase 프로젝트 URL.
format: "uri"
mailbox_idstring
Supabase Auth 이메일에 사용하는 활성 Banger 발송 주소.
format: "uuid"
template_idsobject
각 Supabase Auth 이메일 작업에 선택된 Banger 템플릿.
추가 속성 없음
signupstring필수
format: "uuid"
invitestring필수
format: "uuid"
magiclinkstring필수
format: "uuid"
recoverystring필수
format: "uuid"
email_changestring필수
format: "uuid"
reauthenticationstring필수
format: "uuid"
password_changed_notificationstring필수
format: "uuid"
email_changed_notificationstring필수
format: "uuid"
phone_changed_notificationstring필수
format: "uuid"
identity_linked_notificationstring필수
format: "uuid"
identity_unlinked_notificationstring필수
format: "uuid"
mfa_factor_enrolled_notificationstring필수
format: "uuid"
mfa_factor_unenrolled_notificationstring필수
format: "uuid"
signing_secretstring
Supabase Send Email Hook 비밀 값이며 수신 Supabase 소스에만 받고 저장 시 암호화해요.
minLength: 20 · maxLength: 500
endpoint_urlstring
발신 대상에만 필수예요.
format: "uri"
event_typesarray
보낼 이벤트예요. 생략하면 발신 엔드포인트는 기본 활동 이벤트를 받고 특정 이벤트(mail.received, mail.sent, send.*, journey.*)는 나열된 경우만 보내요. *는 대량의 send.delivered를 포함해 모두 보내요.
minItems: 1 · maxItems: 100 · uniqueItems: true
각 항목string
enum: "*", "mail.changed", "send.changed", "campaign.changed", "audience.changed", "approval.changed", "automation.changed", "domain.changed", "sending.warning", "sending.lane_paused", "sending.domain_paused", "sending.mailbox_paused", "sending.workspace_frozen", "sending.resumed", "mail.received", "mail.sent", "send.delivered", "send.bounced", "send.complained", "journey.enrolled", "journey.completed", "journey.exited", "custom"
성공 응답 201
웹훅이 생성됐어요. 발신 서명 비밀 값은 한 번 표시되며 허가된 호출자는 수신 자격 증명 옵션을 다시 열 수 있어요.
application/json
valueobject
data지정되지 않음필수
allOf 1object
idstring필수
format: "uuid"
kindstring필수
enum: "outbound", "inbound"
source_keystring필수
pattern: "^[a-z0-9][a-z0-9_-]{0,62}$"
namestring필수
endpoint_urlstring | null
format: "uri"
statusstring필수
enum: "active", "disabled", "error"
event_typesarray필수
각 항목string
connection_idstring | null
format: "uuid"
delivered_countinteger필수
minimum: 0
failed_countinteger필수
minimum: 0
last_delivered_atstring | null
format: "date-time"
last_received_atstring | null
format: "date-time"
last_error_codestring | null
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
allOf 2object
signing_secretstring
발신 요청 서명 비밀 값
source_urlstring
추측할 수 없는 비밀 값을 포함한 수신 이벤트 URL.
format: "uri"
webhook_urlstring
Authorization 헤더와 사용하는 공개 수신 URL.
format: "uri"
bearer_tokenstring
Authorization Bearer로 보낼 비밀 엔드포인트 토큰.
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/webhooks' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"kind": "outbound",
"name": "example",
"source_key": "custom",
"source_config": {
"vip_tags": [
"example"
],
"sla_warning_minutes": 1,
"project_url": "https://example.com",
"mailbox_id": "00000000-0000-4000-8000-000000000001",
"template_ids": {
"signup": "00000000-0000-4000-8000-000000000001",
"invite": "00000000-0000-4000-8000-000000000001",
"magiclink": "00000000-0000-4000-8000-000000000001",
"recovery": "00000000-0000-4000-8000-000000000001",
"email_change": "00000000-0000-4000-8000-000000000001",
"reauthentication": "00000000-0000-4000-8000-000000000001",
"password_changed_notification": "00000000-0000-4000-8000-000000000001",
"email_changed_notification": "00000000-0000-4000-8000-000000000001",
"phone_changed_notification": "00000000-0000-4000-8000-000000000001",
"identity_linked_notification": "00000000-0000-4000-8000-000000000001",
"identity_unlinked_notification": "00000000-0000-4000-8000-000000000001",
"mfa_factor_enrolled_notification": "00000000-0000-4000-8000-000000000001",
"mfa_factor_unenrolled_notification": "00000000-0000-4000-8000-000000000001"
}
},
"signing_secret": "examplexxxxxxxxxxxxx",
"endpoint_url": "https://example.com",
"event_types": [
"*"
]
}'
PATCH/v1/workspaces/{workspaceId}/webhooks/{endpointId}
비활성화는 전달 또는 수신 자동화 이벤트를 중지하고 웹훅, 이름, 이력을 유지해요. 수신 웹훅을 끄면 연결도 꺼져 이를 트리거로 사용하는 여정은 다시 켤 때까지 이벤트 수신을 멈춰요. 영구 제거하려면 웹훅을 삭제하세요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
성공 응답 200
웹훅이 다시 켜지거나 꺼졌어요.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
kindstring필수
enum: "outbound", "inbound"
source_keystring필수
pattern: "^[a-z0-9][a-z0-9_-]{0,62}$"
namestring필수
endpoint_urlstring | null
format: "uri"
statusstring필수
enum: "active", "disabled", "error"
event_typesarray필수
각 항목string
connection_idstring | null
format: "uuid"
delivered_countinteger필수
minimum: 0
failed_countinteger필수
minimum: 0
last_delivered_atstring | null
format: "date-time"
last_received_atstring | null
format: "date-time"
last_error_codestring | null
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
curl 예제
curl --request PATCH --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/webhooks/{endpointId}' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"status": "active"
}'
DELETE/v1/workspaces/{workspaceId}/webhooks/{endpointId}
발신 엔드포인트는 전달 이력과 함께 삭제돼요. 수신 웹훅은 연결과 함께 삭제되며 보관된 여정을 포함해 어떤 여정도 연결을 트리거나 목표로 사용하지 않을 때만 가능해요. 웹훅을 유지하면서 멈추려면 대신 status를 disabled로 PATCH하세요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 204
웹훅이 삭제됐어요.
응답 본문 없음.
curl 예제
curl --request DELETE --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/webhooks/{endpointId}' \
--header "Authorization: Bearer $BANGER_API_KEY"
GET/v1/workspaces/{workspaceId}/webhooks/{endpointId}/credentials
automation:execute가 필요해요. 리소스를 만들거나 교체하지 않고 같은 비밀 값을 반환해요. 이 응답은 캐시하거나 로그에 기록하지 마세요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
비공개 소스 URL, 공개 웹훅 URL, 별도 bearer 토큰.
application/json
valueobject
data지정되지 않음
allOf 1object
idstring필수
format: "uuid"
kindstring필수
enum: "outbound", "inbound"
source_keystring필수
pattern: "^[a-z0-9][a-z0-9_-]{0,62}$"
namestring필수
endpoint_urlstring | null
format: "uri"
statusstring필수
enum: "active", "disabled", "error"
event_typesarray필수
각 항목string
connection_idstring | null
format: "uuid"
delivered_countinteger필수
minimum: 0
failed_countinteger필수
minimum: 0
last_delivered_atstring | null
format: "date-time"
last_received_atstring | null
format: "date-time"
last_error_codestring | null
created_atstring필수
format: "date-time"
updated_atstring필수
format: "date-time"
allOf 2object
signing_secretstring
발신 요청 서명 비밀 값
source_urlstring
추측할 수 없는 비밀 값을 포함한 수신 이벤트 URL.
format: "uri"
webhook_urlstring
Authorization 헤더와 사용하는 공개 수신 URL.
format: "uri"
bearer_tokenstring
Authorization Bearer로 보낼 비밀 엔드포인트 토큰.
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/webhooks/{endpointId}/credentials' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'x-banger-product-id: 00000000-0000-4000-8000-000000000001'
GET/v1/workspaces/{workspaceId}/webhooks/{endpointId}/deliveries
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
최근 전달 시도.
application/json
valueobject
dataarray필수
각 항목object
idstring필수
format: "uuid"
event_typestring필수
statusstring필수
enum: "pending", "delivering", "delivered", "failed"
attempt_countinteger필수
minimum: 0
http_statusinteger | null
minimum: 100 · maximum: 599
last_error_codestring | null
delivered_atstring | null
format: "date-time"
created_atstring필수
format: "date-time"
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/webhooks/{endpointId}/deliveries' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/webhooks/{endpointId}/test
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 202
서명된 테스트 이벤트가 대기열에 들어갔어요.
application/json
valueobject
dataobject필수
idstring필수
format: "uuid"
statusstring필수
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/webhooks/{endpointId}/test' \
--header "Authorization: Bearer $BANGER_API_KEY"
온보딩
PUT/v1/workspaces/{workspaceId}/onboarding/path
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
pathstring필수
enum: "starter_identity", "company_domain", "resend_gateway", "banger_native_sending", "work_mailbox", "gmail", "native_mailbox", "existing_provider"
성공 응답 200
서버가 기준인 온보딩 경로가 선택됐어요.
application/json
valueobject
dataobject필수
pathstring필수
enum: "starter_identity", "company_domain", "resend_gateway", "banger_native_sending", "work_mailbox", "gmail", "native_mailbox", "existing_provider"
curl 예제
curl --request PUT --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/path' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"path": "starter_identity"
}'
GET/v1/workspaces/{workspaceId}/onboarding/guided
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
저장된 진행 상황과 독립적으로 검증된 기능.
application/json
valueobject
dataobject필수
product_idstring필수
format: "uuid"
lessonobject
stepstring필수
purposestring필수
setupstring필수
boundarystring필수
example_requeststring필수
resultstring필수
choicestring필수
skipstring | null필수
guidancestring
current_stepstring필수
enum: "connect", "business", "identity", "sending"
completed_countinteger필수
total_stepsinteger필수
enum: 4
setupobject
웹 설정 게이트와 설정 완료 배너예요. 각 부분은 complete, verifying(도메인 레코드 추가, DNS 확인 중), skipped 또는 missing이에요.
connectstring필수
enum: "complete", "skipped", "missing"
brandstring필수
enum: "complete", "skipped", "missing"
domainstring필수
enum: "complete", "verifying", "skipped", "missing"
gate_openboolean필수
브랜드 또는 도메인이 완료되거나 건너뛰어지지 않았으면 True예요.
missingarray필수
건너뛰거나 수행하지 않은 부분
각 항목string
enum: "connect", "brand", "domain"
unlock_video_dueboolean
도메인 검증 후 워크스페이스가 "지금 할 수 있는 일" 동영상을 볼 때까지 True예요.
agent_client_namestring | null
연결된 AI 앱
completeboolean필수
shared_education_completeboolean
outcomestring필수
enum: "in_progress", "production_deferred", "production_ready"
recommended_actionstring필수
readinessobject필수
추가 속성boolean
progressobject필수
추가 속성모든 값
stepsarray필수
각 항목object
idstring필수
titlestring필수
explanationstring
statusstring필수
enum: "not_started", "in_progress", "waiting", "needs_attention", "complete", "skipped"
blocking_dependencystring | null
recommended_actionstring
actionsarray필수
각 항목string
resource_idsarray필수
각 항목string
evidenceobject필수
추가 속성모든 값
추가 속성모든 값
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/guided?details=1' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'x-banger-product-id: 00000000-0000-4000-8000-000000000001'
POST/v1/workspaces/{workspaceId}/onboarding/guided
발송은 허가한 사용자의 검증된 가입 주소만 대상으로 해요. 여정은 비활성이고 단체 발송은 미발송 상태를 유지해요. 기존 이전 승인 경계를 적용해요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
actionstring필수
enum: "begin_guidance", "save_business", "discover_brand", "skip_business", "choose_identity", "defer_identity", "skip_domain", "choose_delivery", "setup_receiving", "defer_receiving", "setup_sending", "dns_applied", "verify_dns", "continue_domain", "add_inboxes", "skip_inboxes", "finish_for_now", "finish"
dataobject
비즈니스 필드는 company_name, primary_goal, website_url, brand이며 임시저장 필드는 name, subject, preview_text, body_text, edit, ID 필드는 domain, local_part예요. 수신자 입력은 받지 않아요.
추가 속성모든 값
성공 응답 200
요청한 작업 후 새로 고친 기준 상태.
application/json
valueobject
dataobject필수
product_idstring필수
format: "uuid"
lessonobject
stepstring필수
purposestring필수
setupstring필수
boundarystring필수
example_requeststring필수
resultstring필수
choicestring필수
skipstring | null필수
guidancestring
current_stepstring필수
enum: "connect", "business", "identity", "sending"
completed_countinteger필수
total_stepsinteger필수
enum: 4
setupobject
웹 설정 게이트와 설정 완료 배너예요. 각 부분은 complete, verifying(도메인 레코드 추가, DNS 확인 중), skipped 또는 missing이에요.
connectstring필수
enum: "complete", "skipped", "missing"
brandstring필수
enum: "complete", "skipped", "missing"
domainstring필수
enum: "complete", "verifying", "skipped", "missing"
gate_openboolean필수
브랜드 또는 도메인이 완료되거나 건너뛰어지지 않았으면 True예요.
missingarray필수
건너뛰거나 수행하지 않은 부분
각 항목string
enum: "connect", "brand", "domain"
unlock_video_dueboolean
도메인 검증 후 워크스페이스가 "지금 할 수 있는 일" 동영상을 볼 때까지 True예요.
agent_client_namestring | null
연결된 AI 앱
completeboolean필수
shared_education_completeboolean
outcomestring필수
enum: "in_progress", "production_deferred", "production_ready"
recommended_actionstring필수
readinessobject필수
추가 속성boolean
progressobject필수
추가 속성모든 값
stepsarray필수
각 항목object
idstring필수
titlestring필수
explanationstring
statusstring필수
enum: "not_started", "in_progress", "waiting", "needs_attention", "complete", "skipped"
blocking_dependencystring | null
recommended_actionstring
actionsarray필수
각 항목string
resource_idsarray필수
각 항목string
evidenceobject필수
추가 속성모든 값
추가 속성모든 값
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/guided' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'x-banger-product-id: 00000000-0000-4000-8000-000000000001' \
--header 'Content-Type: application/json' \
--data-raw '{
"action": "begin_guidance",
"data": {}
}'
GET/v1/workspaces/{workspaceId}/onboarding/agent-state
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
현재 서버 소유 온보딩 상태.
application/json
valueobject
data지정되지 않음필수
allOf 1object
workspace_idstring필수
format: "uuid"
statusstring필수
enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"
entry_surfacestring | null필수
enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null
agent_statusstring필수
enum: "not_connected", "connecting", "connected", "browser_only"
agent_client_namestring | null필수
domain_choicestring필수
enum: "undecided", "company_domain", "no_domain"
company_domainstring | null필수
domain_chosen_atstring | null필수
format: "date-time"
business_contextobject필수
추가 속성모든 값
opportunity_planarray필수
각 항목object
추가 속성모든 값
implementation_summaryobject필수
추가 속성모든 값
validation_summaryobject필수
추가 속성모든 값
journey_metadataobject필수
추가 속성모든 값
context_reviewed_atstring | null필수
format: "date-time"
plan_proposed_atstring | null필수
format: "date-time"
plan_approved_atstring | null필수
format: "date-time"
completed_atstring | null필수
format: "date-time"
versioninteger필수
format: "int64" · minimum: 1
updated_atstring필수
format: "date-time"
allOf 2object
domain_discovery지정되지 않음필수
oneOf 1object
domainstring필수
scan_statusstring필수
enum: "complete", "partial", "failed"
companyobject필수
domainstring필수
추가 중첩 생략
website_urlstring | null필수
format: "uri"
추가 중첩 생략
website_statusstring필수
enum: "available", "missing", "blocked", "error"
추가 중첩 생략
company_namestring필수
추가 중첩 생략
summarystring필수
추가 중첩 생략
audiencestring필수
추가 중첩 생략
offeringsarray필수
추가 중첩 생략
logo_urlstring | null필수
format: "uri"
추가 중첩 생략
favicon_urlstring | null필수
format: "uri"
추가 중첩 생략
visual_identityobject필수
추가 중첩 생략
source_snapshotobject필수
추가 중첩 생략
dns_signalsarray필수
각 항목object
추가 중첩 생략
dns_provider지정되지 않음필수
oneOf 1object
추가 속성 없음
추가 중첩 생략
oneOf 2null
추가 중첩 생략
provider_detectionsarray필수
각 항목object
추가 중첩 생략
capability_summaryarray필수
각 항목object
추가 중첩 생략
recommended_connectionsarray필수
각 항목object
추가 속성 없음
추가 중첩 생략
connection_planarray필수
각 항목object
추가 속성 없음
추가 중첩 생략
limitationsarray필수
각 항목string
추가 중첩 생략
scanned_atstring필수
format: "date-time"
confirmed_atstring | null필수
format: "date-time"
oneOf 2null
recommended_connectionsarray필수
각 항목object
추가 속성 없음
keystring필수
namestring필수
categorystring필수
enum: "email", "customer", "product", "work", "data"
prioritystring필수
enum: "required", "recommended"
reasonstring필수
sourcestring필수
enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"
setup_modestring필수
enum: "oauth", "secure_credentials"
availableboolean필수
provider_keystring
evidencearray필수
각 항목object
추가 중첩 생략
domain_bundleobject | null필수
추가 속성모든 값
growthobject필수
추가 속성모든 값
activationobject필수
modestring필수
enum: "hosted", "company_domain", "starter"
statusstring필수
enum: "hosted_mailbox_required", "hosted_mailbox_proving", "hosted_mailbox_ready", "needs_context", "needs_provisioning", "provisioning", "dns_required", "ready_for_proof", "proving", "activated", "starter_required", "starter_proving", "starter_ready"
domainstring | null필수
sending_domain_idstring | null필수
format: "uuid"
mailbox_idstring | null필수
format: "uuid"
mailbox_addressstring | null필수
format: "email"
exact_dns_recordsarray필수
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
추가 중첩 생략
lane_idstring필수
format: "uuid"
추가 중첩 생략
providerstring필수
enum: "banger", "resend"
추가 중첩 생략
purposestring필수
추가 중첩 생략
typestring필수
enum: "TXT", "MX", "CNAME"
추가 중첩 생략
namestring필수
추가 중첩 생략
valuestring필수
추가 중첩 생략
priorityinteger | null필수
추가 중첩 생략
requiredboolean필수
추가 중첩 생략
statusstring필수
enum: "pending", "verified", "error"
추가 중첩 생략
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
추가 중첩 생략
first_observed_atstring | null필수
format: "date-time"
추가 중첩 생략
last_checked_atstring | null필수
format: "date-time"
추가 중첩 생략
errorobject필수
추가 중첩 생략
provider_referencestring | null필수
추가 중첩 생략
checkpointsarray필수
각 항목object
keystring필수
enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"
추가 중첩 생략
labelstring필수
추가 중첩 생략
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
lanesobject필수
mailboxobject필수
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
transactionalobject필수
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
marketingobject필수
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
proof지정되지 않음필수
oneOf 1object
proof_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_addressstring필수
format: "email"
추가 중첩 생략
command_idstring필수
format: "uuid"
추가 중첩 생략
phasestring필수
enum: "sending", "sent", "received", "checked", "failed"
추가 중첩 생략
send_completeboolean필수
추가 중첩 생략
receive_completeboolean필수
추가 중첩 생략
round_trip_check_completeboolean필수
추가 중첩 생략
agent_check_completeboolean필수
추가 중첩 생략
completeboolean필수
추가 중첩 생략
expected_subjectstring필수
추가 중첩 생략
expected_body_textstring필수
추가 중첩 생략
received_message_idstring
format: "uuid"
추가 중첩 생략
received_thread_idstring
format: "uuid"
추가 중첩 생략
received_subjectstring
추가 중첩 생략
received_body_textstring
추가 중첩 생략
received_atstring
format: "date-time"
추가 중첩 생략
agent_labelstring
추가 중첩 생략
agent_suggested_actionstring
추가 중첩 생략
error_codestring
추가 중첩 생략
replayedboolean필수
추가 중첩 생략
oneOf 2object
proof_idstring필수
format: "uuid"
추가 중첩 생략
domain_idstring필수
format: "uuid"
추가 중첩 생략
native_domain_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_addressstring필수
format: "email"
추가 중첩 생략
transactional_send_intent_idstring
format: "uuid"
추가 중첩 생략
marketing_send_intent_idstring
format: "uuid"
추가 중첩 생략
transactional_subjectstring필수
추가 중첩 생략
marketing_subjectstring필수
추가 중첩 생략
phasestring필수
enum: "sending", "receiving", "received", "checked", "failed"
추가 중첩 생략
send_completeboolean필수
추가 중첩 생략
transactional_receivedboolean필수
추가 중첩 생략
marketing_receivedboolean필수
추가 중첩 생략
receive_completeboolean필수
추가 중첩 생략
agent_check_completeboolean필수
추가 중첩 생략
completeboolean필수
추가 중첩 생략
error_codestring
추가 중첩 생략
replayedboolean필수
추가 중첩 생략
oneOf 3null
overall_readyboolean필수
production_readyboolean필수
completedboolean필수
pendingboolean필수
next_actionstring필수
enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"
action_requiredobject필수
typestring필수
requiredboolean필수
actionstring필수
enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"
urlstring | null필수
format: "uri"
instructionsstring | null필수
secure_urlstring | null필수
format: "uri"
mcp_urlstring필수
format: "uri"
dashboard_urlstring필수
format: "uri"
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/agent-state' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/onboarding/agent-state/start
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
entry_surfacestring필수
enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser"
client_namestring
minLength: 1 · maxLength: 100
성공 응답 200
여정이 시작되거나 재개됐어요.
application/json
valueobject
data지정되지 않음필수
allOf 1object
workspace_idstring필수
format: "uuid"
statusstring필수
enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"
entry_surfacestring | null필수
enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null
agent_statusstring필수
enum: "not_connected", "connecting", "connected", "browser_only"
agent_client_namestring | null필수
domain_choicestring필수
enum: "undecided", "company_domain", "no_domain"
company_domainstring | null필수
domain_chosen_atstring | null필수
format: "date-time"
business_contextobject필수
추가 속성모든 값
opportunity_planarray필수
각 항목object
추가 속성모든 값
implementation_summaryobject필수
추가 속성모든 값
validation_summaryobject필수
추가 속성모든 값
journey_metadataobject필수
추가 속성모든 값
context_reviewed_atstring | null필수
format: "date-time"
plan_proposed_atstring | null필수
format: "date-time"
plan_approved_atstring | null필수
format: "date-time"
completed_atstring | null필수
format: "date-time"
versioninteger필수
format: "int64" · minimum: 1
updated_atstring필수
format: "date-time"
allOf 2object
domain_discovery지정되지 않음필수
oneOf 1object
domainstring필수
scan_statusstring필수
enum: "complete", "partial", "failed"
companyobject필수
domainstring필수
추가 중첩 생략
website_urlstring | null필수
format: "uri"
추가 중첩 생략
website_statusstring필수
enum: "available", "missing", "blocked", "error"
추가 중첩 생략
company_namestring필수
추가 중첩 생략
summarystring필수
추가 중첩 생략
audiencestring필수
추가 중첩 생략
offeringsarray필수
추가 중첩 생략
logo_urlstring | null필수
format: "uri"
추가 중첩 생략
favicon_urlstring | null필수
format: "uri"
추가 중첩 생략
visual_identityobject필수
추가 중첩 생략
source_snapshotobject필수
추가 중첩 생략
dns_signalsarray필수
각 항목object
추가 중첩 생략
dns_provider지정되지 않음필수
oneOf 1object
추가 속성 없음
추가 중첩 생략
oneOf 2null
추가 중첩 생략
provider_detectionsarray필수
각 항목object
추가 중첩 생략
capability_summaryarray필수
각 항목object
추가 중첩 생략
recommended_connectionsarray필수
각 항목object
추가 속성 없음
추가 중첩 생략
connection_planarray필수
각 항목object
추가 속성 없음
추가 중첩 생략
limitationsarray필수
각 항목string
추가 중첩 생략
scanned_atstring필수
format: "date-time"
confirmed_atstring | null필수
format: "date-time"
oneOf 2null
recommended_connectionsarray필수
각 항목object
추가 속성 없음
keystring필수
namestring필수
categorystring필수
enum: "email", "customer", "product", "work", "data"
prioritystring필수
enum: "required", "recommended"
reasonstring필수
sourcestring필수
enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"
setup_modestring필수
enum: "oauth", "secure_credentials"
availableboolean필수
provider_keystring
evidencearray필수
각 항목object
추가 중첩 생략
domain_bundleobject | null필수
추가 속성모든 값
growthobject필수
추가 속성모든 값
activationobject필수
modestring필수
enum: "hosted", "company_domain", "starter"
statusstring필수
enum: "hosted_mailbox_required", "hosted_mailbox_proving", "hosted_mailbox_ready", "needs_context", "needs_provisioning", "provisioning", "dns_required", "ready_for_proof", "proving", "activated", "starter_required", "starter_proving", "starter_ready"
domainstring | null필수
sending_domain_idstring | null필수
format: "uuid"
mailbox_idstring | null필수
format: "uuid"
mailbox_addressstring | null필수
format: "email"
exact_dns_recordsarray필수
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
추가 중첩 생략
lane_idstring필수
format: "uuid"
추가 중첩 생략
providerstring필수
enum: "banger", "resend"
추가 중첩 생략
purposestring필수
추가 중첩 생략
typestring필수
enum: "TXT", "MX", "CNAME"
추가 중첩 생략
namestring필수
추가 중첩 생략
valuestring필수
추가 중첩 생략
priorityinteger | null필수
추가 중첩 생략
requiredboolean필수
추가 중첩 생략
statusstring필수
enum: "pending", "verified", "error"
추가 중첩 생략
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
추가 중첩 생략
first_observed_atstring | null필수
format: "date-time"
추가 중첩 생략
last_checked_atstring | null필수
format: "date-time"
추가 중첩 생략
errorobject필수
추가 중첩 생략
provider_referencestring | null필수
추가 중첩 생략
checkpointsarray필수
각 항목object
keystring필수
enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"
추가 중첩 생략
labelstring필수
추가 중첩 생략
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
lanesobject필수
mailboxobject필수
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
transactionalobject필수
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
marketingobject필수
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
proof지정되지 않음필수
oneOf 1object
proof_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_addressstring필수
format: "email"
추가 중첩 생략
command_idstring필수
format: "uuid"
추가 중첩 생략
phasestring필수
enum: "sending", "sent", "received", "checked", "failed"
추가 중첩 생략
send_completeboolean필수
추가 중첩 생략
receive_completeboolean필수
추가 중첩 생략
round_trip_check_completeboolean필수
추가 중첩 생략
agent_check_completeboolean필수
추가 중첩 생략
completeboolean필수
추가 중첩 생략
expected_subjectstring필수
추가 중첩 생략
expected_body_textstring필수
추가 중첩 생략
received_message_idstring
format: "uuid"
추가 중첩 생략
received_thread_idstring
format: "uuid"
추가 중첩 생략
received_subjectstring
추가 중첩 생략
received_body_textstring
추가 중첩 생략
received_atstring
format: "date-time"
추가 중첩 생략
agent_labelstring
추가 중첩 생략
agent_suggested_actionstring
추가 중첩 생략
error_codestring
추가 중첩 생략
replayedboolean필수
추가 중첩 생략
oneOf 2object
proof_idstring필수
format: "uuid"
추가 중첩 생략
domain_idstring필수
format: "uuid"
추가 중첩 생략
native_domain_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_addressstring필수
format: "email"
추가 중첩 생략
transactional_send_intent_idstring
format: "uuid"
추가 중첩 생략
marketing_send_intent_idstring
format: "uuid"
추가 중첩 생략
transactional_subjectstring필수
추가 중첩 생략
marketing_subjectstring필수
추가 중첩 생략
phasestring필수
enum: "sending", "receiving", "received", "checked", "failed"
추가 중첩 생략
send_completeboolean필수
추가 중첩 생략
transactional_receivedboolean필수
추가 중첩 생략
marketing_receivedboolean필수
추가 중첩 생략
receive_completeboolean필수
추가 중첩 생략
agent_check_completeboolean필수
추가 중첩 생략
completeboolean필수
추가 중첩 생략
error_codestring
추가 중첩 생략
replayedboolean필수
추가 중첩 생략
oneOf 3null
overall_readyboolean필수
production_readyboolean필수
completedboolean필수
pendingboolean필수
next_actionstring필수
enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"
action_requiredobject필수
typestring필수
requiredboolean필수
actionstring필수
enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"
urlstring | null필수
format: "uri"
instructionsstring | null필수
secure_urlstring | null필수
format: "uri"
mcp_urlstring필수
format: "uri"
dashboard_urlstring필수
format: "uri"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/agent-state/start' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"entry_surface": "codex",
"client_name": "example"
}'
POST/v1/workspaces/{workspaceId}/onboarding/agent-state/aha-one
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
호스팅 메일함과 기존 증명이 재개됐어요.
application/json
valueobject
dataobject필수
proof_idstring필수
format: "uuid"
mailbox_idstring필수
format: "uuid"
mailbox_addressstring필수
format: "email"
command_idstring필수
format: "uuid"
phasestring필수
enum: "sending", "sent", "received", "checked", "failed"
send_completeboolean필수
receive_completeboolean필수
round_trip_check_completeboolean필수
agent_check_completeboolean필수
completeboolean필수
expected_subjectstring필수
expected_body_textstring필수
received_message_idstring
format: "uuid"
received_thread_idstring
format: "uuid"
received_subjectstring
received_body_textstring
received_atstring
format: "date-time"
agent_labelstring
agent_suggested_actionstring
error_codestring
replayedboolean필수
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/agent-state/aha-one' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/onboarding/agent-state/agent-proof
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
같은 OAuth 권한이 증명을 재실행했거나 이미 완료했어요.
application/json
valueobject
dataobject필수
statusstring필수
enum: "pending", "verified"
attempt_idstring필수
format: "uuid"
oauth_grant_idstring필수
oauth_client_idstring | null필수
client_namestring | null필수
mailbox_idstring필수
format: "uuid"
mailbox_addressstring필수
format: "email"
expected_subjectstring필수
initiated_atstring필수
format: "date-time"
command_idstring
format: "uuid"
send_statusstring
dispatch_statusstring
enum: "completed", "already-running", "already-settled"
replayedboolean
message_idstring
format: "uuid"
thread_idstring
format: "uuid"
received_atstring
format: "date-time"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/agent-state/agent-proof' \
--header "Authorization: Bearer $BANGER_API_KEY"
PUT/v1/workspaces/{workspaceId}/onboarding/agent-state/decision
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
decisionstring필수
enum: "agent_connection_skipped", "goals_chosen", "domain_bundle_approved", "dns_computer_use_authorized", "dns_manual_selected", "dns_records_applied", "services_reviewed", "persistent_mcp_acknowledged", "autopilot_proposed", "autopilot_skipped", "autopilot_activated", "intro_video_seen", "unlock_video_seen"
detailsobject
추가 속성모든 값
성공 응답 200
선택이 기준 여정에 저장돼요.
application/json
valueobject
data지정되지 않음필수
allOf 1object
workspace_idstring필수
format: "uuid"
statusstring필수
enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"
entry_surfacestring | null필수
enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null
agent_statusstring필수
enum: "not_connected", "connecting", "connected", "browser_only"
agent_client_namestring | null필수
domain_choicestring필수
enum: "undecided", "company_domain", "no_domain"
company_domainstring | null필수
domain_chosen_atstring | null필수
format: "date-time"
business_contextobject필수
추가 속성모든 값
opportunity_planarray필수
각 항목object
추가 속성모든 값
implementation_summaryobject필수
추가 속성모든 값
validation_summaryobject필수
추가 속성모든 값
journey_metadataobject필수
추가 속성모든 값
context_reviewed_atstring | null필수
format: "date-time"
plan_proposed_atstring | null필수
format: "date-time"
plan_approved_atstring | null필수
format: "date-time"
completed_atstring | null필수
format: "date-time"
versioninteger필수
format: "int64" · minimum: 1
updated_atstring필수
format: "date-time"
allOf 2object
domain_discovery지정되지 않음필수
oneOf 1object
domainstring필수
scan_statusstring필수
enum: "complete", "partial", "failed"
companyobject필수
domainstring필수
추가 중첩 생략
website_urlstring | null필수
format: "uri"
추가 중첩 생략
website_statusstring필수
enum: "available", "missing", "blocked", "error"
추가 중첩 생략
company_namestring필수
추가 중첩 생략
summarystring필수
추가 중첩 생략
audiencestring필수
추가 중첩 생략
offeringsarray필수
추가 중첩 생략
logo_urlstring | null필수
format: "uri"
추가 중첩 생략
favicon_urlstring | null필수
format: "uri"
추가 중첩 생략
visual_identityobject필수
추가 중첩 생략
source_snapshotobject필수
추가 중첩 생략
dns_signalsarray필수
각 항목object
추가 중첩 생략
dns_provider지정되지 않음필수
oneOf 1object
추가 속성 없음
추가 중첩 생략
oneOf 2null
추가 중첩 생략
provider_detectionsarray필수
각 항목object
추가 중첩 생략
capability_summaryarray필수
각 항목object
추가 중첩 생략
recommended_connectionsarray필수
각 항목object
추가 속성 없음
추가 중첩 생략
connection_planarray필수
각 항목object
추가 속성 없음
추가 중첩 생략
limitationsarray필수
각 항목string
추가 중첩 생략
scanned_atstring필수
format: "date-time"
confirmed_atstring | null필수
format: "date-time"
oneOf 2null
recommended_connectionsarray필수
각 항목object
추가 속성 없음
keystring필수
namestring필수
categorystring필수
enum: "email", "customer", "product", "work", "data"
prioritystring필수
enum: "required", "recommended"
reasonstring필수
sourcestring필수
enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"
setup_modestring필수
enum: "oauth", "secure_credentials"
availableboolean필수
provider_keystring
evidencearray필수
각 항목object
추가 중첩 생략
domain_bundleobject | null필수
추가 속성모든 값
growthobject필수
추가 속성모든 값
activationobject필수
modestring필수
enum: "hosted", "company_domain", "starter"
statusstring필수
enum: "hosted_mailbox_required", "hosted_mailbox_proving", "hosted_mailbox_ready", "needs_context", "needs_provisioning", "provisioning", "dns_required", "ready_for_proof", "proving", "activated", "starter_required", "starter_proving", "starter_ready"
domainstring | null필수
sending_domain_idstring | null필수
format: "uuid"
mailbox_idstring | null필수
format: "uuid"
mailbox_addressstring | null필수
format: "email"
exact_dns_recordsarray필수
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
추가 중첩 생략
lane_idstring필수
format: "uuid"
추가 중첩 생략
providerstring필수
enum: "banger", "resend"
추가 중첩 생략
purposestring필수
추가 중첩 생략
typestring필수
enum: "TXT", "MX", "CNAME"
추가 중첩 생략
namestring필수
추가 중첩 생략
valuestring필수
추가 중첩 생략
priorityinteger | null필수
추가 중첩 생략
requiredboolean필수
추가 중첩 생략
statusstring필수
enum: "pending", "verified", "error"
추가 중첩 생략
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
추가 중첩 생략
first_observed_atstring | null필수
format: "date-time"
추가 중첩 생략
last_checked_atstring | null필수
format: "date-time"
추가 중첩 생략
errorobject필수
추가 중첩 생략
provider_referencestring | null필수
추가 중첩 생략
checkpointsarray필수
각 항목object
keystring필수
enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"
추가 중첩 생략
labelstring필수
추가 중첩 생략
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
lanesobject필수
mailboxobject필수
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
transactionalobject필수
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
marketingobject필수
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
proof지정되지 않음필수
oneOf 1object
proof_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_addressstring필수
format: "email"
추가 중첩 생략
command_idstring필수
format: "uuid"
추가 중첩 생략
phasestring필수
enum: "sending", "sent", "received", "checked", "failed"
추가 중첩 생략
send_completeboolean필수
추가 중첩 생략
receive_completeboolean필수
추가 중첩 생략
round_trip_check_completeboolean필수
추가 중첩 생략
agent_check_completeboolean필수
추가 중첩 생략
completeboolean필수
추가 중첩 생략
expected_subjectstring필수
추가 중첩 생략
expected_body_textstring필수
추가 중첩 생략
received_message_idstring
format: "uuid"
추가 중첩 생략
received_thread_idstring
format: "uuid"
추가 중첩 생략
received_subjectstring
추가 중첩 생략
received_body_textstring
추가 중첩 생략
received_atstring
format: "date-time"
추가 중첩 생략
agent_labelstring
추가 중첩 생략
agent_suggested_actionstring
추가 중첩 생략
error_codestring
추가 중첩 생략
replayedboolean필수
추가 중첩 생략
oneOf 2object
proof_idstring필수
format: "uuid"
추가 중첩 생략
domain_idstring필수
format: "uuid"
추가 중첩 생략
native_domain_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_addressstring필수
format: "email"
추가 중첩 생략
transactional_send_intent_idstring
format: "uuid"
추가 중첩 생략
marketing_send_intent_idstring
format: "uuid"
추가 중첩 생략
transactional_subjectstring필수
추가 중첩 생략
marketing_subjectstring필수
추가 중첩 생략
phasestring필수
enum: "sending", "receiving", "received", "checked", "failed"
추가 중첩 생략
send_completeboolean필수
추가 중첩 생략
transactional_receivedboolean필수
추가 중첩 생략
marketing_receivedboolean필수
추가 중첩 생략
receive_completeboolean필수
추가 중첩 생략
agent_check_completeboolean필수
추가 중첩 생략
completeboolean필수
추가 중첩 생략
error_codestring
추가 중첩 생략
replayedboolean필수
추가 중첩 생략
oneOf 3null
overall_readyboolean필수
production_readyboolean필수
completedboolean필수
pendingboolean필수
next_actionstring필수
enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"
action_requiredobject필수
typestring필수
requiredboolean필수
actionstring필수
enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"
urlstring | null필수
format: "uri"
instructionsstring | null필수
secure_urlstring | null필수
format: "uri"
mcp_urlstring필수
format: "uri"
dashboard_urlstring필수
format: "uri"
curl 예제
curl --request PUT --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/agent-state/decision' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"decision": "agent_connection_skipped",
"details": {}
}'
PUT/v1/workspaces/{workspaceId}/onboarding/agent-state/domain-choice
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
성공 응답 200
도메인 결정이 저장되고 여정이 재개됐어요.
application/json
valueobject
data지정되지 않음필수
allOf 1object
workspace_idstring필수
format: "uuid"
statusstring필수
enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"
entry_surfacestring | null필수
enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null
agent_statusstring필수
enum: "not_connected", "connecting", "connected", "browser_only"
agent_client_namestring | null필수
domain_choicestring필수
enum: "undecided", "company_domain", "no_domain"
company_domainstring | null필수
domain_chosen_atstring | null필수
format: "date-time"
business_contextobject필수
추가 속성모든 값
opportunity_planarray필수
각 항목object
추가 속성모든 값
implementation_summaryobject필수
추가 속성모든 값
validation_summaryobject필수
추가 속성모든 값
journey_metadataobject필수
추가 속성모든 값
context_reviewed_atstring | null필수
format: "date-time"
plan_proposed_atstring | null필수
format: "date-time"
plan_approved_atstring | null필수
format: "date-time"
completed_atstring | null필수
format: "date-time"
versioninteger필수
format: "int64" · minimum: 1
updated_atstring필수
format: "date-time"
allOf 2object
domain_discovery지정되지 않음필수
oneOf 1object
domainstring필수
scan_statusstring필수
enum: "complete", "partial", "failed"
companyobject필수
domainstring필수
추가 중첩 생략
website_urlstring | null필수
format: "uri"
추가 중첩 생략
website_statusstring필수
enum: "available", "missing", "blocked", "error"
추가 중첩 생략
company_namestring필수
추가 중첩 생략
summarystring필수
추가 중첩 생략
audiencestring필수
추가 중첩 생략
offeringsarray필수
추가 중첩 생략
logo_urlstring | null필수
format: "uri"
추가 중첩 생략
favicon_urlstring | null필수
format: "uri"
추가 중첩 생략
visual_identityobject필수
추가 중첩 생략
source_snapshotobject필수
추가 중첩 생략
dns_signalsarray필수
각 항목object
추가 중첩 생략
dns_provider지정되지 않음필수
oneOf 1object
추가 속성 없음
추가 중첩 생략
oneOf 2null
추가 중첩 생략
provider_detectionsarray필수
각 항목object
추가 중첩 생략
capability_summaryarray필수
각 항목object
추가 중첩 생략
recommended_connectionsarray필수
각 항목object
추가 속성 없음
추가 중첩 생략
connection_planarray필수
각 항목object
추가 속성 없음
추가 중첩 생략
limitationsarray필수
각 항목string
추가 중첩 생략
scanned_atstring필수
format: "date-time"
confirmed_atstring | null필수
format: "date-time"
oneOf 2null
recommended_connectionsarray필수
각 항목object
추가 속성 없음
keystring필수
namestring필수
categorystring필수
enum: "email", "customer", "product", "work", "data"
prioritystring필수
enum: "required", "recommended"
reasonstring필수
sourcestring필수
enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"
setup_modestring필수
enum: "oauth", "secure_credentials"
availableboolean필수
provider_keystring
evidencearray필수
각 항목object
추가 중첩 생략
domain_bundleobject | null필수
추가 속성모든 값
growthobject필수
추가 속성모든 값
activationobject필수
modestring필수
enum: "hosted", "company_domain", "starter"
statusstring필수
enum: "hosted_mailbox_required", "hosted_mailbox_proving", "hosted_mailbox_ready", "needs_context", "needs_provisioning", "provisioning", "dns_required", "ready_for_proof", "proving", "activated", "starter_required", "starter_proving", "starter_ready"
domainstring | null필수
sending_domain_idstring | null필수
format: "uuid"
mailbox_idstring | null필수
format: "uuid"
mailbox_addressstring | null필수
format: "email"
exact_dns_recordsarray필수
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
추가 중첩 생략
lane_idstring필수
format: "uuid"
추가 중첩 생략
providerstring필수
enum: "banger", "resend"
추가 중첩 생략
purposestring필수
추가 중첩 생략
typestring필수
enum: "TXT", "MX", "CNAME"
추가 중첩 생략
namestring필수
추가 중첩 생략
valuestring필수
추가 중첩 생략
priorityinteger | null필수
추가 중첩 생략
requiredboolean필수
추가 중첩 생략
statusstring필수
enum: "pending", "verified", "error"
추가 중첩 생략
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
추가 중첩 생략
first_observed_atstring | null필수
format: "date-time"
추가 중첩 생략
last_checked_atstring | null필수
format: "date-time"
추가 중첩 생략
errorobject필수
추가 중첩 생략
provider_referencestring | null필수
추가 중첩 생략
checkpointsarray필수
각 항목object
keystring필수
enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"
추가 중첩 생략
labelstring필수
추가 중첩 생략
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
lanesobject필수
mailboxobject필수
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
transactionalobject필수
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
marketingobject필수
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
proof지정되지 않음필수
oneOf 1object
proof_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_addressstring필수
format: "email"
추가 중첩 생략
command_idstring필수
format: "uuid"
추가 중첩 생략
phasestring필수
enum: "sending", "sent", "received", "checked", "failed"
추가 중첩 생략
send_completeboolean필수
추가 중첩 생략
receive_completeboolean필수
추가 중첩 생략
round_trip_check_completeboolean필수
추가 중첩 생략
agent_check_completeboolean필수
추가 중첩 생략
completeboolean필수
추가 중첩 생략
expected_subjectstring필수
추가 중첩 생략
expected_body_textstring필수
추가 중첩 생략
received_message_idstring
format: "uuid"
추가 중첩 생략
received_thread_idstring
format: "uuid"
추가 중첩 생략
received_subjectstring
추가 중첩 생략
received_body_textstring
추가 중첩 생략
received_atstring
format: "date-time"
추가 중첩 생략
agent_labelstring
추가 중첩 생략
agent_suggested_actionstring
추가 중첩 생략
error_codestring
추가 중첩 생략
replayedboolean필수
추가 중첩 생략
oneOf 2object
proof_idstring필수
format: "uuid"
추가 중첩 생략
domain_idstring필수
format: "uuid"
추가 중첩 생략
native_domain_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_addressstring필수
format: "email"
추가 중첩 생략
transactional_send_intent_idstring
format: "uuid"
추가 중첩 생략
marketing_send_intent_idstring
format: "uuid"
추가 중첩 생략
transactional_subjectstring필수
추가 중첩 생략
marketing_subjectstring필수
추가 중첩 생략
phasestring필수
enum: "sending", "receiving", "received", "checked", "failed"
추가 중첩 생략
send_completeboolean필수
추가 중첩 생략
transactional_receivedboolean필수
추가 중첩 생략
marketing_receivedboolean필수
추가 중첩 생략
receive_completeboolean필수
추가 중첩 생략
agent_check_completeboolean필수
추가 중첩 생략
completeboolean필수
추가 중첩 생략
error_codestring
추가 중첩 생략
replayedboolean필수
추가 중첩 생략
oneOf 3null
overall_readyboolean필수
production_readyboolean필수
completedboolean필수
pendingboolean필수
next_actionstring필수
enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"
action_requiredobject필수
typestring필수
requiredboolean필수
actionstring필수
enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"
urlstring | null필수
format: "uri"
instructionsstring | null필수
secure_urlstring | null필수
format: "uri"
mcp_urlstring필수
format: "uri"
dashboard_urlstring필수
format: "uri"
curl 예제
curl --request PUT --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/agent-state/domain-choice' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"choice": "company_domain",
"domain": "example"
}'
PUT/v1/workspaces/{workspaceId}/onboarding/agent-state/context
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
contextobject필수
추가 속성모든 값
company_domainstring
chooseAgentOnboardingDomain 이전의 캐시된 커넥터용 호환 브리지예요. 에이전트는 여전히 먼저 사용자에게 물어야 해요.
minLength: 3 · maxLength: 253
client_namestring
minLength: 1 · maxLength: 100
성공 응답 200
맥락이 접수됐어요.
application/json
valueobject
data지정되지 않음필수
allOf 1object
workspace_idstring필수
format: "uuid"
statusstring필수
enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"
entry_surfacestring | null필수
enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null
agent_statusstring필수
enum: "not_connected", "connecting", "connected", "browser_only"
agent_client_namestring | null필수
domain_choicestring필수
enum: "undecided", "company_domain", "no_domain"
company_domainstring | null필수
domain_chosen_atstring | null필수
format: "date-time"
business_contextobject필수
추가 속성모든 값
opportunity_planarray필수
각 항목object
추가 속성모든 값
implementation_summaryobject필수
추가 속성모든 값
validation_summaryobject필수
추가 속성모든 값
journey_metadataobject필수
추가 속성모든 값
context_reviewed_atstring | null필수
format: "date-time"
plan_proposed_atstring | null필수
format: "date-time"
plan_approved_atstring | null필수
format: "date-time"
completed_atstring | null필수
format: "date-time"
versioninteger필수
format: "int64" · minimum: 1
updated_atstring필수
format: "date-time"
allOf 2object
domain_discovery지정되지 않음필수
oneOf 1object
domainstring필수
scan_statusstring필수
enum: "complete", "partial", "failed"
companyobject필수
domainstring필수
추가 중첩 생략
website_urlstring | null필수
format: "uri"
추가 중첩 생략
website_statusstring필수
enum: "available", "missing", "blocked", "error"
추가 중첩 생략
company_namestring필수
추가 중첩 생략
summarystring필수
추가 중첩 생략
audiencestring필수
추가 중첩 생략
offeringsarray필수
추가 중첩 생략
logo_urlstring | null필수
format: "uri"
추가 중첩 생략
favicon_urlstring | null필수
format: "uri"
추가 중첩 생략
visual_identityobject필수
추가 중첩 생략
source_snapshotobject필수
추가 중첩 생략
dns_signalsarray필수
각 항목object
추가 중첩 생략
dns_provider지정되지 않음필수
oneOf 1object
추가 속성 없음
추가 중첩 생략
oneOf 2null
추가 중첩 생략
provider_detectionsarray필수
각 항목object
추가 중첩 생략
capability_summaryarray필수
각 항목object
추가 중첩 생략
recommended_connectionsarray필수
각 항목object
추가 속성 없음
추가 중첩 생략
connection_planarray필수
각 항목object
추가 속성 없음
추가 중첩 생략
limitationsarray필수
각 항목string
추가 중첩 생략
scanned_atstring필수
format: "date-time"
confirmed_atstring | null필수
format: "date-time"
oneOf 2null
recommended_connectionsarray필수
각 항목object
추가 속성 없음
keystring필수
namestring필수
categorystring필수
enum: "email", "customer", "product", "work", "data"
prioritystring필수
enum: "required", "recommended"
reasonstring필수
sourcestring필수
enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"
setup_modestring필수
enum: "oauth", "secure_credentials"
availableboolean필수
provider_keystring
evidencearray필수
각 항목object
추가 중첩 생략
domain_bundleobject | null필수
추가 속성모든 값
growthobject필수
추가 속성모든 값
activationobject필수
modestring필수
enum: "hosted", "company_domain", "starter"
statusstring필수
enum: "hosted_mailbox_required", "hosted_mailbox_proving", "hosted_mailbox_ready", "needs_context", "needs_provisioning", "provisioning", "dns_required", "ready_for_proof", "proving", "activated", "starter_required", "starter_proving", "starter_ready"
domainstring | null필수
sending_domain_idstring | null필수
format: "uuid"
mailbox_idstring | null필수
format: "uuid"
mailbox_addressstring | null필수
format: "email"
exact_dns_recordsarray필수
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
추가 중첩 생략
lane_idstring필수
format: "uuid"
추가 중첩 생략
providerstring필수
enum: "banger", "resend"
추가 중첩 생략
purposestring필수
추가 중첩 생략
typestring필수
enum: "TXT", "MX", "CNAME"
추가 중첩 생략
namestring필수
추가 중첩 생략
valuestring필수
추가 중첩 생략
priorityinteger | null필수
추가 중첩 생략
requiredboolean필수
추가 중첩 생략
statusstring필수
enum: "pending", "verified", "error"
추가 중첩 생략
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
추가 중첩 생략
first_observed_atstring | null필수
format: "date-time"
추가 중첩 생략
last_checked_atstring | null필수
format: "date-time"
추가 중첩 생략
errorobject필수
추가 중첩 생략
provider_referencestring | null필수
추가 중첩 생략
checkpointsarray필수
각 항목object
keystring필수
enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"
추가 중첩 생략
labelstring필수
추가 중첩 생략
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
lanesobject필수
mailboxobject필수
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
transactionalobject필수
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
marketingobject필수
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
proof지정되지 않음필수
oneOf 1object
proof_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_addressstring필수
format: "email"
추가 중첩 생략
command_idstring필수
format: "uuid"
추가 중첩 생략
phasestring필수
enum: "sending", "sent", "received", "checked", "failed"
추가 중첩 생략
send_completeboolean필수
추가 중첩 생략
receive_completeboolean필수
추가 중첩 생략
round_trip_check_completeboolean필수
추가 중첩 생략
agent_check_completeboolean필수
추가 중첩 생략
completeboolean필수
추가 중첩 생략
expected_subjectstring필수
추가 중첩 생략
expected_body_textstring필수
추가 중첩 생략
received_message_idstring
format: "uuid"
추가 중첩 생략
received_thread_idstring
format: "uuid"
추가 중첩 생략
received_subjectstring
추가 중첩 생략
received_body_textstring
추가 중첩 생략
received_atstring
format: "date-time"
추가 중첩 생략
agent_labelstring
추가 중첩 생략
agent_suggested_actionstring
추가 중첩 생략
error_codestring
추가 중첩 생략
replayedboolean필수
추가 중첩 생략
oneOf 2object
proof_idstring필수
format: "uuid"
추가 중첩 생략
domain_idstring필수
format: "uuid"
추가 중첩 생략
native_domain_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_addressstring필수
format: "email"
추가 중첩 생략
transactional_send_intent_idstring
format: "uuid"
추가 중첩 생략
marketing_send_intent_idstring
format: "uuid"
추가 중첩 생략
transactional_subjectstring필수
추가 중첩 생략
marketing_subjectstring필수
추가 중첩 생략
phasestring필수
enum: "sending", "receiving", "received", "checked", "failed"
추가 중첩 생략
send_completeboolean필수
추가 중첩 생략
transactional_receivedboolean필수
추가 중첩 생략
marketing_receivedboolean필수
추가 중첩 생략
receive_completeboolean필수
추가 중첩 생략
agent_check_completeboolean필수
추가 중첩 생략
completeboolean필수
추가 중첩 생략
error_codestring
추가 중첩 생략
replayedboolean필수
추가 중첩 생략
oneOf 3null
overall_readyboolean필수
production_readyboolean필수
completedboolean필수
pendingboolean필수
next_actionstring필수
enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"
action_requiredobject필수
typestring필수
requiredboolean필수
actionstring필수
enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"
urlstring | null필수
format: "uri"
instructionsstring | null필수
secure_urlstring | null필수
format: "uri"
mcp_urlstring필수
format: "uri"
dashboard_urlstring필수
format: "uri"
curl 예제
curl --request PUT --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/agent-state/context' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"context": {},
"company_domain": "example",
"client_name": "example"
}'
PUT/v1/workspaces/{workspaceId}/onboarding/agent-state/plan
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
성공 응답 200
기회 계획이 접수됐어요.
application/json
valueobject
data지정되지 않음필수
allOf 1object
workspace_idstring필수
format: "uuid"
statusstring필수
enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"
entry_surfacestring | null필수
enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null
agent_statusstring필수
enum: "not_connected", "connecting", "connected", "browser_only"
agent_client_namestring | null필수
domain_choicestring필수
enum: "undecided", "company_domain", "no_domain"
company_domainstring | null필수
domain_chosen_atstring | null필수
format: "date-time"
business_contextobject필수
추가 속성모든 값
opportunity_planarray필수
각 항목object
추가 속성모든 값
implementation_summaryobject필수
추가 속성모든 값
validation_summaryobject필수
추가 속성모든 값
journey_metadataobject필수
추가 속성모든 값
context_reviewed_atstring | null필수
format: "date-time"
plan_proposed_atstring | null필수
format: "date-time"
plan_approved_atstring | null필수
format: "date-time"
completed_atstring | null필수
format: "date-time"
versioninteger필수
format: "int64" · minimum: 1
updated_atstring필수
format: "date-time"
allOf 2object
domain_discovery지정되지 않음필수
oneOf 1object
domainstring필수
scan_statusstring필수
enum: "complete", "partial", "failed"
companyobject필수
domainstring필수
추가 중첩 생략
website_urlstring | null필수
format: "uri"
추가 중첩 생략
website_statusstring필수
enum: "available", "missing", "blocked", "error"
추가 중첩 생략
company_namestring필수
추가 중첩 생략
summarystring필수
추가 중첩 생략
audiencestring필수
추가 중첩 생략
offeringsarray필수
추가 중첩 생략
logo_urlstring | null필수
format: "uri"
추가 중첩 생략
favicon_urlstring | null필수
format: "uri"
추가 중첩 생략
visual_identityobject필수
추가 중첩 생략
source_snapshotobject필수
추가 중첩 생략
dns_signalsarray필수
각 항목object
추가 중첩 생략
dns_provider지정되지 않음필수
oneOf 1object
추가 속성 없음
추가 중첩 생략
oneOf 2null
추가 중첩 생략
provider_detectionsarray필수
각 항목object
추가 중첩 생략
capability_summaryarray필수
각 항목object
추가 중첩 생략
recommended_connectionsarray필수
각 항목object
추가 속성 없음
추가 중첩 생략
connection_planarray필수
각 항목object
추가 속성 없음
추가 중첩 생략
limitationsarray필수
각 항목string
추가 중첩 생략
scanned_atstring필수
format: "date-time"
confirmed_atstring | null필수
format: "date-time"
oneOf 2null
recommended_connectionsarray필수
각 항목object
추가 속성 없음
keystring필수
namestring필수
categorystring필수
enum: "email", "customer", "product", "work", "data"
prioritystring필수
enum: "required", "recommended"
reasonstring필수
sourcestring필수
enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"
setup_modestring필수
enum: "oauth", "secure_credentials"
availableboolean필수
provider_keystring
evidencearray필수
각 항목object
추가 중첩 생략
domain_bundleobject | null필수
추가 속성모든 값
growthobject필수
추가 속성모든 값
activationobject필수
modestring필수
enum: "hosted", "company_domain", "starter"
statusstring필수
enum: "hosted_mailbox_required", "hosted_mailbox_proving", "hosted_mailbox_ready", "needs_context", "needs_provisioning", "provisioning", "dns_required", "ready_for_proof", "proving", "activated", "starter_required", "starter_proving", "starter_ready"
domainstring | null필수
sending_domain_idstring | null필수
format: "uuid"
mailbox_idstring | null필수
format: "uuid"
mailbox_addressstring | null필수
format: "email"
exact_dns_recordsarray필수
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
추가 중첩 생략
lane_idstring필수
format: "uuid"
추가 중첩 생략
providerstring필수
enum: "banger", "resend"
추가 중첩 생략
purposestring필수
추가 중첩 생략
typestring필수
enum: "TXT", "MX", "CNAME"
추가 중첩 생략
namestring필수
추가 중첩 생략
valuestring필수
추가 중첩 생략
priorityinteger | null필수
추가 중첩 생략
requiredboolean필수
추가 중첩 생략
statusstring필수
enum: "pending", "verified", "error"
추가 중첩 생략
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
추가 중첩 생략
first_observed_atstring | null필수
format: "date-time"
추가 중첩 생략
last_checked_atstring | null필수
format: "date-time"
추가 중첩 생략
errorobject필수
추가 중첩 생략
provider_referencestring | null필수
추가 중첩 생략
checkpointsarray필수
각 항목object
keystring필수
enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"
추가 중첩 생략
labelstring필수
추가 중첩 생략
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
lanesobject필수
mailboxobject필수
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
transactionalobject필수
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
marketingobject필수
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
proof지정되지 않음필수
oneOf 1object
proof_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_addressstring필수
format: "email"
추가 중첩 생략
command_idstring필수
format: "uuid"
추가 중첩 생략
phasestring필수
enum: "sending", "sent", "received", "checked", "failed"
추가 중첩 생략
send_completeboolean필수
추가 중첩 생략
receive_completeboolean필수
추가 중첩 생략
round_trip_check_completeboolean필수
추가 중첩 생략
agent_check_completeboolean필수
추가 중첩 생략
completeboolean필수
추가 중첩 생략
expected_subjectstring필수
추가 중첩 생략
expected_body_textstring필수
추가 중첩 생략
received_message_idstring
format: "uuid"
추가 중첩 생략
received_thread_idstring
format: "uuid"
추가 중첩 생략
received_subjectstring
추가 중첩 생략
received_body_textstring
추가 중첩 생략
received_atstring
format: "date-time"
추가 중첩 생략
agent_labelstring
추가 중첩 생략
agent_suggested_actionstring
추가 중첩 생략
error_codestring
추가 중첩 생략
replayedboolean필수
추가 중첩 생략
oneOf 2object
proof_idstring필수
format: "uuid"
추가 중첩 생략
domain_idstring필수
format: "uuid"
추가 중첩 생략
native_domain_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_addressstring필수
format: "email"
추가 중첩 생략
transactional_send_intent_idstring
format: "uuid"
추가 중첩 생략
marketing_send_intent_idstring
format: "uuid"
추가 중첩 생략
transactional_subjectstring필수
추가 중첩 생략
marketing_subjectstring필수
추가 중첩 생략
phasestring필수
enum: "sending", "receiving", "received", "checked", "failed"
추가 중첩 생략
send_completeboolean필수
추가 중첩 생략
transactional_receivedboolean필수
추가 중첩 생략
marketing_receivedboolean필수
추가 중첩 생략
receive_completeboolean필수
추가 중첩 생략
agent_check_completeboolean필수
추가 중첩 생략
completeboolean필수
추가 중첩 생략
error_codestring
추가 중첩 생략
replayedboolean필수
추가 중첩 생략
oneOf 3null
overall_readyboolean필수
production_readyboolean필수
completedboolean필수
pendingboolean필수
next_actionstring필수
enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"
action_requiredobject필수
typestring필수
requiredboolean필수
actionstring필수
enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"
urlstring | null필수
format: "uri"
instructionsstring | null필수
secure_urlstring | null필수
format: "uri"
mcp_urlstring필수
format: "uri"
dashboard_urlstring필수
format: "uri"
curl 예제
curl --request PUT --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/agent-state/plan' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"opportunities": [
{}
]
}'
POST/v1/workspaces/{workspaceId}/onboarding/agent-state/apply
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
summaryobject필수
추가 속성모든 값
성공 응답 200
구현 요약이 기록됐어요.
application/json
valueobject
data지정되지 않음필수
allOf 1object
workspace_idstring필수
format: "uuid"
statusstring필수
enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"
entry_surfacestring | null필수
enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null
agent_statusstring필수
enum: "not_connected", "connecting", "connected", "browser_only"
agent_client_namestring | null필수
domain_choicestring필수
enum: "undecided", "company_domain", "no_domain"
company_domainstring | null필수
domain_chosen_atstring | null필수
format: "date-time"
business_contextobject필수
추가 속성모든 값
opportunity_planarray필수
각 항목object
추가 속성모든 값
implementation_summaryobject필수
추가 속성모든 값
validation_summaryobject필수
추가 속성모든 값
journey_metadataobject필수
추가 속성모든 값
context_reviewed_atstring | null필수
format: "date-time"
plan_proposed_atstring | null필수
format: "date-time"
plan_approved_atstring | null필수
format: "date-time"
completed_atstring | null필수
format: "date-time"
versioninteger필수
format: "int64" · minimum: 1
updated_atstring필수
format: "date-time"
allOf 2object
domain_discovery지정되지 않음필수
oneOf 1object
domainstring필수
scan_statusstring필수
enum: "complete", "partial", "failed"
companyobject필수
domainstring필수
추가 중첩 생략
website_urlstring | null필수
format: "uri"
추가 중첩 생략
website_statusstring필수
enum: "available", "missing", "blocked", "error"
추가 중첩 생략
company_namestring필수
추가 중첩 생략
summarystring필수
추가 중첩 생략
audiencestring필수
추가 중첩 생략
offeringsarray필수
추가 중첩 생략
logo_urlstring | null필수
format: "uri"
추가 중첩 생략
favicon_urlstring | null필수
format: "uri"
추가 중첩 생략
visual_identityobject필수
추가 중첩 생략
source_snapshotobject필수
추가 중첩 생략
dns_signalsarray필수
각 항목object
추가 중첩 생략
dns_provider지정되지 않음필수
oneOf 1object
추가 속성 없음
추가 중첩 생략
oneOf 2null
추가 중첩 생략
provider_detectionsarray필수
각 항목object
추가 중첩 생략
capability_summaryarray필수
각 항목object
추가 중첩 생략
recommended_connectionsarray필수
각 항목object
추가 속성 없음
추가 중첩 생략
connection_planarray필수
각 항목object
추가 속성 없음
추가 중첩 생략
limitationsarray필수
각 항목string
추가 중첩 생략
scanned_atstring필수
format: "date-time"
confirmed_atstring | null필수
format: "date-time"
oneOf 2null
recommended_connectionsarray필수
각 항목object
추가 속성 없음
keystring필수
namestring필수
categorystring필수
enum: "email", "customer", "product", "work", "data"
prioritystring필수
enum: "required", "recommended"
reasonstring필수
sourcestring필수
enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"
setup_modestring필수
enum: "oauth", "secure_credentials"
availableboolean필수
provider_keystring
evidencearray필수
각 항목object
추가 중첩 생략
domain_bundleobject | null필수
추가 속성모든 값
growthobject필수
추가 속성모든 값
activationobject필수
modestring필수
enum: "hosted", "company_domain", "starter"
statusstring필수
enum: "hosted_mailbox_required", "hosted_mailbox_proving", "hosted_mailbox_ready", "needs_context", "needs_provisioning", "provisioning", "dns_required", "ready_for_proof", "proving", "activated", "starter_required", "starter_proving", "starter_ready"
domainstring | null필수
sending_domain_idstring | null필수
format: "uuid"
mailbox_idstring | null필수
format: "uuid"
mailbox_addressstring | null필수
format: "email"
exact_dns_recordsarray필수
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
추가 중첩 생략
lane_idstring필수
format: "uuid"
추가 중첩 생략
providerstring필수
enum: "banger", "resend"
추가 중첩 생략
purposestring필수
추가 중첩 생략
typestring필수
enum: "TXT", "MX", "CNAME"
추가 중첩 생략
namestring필수
추가 중첩 생략
valuestring필수
추가 중첩 생략
priorityinteger | null필수
추가 중첩 생략
requiredboolean필수
추가 중첩 생략
statusstring필수
enum: "pending", "verified", "error"
추가 중첩 생략
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
추가 중첩 생략
first_observed_atstring | null필수
format: "date-time"
추가 중첩 생략
last_checked_atstring | null필수
format: "date-time"
추가 중첩 생략
errorobject필수
추가 중첩 생략
provider_referencestring | null필수
추가 중첩 생략
checkpointsarray필수
각 항목object
keystring필수
enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"
추가 중첩 생략
labelstring필수
추가 중첩 생략
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
lanesobject필수
mailboxobject필수
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
transactionalobject필수
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
marketingobject필수
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
proof지정되지 않음필수
oneOf 1object
proof_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_addressstring필수
format: "email"
추가 중첩 생략
command_idstring필수
format: "uuid"
추가 중첩 생략
phasestring필수
enum: "sending", "sent", "received", "checked", "failed"
추가 중첩 생략
send_completeboolean필수
추가 중첩 생략
receive_completeboolean필수
추가 중첩 생략
round_trip_check_completeboolean필수
추가 중첩 생략
agent_check_completeboolean필수
추가 중첩 생략
completeboolean필수
추가 중첩 생략
expected_subjectstring필수
추가 중첩 생략
expected_body_textstring필수
추가 중첩 생략
received_message_idstring
format: "uuid"
추가 중첩 생략
received_thread_idstring
format: "uuid"
추가 중첩 생략
received_subjectstring
추가 중첩 생략
received_body_textstring
추가 중첩 생략
received_atstring
format: "date-time"
추가 중첩 생략
agent_labelstring
추가 중첩 생략
agent_suggested_actionstring
추가 중첩 생략
error_codestring
추가 중첩 생략
replayedboolean필수
추가 중첩 생략
oneOf 2object
proof_idstring필수
format: "uuid"
추가 중첩 생략
domain_idstring필수
format: "uuid"
추가 중첩 생략
native_domain_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_addressstring필수
format: "email"
추가 중첩 생략
transactional_send_intent_idstring
format: "uuid"
추가 중첩 생략
marketing_send_intent_idstring
format: "uuid"
추가 중첩 생략
transactional_subjectstring필수
추가 중첩 생략
marketing_subjectstring필수
추가 중첩 생략
phasestring필수
enum: "sending", "receiving", "received", "checked", "failed"
추가 중첩 생략
send_completeboolean필수
추가 중첩 생략
transactional_receivedboolean필수
추가 중첩 생략
marketing_receivedboolean필수
추가 중첩 생략
receive_completeboolean필수
추가 중첩 생략
agent_check_completeboolean필수
추가 중첩 생략
completeboolean필수
추가 중첩 생략
error_codestring
추가 중첩 생략
replayedboolean필수
추가 중첩 생략
oneOf 3null
overall_readyboolean필수
production_readyboolean필수
completedboolean필수
pendingboolean필수
next_actionstring필수
enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"
action_requiredobject필수
typestring필수
requiredboolean필수
actionstring필수
enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"
urlstring | null필수
format: "uri"
instructionsstring | null필수
secure_urlstring | null필수
format: "uri"
mcp_urlstring필수
format: "uri"
dashboard_urlstring필수
format: "uri"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/agent-state/apply' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"summary": {}
}'
POST/v1/workspaces/{workspaceId}/onboarding/agent-state/plan/approve
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
인증된 워크스페이스 관리자가 기회 계획을 승인했어요.
application/json
valueobject
data지정되지 않음필수
allOf 1object
workspace_idstring필수
format: "uuid"
statusstring필수
enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"
entry_surfacestring | null필수
enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null
agent_statusstring필수
enum: "not_connected", "connecting", "connected", "browser_only"
agent_client_namestring | null필수
domain_choicestring필수
enum: "undecided", "company_domain", "no_domain"
company_domainstring | null필수
domain_chosen_atstring | null필수
format: "date-time"
business_contextobject필수
추가 속성모든 값
opportunity_planarray필수
각 항목object
추가 속성모든 값
implementation_summaryobject필수
추가 속성모든 값
validation_summaryobject필수
추가 속성모든 값
journey_metadataobject필수
추가 속성모든 값
context_reviewed_atstring | null필수
format: "date-time"
plan_proposed_atstring | null필수
format: "date-time"
plan_approved_atstring | null필수
format: "date-time"
completed_atstring | null필수
format: "date-time"
versioninteger필수
format: "int64" · minimum: 1
updated_atstring필수
format: "date-time"
allOf 2object
domain_discovery지정되지 않음필수
oneOf 1object
domainstring필수
scan_statusstring필수
enum: "complete", "partial", "failed"
companyobject필수
domainstring필수
추가 중첩 생략
website_urlstring | null필수
format: "uri"
추가 중첩 생략
website_statusstring필수
enum: "available", "missing", "blocked", "error"
추가 중첩 생략
company_namestring필수
추가 중첩 생략
summarystring필수
추가 중첩 생략
audiencestring필수
추가 중첩 생략
offeringsarray필수
추가 중첩 생략
logo_urlstring | null필수
format: "uri"
추가 중첩 생략
favicon_urlstring | null필수
format: "uri"
추가 중첩 생략
visual_identityobject필수
추가 중첩 생략
source_snapshotobject필수
추가 중첩 생략
dns_signalsarray필수
각 항목object
추가 중첩 생략
dns_provider지정되지 않음필수
oneOf 1object
추가 속성 없음
추가 중첩 생략
oneOf 2null
추가 중첩 생략
provider_detectionsarray필수
각 항목object
추가 중첩 생략
capability_summaryarray필수
각 항목object
추가 중첩 생략
recommended_connectionsarray필수
각 항목object
추가 속성 없음
추가 중첩 생략
connection_planarray필수
각 항목object
추가 속성 없음
추가 중첩 생략
limitationsarray필수
각 항목string
추가 중첩 생략
scanned_atstring필수
format: "date-time"
confirmed_atstring | null필수
format: "date-time"
oneOf 2null
recommended_connectionsarray필수
각 항목object
추가 속성 없음
keystring필수
namestring필수
categorystring필수
enum: "email", "customer", "product", "work", "data"
prioritystring필수
enum: "required", "recommended"
reasonstring필수
sourcestring필수
enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"
setup_modestring필수
enum: "oauth", "secure_credentials"
availableboolean필수
provider_keystring
evidencearray필수
각 항목object
추가 중첩 생략
domain_bundleobject | null필수
추가 속성모든 값
growthobject필수
추가 속성모든 값
activationobject필수
modestring필수
enum: "hosted", "company_domain", "starter"
statusstring필수
enum: "hosted_mailbox_required", "hosted_mailbox_proving", "hosted_mailbox_ready", "needs_context", "needs_provisioning", "provisioning", "dns_required", "ready_for_proof", "proving", "activated", "starter_required", "starter_proving", "starter_ready"
domainstring | null필수
sending_domain_idstring | null필수
format: "uuid"
mailbox_idstring | null필수
format: "uuid"
mailbox_addressstring | null필수
format: "email"
exact_dns_recordsarray필수
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
추가 중첩 생략
lane_idstring필수
format: "uuid"
추가 중첩 생략
providerstring필수
enum: "banger", "resend"
추가 중첩 생략
purposestring필수
추가 중첩 생략
typestring필수
enum: "TXT", "MX", "CNAME"
추가 중첩 생략
namestring필수
추가 중첩 생략
valuestring필수
추가 중첩 생략
priorityinteger | null필수
추가 중첩 생략
requiredboolean필수
추가 중첩 생략
statusstring필수
enum: "pending", "verified", "error"
추가 중첩 생략
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
추가 중첩 생략
first_observed_atstring | null필수
format: "date-time"
추가 중첩 생략
last_checked_atstring | null필수
format: "date-time"
추가 중첩 생략
errorobject필수
추가 중첩 생략
provider_referencestring | null필수
추가 중첩 생략
checkpointsarray필수
각 항목object
keystring필수
enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"
추가 중첩 생략
labelstring필수
추가 중첩 생략
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
lanesobject필수
mailboxobject필수
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
transactionalobject필수
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
marketingobject필수
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
proof지정되지 않음필수
oneOf 1object
proof_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_addressstring필수
format: "email"
추가 중첩 생략
command_idstring필수
format: "uuid"
추가 중첩 생략
phasestring필수
enum: "sending", "sent", "received", "checked", "failed"
추가 중첩 생략
send_completeboolean필수
추가 중첩 생략
receive_completeboolean필수
추가 중첩 생략
round_trip_check_completeboolean필수
추가 중첩 생략
agent_check_completeboolean필수
추가 중첩 생략
completeboolean필수
추가 중첩 생략
expected_subjectstring필수
추가 중첩 생략
expected_body_textstring필수
추가 중첩 생략
received_message_idstring
format: "uuid"
추가 중첩 생략
received_thread_idstring
format: "uuid"
추가 중첩 생략
received_subjectstring
추가 중첩 생략
received_body_textstring
추가 중첩 생략
received_atstring
format: "date-time"
추가 중첩 생략
agent_labelstring
추가 중첩 생략
agent_suggested_actionstring
추가 중첩 생략
error_codestring
추가 중첩 생략
replayedboolean필수
추가 중첩 생략
oneOf 2object
proof_idstring필수
format: "uuid"
추가 중첩 생략
domain_idstring필수
format: "uuid"
추가 중첩 생략
native_domain_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_addressstring필수
format: "email"
추가 중첩 생략
transactional_send_intent_idstring
format: "uuid"
추가 중첩 생략
marketing_send_intent_idstring
format: "uuid"
추가 중첩 생략
transactional_subjectstring필수
추가 중첩 생략
marketing_subjectstring필수
추가 중첩 생략
phasestring필수
enum: "sending", "receiving", "received", "checked", "failed"
추가 중첩 생략
send_completeboolean필수
추가 중첩 생략
transactional_receivedboolean필수
추가 중첩 생략
marketing_receivedboolean필수
추가 중첩 생략
receive_completeboolean필수
추가 중첩 생략
agent_check_completeboolean필수
추가 중첩 생략
completeboolean필수
추가 중첩 생략
error_codestring
추가 중첩 생략
replayedboolean필수
추가 중첩 생략
oneOf 3null
overall_readyboolean필수
production_readyboolean필수
completedboolean필수
pendingboolean필수
next_actionstring필수
enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"
action_requiredobject필수
typestring필수
requiredboolean필수
actionstring필수
enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"
urlstring | null필수
format: "uri"
instructionsstring | null필수
secure_urlstring | null필수
format: "uri"
mcp_urlstring필수
format: "uri"
dashboard_urlstring필수
format: "uri"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/agent-state/plan/approve' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/onboarding/agent-state/validate
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
summaryobject
추가 속성모든 값
성공 응답 200
검증 결과가 기록됐어요.
application/json
valueobject
data지정되지 않음필수
allOf 1object
workspace_idstring필수
format: "uuid"
statusstring필수
enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"
entry_surfacestring | null필수
enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null
agent_statusstring필수
enum: "not_connected", "connecting", "connected", "browser_only"
agent_client_namestring | null필수
domain_choicestring필수
enum: "undecided", "company_domain", "no_domain"
company_domainstring | null필수
domain_chosen_atstring | null필수
format: "date-time"
business_contextobject필수
추가 속성모든 값
opportunity_planarray필수
각 항목object
추가 속성모든 값
implementation_summaryobject필수
추가 속성모든 값
validation_summaryobject필수
추가 속성모든 값
journey_metadataobject필수
추가 속성모든 값
context_reviewed_atstring | null필수
format: "date-time"
plan_proposed_atstring | null필수
format: "date-time"
plan_approved_atstring | null필수
format: "date-time"
completed_atstring | null필수
format: "date-time"
versioninteger필수
format: "int64" · minimum: 1
updated_atstring필수
format: "date-time"
allOf 2object
domain_discovery지정되지 않음필수
oneOf 1object
domainstring필수
scan_statusstring필수
enum: "complete", "partial", "failed"
companyobject필수
domainstring필수
추가 중첩 생략
website_urlstring | null필수
format: "uri"
추가 중첩 생략
website_statusstring필수
enum: "available", "missing", "blocked", "error"
추가 중첩 생략
company_namestring필수
추가 중첩 생략
summarystring필수
추가 중첩 생략
audiencestring필수
추가 중첩 생략
offeringsarray필수
추가 중첩 생략
logo_urlstring | null필수
format: "uri"
추가 중첩 생략
favicon_urlstring | null필수
format: "uri"
추가 중첩 생략
visual_identityobject필수
추가 중첩 생략
source_snapshotobject필수
추가 중첩 생략
dns_signalsarray필수
각 항목object
추가 중첩 생략
dns_provider지정되지 않음필수
oneOf 1object
추가 속성 없음
추가 중첩 생략
oneOf 2null
추가 중첩 생략
provider_detectionsarray필수
각 항목object
추가 중첩 생략
capability_summaryarray필수
각 항목object
추가 중첩 생략
recommended_connectionsarray필수
각 항목object
추가 속성 없음
추가 중첩 생략
connection_planarray필수
각 항목object
추가 속성 없음
추가 중첩 생략
limitationsarray필수
각 항목string
추가 중첩 생략
scanned_atstring필수
format: "date-time"
confirmed_atstring | null필수
format: "date-time"
oneOf 2null
recommended_connectionsarray필수
각 항목object
추가 속성 없음
keystring필수
namestring필수
categorystring필수
enum: "email", "customer", "product", "work", "data"
prioritystring필수
enum: "required", "recommended"
reasonstring필수
sourcestring필수
enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"
setup_modestring필수
enum: "oauth", "secure_credentials"
availableboolean필수
provider_keystring
evidencearray필수
각 항목object
추가 중첩 생략
domain_bundleobject | null필수
추가 속성모든 값
growthobject필수
추가 속성모든 값
activationobject필수
modestring필수
enum: "hosted", "company_domain", "starter"
statusstring필수
enum: "hosted_mailbox_required", "hosted_mailbox_proving", "hosted_mailbox_ready", "needs_context", "needs_provisioning", "provisioning", "dns_required", "ready_for_proof", "proving", "activated", "starter_required", "starter_proving", "starter_ready"
domainstring | null필수
sending_domain_idstring | null필수
format: "uuid"
mailbox_idstring | null필수
format: "uuid"
mailbox_addressstring | null필수
format: "email"
exact_dns_recordsarray필수
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
추가 중첩 생략
lane_idstring필수
format: "uuid"
추가 중첩 생략
providerstring필수
enum: "banger", "resend"
추가 중첩 생략
purposestring필수
추가 중첩 생략
typestring필수
enum: "TXT", "MX", "CNAME"
추가 중첩 생략
namestring필수
추가 중첩 생략
valuestring필수
추가 중첩 생략
priorityinteger | null필수
추가 중첩 생략
requiredboolean필수
추가 중첩 생략
statusstring필수
enum: "pending", "verified", "error"
추가 중첩 생략
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
추가 중첩 생략
first_observed_atstring | null필수
format: "date-time"
추가 중첩 생략
last_checked_atstring | null필수
format: "date-time"
추가 중첩 생략
errorobject필수
추가 중첩 생략
provider_referencestring | null필수
추가 중첩 생략
checkpointsarray필수
각 항목object
keystring필수
enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"
추가 중첩 생략
labelstring필수
추가 중첩 생략
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
lanesobject필수
mailboxobject필수
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
transactionalobject필수
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
marketingobject필수
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
proof지정되지 않음필수
oneOf 1object
proof_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_addressstring필수
format: "email"
추가 중첩 생략
command_idstring필수
format: "uuid"
추가 중첩 생략
phasestring필수
enum: "sending", "sent", "received", "checked", "failed"
추가 중첩 생략
send_completeboolean필수
추가 중첩 생략
receive_completeboolean필수
추가 중첩 생략
round_trip_check_completeboolean필수
추가 중첩 생략
agent_check_completeboolean필수
추가 중첩 생략
completeboolean필수
추가 중첩 생략
expected_subjectstring필수
추가 중첩 생략
expected_body_textstring필수
추가 중첩 생략
received_message_idstring
format: "uuid"
추가 중첩 생략
received_thread_idstring
format: "uuid"
추가 중첩 생략
received_subjectstring
추가 중첩 생략
received_body_textstring
추가 중첩 생략
received_atstring
format: "date-time"
추가 중첩 생략
agent_labelstring
추가 중첩 생략
agent_suggested_actionstring
추가 중첩 생략
error_codestring
추가 중첩 생략
replayedboolean필수
추가 중첩 생략
oneOf 2object
proof_idstring필수
format: "uuid"
추가 중첩 생략
domain_idstring필수
format: "uuid"
추가 중첩 생략
native_domain_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_addressstring필수
format: "email"
추가 중첩 생략
transactional_send_intent_idstring
format: "uuid"
추가 중첩 생략
marketing_send_intent_idstring
format: "uuid"
추가 중첩 생략
transactional_subjectstring필수
추가 중첩 생략
marketing_subjectstring필수
추가 중첩 생략
phasestring필수
enum: "sending", "receiving", "received", "checked", "failed"
추가 중첩 생략
send_completeboolean필수
추가 중첩 생략
transactional_receivedboolean필수
추가 중첩 생략
marketing_receivedboolean필수
추가 중첩 생략
receive_completeboolean필수
추가 중첩 생략
agent_check_completeboolean필수
추가 중첩 생략
completeboolean필수
추가 중첩 생략
error_codestring
추가 중첩 생략
replayedboolean필수
추가 중첩 생략
oneOf 3null
overall_readyboolean필수
production_readyboolean필수
completedboolean필수
pendingboolean필수
next_actionstring필수
enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"
action_requiredobject필수
typestring필수
requiredboolean필수
actionstring필수
enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"
urlstring | null필수
format: "uri"
instructionsstring | null필수
secure_urlstring | null필수
format: "uri"
mcp_urlstring필수
format: "uri"
dashboard_urlstring필수
format: "uri"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/agent-state/validate' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"summary": {}
}'
POST/v1/workspaces/{workspaceId}/onboarding/agent-state/complete
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
온보딩이 완료됐어요.
application/json
valueobject
data지정되지 않음필수
allOf 1object
workspace_idstring필수
format: "uuid"
statusstring필수
enum: "choose_agent", "discovering", "planning", "implementing", "validating", "ready", "complete"
entry_surfacestring | null필수
enum: "codex", "chatgpt", "claude", "grok", "other_agent", "browser", null
agent_statusstring필수
enum: "not_connected", "connecting", "connected", "browser_only"
agent_client_namestring | null필수
domain_choicestring필수
enum: "undecided", "company_domain", "no_domain"
company_domainstring | null필수
domain_chosen_atstring | null필수
format: "date-time"
business_contextobject필수
추가 속성모든 값
opportunity_planarray필수
각 항목object
추가 속성모든 값
implementation_summaryobject필수
추가 속성모든 값
validation_summaryobject필수
추가 속성모든 값
journey_metadataobject필수
추가 속성모든 값
context_reviewed_atstring | null필수
format: "date-time"
plan_proposed_atstring | null필수
format: "date-time"
plan_approved_atstring | null필수
format: "date-time"
completed_atstring | null필수
format: "date-time"
versioninteger필수
format: "int64" · minimum: 1
updated_atstring필수
format: "date-time"
allOf 2object
domain_discovery지정되지 않음필수
oneOf 1object
domainstring필수
scan_statusstring필수
enum: "complete", "partial", "failed"
companyobject필수
domainstring필수
추가 중첩 생략
website_urlstring | null필수
format: "uri"
추가 중첩 생략
website_statusstring필수
enum: "available", "missing", "blocked", "error"
추가 중첩 생략
company_namestring필수
추가 중첩 생략
summarystring필수
추가 중첩 생략
audiencestring필수
추가 중첩 생략
offeringsarray필수
추가 중첩 생략
logo_urlstring | null필수
format: "uri"
추가 중첩 생략
favicon_urlstring | null필수
format: "uri"
추가 중첩 생략
visual_identityobject필수
추가 중첩 생략
source_snapshotobject필수
추가 중첩 생략
dns_signalsarray필수
각 항목object
추가 중첩 생략
dns_provider지정되지 않음필수
oneOf 1object
추가 속성 없음
추가 중첩 생략
oneOf 2null
추가 중첩 생략
provider_detectionsarray필수
각 항목object
추가 중첩 생략
capability_summaryarray필수
각 항목object
추가 중첩 생략
recommended_connectionsarray필수
각 항목object
추가 속성 없음
추가 중첩 생략
connection_planarray필수
각 항목object
추가 속성 없음
추가 중첩 생략
limitationsarray필수
각 항목string
추가 중첩 생략
scanned_atstring필수
format: "date-time"
confirmed_atstring | null필수
format: "date-time"
oneOf 2null
recommended_connectionsarray필수
각 항목object
추가 속성 없음
keystring필수
namestring필수
categorystring필수
enum: "email", "customer", "product", "work", "data"
prioritystring필수
enum: "required", "recommended"
reasonstring필수
sourcestring필수
enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"
setup_modestring필수
enum: "oauth", "secure_credentials"
availableboolean필수
provider_keystring
evidencearray필수
각 항목object
추가 중첩 생략
domain_bundleobject | null필수
추가 속성모든 값
growthobject필수
추가 속성모든 값
activationobject필수
modestring필수
enum: "hosted", "company_domain", "starter"
statusstring필수
enum: "hosted_mailbox_required", "hosted_mailbox_proving", "hosted_mailbox_ready", "needs_context", "needs_provisioning", "provisioning", "dns_required", "ready_for_proof", "proving", "activated", "starter_required", "starter_proving", "starter_ready"
domainstring | null필수
sending_domain_idstring | null필수
format: "uuid"
mailbox_idstring | null필수
format: "uuid"
mailbox_addressstring | null필수
format: "email"
exact_dns_recordsarray필수
각 항목object
추가 속성 없음
idstring필수
format: "uuid"
추가 중첩 생략
lane_idstring필수
format: "uuid"
추가 중첩 생략
providerstring필수
enum: "banger", "resend"
추가 중첩 생략
purposestring필수
추가 중첩 생략
typestring필수
enum: "TXT", "MX", "CNAME"
추가 중첩 생략
namestring필수
추가 중첩 생략
valuestring필수
추가 중첩 생략
priorityinteger | null필수
추가 중첩 생략
requiredboolean필수
추가 중첩 생략
statusstring필수
enum: "pending", "verified", "error"
추가 중첩 생략
provider_statusstring필수
enum: "pending", "verified", "error", "not_applicable"
추가 중첩 생략
first_observed_atstring | null필수
format: "date-time"
추가 중첩 생략
last_checked_atstring | null필수
format: "date-time"
추가 중첩 생략
errorobject필수
추가 중첩 생략
provider_referencestring | null필수
추가 중첩 생략
checkpointsarray필수
각 항목object
keystring필수
enum: "domain", "provider", "infrastructure", "dns", "mailbox", "product", "broadcast"
추가 중첩 생략
labelstring필수
추가 중첩 생략
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
lanesobject필수
mailboxobject필수
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
transactionalobject필수
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
marketingobject필수
statusstring필수
enum: "pending", "working", "action_required", "verified"
추가 중첩 생략
detailstring필수
추가 중첩 생략
proof지정되지 않음필수
oneOf 1object
proof_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_addressstring필수
format: "email"
추가 중첩 생략
command_idstring필수
format: "uuid"
추가 중첩 생략
phasestring필수
enum: "sending", "sent", "received", "checked", "failed"
추가 중첩 생략
send_completeboolean필수
추가 중첩 생략
receive_completeboolean필수
추가 중첩 생략
round_trip_check_completeboolean필수
추가 중첩 생략
agent_check_completeboolean필수
추가 중첩 생략
completeboolean필수
추가 중첩 생략
expected_subjectstring필수
추가 중첩 생략
expected_body_textstring필수
추가 중첩 생략
received_message_idstring
format: "uuid"
추가 중첩 생략
received_thread_idstring
format: "uuid"
추가 중첩 생략
received_subjectstring
추가 중첩 생략
received_body_textstring
추가 중첩 생략
received_atstring
format: "date-time"
추가 중첩 생략
agent_labelstring
추가 중첩 생략
agent_suggested_actionstring
추가 중첩 생략
error_codestring
추가 중첩 생략
replayedboolean필수
추가 중첩 생략
oneOf 2object
proof_idstring필수
format: "uuid"
추가 중첩 생략
domain_idstring필수
format: "uuid"
추가 중첩 생략
native_domain_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_idstring필수
format: "uuid"
추가 중첩 생략
mailbox_addressstring필수
format: "email"
추가 중첩 생략
transactional_send_intent_idstring
format: "uuid"
추가 중첩 생략
marketing_send_intent_idstring
format: "uuid"
추가 중첩 생략
transactional_subjectstring필수
추가 중첩 생략
marketing_subjectstring필수
추가 중첩 생략
phasestring필수
enum: "sending", "receiving", "received", "checked", "failed"
추가 중첩 생략
send_completeboolean필수
추가 중첩 생략
transactional_receivedboolean필수
추가 중첩 생략
marketing_receivedboolean필수
추가 중첩 생략
receive_completeboolean필수
추가 중첩 생략
agent_check_completeboolean필수
추가 중첩 생략
completeboolean필수
추가 중첩 생략
error_codestring
추가 중첩 생략
replayedboolean필수
추가 중첩 생략
oneOf 3null
overall_readyboolean필수
production_readyboolean필수
completedboolean필수
pendingboolean필수
next_actionstring필수
enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"
action_requiredobject필수
typestring필수
requiredboolean필수
actionstring필수
enum: "choose_agent", "provision_hosted_mailbox", "send_aha_1", "wait_for_aha_1", "offer_custom_domain", "review_domain_bundle", "provision_domain_bundle", "wait_for_dns_records", "ask_computer_use_permission", "configure_dns_with_computer_use", "present_manual_dns_instructions", "wait_for_dns_propagation", "send_aha_2", "wait_for_aha_2", "create_starter_mailbox", "run_starter_proof", "wait_for_starter_proof", "collect_business_context", "build_lifecycle_map", "review_growth_system", "connect_required_services", "explain_persistent_mcp", "offer_autopilot", "activate_autopilot", "validate", "complete", "open_dashboard"
urlstring | null필수
format: "uri"
instructionsstring | null필수
secure_urlstring | null필수
format: "uri"
mcp_urlstring필수
format: "uri"
dashboard_urlstring필수
format: "uri"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/agent-state/complete' \
--header "Authorization: Bearer $BANGER_API_KEY"
GET/v1/workspaces/{workspaceId}/onboarding/starter-proof
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
현재 증명 상태.
application/json
valueobject
dataobject필수
proof_idstring필수
format: "uuid"
mailbox_idstring필수
format: "uuid"
mailbox_addressstring필수
format: "email"
command_idstring필수
format: "uuid"
phasestring필수
enum: "sending", "sent", "received", "checked", "failed"
send_completeboolean필수
receive_completeboolean필수
round_trip_check_completeboolean필수
agent_check_completeboolean필수
completeboolean필수
expected_subjectstring필수
expected_body_textstring필수
received_message_idstring
format: "uuid"
received_thread_idstring
format: "uuid"
received_subjectstring
received_body_textstring
received_atstring
format: "date-time"
agent_labelstring
agent_suggested_actionstring
error_codestring
replayedboolean필수
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/starter-proof?mailbox_id=00000000-0000-4000-8000-000000000001' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/onboarding/starter-proof
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
mailbox_idstring필수
format: "uuid"
성공 응답 200
기존 증명이 재개됐어요.
application/json
valueobject
dataobject필수
proof_idstring필수
format: "uuid"
mailbox_idstring필수
format: "uuid"
mailbox_addressstring필수
format: "email"
command_idstring필수
format: "uuid"
phasestring필수
enum: "sending", "sent", "received", "checked", "failed"
send_completeboolean필수
receive_completeboolean필수
round_trip_check_completeboolean필수
agent_check_completeboolean필수
completeboolean필수
expected_subjectstring필수
expected_body_textstring필수
received_message_idstring
format: "uuid"
received_thread_idstring
format: "uuid"
received_subjectstring
received_body_textstring
received_atstring
format: "date-time"
agent_labelstring
agent_suggested_actionstring
error_codestring
replayedboolean필수
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/starter-proof' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"mailbox_id": "00000000-0000-4000-8000-000000000001"
}'
GET/v1/workspaces/{workspaceId}/onboarding/domain-proof
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
현재 증명 상태.
application/json
valueobject
dataobject필수
proof_idstring필수
format: "uuid"
domain_idstring필수
format: "uuid"
native_domain_idstring필수
format: "uuid"
mailbox_idstring필수
format: "uuid"
mailbox_addressstring필수
format: "email"
transactional_send_intent_idstring
format: "uuid"
marketing_send_intent_idstring
format: "uuid"
transactional_subjectstring필수
marketing_subjectstring필수
phasestring필수
enum: "sending", "receiving", "received", "checked", "failed"
send_completeboolean필수
transactional_receivedboolean필수
marketing_receivedboolean필수
receive_completeboolean필수
agent_check_completeboolean필수
completeboolean필수
error_codestring
replayedboolean필수
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/domain-proof' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/onboarding/domain-proof
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
native_domain_idstring필수
format: "uuid"
성공 응답 200
기존 증명이 재개됐어요.
application/json
valueobject
dataobject필수
proof_idstring필수
format: "uuid"
domain_idstring필수
format: "uuid"
native_domain_idstring필수
format: "uuid"
mailbox_idstring필수
format: "uuid"
mailbox_addressstring필수
format: "email"
transactional_send_intent_idstring
format: "uuid"
marketing_send_intent_idstring
format: "uuid"
transactional_subjectstring필수
marketing_subjectstring필수
phasestring필수
enum: "sending", "receiving", "received", "checked", "failed"
send_completeboolean필수
transactional_receivedboolean필수
marketing_receivedboolean필수
receive_completeboolean필수
agent_check_completeboolean필수
completeboolean필수
error_codestring
replayedboolean필수
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/domain-proof' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"native_domain_id": "00000000-0000-4000-8000-000000000001"
}'
PUT/v1/workspaces/{workspaceId}/onboarding/goal
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
성공 응답 200
첫 결과가 선택됐으며 안내 실행이 제품 셸에서 열릴 수 있어요.
application/json
curl 예제
curl --request PUT --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/goal' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"goal": "work_inbox"
}'
GET/v1/workspaces/{workspaceId}/onboarding/discovery
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
현재 회사와 이메일 구성 탐색.
application/json
valueobject
dataobject필수
domainstring필수
scan_statusstring필수
enum: "complete", "partial", "failed"
companyobject필수
domainstring필수
website_urlstring | null필수
format: "uri"
website_statusstring필수
enum: "available", "missing", "blocked", "error"
company_namestring필수
summarystring필수
audiencestring필수
offeringsarray필수
각 항목string
logo_urlstring | null필수
format: "uri"
favicon_urlstring | null필수
format: "uri"
visual_identityobject필수
colorsarray필수
maxItems: 6
각 항목string
fontsarray필수
maxItems: 6
각 항목string
tonearray필수
maxItems: 6
각 항목string
source_confidencestring필수
enum: "high", "medium", "low"
hero_image_urlstring
format: "uri"
palettearray필수
maxItems: 6
각 항목object
추가 속성 없음
valuestring필수
추가 중첩 생략
rolestring필수
enum: "primary", "accent", "background", "surface", "text", "other"
추가 중첩 생략
namestring필수
추가 중첩 생략
typographyarray필수
maxItems: 6
각 항목object
추가 속성 없음
familystring필수
추가 중첩 생략
rolestring필수
enum: "heading", "body", "mono", "other"
추가 중첩 생략
weightsarray필수
추가 중첩 생략
assetsarray필수
maxItems: 8
각 항목object
추가 속성 없음
urlstring필수
format: "uri"
추가 중첩 생략
kindstring필수
enum: "logo", "wordmark", "favicon", "hero"
추가 중첩 생략
sourcestring필수
추가 중첩 생략
brand_summarystring필수
imagery_stylearray필수
maxItems: 6
각 항목string
source_snapshotobject필수
추가 속성모든 값
dns_signalsarray필수
각 항목object
namestring필수
typestring필수
enum: "MX", "TXT", "CNAME", "NS"
valuestring필수
ttlinteger필수
minimum: 0
dns_provider지정되지 않음필수
oneOf 1object
추가 속성 없음
keystring필수
namestring필수
confidencestring필수
enum: "high", "medium", "low"
dashboard_urlstring필수
format: "uri"
evidencearray필수
각 항목object
namestring필수
추가 중첩 생략
typestring필수
enum: "MX", "TXT", "CNAME", "NS"
추가 중첩 생략
valuestring필수
추가 중첩 생략
ttlinteger필수
minimum: 0
추가 중첩 생략
oneOf 2null
provider_detectionsarray필수
각 항목object
keystring필수
namestring필수
categoriesarray필수
각 항목string
enum: "work_mailbox", "transactional", "marketing", "deliverability"
confidencestring필수
enum: "high", "medium", "low"
evidencearray필수
각 항목object
namestring필수
추가 중첩 생략
typestring필수
enum: "MX", "TXT", "CNAME", "NS"
추가 중첩 생략
valuestring필수
추가 중첩 생략
ttlinteger필수
minimum: 0
추가 중첩 생략
capability_summaryarray필수
각 항목object
kindstring필수
enum: "work_mailbox", "transactional", "marketing", "deliverability"
labelstring필수
statusstring필수
enum: "detected", "missing", "needs_review"
provider_keysarray필수
각 항목string
recommendationstring필수
enum: "connect", "setup_banger", "review"
recommended_connectionsarray필수
각 항목object
추가 속성 없음
keystring필수
namestring필수
categorystring필수
enum: "email", "customer", "product", "work", "data"
prioritystring필수
enum: "required", "recommended"
reasonstring필수
sourcestring필수
enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"
setup_modestring필수
enum: "oauth", "secure_credentials"
availableboolean필수
provider_keystring
evidencearray필수
각 항목object
namestring필수
추가 중첩 생략
typestring필수
enum: "MX", "TXT", "CNAME", "NS"
추가 중첩 생략
valuestring필수
추가 중첩 생략
ttlinteger필수
minimum: 0
추가 중첩 생략
connection_planarray필수
각 항목object
추가 속성 없음
capabilitystring필수
enum: "work_mailbox", "transactional", "marketing", "deliverability"
provider_keystring
actionstring필수
enum: "connect", "setup_banger", "review"
domainstring
minLength: 3 · maxLength: 253
limitationsarray필수
각 항목string
scanned_atstring필수
format: "date-time"
confirmed_atstring | null필수
format: "date-time"
curl 예제
curl --request GET --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/discovery' \
--header "Authorization: Bearer $BANGER_API_KEY"
POST/v1/workspaces/{workspaceId}/onboarding/discovery
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
domainstring필수
minLength: 3 · maxLength: 253
stream_kindstring
default: "default" · enum: "default", "transactional", "marketing"
성공 응답 201
공개 DNS와 웹사이트 탐색이 완료되고 저장됐어요.
application/json
valueobject
dataobject필수
domainstring필수
scan_statusstring필수
enum: "complete", "partial", "failed"
companyobject필수
domainstring필수
website_urlstring | null필수
format: "uri"
website_statusstring필수
enum: "available", "missing", "blocked", "error"
company_namestring필수
summarystring필수
audiencestring필수
offeringsarray필수
각 항목string
logo_urlstring | null필수
format: "uri"
favicon_urlstring | null필수
format: "uri"
visual_identityobject필수
colorsarray필수
maxItems: 6
각 항목string
fontsarray필수
maxItems: 6
각 항목string
tonearray필수
maxItems: 6
각 항목string
source_confidencestring필수
enum: "high", "medium", "low"
hero_image_urlstring
format: "uri"
palettearray필수
maxItems: 6
각 항목object
추가 속성 없음
valuestring필수
추가 중첩 생략
rolestring필수
enum: "primary", "accent", "background", "surface", "text", "other"
추가 중첩 생략
namestring필수
추가 중첩 생략
typographyarray필수
maxItems: 6
각 항목object
추가 속성 없음
familystring필수
추가 중첩 생략
rolestring필수
enum: "heading", "body", "mono", "other"
추가 중첩 생략
weightsarray필수
추가 중첩 생략
assetsarray필수
maxItems: 8
각 항목object
추가 속성 없음
urlstring필수
format: "uri"
추가 중첩 생략
kindstring필수
enum: "logo", "wordmark", "favicon", "hero"
추가 중첩 생략
sourcestring필수
추가 중첩 생략
brand_summarystring필수
imagery_stylearray필수
maxItems: 6
각 항목string
source_snapshotobject필수
추가 속성모든 값
dns_signalsarray필수
각 항목object
namestring필수
typestring필수
enum: "MX", "TXT", "CNAME", "NS"
valuestring필수
ttlinteger필수
minimum: 0
dns_provider지정되지 않음필수
oneOf 1object
추가 속성 없음
keystring필수
namestring필수
confidencestring필수
enum: "high", "medium", "low"
dashboard_urlstring필수
format: "uri"
evidencearray필수
각 항목object
namestring필수
추가 중첩 생략
typestring필수
enum: "MX", "TXT", "CNAME", "NS"
추가 중첩 생략
valuestring필수
추가 중첩 생략
ttlinteger필수
minimum: 0
추가 중첩 생략
oneOf 2null
provider_detectionsarray필수
각 항목object
keystring필수
namestring필수
categoriesarray필수
각 항목string
enum: "work_mailbox", "transactional", "marketing", "deliverability"
confidencestring필수
enum: "high", "medium", "low"
evidencearray필수
각 항목object
namestring필수
추가 중첩 생략
typestring필수
enum: "MX", "TXT", "CNAME", "NS"
추가 중첩 생략
valuestring필수
추가 중첩 생략
ttlinteger필수
minimum: 0
추가 중첩 생략
capability_summaryarray필수
각 항목object
kindstring필수
enum: "work_mailbox", "transactional", "marketing", "deliverability"
labelstring필수
statusstring필수
enum: "detected", "missing", "needs_review"
provider_keysarray필수
각 항목string
recommendationstring필수
enum: "connect", "setup_banger", "review"
recommended_connectionsarray필수
각 항목object
추가 속성 없음
keystring필수
namestring필수
categorystring필수
enum: "email", "customer", "product", "work", "data"
prioritystring필수
enum: "required", "recommended"
reasonstring필수
sourcestring필수
enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"
setup_modestring필수
enum: "oauth", "secure_credentials"
availableboolean필수
provider_keystring
evidencearray필수
각 항목object
namestring필수
추가 중첩 생략
typestring필수
enum: "MX", "TXT", "CNAME", "NS"
추가 중첩 생략
valuestring필수
추가 중첩 생략
ttlinteger필수
minimum: 0
추가 중첩 생략
connection_planarray필수
각 항목object
추가 속성 없음
capabilitystring필수
enum: "work_mailbox", "transactional", "marketing", "deliverability"
provider_keystring
actionstring필수
enum: "connect", "setup_banger", "review"
domainstring
minLength: 3 · maxLength: 253
limitationsarray필수
각 항목string
scanned_atstring필수
format: "date-time"
confirmed_atstring | null필수
format: "date-time"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/discovery' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"domain": "example",
"stream_kind": "default"
}'
PUT/v1/workspaces/{workspaceId}/onboarding/discovery
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문 필수
application/json
valueobject
추가 속성 없음
company_namestring필수
minLength: 1 · maxLength: 200
summarystring필수
minLength: 1 · maxLength: 4000
audiencestring
maxLength: 2000
offeringsarray
maxItems: 8
각 항목string
maxLength: 120
website_urlstring | null
format: "uri"
connection_planarray필수
maxItems: 30
각 항목object
추가 속성 없음
capabilitystring필수
enum: "work_mailbox", "transactional", "marketing", "deliverability"
provider_keystring
actionstring필수
enum: "connect", "setup_banger", "review"
domainstring
minLength: 3 · maxLength: 253
성공 응답 200
회사 맥락과 제안된 연결 계획이 확인됐어요.
application/json
valueobject
dataobject필수
domainstring필수
scan_statusstring필수
enum: "complete", "partial", "failed"
companyobject필수
domainstring필수
website_urlstring | null필수
format: "uri"
website_statusstring필수
enum: "available", "missing", "blocked", "error"
company_namestring필수
summarystring필수
audiencestring필수
offeringsarray필수
각 항목string
logo_urlstring | null필수
format: "uri"
favicon_urlstring | null필수
format: "uri"
visual_identityobject필수
colorsarray필수
maxItems: 6
각 항목string
fontsarray필수
maxItems: 6
각 항목string
tonearray필수
maxItems: 6
각 항목string
source_confidencestring필수
enum: "high", "medium", "low"
hero_image_urlstring
format: "uri"
palettearray필수
maxItems: 6
각 항목object
추가 속성 없음
valuestring필수
추가 중첩 생략
rolestring필수
enum: "primary", "accent", "background", "surface", "text", "other"
추가 중첩 생략
namestring필수
추가 중첩 생략
typographyarray필수
maxItems: 6
각 항목object
추가 속성 없음
familystring필수
추가 중첩 생략
rolestring필수
enum: "heading", "body", "mono", "other"
추가 중첩 생략
weightsarray필수
추가 중첩 생략
assetsarray필수
maxItems: 8
각 항목object
추가 속성 없음
urlstring필수
format: "uri"
추가 중첩 생략
kindstring필수
enum: "logo", "wordmark", "favicon", "hero"
추가 중첩 생략
sourcestring필수
추가 중첩 생략
brand_summarystring필수
imagery_stylearray필수
maxItems: 6
각 항목string
source_snapshotobject필수
추가 속성모든 값
dns_signalsarray필수
각 항목object
namestring필수
typestring필수
enum: "MX", "TXT", "CNAME", "NS"
valuestring필수
ttlinteger필수
minimum: 0
dns_provider지정되지 않음필수
oneOf 1object
추가 속성 없음
keystring필수
namestring필수
confidencestring필수
enum: "high", "medium", "low"
dashboard_urlstring필수
format: "uri"
evidencearray필수
각 항목object
namestring필수
추가 중첩 생략
typestring필수
enum: "MX", "TXT", "CNAME", "NS"
추가 중첩 생략
valuestring필수
추가 중첩 생략
ttlinteger필수
minimum: 0
추가 중첩 생략
oneOf 2null
provider_detectionsarray필수
각 항목object
keystring필수
namestring필수
categoriesarray필수
각 항목string
enum: "work_mailbox", "transactional", "marketing", "deliverability"
confidencestring필수
enum: "high", "medium", "low"
evidencearray필수
각 항목object
namestring필수
추가 중첩 생략
typestring필수
enum: "MX", "TXT", "CNAME", "NS"
추가 중첩 생략
valuestring필수
추가 중첩 생략
ttlinteger필수
minimum: 0
추가 중첩 생략
capability_summaryarray필수
각 항목object
kindstring필수
enum: "work_mailbox", "transactional", "marketing", "deliverability"
labelstring필수
statusstring필수
enum: "detected", "missing", "needs_review"
provider_keysarray필수
각 항목string
recommendationstring필수
enum: "connect", "setup_banger", "review"
recommended_connectionsarray필수
각 항목object
추가 속성 없음
keystring필수
namestring필수
categorystring필수
enum: "email", "customer", "product", "work", "data"
prioritystring필수
enum: "required", "recommended"
reasonstring필수
sourcestring필수
enum: "dns", "business_context", "opportunity_plan", "banger_recommendation"
setup_modestring필수
enum: "oauth", "secure_credentials"
availableboolean필수
provider_keystring
evidencearray필수
각 항목object
namestring필수
추가 중첩 생략
typestring필수
enum: "MX", "TXT", "CNAME", "NS"
추가 중첩 생략
valuestring필수
추가 중첩 생략
ttlinteger필수
minimum: 0
추가 중첩 생략
connection_planarray필수
각 항목object
추가 속성 없음
capabilitystring필수
enum: "work_mailbox", "transactional", "marketing", "deliverability"
provider_keystring
actionstring필수
enum: "connect", "setup_banger", "review"
domainstring
minLength: 3 · maxLength: 253
limitationsarray필수
각 항목string
scanned_atstring필수
format: "date-time"
confirmed_atstring | null필수
format: "date-time"
curl 예제
curl --request PUT --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/discovery' \
--header "Authorization: Bearer $BANGER_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"company_name": "example",
"summary": "example",
"audience": "example",
"offerings": [
"example"
],
"website_url": "https://example.com",
"connection_plan": [
{
"capability": "work_mailbox",
"provider_key": "example",
"action": "connect",
"domain": "example"
}
]
}'
POST/v1/workspaces/{workspaceId}/onboarding/agent-state/confirm-connection
현재 에이전트 클라이언트에 설치된 OAuth 자격 증명과 automation:read 범위가 필요해요.
인증: Bearer 워크스페이스 API 키.
매개변수
요청 본문
계약에 요청 본문이 지정돼 있지 않아요.
성공 응답 200
성공 응답.
application/json
valueobject
dataobject필수
statusstring필수
enum: "connected"
messagestring필수
workspace_idstring필수
format: "uuid"
client_namestring필수
confirmed_atstring필수
format: "date-time"
curl 예제
curl --request POST --globoff 'https://api.bangermail.com/v1/workspaces/{workspaceId}/onboarding/agent-state/confirm-connection' \
--header "Authorization: Bearer $BANGER_API_KEY"