Aller à la documentation
CLI

Commandes

Comment se lit une commande, les options globales, chaque commande écrite à la main et chaque espace de noms de ressources.

Comment se lit une commande

Grammaire
openemail <command> [subcommand] [arguments] [flags]
  • Les options se placent n'importe où après la commande, avant ou après les arguments. Les options globales comme --profile et --json peuvent aussi venir avant elle, et toute autre option placée là s'arrête avec une indication pour la déplacer après le nom de la commande.
  • Une valeur suit son option après une espace ou un signe égal, donc --limit 50 et --limit=50 reviennent au même. Les options courtes prennent aussi des valeurs, comme dans -n 50.
  • Une valeur qui commence par un tiret exige le signe égal, comme dans --subject=-draft-, car après une espace elle se lit comme l'option suivante et la première est signalée comme sans valeur. Les nombres négatifs fonctionnent dans les deux cas. Une valeur vide est une erreur d'utilisation plutôt qu'une valeur par défaut discrète.
  • Un interrupteur s'active avec --flag et se désactive avec --no-flag, et --flag=true et --flag=false fonctionnent aussi.
  • Une liste est séparée par des virgules ou répétée : --to [email protected],[email protected], ou --to deux fois.
  • Tout ce qui suit -- est un argument et jamais une option, c'est ainsi qu'une recherche de -from:ada passe.
  • Une commande ou une option inconnue s'arrête avec le code de sortie 2 et suggère la correspondance la plus proche.

Options globales

OptionCe qu'il fait
-h, --helpL'aide de la commande ou du groupe
-v, --versionAfficher la version de la CLI
--jsonUniquement du JSON sur stdout, les erreurs en JSON sur stderr, et jamais d'invite
-y, --yesConfirmer les actions destructrices sans demander. Ne saute jamais un code de vérification
--profile <name>Utiliser ce profil enregistré, comme OPENEMAIL_PROFILE
--api-key <key>Utiliser cette clé API pour cette seule commande, en ignorant les profils
--base-url <url>L'origine de l'API pour une clé API ou une commande qui n'envoie aucun identifiant, comme OPENEMAIL_BASE_URL. Une connexion enregistrée utilise toujours la sienne
--no-inputNe jamais demander. Une valeur manquante s'arrête avec le code de sortie 2
--no-colorPas de couleur, comme NO_COLOR et FORCE_COLOR=0
--debugAfficher les identifiants de requête, la requête en échec et les traces de pile

Commandes écrites à la main

Elles sont écrites pour des personnes : elles demandent ce qui manque, mettent en forme ce qu'elles affichent et combinent plusieurs appels d'API quand cela aide.

CommandeCe qu'il fait
loginSe connecter avec le navigateur, ou enregistrer une clé API
whoamiSous quelle identité vous êtes connecté, avec l'espace de travail, les scopes et l'expiration
statusCe que montre whoami, plus vos adresses d'envoi et l'état de chaque domaine
verifySaisir un code de vérification maintenant, pour que les commandes sensibles s'exécutent pendant 60 minutes
logoutSe déconnecter et oublier un profil
profile list, use, current, removeLister, changer et supprimer des connexions enregistrées
sendEnvoyer, programmer, ou traduire et envoyer un e-mail
inbox [folder]Lister les fils d'un dossier
search <query>Rechercher dans le courrier avec la syntaxe de l'application
read <thread-id>Lire un fil, message par message
reply <thread-id>Répondre au dernier message d'un fil
archive, unarchive, trash, star, unstarClasser un ou plusieurs fils
mark read, mark unreadMarquer des fils comme lus ou non lus
snooze, unsnoozeMasquer des fils jusqu'à plus tard, ou les faire revenir maintenant
label add, label removeMettre des libellés sur des fils, ou les retirer
temp new, list, read, watch, deleteBoîtes jetables, sans connexion
ai translate, languages, compose, summarizeTraduire, rédiger et résumer du courrier avec l'IA
mcp config, tools, call, serveConnecter des clients IA, ou appeler vous-même des outils MCP
docs ask, open, readInterroger, ouvrir et lire cette documentation
open [page]Ouvrir une page de l'application web
api <method> <path>Appeler n'importe quel point de terminaison REST avec votre connexion
updateChercher une version plus récente sur npm
completion <shell>Afficher un script de complétion pour bash, zsh ou fish
versionAfficher les versions de la CLI, du SDK et de l'environnement d'exécution
help [command]Afficher l'aide de n'importe quelle commande

Commandes de ressources

Chaque méthode du SDK est aussi une commande, openemail <namespace> <verb>. L'espace de noms est celui du SDK en kebab-case, et le verbe est le nom de la méthode en kebab-case, donc keys.listRequests devient openemail keys list-requests. Ensemble, elles couvrent toute l'API REST.

