Aller à la documentation
CLI

Toutes les commandes

Les 241, une ligne chacune, avec le point de terminaison qu'appelle chaque commande de ressource.

Toutes les commandes

Il y a 241 commandes, chacune sur sa propre ligne, dans l'ordre où openemail --help les liste. 46 sont écrites à la main pour des personnes : elles demandent ce qui manque, mettent en forme ce qu'elles affichent et combinent plusieurs appels d'API quand cela aide, donc leur ligne ne nomme aucun point de terminaison unique. Les 195 autres sont les commandes de ressources, openemail <namespace> <verb> sur 25 espaces de noms, et chacune appelle le point de terminaison que nomme sa ligne.

Les commandes de ressources ne sont pas écrites une à une. La CLI lit le manifeste des méthodes du SDK, qui décrit chaque méthode avec ses paramètres, son point de terminaison et ses scopes, et transforme chaque méthode en un verbe nommé d'après l'espace de noms et la méthode en kebab-case, donc domains.createAddress devient openemail domains create-address. Un list et les listAll et iterate qui le parcourent deviennent un seul verbe list avec --all et --max, c'est pourquoi il y a moins de commandes que de méthodes du SDK.

Le contrôle de parité du paquet le prouve avant chaque version. Pour chaque méthode du SDK, il construit la ligne de commande de trois façons, avec les seules valeurs obligatoires, avec celles-ci dans un fichier --data, et avec chaque option définie, exécute la commande contre un fetch enregistreur, et échoue quand une méthode n'a pas de commande ou quand une commande envoie autre chose que la méthode, le chemin, la requête, le corps et l'identifiant que nomme le manifeste. Il fait ensuite passer les mêmes lignes de commande par le vrai analyseur et le vrai répartiteur, et échoue sur toute requête qui diffère de l'appel direct.

Chaque ligne montre la première ligne d'utilisation de sa commande. openemail <command> --help montre le reste : chaque argument et option avec ce qu'il prend, et des exemples, et pour une commande de ressource ses scopes, son point de terminaison, ce qu'elle renvoie et les notes de la référence de l'API. Ajoutez --json pour obtenir la même page sous forme d'un seul document JSON, et openemail --help --json affiche chaque commande, argument et option d'un coup. Chaque commande accepte aussi les options globales, --json, --yes, --dry-run, --profile, --api-key, --base-url, --no-input, --no-color et --debug, donc aucune ligne ne les répète.

CommandeAppelleScope
openemail login-aucun
openemail whoami-aucun
openemail status-aucun
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>]-aucun
openemail temp list-aucun
openemail temp read [inbox] [message-id] [flags]-aucun
openemail temp watch [inbox] [--first]-aucun
openemail temp delete [inbox] [--yes]-aucun
openemail ai translate --to <language> [--text <text>|--html <html>|--body-file <path>] [--subject <subject>]-emails:send
openemail ai languages [--search <text>]-aucun
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>]-aucun
openemail mcp tools [tool]-aucun
openemail mcp call <tool> [--args <json|@file|->] [--arg key=value ...]-aucun
openemail mcp serve-aucun
openemail docs ask "<question>"-aucun
openemail docs open [slug] [--print]-aucun
openemail docs read [slug]-aucun
openemail agents-aucun
openemail me get [flags]GET /keys/selfaucun
openemail me ping [flags]GET /pingaucun
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 /languagesaucun
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/domainsaucun
openemail temp-mail create [flags]POST /temp-mail/inboxesaucun
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-aucun
openemail logout-aucun
openemail profile list-aucun
openemail profile use <name>-aucun
openemail profile remove <name>-aucun
openemail profile current-aucun
openemail open [page] [--print]-aucun
openemail update-aucun
openemail completion <bash|zsh|fish>-aucun
openemail api <method> <path> [--data <json|@file|->] [--query <key=value>] [--header <key=value>]-aucun

Scope nomme ce dont chaque exécution de la commande a besoin. Avec une connexion enregistrée, la CLI le vérifie avant que la commande ne fasse quoi que ce soit, et un scope manquant l'arrête avec le code de sortie 4. api et mcp call n'en nomment aucun, car ce dont elles ont besoin dépend du point de terminaison ou de l'outil appelé, et c'est le serveur qui le vérifie. Les lignes temp-mail qui indiquent « inbox token » envoient le jeton oe_inbox_ qu'a renvoyé temp-mail create, que la CLI enregistre, et --inbox-token en passe un qu'elle n'a pas créé.

6 commandes ont besoin d'une connexion par navigateur, celle que openemail login enregistre quand vous choisissez le navigateur : ai compose, ai summarize, mcp tools, mcp call, mcp serve et verify. Les commandes d'IA et MCP tournent sur le serveur MCP, qui n'accepte aucune clé API, et verify saisit les codes de vérification que seule une connexion par navigateur se voit demander.

19 commandes écrites à la main n'ont besoin d'aucune connexion : 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 et completion. Les lignes temp-mail non plus. ai languages fonctionne avec ou sans connexion.

42 commandes sont destructrices, comme supprimer, révoquer, faire tourner, annuler ou vider, elles demandent donc d'abord confirmation et s'arrêtent avec le code de sortie 2 quand personne ne peut répondre. --yes confirme pour vous, et --dry-run exécute les lectures et affiche la requête qui changerait quelque chose au lieu de l'envoyer.

openemail --help omet quelques commandes, et ce tableau aussi. help est la forme longue de --help, version affiche les versions de la CLI, du SDK et de l'environnement d'exécution, et verify couvre les verbes security.

Votre boîte de réception,
à vos conditions.

L’infrastructure e-mail pour les entreprises, l’IA, les agents et le courrier personnel. Conçue pour l’échelle, la confidentialité et le contrôle. Tout ce que l’e-mail aurait dû avoir dès le premier jour.

OpenEmail

L’infrastructure e-mail pour les entreprises, l’IA, les agents et le courrier personnel. Conçue pour l’échelle, la confidentialité et le contrôle. Tout ce que l’e-mail aurait dû avoir dès le premier jour.

© 2026 OpenEmail. Tous droits réservés.