Saltar al contenido principal

kobana inbox emails

Comandos de kobana inbox emails. Toda opción global (Opciones globales) vale aquí.

ComandoHTTPDescripción
emails listGET /v1/emailsListar Emails
emails createPOST /v1/emailsEnviar un .eml en bruto
emails getGET /v1/emails/{id}Obtener Email
emails deleteDELETE /v1/emails/{id}Eliminar correo
emails emlGET /v1/emails/{id}/emlDescargar el .eml original
emails reprocessPOST /v1/emails/{id}/reprocessReprocesar Email

emails list​

Listar Emails

kobana inbox emails list [OPCIONES]

GET /v1/emails

Paginación keyset. Los filtros son query params tipados (campo=valor, campo[op]=valor); los filtros desconocidos, los campos no ordenables y los valores malformados se rechazan con 400 VALIDATION_ERROR.

Parámetros de consulta

NombreTipoObligatorioDescripción
limitintegerno
cursorstringnoCursor opaco devuelto en meta.next_cursor de la página anterior.
sort_bystringnoCampo por el que ordenar. Permitidos: created_at, updated_at, from, status. Sin él, el orden es created_at descendente. Valores: created_at, updated_at, from, status.
sort_orderstringnoasc (por defecto) o desc. Requiere sort_by. Valores: asc, desc.
statusstringnoIgualdad. También status[in]=a,b. Valores: received, approved, rejected, processing, processed, failed.
inbox_idstringnoIgualdad. También inbox_id[in]=a,b.
agent_idstringnoIgualdad. También agent_id[in]=a,b.
message_idstringnoIgualdad. También message_id[in]=a,b.
fromstringnoIgualdad. También from[in]=a,b.
tostringnoFilas cuyo to contiene el valor.
created_atstringnoIgualdad. También created_at[in]=a,b y created_at[gt|gte|lt|lte].
created_at[gte]stringno
created_at[lte]stringno
updated_atstringnoIgualdad. También updated_at[in]=a,b y updated_at[gt|gte|lt|lte].
updated_at[gte]stringno
updated_at[lte]stringno
received_atstringnoIgualdad. También received_at[in]=a,b y received_at[gt|gte|lt|lte].
received_at[gte]stringno
received_at[lte]stringno
processed_atstringnoIgualdad. También processed_at[in]=a,b y processed_at[gt|gte|lt|lte].
processed_at[gte]stringno
processed_at[lte]stringno

Encabezados

NombreTipoObligatorioDescripción
x-origin-shared-secretstringnoSecreto compartido entre CloudFront y el origin. Obligatorio en producción; se ignora en desarrollo a menos que se configure CF_ORIGIN_SHARED_SECRET.

Respuestas

HTTPDescripción
200Página de resultados.
400El cuerpo no superó la validación de Zod. error.details contiene formErrors/fieldErrors.
404Recurso no encontrado o excluido por soft-delete.

emails create​

Enviar un .eml en bruto

kobana inbox emails create [OPCIONES]

POST /v1/emails

Almacena un mensaje RFC 5322 exactamente como lo haría la ingesta de SES: objeto en bruto en el bucket raw, Email en received y un job process-email — filtros, agente y webhooks se ejecutan como para un correo real. Envía el mensaje como multipart/form-data (campo file, inbox_id opcional) o como cuerpo de la solicitud con Content-Type: message/rfc822 (?inbox_id= opcional). Sin inbox_id, el buzón se resuelve a partir del encabezado To: entre los buzones del workspace del token. Un Message-ID ya almacenado en el mismo buzón se rechaza con 409 (error.details.email_id apunta al correo existente); el mismo Message-ID en otro buzón es otro correo.

Parámetros de consulta

NombreTipoObligatorioDescripción
inbox_idstringnoBuzón de destino. Se sobrescribe con el campo multipart inbox_id cuando se envían ambos.

Encabezados