Terminal
openemail domains listopenemail domains create --domain acme.comopenemail rules create --data @rule.jsonopenemail keys list-requests 9f2c1a4b7e05d3862c1f0a44 --failed-only --allopenemail files download file_6bb640f5b99e47deb758f1f5 --out report.pdf
  • Un identifiant que prend la méthode est un argument, comme dans openemail domains get <id>. Chaque champ du corps de la requête est une option qui porte son nom en kebab-case : replyTo devient --reply-to, et color.backgroundColor devient --color-background-color.
  • Trois champs dont l'option entrerait en conflit avec une option globale sont renommés : --template-version, --label-color et --resend-key.
  • --data prend tout le corps en JSON, en ligne, depuis un fichier avec @path ou depuis stdin avec -, et toute option passée en plus remplace sa clé. Une option qui prend un objet lit le JSON de la même façon.
  • Les nombres et les interrupteurs sont lus comme tels, et les listes sont séparées par des virgules ou répétées.
  • Une valeur obligatoire manquante est demandée dans un terminal, et constitue une erreur d'utilisation (code de sortie 2) partout ailleurs.
  • Un verbe de liste lit une page. --limit fixe sa taille et --cursor reprend au curseur qu'il a affiché. --all lit chaque page et diffuse les éléments, --max <n> s'arrête après autant d'éléments, et --ndjson affiche un objet JSON par ligne.
  • Toute action destructrice, comme supprimer, révoquer, faire tourner, annuler ou vider, vous demande confirmation, sauf si vous passez --yes.
  • Un téléchargement est écrit dans le fichier indiqué par --out, et sur stdout seulement quand stdout n'est pas un terminal.

openemail <namespace> <verb> --help montre chaque argument et option avec son type, les scopes dont l'appel a besoin, sa méthode et son chemin, ce qu'il renvoie, et les notes de la référence de l'API.

Chaque espace de noms

Aussi liste les autres noms auxquels un espace de noms répond.

Espace de nomsAussiVerbes
meget, ping, rotate
keyskeylist, get, create, update, delete, rotate, revoke, list-requests, list-activity, list-workspace-requests, list-workspace-activity
addressesaddresslist
languageslanguagelist
emailsemailsend, send-batch, translate, list, get, list-events, get-tracking, cancel, reschedule
templatestemplatelist, get, create, update, duplicate, replace-content, delete, list-versions, get-version, publish, restore-version, delete-version, list-starters, get-starter, list-fonts, render, preview, get-analytics, list-sends, send
trackinglist, get-stats, get, list-opens, list-clicks
threadsthreadlist, get, update, trash, snooze, unsnooze, list-attachments
draftsdraftlist, get, create, update, delete
labelslist, list-colors, get, create, update, delete
contactscontactlist, get, create, update, delete, set-audiences, list-people, save, delete-many, set-photo, remove-photo, block, unblock, list-threads, activity
audiencesaudiencelist, growth, get, create, update, delete, empty, list-contacts, add-contact, remove-contact, add-contacts, remove-contacts, import-contacts
broadcastsbroadcastpreview, send, list, get, stats, list-recipients, get-recipient, cancel
domainsdomainlist, get, create, verify, update, delete, list-addresses, create-address, get-address, update-address, delete-address
rulesrulelist, get, create, update, delete, reorder, test, list-runs
webhookswebhooklist, get, create, update, delete, rotate-secret, test, list-deliveries, get-delivery, replay-delivery, list-workspace-deliveries, list-activity, list-workspace-activity
importsimportlist, get, create, upload-state, upload-chunk, start, cancel, list-failures, delete-upload, import-files
provider-importsprovider-import, providerImportsinspect, create, list, get, cancel
calendarlist-events, get-event, get-event-ics
settingssettingget, update
rolesrolelist, get, create, update, delete, list-permissions
membersmemberlist, get, add, update, remove, grant-address, revoke-address, list-invitations, revoke-invitation, resend-invitation
suppressionssuppressionlist, get, add, remove
filesfilelist, get, stats, download, list-links, create-link, revoke-link, upload, delete, delete-many
temp-mailtempMaillist-domains, create, get, extend, delete, list-messages, get-message, delete-message, list-attachments

Alias

AliasPour
lslist
show, viewget
new, addcreate
editupdate
rm, del, removedelete
openemail lsopenemail inbox
openemail showopenemail read

Dans members et suppressions, dont les verbes sont add et remove, new et create mènent à add, et rm, del et delete mènent à remove. Quelques sous-commandes écrites à la main ont leurs propres alias, que leur aide indique.

N'importe quel appel REST

openemail api <method> <path> envoie une requête à l'API REST par le même transport que toutes les autres commandes, donc votre profil ou votre clé, le renouvellement du jeton et les codes de vérification s'appliquent tous. Un chemin seul est un GET. Une réponse JSON s'affiche formatée, et une requête en échec affiche l'erreur de l'API et se termine avec le code correspondant.

Terminal
openemail api /keys/selfopenemail api GET /threads --query folder=inbox --query limit=5openemail api POST /labels --data '{"name":"Receipts"}'openemail api PATCH /threads/CAHk7pQ2x9LmZ4 --data @patch.jsonopenemail api GET /files/file_6bb640f5b99e47deb758f1f5/content --out report.pdf
  • -d, --data prend le corps en JSON en ligne, depuis un fichier avec @path, ou depuis stdin avec -. -q, --query et -H, --header prennent key=value et peuvent être répétées, et -o, --out enregistre la réponse telle quelle dans un fichier.
  • Le chemin est relatif à l'origine de l'API. Une URL complète, un chemin qui sortirait de l'origine et un en-tête Authorization sont refusés avec le code de sortie 2 avant tout envoi, car la CLI fixe elle-même l'identifiant.

Aide

Terminal
openemail --helpopenemail help sendopenemail domains --helpopenemail domains create --help

openemail --help liste chaque commande selon son usage. Un groupe liste ses sous-commandes avec des exemples, et une commande montre tout ce qu'elle prend. openemail docs open cli ouvre ces pages.

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.