Sign inGet Started

CLI

Envía tu primer correo electrónico desde una terminal de macOS o Linux: instala bird CLI, inicia sesión una vez y envía. No necesitas copiar una clave API.

1. Instalar

Ejemplo de código
curl -fsSL https://cli.bird.com/install.sh | sh
Ejecuta bird version para confirmar que la instalación se completó correctamente. Para Windows y otras opciones de instalación, consulta Instalar CLI.

2. Iniciar sesión

Ejemplo de código
bird auth login --scope emails:write
Esto abre una página de consentimiento en el navegador donde eliges un espacio de trabajo y apruebas la concesión. El alcance emails:write permite que el paso 3 envíe. Sin él, bird auth login solicita acceso de solo lectura y el envío se rechaza. CLI almacena un token OAuth vinculado al espacio de trabajo en ~/.config/bird/credentials.json, lo renueva cuando es necesario y registra la región del espacio de trabajo.

3. Enviar un correo electrónico

Envía desde el dominio compartido de incorporación de Bird a la dirección sandbox de delivered@messagebird.dev: sin verificación de dominio, sin necesidad de un buzón real.
Ejemplo de código
bird email send \
  --from onboarding@messagebird.dev \
  --to delivered@messagebird.dev \
  --subject "Hello from Bird" \
  --html "<p>My first Bird email.</p>"
CLI imprime el mensaje aceptado como JSON. Los campos *_count rastrean a los destinatarios a través de los estados de entrega. En la respuesta inicial, un destinatario está aceptado y ninguno está entregado:
Ejemplo de código
{
  "id": "em_01ky7ma8y2es1s2akzk53tmjn0",
  "status": "accepted",
  "category": "marketing",
  "from": { "email": "onboarding@messagebird.dev" },
  "to": [{ "email": "delivered@messagebird.dev" }],
  "subject": "Hello from Bird",
  "accepted_count": 1,
  "processed_count": 0,
  "delivered_count": 0,
  "deferred_count": 0,
  "bounced_count": 0,
  "complained_count": 0,
  "rejected_count": 0,
  "open_count": 0,
  "click_count": 0,
  "track_opens": true,
  "track_clicks": true,
  "created_at": "2026-07-23T13:58:20.866Z"
}
--to se puede repetir para múltiples destinatarios, --text envía un cuerpo de texto plano y --dry-run imprime la solicitud resuelta sin enviarla.

4. Comprobar el resultado

accepted significa que Bird aceptó el mensaje y lo entrega de forma asíncrona. Recupéralo por su ID em_ y observa cómo el estado llega a delivered:
Ejemplo de código
bird email get em_01ky7ma8y2es1s2akzk53tmjn0
Agrega --format text para obtener una tarjeta legible en lugar de JSON.
Cada comando escribe JSON en la salida estándar de forma predeterminada. Los errores usan una respuesta de error JSON en la salida de error estándar, y los códigos de salida identifican categorías de fallo. Consulta CLI para agentes para ver el contrato completo.

Próximos pasos