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.
| Commande | Appelle | Scope |
|---|---|---|
| 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/self | aucun |
| openemail me ping [flags] | GET /ping | aucun |
| openemail me rotate [flags] | POST /keys/self/rotate | keys:write |
| openemail keys list [flags] | GET /keys | keys:read |
| openemail keys get <id> [flags] | GET /keys/{id} | keys:read |
| openemail keys create --name <value> [flags] | POST /keys | keys: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}/rotate | keys:manage |
| openemail keys revoke <id> [flags] | POST /keys/{id}/revoke | keys:manage |
| openemail keys list-requests <id> [flags] | GET /keys/{id}/requests | keys:read |
| openemail keys list-activity <id> [flags] | GET /keys/{id}/activity | keys:read |
| openemail keys list-workspace-requests [flags] | GET /keys/requests | keys:read |
| openemail keys list-workspace-activity [flags] | GET /keys/activity | keys:read |
| openemail addresses list [flags] | GET /addresses | emails:send |
| openemail languages list [flags] | GET /languages | aucun |
| openemail emails send --from <value> --to <a,b> [flags] | POST /emails | emails:send |
| openemail emails send-batch <emails> [flags] | POST /emails/batch | emails:send |
| openemail emails translate --to <value> [flags] | POST /emails/translate | emails:send |
| openemail emails list [flags] | GET /emails | emails:read |
| openemail emails get <id> [flags] | GET /emails/{id} | emails:read |
| openemail emails list-events <id> [flags] | GET /emails/{id}/events | emails:read |
| openemail emails get-tracking <id> [flags] | GET /emails/{id}/tracking | emails:read |
| openemail emails cancel <id> [flags] | POST /emails/{id}/cancel | emails:send |
| openemail emails reschedule <id> <scheduled-at> [flags] | PATCH /emails/{id} | emails:send |
| openemail templates list [flags] | GET /templates | templates:read |
| openemail templates get <id-or-slug> [flags] | GET /templates/{id} | templates:read |
| openemail templates create --name <value> [flags] | POST /templates | templates:write |
| openemail templates update <id-or-slug> [flags] | PATCH /templates/{id} | templates:write |
| openemail templates duplicate <id-or-slug> [flags] | POST /templates/{id}/duplicate | templates:write |
| openemail templates replace-content <id-or-slug> [flags] | POST /templates/{id}/content | templates:write |
| openemail templates delete <id-or-slug> [flags] | DELETE /templates/{id} | templates:write |
| openemail templates list-versions <id-or-slug> [flags] | GET /templates/{id}/versions | templates: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}/versions | templates:write |
| openemail templates restore-version <id-or-slug> <version> [flags] | POST /templates/{id}/versions/{version}/restore | templates:write |
| openemail templates delete-version <id-or-slug> <version> [flags] | DELETE /templates/{id}/versions/{version} | templates:write |
| openemail templates list-starters [flags] | GET /templates/starters | templates:read |
| openemail templates get-starter <slug> [flags] | GET /templates/starters/{slug} | templates:read |
| openemail templates list-fonts [flags] | GET /templates/fonts | templates:read |
| openemail templates render [flags] | POST /templates/render | templates:read |
| openemail templates preview <id-or-slug> [flags] | POST /templates/{id}/preview | templates:read |
| openemail templates get-analytics <id-or-slug> [flags] | GET /templates/{id}/analytics | templates:read |
| openemail templates list-sends <id-or-slug> [flags] | GET /templates/{id}/sends | templates:read |
| openemail templates send <id-or-slug> --from <value> --to <a,b> [flags] | POST /templates/{id}/send | templates:write + emails:send |
| openemail tracking list [flags] | GET /tracking | emails:read |
| openemail tracking get-stats [flags] | GET /tracking/stats | emails:read |
| openemail tracking get <id> [flags] | GET /tracking/{id} | emails:read |
| openemail tracking list-opens <id> [flags] | GET /tracking/{id}/opens | emails:read |
| openemail tracking list-clicks <id> [flags] | GET /tracking/{id}/clicks | emails:read |
| openemail threads list [flags] | GET /threads | threads: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}/trash | threads:write |
| openemail threads snooze <id> <wake-at> [flags] | POST /threads/{id}/snooze | threads:write |
| openemail threads unsnooze <id> [flags] | POST /threads/{id}/unsnooze | threads:write |
| openemail threads list-attachments <id> <message-id> [flags] | GET /threads/{id}/messages/{messageId}/attachments | threads:read |
| openemail drafts list [flags] | GET /drafts | drafts:read |
| openemail drafts get <id> [flags] | GET /drafts/{id} | drafts:read |
| openemail drafts create [flags] | POST /drafts | drafts: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 /labels | labels:read |
| openemail labels list-colors [flags] | GET /labels/colors | labels:read |
| openemail labels get <id> [flags] | GET /labels/{id} | labels:read |
| openemail labels create --name <value> [flags] | POST /labels | labels: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 /contacts | contacts:read |
| openemail contacts get <email> [flags] | GET /contacts/{email} | contacts:read |
| openemail contacts create --email <value> [flags] | POST /contacts | contacts: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}/audiences | audiences:write |
| openemail contacts list-people [flags] | GET /contacts/people | contacts:read |
| openemail contacts save <email> [flags] | PUT /contacts/{email} | contacts:write |
| openemail contacts delete-many <emails...> [flags] | POST /contacts/batch-delete | contacts:write |
| openemail contacts set-photo <email> <data> [flags] | PUT /contacts/{email}/photo | contacts:write |
| openemail contacts remove-photo <email> [flags] | DELETE /contacts/{email}/photo | contacts:write |
| openemail contacts block <email> [flags] | POST /contacts/{email}/block | settings:write |
| openemail contacts unblock <email> [flags] | DELETE /contacts/{email}/block | settings:write |
| openemail contacts list-threads <email> [flags] | GET /contacts/{email}/threads | threads:read |
| openemail contacts activity <email> [flags] | GET /contacts/{email}/activity | threads:read |
| openemail audiences list [flags] | GET /audiences | audiences:read |
| openemail audiences growth [flags] | GET /audiences/growth | audiences:read |
| openemail audiences get <id> [flags] | GET /audiences/{id} | audiences:read |
| openemail audiences create --name <value> [flags] | POST /audiences | audiences: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}/empty | audiences:write |
| openemail audiences list-contacts <id> [flags] | GET /audiences/{id}/contacts | audiences:read |
| openemail audiences add-contact <id> --email <value> [flags] | POST /audiences/{id}/contacts | audiences: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/batch | audiences:write |
| openemail audiences remove-contacts <id> --emails <a,b> [flags] | POST /audiences/{id}/contacts/batch-remove | audiences:write |
| openemail audiences import-contacts <id> --contacts <json|@file|-> [flags] | POST /audiences/{id}/import | audiences:write + contacts:write |
| openemail broadcasts preview --audience-ids <a,b> [flags] | POST /broadcasts/preview | audiences:read |
| openemail broadcasts send --audience-ids <a,b> --from <value> [flags] | POST /broadcasts | emails:send + audiences:read |
| openemail broadcasts list [flags] | GET /broadcasts | emails:read |
| openemail broadcasts get <id> [flags] | GET /broadcasts/{id} | emails:read |
| openemail broadcasts stats <id> [flags] | GET /broadcasts/{id}/stats | emails:read |
| openemail broadcasts list-recipients <id> [flags] | GET /broadcasts/{id}/recipients | emails:read |
| openemail broadcasts get-recipient <id> <email-id> [flags] | GET /broadcasts/{id}/recipients/{emailId} | emails:read |
| openemail broadcasts cancel <id> [flags] | POST /broadcasts/{id}/cancel | emails:send |
| openemail domains list [flags] | GET /domains | domains:read |
| openemail domains get <id> [flags] | GET /domains/{id} | domains:read |
| openemail domains create --domain <value> [flags] | POST /domains | domains:write |
| openemail domains verify <id> [flags] | POST /domains/{id}/verify | domains: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}/addresses | domains:read |
| openemail domains create-address <id> --local-part <value> [flags] | POST /domains/{id}/addresses | domains: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 /rules | rules:read |
| openemail rules get <id> [flags] | GET /rules/{id} | rules:read |
| openemail rules create --name <value> --conditions <json|@file|-> --actions <json|@file|-> [flags] | POST /rules | rules: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/reorder | rules:write |
| openemail rules test <id> [flags] | POST /rules/{id}/test | rules:read |
| openemail rules list-runs [flags] | GET /rules/runs | rules:read |
| openemail webhooks list [flags] | GET /webhooks | webhooks:read |
| openemail webhooks get <id> [flags] | GET /webhooks/{id} | webhooks:read |
| openemail webhooks create --url <value> [flags] | POST /webhooks | webhooks: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-secret | webhooks:write |
| openemail webhooks test <id> [flags] | POST /webhooks/{id}/test | webhooks:write |
| openemail webhooks list-deliveries <id> [flags] | GET /webhooks/{id}/deliveries | webhooks: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}/replay | webhooks:write |
| openemail webhooks list-workspace-deliveries [flags] | GET /webhooks/deliveries | webhooks:read |
| openemail webhooks list-activity <id> [flags] | GET /webhooks/{id}/activity | webhooks:read |
| openemail webhooks list-workspace-activity [flags] | GET /webhooks/activity | webhooks:read |
| openemail imports list [flags] | GET /imports | threads:read |
| openemail imports get <id> [flags] | GET /imports/{id} | threads:read |
| openemail imports create --address-id <value> --files <json|@file|-> [flags] | POST /imports | threads:write |
| openemail imports upload-state <id> [flags] | GET /imports/{id}/upload | threads: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}/start | threads:write |
| openemail imports cancel <id> [flags] | POST /imports/{id}/cancel | threads:write |
| openemail imports list-failures <id> [flags] | GET /imports/{id}/failures | threads:read |
| openemail imports delete-upload <id> [flags] | DELETE /imports/{id}/upload | threads:write |
| openemail imports import-files --address-id <value> --files <path> [flags] | POST /imports | threads:write |
| openemail provider-imports inspect <api-key> [flags] | POST /provider-imports/inspect | settings:write |
| openemail provider-imports create --resend-key <value> --resources <a,b> [flags] | POST /provider-imports | settings:write |
| openemail provider-imports list [flags] | GET /provider-imports | settings:read |
| openemail provider-imports get <id> [flags] | GET /provider-imports/{id} | settings:read |
| openemail provider-imports cancel <id> [flags] | POST /provider-imports/{id}/cancel | settings:write |
| openemail calendar list-events --from <when> --to <when> [flags] | GET /calendar/events | calendar:read |
| openemail calendar get-event <id> [flags] | GET /calendar/events/{id} | calendar:read |
| openemail calendar get-event-ics <id> [flags] | GET /calendar/events/{id}/ics | calendar:read |
| openemail settings get [flags] | GET /settings | settings:read |
| openemail settings update [flags] | PATCH /settings | settings:write |
| openemail roles list [flags] | GET /roles | roles:read |
| openemail roles get <id> [flags] | GET /roles/{id} | roles:read |
| openemail roles create --name <value> --permissions <a,b> [flags] | POST /roles | roles: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/permissions | roles:read |
| openemail members list [flags] | GET /members | members:read |
| openemail members get <user-id> [flags] | GET /members/{userId} | members:read |
| openemail members add --email <value> --role-id <value> [flags] | POST /members | members: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}/addresses | members:write |
| openemail members revoke-address <user-id> <address-id> [flags] | DELETE /members/{userId}/addresses/{addressId} | members:write |
| openemail members list-invitations [flags] | GET /members/invitations | members: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}/resend | members:write |
| openemail suppressions list [flags] | GET /suppressions | settings:read |
| openemail suppressions get <id> [flags] | GET /suppressions/{id} | settings:read |
| openemail suppressions add --email <value> [flags] | POST /suppressions | settings:write |
| openemail suppressions remove <id> [flags] | DELETE /suppressions/{id} | settings:write |
| openemail files list [flags] | GET /files | files:read |
| openemail files get <id> [flags] | GET /files/{id} | files:read |
| openemail files stats [flags] | GET /files/stats | files:read |
| openemail files download <id> [flags] | GET /files/{id}/content | files:read |
| openemail files list-links <id> [flags] | GET /files/{id}/links | files:read |
| openemail files create-link <id> [flags] | POST /files/{id}/links | files:write |
| openemail files revoke-link <id> <link-id> [flags] | DELETE /files/{id}/links/{linkId} | files:write |
| openemail files upload <data> [flags] | POST /files | files:write |
| openemail files delete <id> [flags] | DELETE /files/{id} | files:write |
| openemail files delete-many <ids...> [flags] | POST /files/batch-delete | files:write |
| openemail temp-mail list-domains [flags] | GET /temp-mail/domains | aucun |
| openemail temp-mail create [flags] | POST /temp-mail/inboxes | aucun |
| 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}/extend | inbox 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}/messages | inbox 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}/attachments | inbox 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.