문서로 건너뛰기
API

양식 만들기

`document`로, `starter`로, 또는 둘 다 보내지 않으면 이메일 필드 하나만 있는 양식으로 초안을 만들고, 양식 전체를 반환합니다. 같은 호출에서 게시하려면 `publish: true`를 보내세요.

POST/forms

워크스페이스에 실제 호출을 실행합니다.

POST /forms

document로, starter로, 또는 둘 다 보내지 않으면 이메일 필드 하나만 있는 양식으로 초안을 만들고, 양식 전체를 반환합니다. 같은 호출에서 게시하려면 publish: true를 보내세요.

예시

forms:write가 필요하며, 더블 옵트인을 켜거나, 보내는 주소를 지정하거나, 확인 메일을 설정할 때는 emails:send도 필요합니다.

curl
curl -X POST "$OE/forms" -H "$AUTH" -H 'content-type: application/json' -d '{  "name": "Newsletter sign-up",  "starter": "newsletter",  "settings": {    "audienceIds": ["aud_4c1b8e2a7d9f05c36b4e8a71"],    "doubleOptIn": true,    "senderAddress": "[email protected]"  },  "publish": true}'
응답
{  "object": "form",  "id": "frm_3b9d2e7a1c4f80d56e2a9b14",  "name": "Newsletter sign-up",  "description": null,  "status": "live",  "url": "https://openemail.uk/form/frm_3b9d2e7a1c4f80d56e2a9b14",  "subscribeUrl": "https://api.openemail.uk/subscribe/frm_3b9d2e7a1c4f80d56e2a9b14",  "audienceIds": ["aud_4c1b8e2a7d9f05c36b4e8a71"],  "doubleOptIn": true,  "hasUnpublishedChanges": true,  "document": {    "fields": [      {        "id": "fld_k2m8q4w9z1x7",        "type": "email",        "key": "email",        "label": "Email",        "placeholder": "[email protected]",        "help": null,        "required": true,        "defaultValue": null,        "options": [],        "mapsTo": "email",        "width": "full",        "minLength": null,        "maxLength": null,        "min": null,        "max": null      }    ],    "copy": {      "title": "Join our list",      "description": "News from us, about once a month.",      "submitLabel": "Subscribe",      "successTitle": "You are on the list",      "successMessage": "Thanks for signing up.",      "pendingTitle": "Check your inbox",      "pendingMessage": "Open the email we sent and confirm to finish.",      "closedTitle": "This form is closed",      "closedMessage": "It is not taking new sign-ups right now.",      "footer": null    },    "style": {      "accent": "#18181b",      "background": "#f4f4f5",      "surface": "#ffffff",      "text": "#18181b",      "font": "system",      "radius": "md",      "width": "normal",      "layout": "card",      "align": "left",      "logoUrl": null    }  },  "publishedDocument": { "fields": ["…"], "copy": { "title": "Join the list" }, "style": { "accent": "#18181b" } },  "settings": {    "audienceIds": ["aud_4c1b8e2a7d9f05c36b4e8a71"],    "doubleOptIn": true,    "senderAddress": "[email protected]",    "confirmSubject": "Please confirm your subscription",    "confirmMessage": "Confirm your email address to start getting our messages.",    "confirmButton": "Confirm my subscription",    "successAction": "message",    "redirectUrl": null,    "notifyAddresses": ["[email protected]"]  },  "audiences": [{ "id": "aud_4c1b8e2a7d9f05c36b4e8a71", "name": "Newsletter", "builtin": false }],  "senderIssue": null,  "senderProblem": null,  "stats": { "views": 1840, "submissions": 212, "added": 198, "pending": 14, "lastSubmittedAt": "2026-09-30T16:42:11.000Z" },  "publishedAt": "2026-09-12T08:00:00.000Z",  "createdAt": "2026-09-10T14:20:00.000Z",  "updatedAt": "2026-09-12T08:00:00.000Z"}

settings에는 설정의 일부만 넣어도 되며, 나머지는 기본값을 유지합니다.

settings.audienceIds와 audiences 필드에 있는 모든 오디언스는 이 워크스페이스에서 접근할 수 있는 오디언스여야 하며, 그렇지 않으면 404 audience_not_found로 응답합니다.

더블 옵트인 양식에는 보낼 권한이 있는 주소인 settings.senderAddress가 필요합니다. 보낼 수 없는 보내는 주소는 422 form_sender_refused로 거부됩니다.

publish가 true인데 양식을 게시할 수 없으면 아무것도 만들어지지 않습니다.

워크스페이스는 기본적으로 양식을 100개까지 가질 수 있습니다. 그다음 양식은 422 workspace_limit_reached로 거부됩니다.

받은편지함을,
내 방식대로.

기업, AI, 에이전트, 개인 메일을 위한 이메일 인프라. 규모와 프라이버시, 통제권을 위해 만들었습니다. 이메일이 처음부터 갖췄어야 할 모든 것.

© 2026 OpenEmail. 모든 권리 보유.