Skip to the documentation
CLI

Every command

All 593, one row each, with the endpoint each resource command calls.

Every command

There are 593 commands, each on its own row in the order openemail --help lists them. 46 are written by hand for people: they ask for what is missing, format what they print and combine several API calls where that helps, so their row names no single endpoint. The other 547 are the resource commands, openemail <namespace> <verb> across 53 namespaces, and each one calls the endpoint its row names.

The resource commands are not written one by one. The CLI reads the SDK's method manifest, which describes every method with its parameters, endpoint and scopes, and turns each method into a verb named after the namespace and the method in kebab case, so domains.createAddress is openemail domains create-address. A list and the listAll and iterate that walk it become one list verb with --all and --max, which is why there are fewer commands than SDK methods.

The package's parity check proves it before every release. For every SDK method it builds the command line three ways, with the required values only, with them in a --data file, and with every flag set, runs the command against a recording fetch, and fails when a method has no command or when a command sends anything other than the method, path, query, body and credential the manifest names. It then runs the same command lines through the real parser and dispatcher, and fails on any request that differs from the direct call.

Each row shows the first usage line of its command. openemail <command> --help shows the rest: every argument and flag with what it takes, and examples, and for a resource command its scopes, its endpoint, what it returns and the notes from the API reference. Add --json for the same page as one JSON document, and openemail --help --json prints every command, argument and flag at once. Every command also takes the global flags, --json, --yes, --dry-run, --profile, --api-key, --base-url, --no-input, --no-color and --debug, so no row repeats them.

