문서로 건너뛰기
CLI

모든 명령

241개 전부를 한 행에 하나씩, 각 리소스 명령이 호출하는 엔드포인트와 함께.

모든 명령

명령은 241개이며, openemail --help가 나열하는 순서대로 각각 한 행을 차지합니다. 46개는 사람을 위해 직접 작성한 명령입니다. 빠진 것을 묻고, 출력을 보기 좋게 만들며, 도움이 되면 여러 API 호출을 묶으므로, 그 행에는 엔드포인트 하나가 적혀 있지 않습니다. 나머지 195개는 25개 네임스페이스에 걸친 리소스 명령 openemail <namespace> <verb>이며, 각각 그 행에 적힌 엔드포인트를 호출합니다.

리소스 명령은 하나하나 작성한 것이 아닙니다. CLI는 모든 메서드를 매개변수, 엔드포인트, 범위와 함께 설명하는 SDK의 메서드 매니페스트를 읽고, 각 메서드를 네임스페이스와 메서드 이름을 케밥 케이스로 쓴 동사로 바꿉니다. 그래서 domains.createAddress는 openemail domains create-address입니다. list와 그것을 순회하는 listAll, iterate는 --all과 --max가 있는 list 동사 하나가 되며, 그래서 명령이 SDK 메서드보다 적습니다.

패키지의 패리티 검사가 릴리스 전마다 이를 증명합니다. 모든 SDK 메서드에 대해 명령줄을 세 가지 방식으로 만듭니다. 필수 값만으로, 그 값을 --data 파일에 담아서, 모든 플래그를 설정해서입니다. 그런 다음 기록용 fetch에 대해 명령을 실행하고, 명령이 없는 메서드가 있거나 명령이 매니페스트가 지정한 메서드, 경로, 쿼리, 본문, 자격 증명 외의 것을 보내면 실패합니다. 이어서 같은 명령줄을 실제 파서와 디스패처로 실행하고, 직접 호출과 다른 요청이 하나라도 있으면 실패합니다.

각 행은 명령의 첫 사용법 줄을 보여 줍니다. 나머지는 openemail <command> --help가 보여 줍니다. 모든 인수와 플래그와 받는 값, 예제, 그리고 리소스 명령이라면 범위, 엔드포인트, 반환값, API 레퍼런스의 참고 사항입니다. --json을 붙이면 같은 페이지를 하나의 JSON 문서로 받으며, openemail --help --json은 모든 명령, 인수, 플래그를 한 번에 출력합니다. 모든 명령은 전역 플래그 --json, --yes, --dry-run, --profile, --api-key, --base-url, --no-input, --no-color, --debug도 받으므로, 어느 행도 이를 반복하지 않습니다.

