Ir a la documentación
CLI

Comandos

Cómo se lee un comando, las opciones globales, cada comando escrito a mano y cada espacio de nombres de recursos.

Cómo se lee un comando

Gramática
openemail <command> [subcommand] [arguments] [flags]
  • Las opciones van en cualquier lugar después del comando, antes o después de los argumentos. Las opciones globales como --profile y --json también pueden ir antes, y cualquier otra opción puesta ahí se detiene con una indicación para moverla después del nombre del comando.
  • Un valor sigue a su opción tras un espacio o un signo igual, así que --limit 50 y --limit=50 son lo mismo. Las opciones cortas también llevan valores, como en -n 50.
  • Un valor que empieza por un guion necesita el signo igual, como en --subject=-draft-, porque tras un espacio se lee como la siguiente opción y la primera se da por falta de valor. Los números negativos funcionan de las dos formas. Un valor vacío es un error de uso en lugar de un valor por defecto silencioso.
  • Un interruptor se activa con --flag y se desactiva con --no-flag, y --flag=true y --flag=false también funcionan.
  • Una lista va separada por comas o repetida: --to [email protected],[email protected], o --to dos veces.
  • Todo lo que va después de -- es un argumento y nunca una opción, y así pasa una búsqueda de -from:ada.
  • Un comando o una opción desconocidos se detienen con el código de salida 2 y sugieren la coincidencia más cercana.

Opciones globales

OpciónQué hace
-h, --helpAyuda del comando o grupo
-v, --versionMostrar la versión de la CLI
--jsonSolo JSON en stdout, errores como JSON en stderr y nunca una solicitud
-y, --yesConfirmar acciones destructivas sin preguntar. Nunca se salta un código de verificación
--profile <name>Usar este perfil guardado, como OPENEMAIL_PROFILE
--api-key <key>Usar esta clave de API solo para este comando, ignorando los perfiles
--base-url <url>El origen de la API para una clave de API o un comando que no envía ninguna credencial, como OPENEMAIL_BASE_URL. Un inicio de sesión guardado siempre usa el suyo
--no-inputNunca preguntar. Un valor que falta se detiene con el código de salida 2
--no-colorSin color, como NO_COLOR y FORCE_COLOR=0
--debugMostrar los identificadores de petición, la petición fallida y las trazas de pila

Comandos escritos a mano

Están escritos para personas: piden lo que falta, dan formato a lo que muestran y combinan varias llamadas a la API cuando ayuda.

ComandoQué hace
loginIniciar sesión con el navegador, o guardar una clave de API
whoamiCon quién has iniciado sesión, con el espacio de trabajo, los scopes y la caducidad
statusLo que muestra whoami, más tus direcciones de envío y el estado de cada dominio
verifyIntroducir un código de verificación ahora, para que los comandos delicados se ejecuten durante 60 minutos
logoutCerrar sesión y olvidar un perfil
profile list, use, current, removeListar, cambiar y quitar inicios de sesión guardados
sendEnviar, programar, o traducir y enviar un correo
inbox [folder]Listar los hilos de una carpeta
search <query>Buscar correo con la sintaxis que usa la app
read <thread-id>Leer un hilo, mensaje a mensaje
reply <thread-id>Responder al último mensaje de un hilo
archive, unarchive, trash, star, unstarArchivar uno o varios hilos
mark read, mark unreadMarcar hilos como leídos o no leídos
snooze, unsnoozeOcultar hilos hasta más tarde, o traerlos de vuelta ahora
label add, label removePoner etiquetas a los hilos, o quitarlas
temp new, list, read, watch, deleteBandejas desechables, sin iniciar sesión
ai translate, languages, compose, summarizeTraducir, redactar y resumir correo con IA
mcp config, tools, call, serveConectar clientes de IA, o llamar tú mismo a herramientas MCP
docs ask, open, readPreguntar, abrir y leer esta documentación
open [page]Abrir una página de la app web
api <method> <path>Llamar a cualquier endpoint REST con tu inicio de sesión
updateBuscar en npm una versión más nueva
completion <shell>Mostrar un script de autocompletado para bash, zsh o fish
versionMostrar las versiones de la CLI, del SDK y del entorno de ejecución
help [command]Mostrar la ayuda de cualquier comando

