Pular para o conteúdo principal

kobana inbox emails

Comandos de kobana inbox emails. Toda opção global (Opções globais) vale aqui.

ComandoHTTPDescrição
emails listGET /v1/emailsListar emails
emails createPOST /v1/emailsEnviar um .eml bruto
emails getGET /v1/emails/{id}Obter email
emails deleteDELETE /v1/emails/{id}Excluir e-mail
emails emlGET /v1/emails/{id}/emlBaixar o .eml original
emails reprocessPOST /v1/emails/{id}/reprocessReprocessar email

emails list​

Listar emails

kobana inbox emails list [OPÇÕES]

GET /v1/emails

Paginação keyset. Filtros são query params tipados (campo=valor, campo[op]=valor); filtros desconhecidos, campos não ordenáveis e valores malformados são rejeitados com 400 VALIDATION_ERROR.

Parâmetros de consulta

NomeTipoObrigatórioDescrição
limitintegernão
cursorstringnãoCursor opaco retornado em meta.next_cursor da página anterior.
sort_bystringnãoCampo de ordenação. Permitidos: created_at, updated_at, from, status. Sem ele, a ordem é created_at decrescente. Valores: created_at, updated_at, from, status.
sort_orderstringnãoasc (padrão) ou desc. Exige sort_by. Valores: asc, desc.
statusstringnãoIgualdade. Também status[in]=a,b. Valores: received, approved, rejected, processing, processed, failed.
inbox_idstringnãoIgualdade. Também inbox_id[in]=a,b.
agent_idstringnãoIgualdade. Também agent_id[in]=a,b.
message_idstringnãoIgualdade. Também message_id[in]=a,b.
fromstringnãoIgualdade. Também from[in]=a,b.
tostringnãoLinhas cujo to contém o valor.
created_atstringnãoIgualdade. Também created_at[in]=a,b e created_at[gt|gte|lt|lte].
created_at[gte]stringnão
created_at[lte]stringnão
updated_atstringnãoIgualdade. Também updated_at[in]=a,b e updated_at[gt|gte|lt|lte].
updated_at[gte]stringnão
updated_at[lte]stringnão
received_atstringnãoIgualdade. Também received_at[in]=a,b e received_at[gt|gte|lt|lte].
received_at[gte]stringnão
received_at[lte]stringnão
processed_atstringnãoIgualdade. Também processed_at[in]=a,b e processed_at[gt|gte|lt|lte].
processed_at[gte]stringnão
processed_at[lte]stringnão

Cabeçalhos

NomeTipoObrigatórioDescrição
x-origin-shared-secretstringnãoSegredo compartilhado entre o CloudFront e a origem. Obrigatório em produção; ignorado em desenvolvimento a menos que CF_ORIGIN_SHARED_SECRET esteja definido.

Respostas

HTTPDescrição
200Página de resultados.
400O corpo falhou na validação Zod. error.details carrega formErrors/fieldErrors.
404Recurso não encontrado ou filtrado por soft-delete.

emails create​

Enviar um .eml bruto

kobana inbox emails create [OPÇÕES]

POST /v1/emails

Armazena uma mensagem RFC 5322 exatamente como a ingestão SES faria: objeto bruto no bucket raw, Email em received e um job process-email — filtros, agente e webhooks rodam como para um e-mail real. Envie a mensagem como multipart/form-data (campo file, inbox_id opcional) ou como corpo da requisição com Content-Type: message/rfc822 (?inbox_id= opcional). Sem inbox_id, a caixa é resolvida pelo cabeçalho To: entre as caixas do workspace do token. Um Message-ID já armazenado na mesma caixa é rejeitado com 409 (error.details.email_id aponta para o e-mail existente); o mesmo Message-ID em outra caixa é outro e-mail.

Parâmetros de consulta

NomeTipoObrigatórioDescrição
inbox_idstringnãoCaixa de destino. Sobrescrito pelo campo multipart inbox_id quando ambos são enviados.

Cabeçalhos

NomeTipoObrigatórioDescrição
x-origin-shared-secretstringnãoSegredo compartilhado entre o CloudFront e a origem. Obrigatório em produção; ignorado em desenvolvimento a menos que CF_ORIGIN_SHARED_SECRET esteja definido.