명령호출범위
openemail login-없음
openemail whoami-없음
openemail status-없음
openemail send --to <address> --subject <text> --text <body> [flags]-emails:send
openemail inbox [folder] [flags]-threads:read
openemail read <thread-id> [flags]-threads:read
openemail search <query...> [flags]-threads:read
openemail reply <thread-id> --text <body> [flags]-threads:read + emails:send
openemail archive <thread-id...>-threads:write
openemail unarchive <thread-id...>-threads:write
openemail trash <thread-id...>-threads:write
openemail star <thread-id...>-threads:write
openemail unstar <thread-id...>-threads:write
openemail mark read <thread-id...>-threads:write
openemail mark unread <thread-id...>-threads:write
openemail snooze <thread-id...> --until <when>-threads:write
openemail unsnooze <thread-id...>-threads:write
openemail label add <thread-id...> --label <label-id>-threads:write
openemail label remove <thread-id...> --label <label-id>-threads:write
openemail temp new [--name <local-part>] [--domain <domain>] [--ttl <minutes>]-없음
openemail temp list-없음
openemail temp read [inbox] [message-id] [flags]-없음
openemail temp watch [inbox] [--first]-없음
openemail temp delete [inbox] [--yes]-없음
openemail ai translate --to <language> [--text <text>|--html <html>|--body-file <path>] [--subject <subject>]-emails:send
openemail ai languages [--search <text>]-없음
openemail ai compose "<prompt>" [--to <address>] [--subject <subject>] [--thread <thread-id>] [--tone <tone>]-drafts:write
openemail ai summarize <thread-id>-threads:read
openemail mcp config [--client <client>]-없음
openemail mcp tools [tool]-없음
openemail mcp call <tool> [--args <json|@file|->] [--arg key=value ...]-없음
openemail mcp serve-없음
openemail docs ask "<question>"-없음
openemail docs open [slug] [--print]-없음
openemail docs read [slug]-없음
openemail agents-없음
openemail me get [flags]GET /keys/self없음
openemail me ping [flags]GET /ping없음
openemail me rotate [flags]POST /keys/self/rotatekeys:write
openemail keys list [flags]GET /keyskeys:read
openemail keys get <id> [flags]GET /keys/{id}keys:read
openemail keys create --name <value> [flags]POST /keyskeys:manage
openemail keys update <id> [flags]PATCH /keys/{id}keys:manage
openemail keys delete <id> [flags]DELETE /keys/{id}keys:manage
openemail keys rotate <id> [flags]POST /keys/{id}/rotatekeys:manage
openemail keys revoke <id> [flags]POST /keys/{id}/revokekeys:manage
openemail keys list-requests <id> [flags]GET /keys/{id}/requestskeys:read
openemail keys list-activity <id> [flags]GET /keys/{id}/activitykeys:read
openemail keys list-workspace-requests [flags]GET /keys/requestskeys:read
openemail keys list-workspace-activity [flags]GET /keys/activitykeys:read
openemail addresses list [flags]GET /addressesemails:send
openemail languages list [flags]GET /languages없음
openemail emails send --from <value> --to <a,b> [flags]POST /emailsemails:send
openemail emails send-batch <emails> [flags]POST /emails/batchemails:send
openemail emails translate --to <value> [flags]POST /emails/translateemails:send
openemail emails list [flags]GET /emailsemails:read
openemail emails get <id> [flags]GET /emails/{id}emails:read
openemail emails list-events <id> [flags]GET /emails/{id}/eventsemails:read
openemail emails get-tracking <id> [flags]GET /emails/{id}/trackingemails:read
openemail emails cancel <id> [flags]POST /emails/{id}/cancelemails:send
openemail emails reschedule <id> <scheduled-at> [flags]PATCH /emails/{id}emails:send
openemail templates list [flags]GET /templatestemplates:read
openemail templates get <id-or-slug> [flags]GET /templates/{id}templates:read
openemail templates create --name <value> [flags]POST /templatestemplates:write
openemail templates update <id-or-slug> [flags]PATCH /templates/{id}templates:write
openemail templates duplicate <id-or-slug> [flags]POST /templates/{id}/duplicatetemplates:write
openemail templates replace-content <id-or-slug> [flags]POST /templates/{id}/contenttemplates:write
openemail templates delete <id-or-slug> [flags]DELETE /templates/{id}templates:write
openemail templates list-versions <id-or-slug> [flags]GET /templates/{id}/versionstemplates:read
openemail templates get-version <id-or-slug> <version> [flags]GET /templates/{id}/versions/{version}templates:read
openemail templates publish <id-or-slug> [flags]POST /templates/{id}/versionstemplates:write
openemail templates restore-version <id-or-slug> <version> [flags]POST /templates/{id}/versions/{version}/restoretemplates:write
openemail templates delete-version <id-or-slug> <version> [flags]DELETE /templates/{id}/versions/{version}templates:write
openemail templates list-starters [flags]GET /templates/starterstemplates:read
openemail templates get-starter <slug> [flags]GET /templates/starters/{slug}templates:read
openemail templates list-fonts [flags]GET /templates/fontstemplates:read
openemail templates render [flags]POST /templates/rendertemplates:read
openemail templates preview <id-or-slug> [flags]POST /templates/{id}/previewtemplates:read
openemail templates get-analytics <id-or-slug> [flags]GET /templates/{id}/analyticstemplates:read
openemail templates list-sends <id-or-slug> [flags]GET /templates/{id}/sendstemplates:read
openemail templates send <id-or-slug> --from <value> --to <a,b> [flags]POST /templates/{id}/sendtemplates:write + emails:send
openemail tracking list [flags]GET /trackingemails:read
openemail tracking get-stats [flags]GET /tracking/statsemails:read
openemail tracking get <id> [flags]GET /tracking/{id}emails:read
openemail tracking list-opens <id> [flags]GET /tracking/{id}/opensemails:read
openemail tracking list-clicks <id> [flags]GET /tracking/{id}/clicksemails:read
openemail threads list [flags]GET /threadsthreads:read
openemail threads get <id> [flags]GET /threads/{id}threads:read
openemail threads update <id> [flags]PATCH /threads/{id}threads:write
openemail threads trash <id> [flags]POST /threads/{id}/trashthreads:write
openemail threads snooze <id> <wake-at> [flags]POST /threads/{id}/snoozethreads:write
openemail threads unsnooze <id> [flags]POST /threads/{id}/unsnoozethreads:write
openemail threads list-attachments <id> <message-id> [flags]GET /threads/{id}/messages/{messageId}/attachmentsthreads:read
openemail drafts list [flags]GET /draftsdrafts:read
openemail drafts get <id> [flags]GET /drafts/{id}drafts:read
openemail drafts create [flags]POST /draftsdrafts:write
openemail drafts update <id> [flags]PATCH /drafts/{id}drafts:write
openemail drafts delete <id> [flags]DELETE /drafts/{id}drafts:write
openemail labels list [flags]GET /labelslabels:read
openemail labels list-colors [flags]GET /labels/colorslabels:read
openemail labels get <id> [flags]GET /labels/{id}labels:read
openemail labels create --name <value> [flags]POST /labelslabels:write
openemail labels update <id> [flags]PATCH /labels/{id}labels:write
openemail labels delete <id> [flags]DELETE /labels/{id}labels:write
openemail contacts list [flags]GET /contactscontacts:read
openemail contacts get <email> [flags]GET /contacts/{email}contacts:read
openemail contacts create --email <value> [flags]POST /contactscontacts:write
openemail contacts update <email> [flags]PATCH /contacts/{email}contacts:write
openemail contacts delete <email> [flags]DELETE /contacts/{email}contacts:write
openemail contacts set-audiences <email> --audience-ids <a,b> [flags]PUT /contacts/{email}/audiencesaudiences:write
openemail contacts list-people [flags]GET /contacts/peoplecontacts:read
openemail contacts save <email> [flags]PUT /contacts/{email}contacts:write
openemail contacts delete-many <emails...> [flags]POST /contacts/batch-deletecontacts:write
openemail contacts set-photo <email> <data> [flags]PUT /contacts/{email}/photocontacts:write
openemail contacts remove-photo <email> [flags]DELETE /contacts/{email}/photocontacts:write
openemail contacts block <email> [flags]POST /contacts/{email}/blocksettings:write
openemail contacts unblock <email> [flags]DELETE /contacts/{email}/blocksettings:write
openemail contacts list-threads <email> [flags]GET /contacts/{email}/threadsthreads:read
openemail contacts activity <email> [flags]GET /contacts/{email}/activitythreads:read
openemail audiences list [flags]GET /audiencesaudiences:read
openemail audiences growth [flags]GET /audiences/growthaudiences:read
openemail audiences get <id> [flags]GET /audiences/{id}audiences:read
openemail audiences create --name <value> [flags]POST /audiencesaudiences:write
openemail audiences update <id> [flags]PATCH /audiences/{id}audiences:write
openemail audiences delete <id> [flags]DELETE /audiences/{id}audiences:write
openemail audiences empty <id> [flags]POST /audiences/{id}/emptyaudiences:write
openemail audiences list-contacts <id> [flags]GET /audiences/{id}/contactsaudiences:read
openemail audiences add-contact <id> --email <value> [flags]POST /audiences/{id}/contactsaudiences:write
openemail audiences remove-contact <id> <email> [flags]DELETE /audiences/{id}/contacts/{email}audiences:write
openemail audiences add-contacts <id> --emails <a,b> [flags]POST /audiences/{id}/contacts/batchaudiences:write
openemail audiences remove-contacts <id> --emails <a,b> [flags]POST /audiences/{id}/contacts/batch-removeaudiences:write
openemail audiences import-contacts <id> --contacts <json|@file|-> [flags]POST /audiences/{id}/importaudiences:write + contacts:write
openemail broadcasts preview --audience-ids <a,b> [flags]POST /broadcasts/previewaudiences:read
openemail broadcasts send --audience-ids <a,b> --from <value> [flags]POST /broadcastsemails:send + audiences:read
openemail broadcasts list [flags]GET /broadcastsemails:read
openemail broadcasts get <id> [flags]GET /broadcasts/{id}emails:read
openemail broadcasts stats <id> [flags]GET /broadcasts/{id}/statsemails:read
openemail broadcasts list-recipients <id> [flags]GET /broadcasts/{id}/recipientsemails:read
openemail broadcasts get-recipient <id> <email-id> [flags]GET /broadcasts/{id}/recipients/{emailId}emails:read
openemail broadcasts cancel <id> [flags]POST /broadcasts/{id}/cancelemails:send
openemail domains list [flags]GET /domainsdomains:read
openemail domains get <id> [flags]GET /domains/{id}domains:read
openemail domains create --domain <value> [flags]POST /domainsdomains:write
openemail domains verify <id> [flags]POST /domains/{id}/verifydomains:write
openemail domains update <id> [flags]PATCH /domains/{id}domains:write
openemail domains delete <id> [flags]DELETE /domains/{id}domains:write
openemail domains list-addresses <id> [flags]GET /domains/{id}/addressesdomains:read
openemail domains create-address <id> --local-part <value> [flags]POST /domains/{id}/addressesdomains:write
openemail domains get-address <id> <address-id> [flags]GET /domains/{id}/addresses/{addressId}domains:read
openemail domains update-address <id> <address-id> [flags]PATCH /domains/{id}/addresses/{addressId}domains:write
openemail domains delete-address <id> <address-id> [flags]DELETE /domains/{id}/addresses/{addressId}domains:write
openemail rules list [flags]GET /rulesrules:read
openemail rules get <id> [flags]GET /rules/{id}rules:read
openemail rules create --name <value> --conditions <json|@file|-> --actions <json|@file|-> [flags]POST /rulesrules:write
openemail rules update <id> [flags]PATCH /rules/{id}rules:write
openemail rules delete <id> [flags]DELETE /rules/{id}rules:write
openemail rules reorder <rule-ids...> [flags]POST /rules/reorderrules:write
openemail rules test <id> [flags]POST /rules/{id}/testrules:read
openemail rules list-runs [flags]GET /rules/runsrules:read
openemail webhooks list [flags]GET /webhookswebhooks:read
openemail webhooks get <id> [flags]GET /webhooks/{id}webhooks:read
openemail webhooks create --url <value> [flags]POST /webhookswebhooks:write
openemail webhooks update <id> [flags]PATCH /webhooks/{id}webhooks:write
openemail webhooks delete <id> [flags]DELETE /webhooks/{id}webhooks:write
openemail webhooks rotate-secret <id> [flags]POST /webhooks/{id}/rotate-secretwebhooks:write
openemail webhooks test <id> [flags]POST /webhooks/{id}/testwebhooks:write
openemail webhooks list-deliveries <id> [flags]GET /webhooks/{id}/deliverieswebhooks:read
openemail webhooks get-delivery <id> <delivery-id> [flags]GET /webhooks/{id}/deliveries/{deliveryId}webhooks:read
openemail webhooks replay-delivery <id> <delivery-id> [flags]POST /webhooks/{id}/deliveries/{deliveryId}/replaywebhooks:write
openemail webhooks list-workspace-deliveries [flags]GET /webhooks/deliverieswebhooks:read
openemail webhooks list-activity <id> [flags]GET /webhooks/{id}/activitywebhooks:read
openemail webhooks list-workspace-activity [flags]GET /webhooks/activitywebhooks:read
openemail imports list [flags]GET /importsthreads:read
openemail imports get <id> [flags]GET /imports/{id}threads:read
openemail imports create --address-id <value> --files <json|@file|-> [flags]POST /importsthreads:write
openemail imports upload-state <id> [flags]GET /imports/{id}/uploadthreads:write
openemail imports upload-chunk <id> <file> <chunk> <data> [flags]PUT /imports/{id}/files/{file}/chunks/{chunk}threads:write
openemail imports start <id> [flags]POST /imports/{id}/startthreads:write
openemail imports cancel <id> [flags]POST /imports/{id}/cancelthreads:write
openemail imports list-failures <id> [flags]GET /imports/{id}/failuresthreads:read
openemail imports delete-upload <id> [flags]DELETE /imports/{id}/uploadthreads:write
openemail imports import-files --address-id <value> --files <path> [flags]POST /importsthreads:write
openemail provider-imports inspect <api-key> [flags]POST /provider-imports/inspectsettings:write
openemail provider-imports create --resend-key <value> --resources <a,b> [flags]POST /provider-importssettings:write
openemail provider-imports list [flags]GET /provider-importssettings:read
openemail provider-imports get <id> [flags]GET /provider-imports/{id}settings:read
openemail provider-imports cancel <id> [flags]POST /provider-imports/{id}/cancelsettings:write
openemail calendar list-events --from <when> --to <when> [flags]GET /calendar/eventscalendar:read
openemail calendar get-event <id> [flags]GET /calendar/events/{id}calendar:read
openemail calendar get-event-ics <id> [flags]GET /calendar/events/{id}/icscalendar:read
openemail settings get [flags]GET /settingssettings:read
openemail settings update [flags]PATCH /settingssettings:write
openemail roles list [flags]GET /rolesroles:read
openemail roles get <id> [flags]GET /roles/{id}roles:read
openemail roles create --name <value> --permissions <a,b> [flags]POST /rolesroles:write
openemail roles update <id> [flags]PATCH /roles/{id}roles:write
openemail roles delete <id> [flags]DELETE /roles/{id}roles:write
openemail roles list-permissions [flags]GET /roles/permissionsroles:read
openemail members list [flags]GET /membersmembers:read
openemail members get <user-id> [flags]GET /members/{userId}members:read
openemail members add --email <value> --role-id <value> [flags]POST /membersmembers:write
openemail members update <user-id> --role-id <value> [flags]PATCH /members/{userId}members:write
openemail members remove <user-id> [flags]DELETE /members/{userId}members:write
openemail members grant-address <user-id> --address-id <value> [flags]POST /members/{userId}/addressesmembers:write
openemail members revoke-address <user-id> <address-id> [flags]DELETE /members/{userId}/addresses/{addressId}members:write
openemail members list-invitations [flags]GET /members/invitationsmembers:read
openemail members revoke-invitation <invitation-id> [flags]DELETE /members/invitations/{invitationId}members:write
openemail members resend-invitation <invitation-id> [flags]POST /members/invitations/{invitationId}/resendmembers:write
openemail suppressions list [flags]GET /suppressionssettings:read
openemail suppressions get <id> [flags]GET /suppressions/{id}settings:read
openemail suppressions add --email <value> [flags]POST /suppressionssettings:write
openemail suppressions remove <id> [flags]DELETE /suppressions/{id}settings:write
openemail files list [flags]GET /filesfiles:read
openemail files get <id> [flags]GET /files/{id}files:read
openemail files stats [flags]GET /files/statsfiles:read
openemail files download <id> [flags]GET /files/{id}/contentfiles:read
openemail files list-links <id> [flags]GET /files/{id}/linksfiles:read
openemail files create-link <id> [flags]POST /files/{id}/linksfiles:write
openemail files revoke-link <id> <link-id> [flags]DELETE /files/{id}/links/{linkId}files:write
openemail files upload <data> [flags]POST /filesfiles:write
openemail files delete <id> [flags]DELETE /files/{id}files:write
openemail files delete-many <ids...> [flags]POST /files/batch-deletefiles:write
openemail temp-mail list-domains [flags]GET /temp-mail/domains없음
openemail temp-mail create [flags]POST /temp-mail/inboxes없음
openemail temp-mail get <inbox-id> [flags]GET /temp-mail/inboxes/{id}inbox token
openemail temp-mail extend <inbox-id> [flags]POST /temp-mail/inboxes/{id}/extendinbox token
openemail temp-mail delete <inbox-id> [flags]DELETE /temp-mail/inboxes/{id}inbox token
openemail temp-mail list-messages <inbox-id> [flags]GET /temp-mail/inboxes/{id}/messagesinbox token
openemail temp-mail get-message <inbox-id> <message-id> [flags]GET /temp-mail/inboxes/{id}/messages/{messageId}inbox token
openemail temp-mail delete-message <inbox-id> <message-id> [flags]DELETE /temp-mail/inboxes/{id}/messages/{messageId}inbox token
openemail temp-mail list-attachments <inbox-id> <message-id> [flags]GET /temp-mail/inboxes/{id}/messages/{messageId}/attachmentsinbox token
openemail verify-없음
openemail logout-없음
openemail profile list-없음
openemail profile use <name>-없음
openemail profile remove <name>-없음
openemail profile current-없음
openemail open [page] [--print]-없음
openemail update-없음
openemail completion <bash|zsh|fish>-없음
openemail api <method> <path> [--data <json|@file|->] [--query <key=value>] [--header <key=value>]-없음