Comandos de recursos

Cada método del SDK es también un comando, openemail <namespace> <verb>. El espacio de nombres es el del SDK en kebab-case, y el verbo es el nombre del método en kebab-case, así que keys.listRequests es openemail keys list-requests. Juntos cubren toda la 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 id que recibe el método es un argumento, como en openemail domains get <id>. Cada campo del cuerpo de la petición es una opción con su nombre en kebab-case: replyTo es --reply-to, y color.backgroundColor es --color-background-color.
  • Tres campos cuya opción chocaría con una opción global se renombran: --template-version, --label-color y --resend-key.
  • --data recibe el cuerpo entero como JSON, en línea, desde un archivo con @path o desde stdin con -, y cualquier opción que pases además reemplaza su clave. Una opción que recibe un objeto lee JSON de la misma forma.
  • Los números y los interruptores se leen como tales, y las listas van separadas por comas o repetidas.
  • Un valor obligatorio que falta se pregunta en un terminal, y es un error de uso (código de salida 2) en cualquier otro sitio.
  • Un verbo de lista lee una página. --limit fija su tamaño y --cursor sigue desde el cursor que mostró. --all lee cada página y transmite los elementos, --max <n> se detiene tras esa cantidad, y --ndjson muestra un objeto JSON por línea.
  • Cualquier cosa destructiva, como eliminar, revocar, rotar, cancelar o vaciar, pide que confirmes, salvo que pases --yes.
  • Una descarga se escribe en el archivo de --out, y en stdout solo cuando stdout no es un terminal.

openemail <namespace> <verb> --help muestra cada argumento y opción con su tipo, los scopes que necesita la llamada, su método y ruta, lo que devuelve y las notas de la referencia de la API.

Cada espacio de nombres

También lista los otros nombres a los que responde un espacio de nombres.

Espacio de nombresTambiénVerbos
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

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

En members y suppressions, cuyos verbos son add y remove, new y create llevan a add, y rm, del y delete llevan a remove. Algunos subcomandos escritos a mano tienen sus propios alias, que su ayuda indica.

Cualquier llamada REST

openemail api <method> <path> envía una solicitud a la API REST por el mismo transporte que cualquier otro comando, así que se aplican tu perfil o tu clave, la renovación del token y los códigos de verificación. Una ruta sola es un GET. Una respuesta JSON se muestra formateada, y una solicitud fallida muestra el error de la API y termina con el código correspondiente.

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 toma el cuerpo como JSON en línea, desde un archivo con @path o desde stdin con -. -q, --query y -H, --header toman key=value y se pueden repetir, y -o, --out guarda la respuesta tal cual en un archivo.
  • La ruta es relativa al origen de la API. Una URL completa, una ruta que saldría del origen y una cabecera Authorization se rechazan con el código de salida 2 antes de enviar nada, porque la CLI pone la credencial ella misma.

Ayuda

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

openemail --help lista cada comando según para qué sirve. Un grupo lista sus subcomandos con ejemplos, y un comando muestra todo lo que recibe. openemail docs open cli abre estas páginas.

Tu bandeja de entrada,
en tus propios términos.

Infraestructura de correo para empresas, IA, agentes y correo personal. Creada para escalar, con privacidad y control. Todo lo que el correo debería haber tenido desde el primer día.

OpenEmail

Infraestructura de correo para empresas, IA, agentes y correo personal. Creada para escalar, con privacidad y control. Todo lo que el correo debería haber tenido desde el primer día.

© 2026 OpenEmail. Todos los derechos reservados.