Corpo da requisição

O corpo não é um objeto simples (ou tem variantes). Veja kobana schema inbox.emails.create.

Respostas

HTTPDescrição
201Armazenado e enfileirado para processamento.
400Corpo vazio ou campo multipart file ausente.
404inbox_id não existe no workspace do token (INBOX_NOT_FOUND).
409DUPLICATE_MESSAGE_ID: o Message-ID já está armazenado na caixa de destino.
413PAYLOAD_TOO_LARGE: mensagem acima de 20 MB.
415UNSUPPORTED_MEDIA_TYPE: o corpo não é multipart nem message/rfc822.
422NO_INBOX_MATCHES_TO_HEADER (nenhuma caixa do workspace corresponde aos destinatários do To:), MISSING_RECIPIENT (sem cabeçalho To: utilizável; informe inbox_id) ou INVALID_MESSAGE_ID (caracteres de controle ou mais de 998 caracteres).

emails get​

Obter email

kobana inbox emails get [ID] [OPÇÕES]

GET /v1/emails/{id}

Argumentos do caminho: id

Cabeçalhos

NomeTipoObrigatórioDescrição
x-origin-shared-secretstringnãoSegredo compartilhado entre o CloudFront e a origem. Obrigatório em produção; ignorado em desenvolvimento a menos que CF_ORIGIN_SHARED_SECRET esteja definido.

Respostas

HTTPDescrição
200Sucesso.
404Recurso não encontrado ou filtrado por soft-delete.

emails delete​

Excluir e-mail

kobana inbox emails delete [ID] [OPÇÕES]

DELETE /v1/emails/{id}

Soft-delete do e-mail (define deleted_at). Ele deixa de aparecer em listagens e detalhe; o objeto bruto é purgado pelo job de retenção.

Argumentos do caminho: id

Cabeçalhos

NomeTipoObrigatórioDescrição
x-origin-shared-secretstringnãoSegredo compartilhado entre o CloudFront e a origem. Obrigatório em produção; ignorado em desenvolvimento a menos que CF_ORIGIN_SHARED_SECRET esteja definido.

Respostas

HTTPDescrição
200Excluído (soft delete).
404Recurso não encontrado ou filtrado por soft-delete.

emails eml​

Baixar o .eml original

kobana inbox emails eml [ID] [OPÇÕES]

GET /v1/emails/{id}/eml

Argumentos do caminho: id

Cabeçalhos

NomeTipoObrigatórioDescrição
x-origin-shared-secretstringnãoSegredo compartilhado entre o CloudFront e a origem. Obrigatório em produção; ignorado em desenvolvimento a menos que CF_ORIGIN_SHARED_SECRET esteja definido.

Respostas

HTTPDescrição
200Fluxo bruto da mensagem no formato RFC 5322.
404Recurso não encontrado ou filtrado por soft-delete.

emails reprocess​

Reprocessar email

kobana inbox emails reprocess [ID] [OPÇÕES]

POST /v1/emails/{id}/reprocess

Devolve o e-mail ao processamento (filtros, agente, webhooks). Só é elegível um e-mail em status terminal — processed, rejected ou failed; um e-mail ainda received, approved ou processing é recusado com 409 CONFLICT, para que um agente (e seu workflow) nunca rode duas vezes para o mesmo e-mail. Rodar o agente exige um plano ativo: sem ele a chamada é recusada com 403 ENTITLEMENT_REQUIRED (error.details.reason = no_plan) e nada é enfileirado.

Argumentos do caminho: id

Cabeçalhos

NomeTipoObrigatórioDescrição
x-origin-shared-secretstringnãoSegredo compartilhado entre o CloudFront e a origem. Obrigatório em produção; ignorado em desenvolvimento a menos que CF_ORIGIN_SHARED_SECRET esteja definido.

Respostas

HTTPDescrição
202Aceito e enfileirado.
404Recurso não encontrado ou filtrado por soft-delete.
409CONFLICT: o e-mail ainda está received, approved ou processing.