NombreTipoObligatorioDescripción
x-origin-shared-secretstringnoSecreto compartido entre CloudFront y el origin. Obligatorio en producción; se ignora en desarrollo a menos que se configure CF_ORIGIN_SHARED_SECRET.

Cuerpo de la solicitud

El cuerpo no es un objeto simple (o tiene variantes). Mira kobana schema inbox.emails.create.

Respuestas

HTTPDescripción
201Almacenado y encolado para procesamiento.
400Cuerpo vacío o campo multipart file ausente.
404inbox_id no existe en el workspace del token (INBOX_NOT_FOUND).
409DUPLICATE_MESSAGE_ID: el Message-ID ya está almacenado en el buzón de destino.
413PAYLOAD_TOO_LARGE: mensaje de más de 20 MB.
415UNSUPPORTED_MEDIA_TYPE: el cuerpo no es multipart ni message/rfc822.
422NO_INBOX_MATCHES_TO_HEADER (ningún buzón del workspace coincide con los destinatarios de To:), MISSING_RECIPIENT (sin encabezado To: utilizable; envía inbox_id) o INVALID_MESSAGE_ID (caracteres de control o más de 998 caracteres).

emails get​

Obtener Email

kobana inbox emails get [ID] [OPCIONES]

GET /v1/emails/{id}

Argumentos de la ruta: id

Encabezados

NombreTipoObligatorioDescripción
x-origin-shared-secretstringnoSecreto compartido entre CloudFront y el origin. Obligatorio en producción; se ignora en desarrollo a menos que se configure CF_ORIGIN_SHARED_SECRET.

Respuestas

HTTPDescripción
200Éxito.
404Recurso no encontrado o excluido por soft-delete.

emails delete​

Eliminar correo

kobana inbox emails delete [ID] [OPCIONES]

DELETE /v1/emails/{id}

Soft-delete del correo (establece deleted_at). Deja de aparecer en listados y detalle; el objeto en bruto lo purga el job de retención.

Argumentos de la ruta: id

Encabezados

NombreTipoObligatorioDescripción
x-origin-shared-secretstringnoSecreto compartido entre CloudFront y el origin. Obligatorio en producción; se ignora en desarrollo a menos que se configure CF_ORIGIN_SHARED_SECRET.

Respuestas

HTTPDescripción
200Eliminado (soft delete).
404Recurso no encontrado o excluido por soft-delete.

emails eml​

Descargar el .eml original

kobana inbox emails eml [ID] [OPCIONES]

GET /v1/emails/{id}/eml

Argumentos de la ruta: id

Encabezados

NombreTipoObligatorioDescripción
x-origin-shared-secretstringnoSecreto compartido entre CloudFront y el origin. Obligatorio en producción; se ignora en desarrollo a menos que se configure CF_ORIGIN_SHARED_SECRET.

Respuestas

HTTPDescripción
200Flujo de mensaje RFC 5322 sin procesar.
404Recurso no encontrado o excluido por soft-delete.

emails reprocess​

Reprocesar Email

kobana inbox emails reprocess [ID] [OPCIONES]

POST /v1/emails/{id}/reprocess

Devuelve el correo al procesamiento (filtros, agente, webhooks). Solo es elegible un correo en estado terminal — processed, rejected o failed; uno aún en received, approved o processing se rechaza con 409 CONFLICT, para que un agente (y su workflow) nunca corra dos veces para el mismo correo. Ejecutar el agente requiere un plan activo: sin él la llamada se rechaza con 403 ENTITLEMENT_REQUIRED (error.details.reason = no_plan) y no se encola nada.

Argumentos de la ruta: id

Encabezados

NombreTipoObligatorioDescripción
x-origin-shared-secretstringnoSecreto compartido entre CloudFront y el origin. Obligatorio en producción; se ignora en desarrollo a menos que se configure CF_ORIGIN_SHARED_SECRET.

Respuestas

HTTPDescripción
202Aceptado y encolado.
404Recurso no encontrado o excluido por soft-delete.
409CONFLICT: el correo aún está en received, approved o processing.