Todos los comandos
Los 241, uno por fila, con el endpoint al que llama cada comando de recurso.
Todos los comandos
Hay 241 comandos, cada uno en su propia fila, en el orden en que los lista openemail --help. 46 están escritos a mano para personas: piden lo que falta, dan formato a lo que muestran y combinan varias llamadas a la API cuando ayuda, así que su fila no nombra un único endpoint. Los otros 195 son los comandos de recursos, openemail <namespace> <verb> en 25 espacios de nombres, y cada uno llama al endpoint que nombra su fila.
Los comandos de recursos no se escriben uno a uno. La CLI lee el manifiesto de métodos del SDK, que describe cada método con sus parámetros, su endpoint y sus scopes, y convierte cada método en un verbo con el nombre del espacio de nombres y del método en kebab-case, así que domains.createAddress es openemail domains create-address. Un list y los listAll e iterate que lo recorren se convierten en un único verbo list con --all y --max, y por eso hay menos comandos que métodos del SDK.
La comprobación de paridad del paquete lo demuestra antes de cada versión. Para cada método del SDK construye la línea de comandos de tres formas, solo con los valores obligatorios, con ellos en un archivo --data y con todas las opciones definidas, ejecuta el comando contra un fetch que graba las solicitudes, y falla cuando un método no tiene comando o cuando un comando envía algo distinto del método, la ruta, la consulta, el cuerpo y la credencial que nombra el manifiesto. Después ejecuta las mismas líneas de comandos con el analizador y el despachador reales, y falla ante cualquier solicitud que difiera de la llamada directa.
Cada fila muestra la primera línea de uso de su comando. openemail <command> --help muestra el resto: cada argumento y opción con lo que acepta, y ejemplos, y para un comando de recurso sus scopes, su endpoint, lo que devuelve y las notas de la referencia de la API. Añade --json para obtener la misma página como un único documento JSON, y openemail --help --json muestra todos los comandos, argumentos y opciones de una vez. Cada comando acepta también las opciones globales, --json, --yes, --dry-run, --profile, --api-key, --base-url, --no-input, --no-color y --debug, así que ninguna fila las repite.
| Comando | Llama a | Scope |
|---|---|---|
| openemail login | - | ninguno |
| openemail whoami | - | ninguno |
| openemail status | - | ninguno |
| 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>] | - | ninguno |
| openemail temp list | - | ninguno |
| openemail temp read [inbox] [message-id] [flags] | - | ninguno |
| openemail temp watch [inbox] [--first] | - | ninguno |
| openemail temp delete [inbox] [--yes] | - | ninguno |
| openemail ai translate --to <language> [--text <text>|--html <html>|--body-file <path>] [--subject <subject>] | - | emails:send |
| openemail ai languages [--search <text>] | - | ninguno |
| 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>] | - | ninguno |
| openemail mcp tools [tool] | - | ninguno |
| openemail mcp call <tool> [--args <json|@file|->] [--arg key=value ...] | - | ninguno |
| openemail mcp serve | - | ninguno |
| openemail docs ask "<question>" | - | ninguno |
| openemail docs open [slug] [--print] | - | ninguno |
| openemail docs read [slug] | - | ninguno |
| openemail agents | - | ninguno |
| openemail me get [flags] | GET /keys/self | ninguno |
| openemail me ping [flags] | GET /ping | ninguno |
| 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 | ninguno |
| 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 | ninguno |
| openemail temp-mail create [flags] | POST /temp-mail/inboxes | ninguno |
| openemail temp-mail get <inbox-id> [flags] | GET /temp-mail/inboxes/{id} | token de bandeja |
| openemail temp-mail extend <inbox-id> [flags] | POST /temp-mail/inboxes/{id}/extend | token de bandeja |
| openemail temp-mail delete <inbox-id> [flags] | DELETE /temp-mail/inboxes/{id} | token de bandeja |
| openemail temp-mail list-messages <inbox-id> [flags] | GET /temp-mail/inboxes/{id}/messages | token de bandeja |
| openemail temp-mail get-message <inbox-id> <message-id> [flags] | GET /temp-mail/inboxes/{id}/messages/{messageId} | token de bandeja |
| openemail temp-mail delete-message <inbox-id> <message-id> [flags] | DELETE /temp-mail/inboxes/{id}/messages/{messageId} | token de bandeja |
| openemail temp-mail list-attachments <inbox-id> <message-id> [flags] | GET /temp-mail/inboxes/{id}/messages/{messageId}/attachments | token de bandeja |
| openemail verify | - | ninguno |
| openemail logout | - | ninguno |
| openemail profile list | - | ninguno |
| openemail profile use <name> | - | ninguno |
| openemail profile remove <name> | - | ninguno |
| openemail profile current | - | ninguno |
| openemail open [page] [--print] | - | ninguno |
| openemail update | - | ninguno |
| openemail completion <bash|zsh|fish> | - | ninguno |
| openemail api <method> <path> [--data <json|@file|->] [--query <key=value>] [--header <key=value>] | - | ninguno |
Scope indica lo que necesita cada ejecución del comando. Con un inicio de sesión guardado, la CLI lo comprueba antes de que el comando haga nada, y un scope que falta lo detiene con el código de salida 4. api y mcp call no indican ninguno, porque lo que necesitan depende del endpoint o de la herramienta a la que llames, y eso lo comprueba el servidor. Las filas de temp-mail que dicen "token de bandeja" envían el token oe_inbox_ que devolvió temp-mail create, que la CLI guarda, y --inbox-token pasa uno que no creó.
6 comandos necesitan un inicio de sesión con el navegador, el que guarda openemail login cuando eliges el navegador: ai compose, ai summarize, mcp tools, mcp call, mcp serve y verify. Los de IA y MCP se ejecutan en el servidor MCP, que no acepta claves de API, y verify introduce los códigos de verificación que solo se piden a un inicio de sesión con el navegador.
19 comandos escritos a mano no necesitan ningún inicio de sesión: 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 y completion. Tampoco las filas de temp-mail. ai languages funciona con o sin sesión iniciada.
42 comandos son destructivos, como eliminar, revocar, rotar, cancelar o vaciar, así que primero piden que confirmes y se detienen con el código de salida 2 cuando nadie puede responder. --yes confirma por ti, y --dry-run ejecuta las lecturas y muestra la solicitud que cambiaría algo en lugar de enviarla.
openemail --help omite algunos comandos, y esta tabla también. help es la forma larga de --help, version muestra las versiones de la CLI, del SDK y del entorno de ejecución, y verify cubre los verbos de security.