CommandCallsScope
openemail login-none
openemail whoami-none
openemail status-none
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>]-none
openemail temp list-none
openemail temp read [inbox] [message-id] [flags]-none
openemail temp watch [inbox] [--first]-none
openemail temp delete [inbox] [--yes]-none
openemail ai translate --to <language> [--text <text>|--html <html>|--body-file <path>] [--subject <subject>]-emails:send
openemail ai languages [--search <text>]-none
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>]-none
openemail mcp tools [tool]-none
openemail mcp call <tool> [--args <json|@file|->] [--arg key=value ...]-none
openemail mcp serve-none
openemail docs ask "<question>"-none
openemail docs open [slug] [--print]-none
openemail docs read [slug]-none
openemail agents-none
openemail me get [flags]GET /keys/selfnone
openemail me ping [flags]GET /pingnone
openemail me rotate [flags]POST /keys/self/rotatekeys:write
openemail me list-requests [flags]GET /keys/self/requestsnone
openemail me list-activity [flags]GET /keys/self/activitynone
openemail me stats [flags]GET /keys/self/statsnone
openemail security list-events [flags]GET /security/eventsmembers:read
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 keys stats [flags]GET /keys/statskeys:read + emails:read
openemail addresses list [flags]GET /addressesemails:send
openemail languages list [flags]GET /languagesnone
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 check [flags]POST /emails/checkemails: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 emails update <id> [flags]PATCH /emails/{id}emails:send
openemail emails compose --prompt <value> [flags]POST /emails/composeemails:send
openemail emails rewrite --text <value> --action <value> [flags]POST /emails/rewriteemails:send
openemail emails suggest-subject --message <value> [flags]POST /emails/subjectemails: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 templates list-images [flags]GET /templates/imagestemplates:read
openemail templates upload-image <data> [flags]POST /templates/imagestemplates:write
openemail templates design --name <value> --brief <value> [flags]POST /templates/designtemplates:write
openemail templates redesign <id-or-slug> --instructions <value> [flags]POST /templates/{id}/redesigntemplates:write
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 mute <id> [flags]POST /threads/{id}/mutethreads:write
openemail threads unmute <id> [flags]POST /threads/{id}/unmutethreads:write
openemail threads list-messages <id> [flags]GET /threads/{id}/messagesthreads:read
openemail threads get-message <id> <message-id> [flags]GET /threads/{id}/messages/{messageId}threads:read
openemail threads list-attachments <id> <message-id> [flags]GET /threads/{id}/messages/{messageId}/attachmentsthreads:read
openemail threads list-notes <id> [flags]GET /threads/{id}/notesthreads:read
openemail threads create-note <id> --content <value> [flags]POST /threads/{id}/notesthreads:write
openemail threads update-note <id> <note-id> [flags]PATCH /threads/{id}/notes/{noteId}threads:write
openemail threads delete-note <id> <note-id> [flags]DELETE /threads/{id}/notes/{noteId}threads:write
openemail threads reorder-notes <id> <ids...> [flags]POST /threads/{id}/notes/reorderthreads:write
openemail threads counts [flags]GET /threads/countsthreads:read
openemail threads summary <id> [flags]GET /threads/{id}/summarythreads:read
openemail threads reply-suggestions <id> [flags]GET /threads/{id}/reply-suggestionsthreads:read
openemail threads restore <id> [flags]POST /threads/{id}/restorethreads:write
openemail threads delete <id> [flags]DELETE /threads/{id}threads:write
openemail threads unsubscribe <id> [flags]POST /threads/{id}/unsubscribethreads:write
openemail threads get-event <id> [flags]GET /threads/{id}/eventcalendar:read
openemail threads list-sender-categories [flags]GET /sender-categoriesthreads:read
openemail threads set-sender-category <email> <category> [flags]PUT /sender-categories/{email}threads:write
openemail threads clear-sender-category <email> [flags]DELETE /sender-categories/{email}threads:write
openemail threads get-team <id> [flags]GET /threads/{id}/teamthreads:read
openemail threads assign <id> <assignee-id> [flags]PUT /threads/{id}/assigneethreads:write
openemail threads unassign <id> [flags]DELETE /threads/{id}/assigneethreads:write
openemail threads mark-done <id> [flags]POST /threads/{id}/donethreads:write
openemail threads reopen <id> [flags]POST /threads/{id}/reopenthreads:write
openemail threads list-comments <id> [flags]GET /threads/{id}/commentsthreads:read
openemail threads create-comment <id> --body <value> [flags]POST /threads/{id}/commentsthreads:write
openemail threads update-comment <id> <comment-id> --body <value> [flags]PATCH /threads/{id}/comments/{commentId}threads:write
openemail threads delete-comment <id> <comment-id> [flags]DELETE /threads/{id}/comments/{commentId}threads:write
openemail follow-ups list [flags]GET /follow-upsthreads:read
openemail follow-ups set --thread-id <value> --remind-at <when> [flags]POST /follow-upsthreads:write
openemail follow-ups cancel <id> [flags]DELETE /follow-ups/{id}threads:write
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 test <id> [flags]POST /labels/{id}/testlabels:write + threads:read
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 contacts list-events <email> [flags]GET /contacts/{email}/eventscontacts:read
openemail contacts list-cards [flags]GET /contacts/cardscontacts:read
openemail contacts get-card <id> [flags]GET /contacts/cards/{id}contacts:read
openemail contacts create-card [flags]POST /contacts/cardscontacts:write
openemail contacts update-card <id> [flags]PATCH /contacts/cards/{id}contacts:write
openemail contacts delete-card <id> [flags]DELETE /contacts/cards/{id}contacts:write
openemail contacts find-duplicate-cards [flags]GET /contacts/cards/duplicatescontacts:read
openemail contacts merge-cards <id> --card-ids <a,b> [flags]POST /contacts/cards/{id}/mergecontacts:write
openemail contacts list-birthdays --from <when> --to <when> [flags]GET /contacts/birthdayscontacts:read
openemail contacts import-vcf <data> [flags]POST /contacts/importscontacts:write
openemail contacts list-imports [flags]GET /contacts/importscontacts:read
openemail contacts get-import <id> [flags]GET /contacts/imports/{id}contacts:read
openemail contacts undo-import <id> [flags]POST /contacts/imports/{id}/undocontacts:write
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 segments list [flags]GET /segmentsaudiences:read
openemail segments get <id> [flags]GET /segments/{id}audiences:read
openemail segments create --name <value> --definition <json|@file|-> [flags]POST /segmentsaudiences:write
openemail segments update <id> [flags]PATCH /segments/{id}audiences:write
openemail segments delete <id> [flags]DELETE /segments/{id}audiences:write
openemail segments preview --definition <json|@file|-> [flags]POST /segments/previewaudiences:read
openemail forms list [flags]GET /formsforms:read
openemail forms create --name <value> [flags]POST /formsforms:write
openemail forms design --brief <value> [flags]POST /forms/designforms:write
openemail forms redesign <id> --instructions <value> [flags]POST /forms/{id}/redesignforms:write
openemail forms list-starters [flags]GET /forms/startersforms:read
openemail forms get-starter <slug> [flags]GET /forms/starters/{slug}forms:read
openemail forms get <id> [flags]GET /forms/{id}forms:read
openemail forms update <id> [flags]PATCH /forms/{id}forms:write
openemail forms delete <id> [flags]DELETE /forms/{id}forms:write
openemail forms publish <id> [flags]POST /forms/{id}/publishforms:write
openemail forms pause <id> [flags]POST /forms/{id}/pauseforms:write
openemail forms resume <id> [flags]POST /forms/{id}/resumeforms:write
openemail forms duplicate <id> [flags]POST /forms/{id}/duplicateforms:write
openemail forms analytics <id> [flags]GET /forms/{id}/analyticsforms:read
openemail forms list-submissions <id> [flags]GET /forms/{id}/submissionsforms:read
openemail forms get-submission <id> <submission-id> [flags]GET /forms/{id}/submissions/{submissionId}forms:read
openemail forms delete-submission <id> <submission-id> [flags]DELETE /forms/{id}/submissions/{submissionId}forms:write
openemail forms delete-submissions <id> <submission-ids...> [flags]POST /forms/{id}/submissions/batch-removeforms:write
openemail forms approve-submission <id> <submission-id> [flags]POST /forms/{id}/submissions/{submissionId}/approveforms:write + contacts:write
openemail forms resend-confirmation <id> <submission-id> [flags]POST /forms/{id}/submissions/{submissionId}/resendforms:write + emails:send
openemail forms subscribe <form-id> --email <value> [flags]POST /subscribe/{formId}none
openemail automations list [flags]GET /automationsautomations:read
openemail automations create --name <value> [flags]POST /automationsautomations:write
openemail automations list-starters [flags]GET /automations/startersautomations:read
openemail automations get <id> [flags]GET /automations/{id}automations:read
openemail automations update <id> [flags]PATCH /automations/{id}automations:write
openemail automations delete <id> [flags]DELETE /automations/{id}automations:write
openemail automations publish <id> [flags]POST /automations/{id}/publishautomations:write + emails:send
openemail automations pause <id> [flags]POST /automations/{id}/pauseautomations:write
openemail automations resume <id> [flags]POST /automations/{id}/resumeautomations:write + emails:send
openemail automations archive <id> [flags]POST /automations/{id}/archiveautomations:write
openemail automations duplicate <id> [flags]POST /automations/{id}/duplicateautomations:write
openemail automations send-test <id> --step-key <value> [flags]POST /automations/{id}/testautomations:write + emails:send
openemail automations list-versions <id> [flags]GET /automations/{id}/versionsautomations:read
openemail automations restore-version <id> <version> [flags]POST /automations/{id}/versions/{version}/restoreautomations:write
openemail automations stats <id> [flags]GET /automations/{id}/statsautomations:read
openemail automations analytics [flags]GET /automations/analyticsautomations:read
openemail automations list-runs <id> [flags]GET /automations/{id}/runsautomations:read
openemail automations list-enrollments <id> [flags]GET /automations/{id}/enrollmentsautomations:read
openemail automations get-enrollment <id> <enrollment-id> [flags]GET /automations/{id}/enrollments/{enrollmentId}automations:read
openemail automations enroll <id> [flags]POST /automations/{id}/enrollmentsautomations:write
openemail automations exit-enrollment <id> <enrollment-id> [flags]POST /automations/{id}/enrollments/{enrollmentId}/exitautomations:write
openemail events send --name <value> [flags]POST /eventscontacts:write
openemail events send-batch <events> [flags]POST /events/batchcontacts:write
openemail events list-names [flags]GET /events/namesautomations:read
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 analytics [flags]GET /broadcasts/analyticsemails: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 broadcasts create-draft --from <value> [flags]POST /broadcasts/draftsemails:send + audiences:read
openemail broadcasts update <id> [flags]PATCH /broadcasts/{id}emails:send + audiences:read
openemail broadcasts send-draft <id> [flags]POST /broadcasts/{id}/sendemails:send + audiences:read
openemail broadcasts duplicate <id> [flags]POST /broadcasts/{id}/duplicateemails:send + audiences:read
openemail broadcasts resend <id> [flags]POST /broadcasts/{id}/resendemails:send + audiences:read
openemail broadcasts send-test --from <value> [flags]POST /broadcasts/testemails: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 get-logo <id> [flags]GET /domains/{id}/logodomains:read
openemail domains set-logo <id> --svg <value> [flags]PUT /domains/{id}/logodomains:write
openemail domains remove-logo <id> [flags]DELETE /domains/{id}/logodomains:write
openemail domains set-logo-certificate <id> --certificate <value> [flags]PUT /domains/{id}/logo/certificatedomains:write
openemail domains remove-logo-certificate <id> [flags]DELETE /domains/{id}/logo/certificatedomains: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 set-address-photo <id> <address-id> <data> [flags]PUT /domains/{id}/addresses/{addressId}/photodomains:write
openemail domains remove-address-photo <id> <address-id> [flags]DELETE /domains/{id}/addresses/{addressId}/photodomains:write
openemail domains delete-address <id> <address-id> [flags]DELETE /domains/{id}/addresses/{addressId}domains:write
openemail domains list-address-forwards <id> <address-id> [flags]GET /domains/{id}/addresses/{addressId}/forwardsdomains:read
openemail domains add-address-forwards <id> <address-id> --emails <a,b> [flags]POST /domains/{id}/addresses/{addressId}/forwardsdomains:write
openemail domains update-address-forward <id> <address-id> <forward-id> --enabled [flags]PATCH /domains/{id}/addresses/{addressId}/forwards/{forwardId}domains:write
openemail domains delete-address-forward <id> <address-id> <forward-id> [flags]DELETE /domains/{id}/addresses/{addressId}/forwards/{forwardId}domains:write
openemail domains resend-address-forward-consent <id> <address-id> <forward-id> [flags]POST /domains/{id}/addresses/{addressId}/forwards/{forwardId}/resenddomains:write
openemail domains list-address-members <id> <address-id> [flags]GET /domains/{id}/addresses/{addressId}/membersmembers:read
openemail domains get-address-login <id> <address-id> [flags]GET /domains/{id}/addresses/{addressId}/loginmembers:write
openemail domains set-address-login <id> <address-id> --password <value> [flags]PUT /domains/{id}/addresses/{addressId}/loginmembers:write
openemail domains delete-address-login <id> <address-id> [flags]DELETE /domains/{id}/addresses/{addressId}/loginmembers:write
openemail domains get-mail-app-settings <id> <address-id> [flags]GET /domains/{id}/addresses/{addressId}/mail-appsdomains:read
openemail domains update-mail-app-settings <id> <address-id> [flags]PATCH /domains/{id}/addresses/{addressId}/mail-appsdomains:write
openemail domains list-app-passwords <id> <address-id> [flags]GET /domains/{id}/addresses/{addressId}/app-passwordsmembers:write
openemail domains create-app-password <id> <address-id> --name <value> [flags]POST /domains/{id}/addresses/{addressId}/app-passwordsmembers:write
openemail domains update-app-password <id> <address-id> <password-id> --name <value> [flags]PATCH /domains/{id}/addresses/{addressId}/app-passwords/{passwordId}members:write
openemail domains delete-app-password <id> <address-id> <password-id> [flags]DELETE /domains/{id}/addresses/{addressId}/app-passwords/{passwordId}members:write
openemail domains send-mail-app-setup <id> <address-id> --recipient <value> [flags]POST /domains/{id}/addresses/{addressId}/mail-app-setupmembers:write
openemail domains get-dns <id> [flags]GET /domains/{id}/dnsdomains:read
openemail domains set-dns-zone <id> --connection-id <value> --zone-id <value> [flags]PUT /domains/{id}/dnsdomains:write
openemail domains sync-dns <id> [flags]POST /domains/{id}/dns/syncdomains:write
openemail app-host get [flags]GET /app-hostdomains:read
openemail app-host set --host <value> [flags]PUT /app-hostdomains:write
openemail app-host verify [flags]POST /app-host/verifydomains:write
openemail app-host delete [flags]DELETE /app-hostdomains:write
openemail branding get [flags]GET /brandingsettings:read
openemail branding update [flags]PATCH /brandingsettings:write
openemail branding upload-image <variant> <data> [flags]PUT /branding/images/{variant}settings:write
openemail branding remove-image <variant> [flags]DELETE /branding/images/{variant}settings: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 webhooks list-events [flags]GET /webhooks/eventswebhooks:read
openemail webhooks stats [flags]GET /webhooks/statswebhooks: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 imports discover-mailbox <email> [flags]GET /imports/mailbox-settingsthreads:write
openemail imports check-mailbox --email <value> --password <value> [flags]POST /imports/mailbox/checkthreads:write
openemail imports connect-mailbox --address-id <value> --email <value> --password <value> [flags]POST /imports/mailboxthreads:write
openemail imports resume <id> [flags]POST /imports/{id}/resumethreads:write
openemail provider-imports inspect <api-key> [flags]POST /provider-imports/inspectsettings:write
openemail provider-imports create --provider-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 calendar create-event --summary <value> --start <when> --end <when> [flags]POST /calendar/eventscalendar:write
openemail calendar update-event <id> [flags]PATCH /calendar/events/{id}calendar:write
openemail calendar delete-event <id> [flags]DELETE /calendar/events/{id}calendar:write
openemail calendar cancel-event <id> [flags]POST /calendar/events/{id}/cancelcalendar:write
openemail calendar respond-to-event <id> --response <value> [flags]POST /calendar/events/{id}/respondcalendar:write + emails:send
openemail calendar decline-proposal <id> --attendee <value> [flags]POST /calendar/events/{id}/decline-proposalcalendar:write + emails:send
openemail calendar hide-event <id> [flags]POST /calendar/events/{id}/hidecalendar:write
openemail calendar unhide-event <id> [flags]POST /calendar/events/{id}/unhidecalendar:write
openemail calendar free-busy --emails <a,b> --from <when> --to <when> [flags]GET /calendar/free-busycalendar:read
openemail calendar list-feeds [flags]GET /calendar/feedscalendar:read
openemail calendar create-feed --name <value> --mode <value> [flags]POST /calendar/feedscalendar:write
openemail calendar reset-feed <id> [flags]POST /calendar/feeds/{id}/resetcalendar:write
openemail calendar delete-feed <id> [flags]DELETE /calendar/feeds/{id}calendar:write
openemail calendar list-subscriptions [flags]GET /calendar/subscriptionscalendar:read
openemail calendar create-subscription --url <value> [flags]POST /calendar/subscriptionscalendar:write
openemail calendar update-subscription <id> [flags]PATCH /calendar/subscriptions/{id}calendar:write
openemail calendar refresh-subscription <id> [flags]POST /calendar/subscriptions/{id}/refreshcalendar:write
openemail calendar delete-subscription <id> [flags]DELETE /calendar/subscriptions/{id}calendar:write
openemail calendar import-ics <data> [flags]POST /calendar/importscalendar:write
openemail calendar list-imports [flags]GET /calendar/importscalendar:read
openemail calendar get-import <id> [flags]GET /calendar/imports/{id}calendar:read
openemail calendar undo-import <id> [flags]POST /calendar/imports/{id}/undocalendar:write
openemail settings get [flags]GET /settingssettings:read
openemail settings update [flags]PATCH /settingssettings:write
openemail out-of-office list [flags]GET /out-of-officesettings:read
openemail out-of-office set <address> --message <value> [flags]PUT /out-of-officesettings:write
openemail out-of-office clear <address> [flags]DELETE /out-of-officesettings: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 grant-domain <user-id> --domain-id <value> [flags]POST /members/{userId}/domainsmembers:write
openemail members revoke-domain <user-id> <domain-id> [flags]DELETE /members/{userId}/domains/{domainId}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 suppressions list-unsubscribes [flags]GET /suppressions/unsubscribessettings:read
openemail suppressions add-unsubscribe --email <value> [flags]POST /suppressions/unsubscribessettings:write
openemail suppressions remove-unsubscribe <email> [flags]DELETE /suppressions/unsubscribes/{email}settings:write
openemail sending list-streams [flags]GET /sending/streamsemails:read
openemail sending resume-stream <stream> [flags]POST /sending/streams/{stream}/resumedomains:write
openemail sending list-dedicated-ips [flags]GET /sending/dedicated-ipsdomains:read
openemail sending get-dedicated-ip <ip> [flags]GET /sending/dedicated-ips/{ip}domains:read
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 revoke-all-links <id> [flags]DELETE /files/{id}/linksfiles: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 knowledge list [flags]GET /knowledgeknowledge:read
openemail knowledge levels [flags]GET /knowledge/levelsknowledge:read
openemail knowledge usage [flags]GET /knowledge/usageknowledge:read
openemail knowledge search --query <value> [flags]POST /knowledge/searchknowledge:read
openemail knowledge create-note --title <value> --body <value> [flags]POST /knowledge/notesknowledge:write
openemail knowledge add-link --url <value> [flags]POST /knowledge/linksknowledge:write
openemail knowledge upload-file <data> [flags]POST /knowledge/filesknowledge:write
openemail knowledge get <id> [flags]GET /knowledge/{id}knowledge:read
openemail knowledge update <id> [flags]PATCH /knowledge/{id}knowledge:write
openemail knowledge delete <id> [flags]DELETE /knowledge/{id}knowledge:write
openemail knowledge refresh <id> [flags]POST /knowledge/{id}/refreshknowledge:write
openemail knowledge stats [flags]GET /knowledge/statsknowledge:read
openemail knowledge list-suggestions [flags]GET /knowledge/suggestionsknowledge:read
openemail knowledge accept-suggestion <id> [flags]POST /knowledge/suggestions/{id}/acceptknowledge:write
openemail knowledge dismiss-suggestion <id> [flags]POST /knowledge/suggestions/{id}/dismissknowledge:write
openemail knowledge list-flags [flags]GET /knowledge/flagsknowledge:read
openemail knowledge dismiss-flag <id> [flags]POST /knowledge/flags/{id}/dismissknowledge:write
openemail knowledge list-connectors [flags]GET /knowledge/connectorsknowledge:read
openemail knowledge add-connector --kind <value> --url <value> [flags]POST /knowledge/connectorsknowledge:write
openemail knowledge get-connector <id> [flags]GET /knowledge/connectors/{id}knowledge:read
openemail knowledge update-connector <id> [flags]PATCH /knowledge/connectors/{id}knowledge:write
openemail knowledge delete-connector <id> [flags]DELETE /knowledge/connectors/{id}knowledge:write
openemail knowledge sync-connector <id> [flags]POST /knowledge/connectors/{id}/syncknowledge:write
openemail knowledge draft-from-thread --thread-id <value> [flags]POST /knowledge/draftsknowledge:write + threads:read
openemail temp-mail list-domains [flags]GET /temp-mail/domainsnone
openemail temp-mail create [flags]POST /temp-mail/inboxesnone
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 tools check-dmarc <domain> [flags]GET /tools/dmarcnone
openemail tools check-bimi <domain> [flags]GET /tools/biminone
openemail tools check-deliverability <domain> [flags]GET /tools/deliverabilitynone
openemail tools read-verification-code [flags]POST /tools/verification-codenone
openemail tools estimate-cost [flags]GET /tools/costnone
openemail tools check-address <email> [flags]GET /tools/addressnone
openemail tools check-addresses --emails <a,b> [flags]POST /tools/addressesnone
openemail support send --topic <value> --message <value> [flags]POST /supportnone
openemail encryption list-keys [flags]GET /encryption/keysemails:read
openemail encryption publish-key --address <value> --public-key <value> --fingerprint <value> [flags]POST /encryption/keysemails:read
openemail encryption lookup-keys --addresses <a,b> [flags]GET /encryption/keys/lookupemails:send
openemail senders get <email> [flags]GET /senders/{email}threads:read
openemail senders research <email> [flags]POST /senders/{email}/researchthreads:read
openemail chats list [flags]GET /chatsthreads:read
openemail chats get <id> [flags]GET /chats/{id}threads:read
openemail chats rename <id> <title> [flags]PATCH /chats/{id}threads:write
openemail chats delete <id> [flags]DELETE /chats/{id}threads:write
openemail analytics mailbox [flags]GET /analytics/mailboxthreads:read
openemail analytics sending [flags]GET /analytics/sendingemails:read
openemail subscriptions list [flags]GET /subscriptionsthreads:read
openemail subscriptions list-domains [flags]GET /subscriptions/domainsthreads:read
openemail subscriptions keep <ids...> [flags]POST /subscriptions/batch-keepthreads:write
openemail subscriptions unsubscribe <id> [flags]POST /subscriptions/{id}/unsubscribethreads:write
openemail subscriptions unsubscribe-many <ids...> [flags]POST /subscriptions/batch-unsubscribethreads:write
openemail subscriptions unsubscribe-domain <domain> [flags]POST /subscriptions/domains/{domain}/unsubscribethreads:write
openemail subscriptions move <id> --destination <value> [flags]POST /subscriptions/{id}/movethreads:write
openemail subscriptions move-many <ids...> --destination <value> [flags]POST /subscriptions/batch-movethreads:write
openemail exports preview [flags]GET /exports/previewthreads:read + emails:read + drafts:read + files:read + labels:read + contacts:read + audiences:read + calendar:read + templates:read + rules:read
openemail exports list [flags]GET /exportsthreads:read + emails:read + drafts:read + files:read + labels:read + contacts:read + audiences:read + calendar:read + templates:read + rules:read
openemail exports get <id> [flags]GET /exports/{id}threads:read + emails:read + drafts:read + files:read + labels:read + contacts:read + audiences:read + calendar:read + templates:read + rules:read
openemail exports start [flags]POST /exportsthreads:read + emails:read + drafts:read + files:read + labels:read + contacts:read + audiences:read + calendar:read + templates:read + rules:read
openemail exports download <id> [flags]GET /exports/{id}/contentthreads:read + emails:read + drafts:read + files:read + labels:read + contacts:read + audiences:read + calendar:read + templates:read + rules:read
openemail dns-connections list [flags]GET /dns-connectionsdomains:read
openemail dns-connections get <id> [flags]GET /dns-connections/{id}domains:read
openemail dns-connections delete <id> [flags]DELETE /dns-connections/{id}domains:write
openemail billing get [flags]GET /billingbilling:read
openemail billing list-plans [flags]GET /billing/plansbilling:read
openemail billing get-usage [flags]GET /billing/usagebilling:read
openemail billing list-alerts [flags]GET /billing/alertsbilling:read
openemail billing list-countries [flags]GET /billing/countriesbilling:read
openemail billing get-pay-as-you-go [flags]GET /billing/pay-as-you-gobilling:read
openemail billing set-pay-as-you-go --enabled [flags]PATCH /billing/pay-as-you-gobilling:write
openemail billing set-pay-as-you-go-limit --limit-cents <n> [flags]PUT /billing/pay-as-you-go/limitbilling:write
openemail billing confirm-pay-as-you-go [flags]POST /billing/pay-as-you-go/confirmbilling:write
openemail billing start-checkout --plan <value> [flags]POST /billing/checkoutbilling:write
openemail billing open-portal [flags]POST /billing/portalbilling:write
openemail billing list-invoices [flags]GET /billing/invoicesbilling:read
openemail billing get-invoice <order-id> [flags]GET /billing/invoices/{orderId}billing:read
openemail billing save-invoice-details <order-id> --name <value> --line1 <value> --city <value> --country <value> [flags]PUT /billing/invoices/{orderId}/detailsbilling:write
openemail billing list-add-ons [flags]GET /billing/add-onsbilling:read
openemail billing start-add-on-checkout --add-on <value> [flags]POST /billing/add-ons/checkoutbilling:write
openemail billing cancel-add-on <add-on> [flags]DELETE /billing/add-ons/{addOn}billing:write
openemail workspaces list [flags]GET /workspacesaccount:read
openemail workspaces create --name <value> [flags]POST /workspacesaccount:write
openemail workspaces get-active [flags]GET /workspaces/activeaccount:read
openemail workspaces set-active <workspace-id> [flags]PUT /workspaces/activeaccount:write
openemail workspaces delete <id> --confirm <value> [flags]DELETE /workspaces/{id}account:write
openemail account get-notifications [flags]GET /account/notificationsaccount:read
openemail account set-email-notification <category> --enabled [flags]PUT /account/notifications/email/{category}account:write
openemail account set-push-muted <workspace-id> --muted [flags]PUT /account/notifications/push/{workspaceId}account:write
openemail account set-photo <data> [flags]PUT /account/photoaccount:write
openemail account remove-photo [flags]DELETE /account/photoaccount:write
openemail account get-username [flags]GET /account/usernameaccount:read
openemail account check-username <username> [flags]GET /account/username/availabilityaccount:read
openemail account set-username <username> [flags]PUT /account/usernameaccount:write
openemail account list-connected-apps [flags]GET /account/connected-appsaccount:read
openemail account list-connected-app-requests <client-id> [flags]GET /account/connected-apps/{clientId}/requestsaccount:read
openemail account revoke-connected-app <client-id> [flags]DELETE /account/connected-apps/{clientId}account:write
openemail account list-sessions [flags]GET /account/sessionsaccount:read
openemail account revoke-session <session-id> [flags]DELETE /account/sessions/{sessionId}account:write
openemail account revoke-sessions [flags]DELETE /account/sessionsaccount:write
openemail account list-security-events [flags]GET /account/security-eventsaccount:read
openemail account list-passkeys [flags]GET /account/passkeysaccount:read
openemail account rename-passkey <passkey-id> <name> [flags]PATCH /account/passkeys/{passkeyId}account:write
openemail account remove-passkey <passkey-id> [flags]DELETE /account/passkeys/{passkeyId}account:write
openemail account list-invitations [flags]GET /account/invitationsaccount:read
openemail account accept-invitation <invitation-id> [flags]POST /account/invitations/{invitationId}/acceptaccount:write
openemail account decline-invitation <invitation-id> [flags]POST /account/invitations/{invitationId}/declineaccount:write
openemail signatures list [flags]GET /signaturessettings:read
openemail signatures get <id> [flags]GET /signatures/{id}settings:read
openemail signatures create --address <value> --name <value> --html <value> [flags]POST /signaturessettings:write
openemail signatures update <id> [flags]PATCH /signatures/{id}settings:write
openemail signatures delete <id> [flags]DELETE /signatures/{id}settings:write
openemail signatures copy <id> --addresses <a,b> [flags]POST /signatures/{id}/copysettings:write
openemail tasks list [flags]GET /taskstasks:read + threads:read + emails:read
openemail tasks get <id> [flags]GET /tasks/{id}tasks:read + threads:read + emails:read
openemail tasks create --name <value> --instruction <value> --trigger-kind <value> [flags]POST /taskstasks:write + threads:read + threads:write + emails:read + emails:send + labels:write
openemail tasks update <id> [flags]PATCH /tasks/{id}tasks:write + threads:read + threads:write + emails:read + emails:send + labels:write
openemail tasks delete <id> [flags]DELETE /tasks/{id}tasks:write
openemail tasks pause <id> [flags]POST /tasks/{id}/pausetasks:write
openemail tasks resume <id> [flags]POST /tasks/{id}/resumetasks:write + threads:read + threads:write + emails:read + emails:send + labels:write
openemail tasks run <id> [flags]POST /tasks/{id}/runtasks:write + threads:read + threads:write + emails:read + emails:send + labels:write
openemail tasks list-runs [flags]GET /task-runstasks:read + threads:read + emails:read
openemail tasks get-run <id> [flags]GET /task-runs/{id}tasks:read + threads:read + emails:read
openemail tasks start-run --instruction <value> [flags]POST /task-runstasks:write + threads:read + threads:write + emails:read + emails:send + labels:write
openemail tasks cancel-run <id> [flags]POST /task-runs/{id}/canceltasks:write
openemail tasks list-approvals [flags]GET /task-approvalstasks:read + threads:read + emails:read
openemail tasks get-approval <id> [flags]GET /task-approvals/{id}tasks:read + threads:read + emails:read
openemail tasks approve <id> [flags]POST /task-approvals/{id}/approvetasks:write + threads:read + threads:write + emails:read + emails:send + labels:write
openemail tasks deny <id> [flags]POST /task-approvals/{id}/denytasks:write
openemail bookings list-pages [flags]GET /booking-pagescalendar:read
openemail bookings get-page <id> [flags]GET /booking-pages/{id}calendar:read
openemail bookings create-page --name <value> [flags]POST /booking-pagescalendar:write + emails:send
openemail bookings update-page <id> [flags]PATCH /booking-pages/{id}calendar:write + emails:send
openemail bookings upload-background <id> <data> [flags]PUT /booking-pages/{id}/backgroundcalendar:write + emails:send
openemail bookings remove-background <id> [flags]DELETE /booking-pages/{id}/backgroundcalendar:write + emails:send
openemail bookings delete-page <id> [flags]DELETE /booking-pages/{id}calendar:write
openemail bookings list-times <id> [flags]GET /booking-pages/{id}/timescalendar:read
openemail bookings list [flags]GET /bookingscalendar:read
openemail bookings get <id> [flags]GET /bookings/{id}calendar:read
openemail bookings approve <id> [flags]POST /bookings/{id}/approvecalendar:write + emails:send
openemail bookings decline <id> [flags]POST /bookings/{id}/declinecalendar:write + emails:send
openemail bookings cancel <id> [flags]POST /bookings/{id}/cancelcalendar:write + emails:send
openemail bookings resend-email <id> [flags]POST /bookings/{id}/resendcalendar:write + emails:send
openemail bookings analytics [flags]GET /bookings/analyticscalendar:read
openemail bookings reschedule <id> --start <when> [flags]POST /bookings/{id}/reschedulecalendar:write + emails:send
openemail connectors list-apps [flags]GET /connector-appsconnectors:read
openemail connectors get-app <slug> [flags]GET /connector-apps/{slug}connectors:read
openemail connectors list-categories [flags]GET /connector-categoriesconnectors:read
openemail connectors list [flags]GET /connectorsconnectors:read
openemail connectors get <id> [flags]GET /connectors/{id}connectors:read
openemail connectors connect --app <value> [flags]POST /connectorsconnectors:write
openemail connectors update <id> [flags]PATCH /connectors/{id}connectors:write
openemail connectors disconnect <id> [flags]DELETE /connectors/{id}connectors:write
openemail connectors reconnect <id> [flags]POST /connectors/{id}/reconnectconnectors:write
openemail connectors list-actions <id> [flags]GET /connectors/{id}/actionsconnectors:use
openemail connectors get-action <id> <action> [flags]GET /connectors/{id}/actions/{action}connectors:use
openemail connectors run-action <id> <action> [flags]POST /connectors/{id}/actions/{action}/runconnectors:use
openemail connectors list-calls [flags]GET /connector-callsconnectors:read
openemail connected-mailboxes list [flags]GET /connected-mailboxesthreads:read
openemail connected-mailboxes get <id> [flags]GET /connected-mailboxes/{id}threads:read
openemail connected-mailboxes discover <email> [flags]GET /connected-mailboxes/settingsdomains:write
openemail connected-mailboxes connect --email <value> --password <value> [flags]POST /connected-mailboxesdomains:write
openemail connected-mailboxes update <id> [flags]PATCH /connected-mailboxes/{id}domains:write
openemail connected-mailboxes sync <id> [flags]POST /connected-mailboxes/{id}/syncthreads:write
openemail connected-mailboxes disconnect <id> [flags]DELETE /connected-mailboxes/{id}domains:write
openemail verify-none
openemail logout-none
openemail profile list-none
openemail profile use <name>-none
openemail profile remove <name>-none
openemail profile current-none
openemail open [page] [--print]-none
openemail update-none
openemail completion <bash|zsh|fish>-none
openemail api <method> <path> [--data <json|@file|->] [--query <key=value>] [--header <key=value>]-none

Scope names what every run of the command needs. With a saved sign-in the CLI checks it before the command does anything, and a missing scope stops it with exit code 4. api and mcp call name none, because what they need depends on the endpoint or the tool you call, and the server checks that. The temp-mail rows that say "inbox token" send the oe_inbox_ token that temp-mail create or temp-mail extend returned, which the CLI saves, and --inbox-token passes one it did not create.

6 commands need a browser sign-in, the kind openemail login saves when you choose the browser: ai compose, ai summarize, mcp tools, mcp call, mcp serve and verify. The AI and MCP ones run on the MCP server, which accepts no API key, and verify enters the verification codes that only a browser sign-in is asked for.

19 hand-written commands need no sign-in at all: 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 and completion. Neither do the temp-mail rows. ai languages works signed in or not.

108 commands are destructive, such as deleting, revoking, rotating, cancelling or emptying, so they ask you to confirm first and stop with exit code 2 when nobody can answer. --yes confirms for you, and --dry-run runs the reads and prints the request that would change something instead of sending it.

openemail --help leaves out a few commands, and so does this table. help is the long form of --help, version prints the CLI, SDK and runtime versions, and verify covers the security verbs.