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
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
--profiley--jsontambié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 50y--limit=50son 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
--flagy se desactiva con--no-flag, y--flag=truey--flag=falsetambién funcionan. - Una lista va separada por comas o repetida:
--to [email protected],[email protected], o--todos 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
2y sugieren la coincidencia más cercana.
Opciones globales
| Opción | Qué hace |
|---|---|
| -h, --help | Ayuda del comando o grupo |
| -v, --version | Mostrar la versión de la CLI |
| --json | Solo JSON en stdout, errores como JSON en stderr y nunca una solicitud |
| -y, --yes | Confirmar 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-input | Nunca preguntar. Un valor que falta se detiene con el código de salida 2 |
| --no-color | Sin color, como NO_COLOR y FORCE_COLOR=0 |
| --debug | Mostrar 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.
| Comando | Qué hace |
|---|---|
| login | Iniciar sesión con el navegador, o guardar una clave de API |
| whoami | Con quién has iniciado sesión, con el espacio de trabajo, los scopes y la caducidad |
| status | Lo que muestra whoami, más tus direcciones de envío y el estado de cada dominio |
| verify | Introducir un código de verificación ahora, para que los comandos delicados se ejecuten durante 60 minutos |
| logout | Cerrar sesión y olvidar un perfil |
| profile list, use, current, remove | Listar, cambiar y quitar inicios de sesión guardados |
| send | Enviar, 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, unstar | Archivar uno o varios hilos |
| mark read, mark unread | Marcar hilos como leídos o no leídos |
| snooze, unsnooze | Ocultar hilos hasta más tarde, o traerlos de vuelta ahora |
| label add, label remove | Poner etiquetas a los hilos, o quitarlas |
| temp new, list, read, watch, delete | Bandejas desechables, sin iniciar sesión |
| ai translate, languages, compose, summarize | Traducir, redactar y resumir correo con IA |
| mcp config, tools, call, serve | Conectar clientes de IA, o llamar tú mismo a herramientas MCP |
| docs ask, open, read | Preguntar, 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 |
| update | Buscar en npm una versión más nueva |
| completion <shell> | Mostrar un script de autocompletado para bash, zsh o fish |
| version | Mostrar 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.
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:replyToes--reply-to, ycolor.backgroundColores--color-background-color. - Tres campos cuya opción chocaría con una opción global se renombran:
--template-version,--label-colory--resend-key. --datarecibe el cuerpo entero como JSON, en línea, desde un archivo con@patho 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.
--limitfija su tamaño y--cursorsigue desde el cursor que mostró.--alllee cada página y transmite los elementos,--max <n>se detiene tras esa cantidad, y--ndjsonmuestra 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 nombres | También | Verbos |
|---|---|---|
| me | get, ping, rotate | |
| keys | key | list, get, create, update, delete, rotate, revoke, list-requests, list-activity, list-workspace-requests, list-workspace-activity |
| addresses | address | list |
| languages | language | list |
| emails | email | send, send-batch, translate, list, get, list-events, get-tracking, cancel, reschedule |
| templates | template | list, 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 |
| tracking | list, get-stats, get, list-opens, list-clicks | |
| threads | thread | list, get, update, trash, snooze, unsnooze, list-attachments |
| drafts | draft | list, get, create, update, delete |
| labels | list, list-colors, get, create, update, delete | |
| contacts | contact | list, get, create, update, delete, set-audiences, list-people, save, delete-many, set-photo, remove-photo, block, unblock, list-threads, activity |
| audiences | audience | list, growth, get, create, update, delete, empty, list-contacts, add-contact, remove-contact, add-contacts, remove-contacts, import-contacts |
| broadcasts | broadcast | preview, send, list, get, stats, list-recipients, get-recipient, cancel |
| domains | domain | list, get, create, verify, update, delete, list-addresses, create-address, get-address, update-address, delete-address |
| rules | rule | list, get, create, update, delete, reorder, test, list-runs |
| webhooks | webhook | list, get, create, update, delete, rotate-secret, test, list-deliveries, get-delivery, replay-delivery, list-workspace-deliveries, list-activity, list-workspace-activity |
| imports | import | list, get, create, upload-state, upload-chunk, start, cancel, list-failures, delete-upload, import-files |
| provider-imports | provider-import, providerImports | inspect, create, list, get, cancel |
| calendar | list-events, get-event, get-event-ics | |
| settings | setting | get, update |
| roles | role | list, get, create, update, delete, list-permissions |
| members | member | list, get, add, update, remove, grant-address, revoke-address, list-invitations, revoke-invitation, resend-invitation |
| suppressions | suppression | list, get, add, remove |
| files | file | list, get, stats, download, list-links, create-link, revoke-link, upload, delete, delete-many |
| temp-mail | tempMail | list-domains, create, get, extend, delete, list-messages, get-message, delete-message, list-attachments |
Alias
| Alias | Para |
|---|---|
| ls | list |
| show, view | get |
| new, add | create |
| edit | update |
| rm, del, remove | delete |
| openemail ls | openemail inbox |
| openemail show | openemail 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.
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,--datatoma el cuerpo como JSON en línea, desde un archivo con@patho desde stdin con-.-q,--queryy-H,--headertomankey=valuey se pueden repetir, y-o,--outguarda 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
Authorizationse rechazan con el código de salida2antes de enviar nada, porque la CLI pone la credencial ella misma.
Ayuda
openemail --helpopenemail help sendopenemail domains --helpopenemail domains create --helpopenemail --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.