범위는 명령을 실행할 때마다 필요한 것을 알려 줍니다. 저장된 로그인이 있으면 CLI가 명령이 무엇이든 하기 전에 이를 확인하며, 범위가 없으면 종료 코드 4로 멈춥니다. api와 mcp call은 필요한 것이 호출하는 엔드포인트나 도구에 달려 있고 서버가 그것을 확인하므로, 범위를 적지 않습니다. "inbox token"이라고 적힌 temp-mail 행은 temp-mail create가 반환하고 CLI가 저장한 oe_inbox_ 토큰을 보내며, --inbox-token은 CLI가 만들지 않은 토큰을 넘깁니다.

명령 6개에는 브라우저 로그인, 즉 openemail login에서 브라우저를 고르면 저장되는 종류의 로그인이 필요합니다. ai compose, ai summarize, mcp tools, mcp call, mcp serve, verify입니다. AI와 MCP 명령은 API 키를 받지 않는 MCP 서버에서 실행되며, verify는 브라우저 로그인만 요구받는 인증 코드를 입력합니다.

직접 작성한 명령 19개는 로그인이 전혀 필요 없습니다. login, temp new, temp list, temp read, temp watch, temp delete, mcp config, docs ask, docs open, docs read, agents, logout, profile list, profile use, profile remove, profile current, open, update, completion입니다. temp-mail 행도 마찬가지입니다. ai languages는 로그인 여부와 관계없이 동작합니다.

명령 42개는 삭제, 폐기, 교체, 취소, 비우기처럼 파괴적이므로, 먼저 확인을 요청하고 아무도 답할 수 없으면 종료 코드 2로 멈춥니다. --yes가 대신 확인하며, --dry-run은 읽기를 실행한 뒤 무언가를 바꿀 요청을 보내는 대신 출력합니다.

openemail --help는 몇몇 명령을 빼놓으며, 이 표도 마찬가지입니다. help는 --help의 긴 형태이고, version은 CLI, SDK, 런타임 버전을 출력하며, verify는 security 동사를 다룹니다.

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

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

OpenEmail

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

© 2026 OpenEmail. 모든 권리 보유.