Inboxes
Listar inboxes
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_failed`.
Criar inbox
Criar inbox
Criar ou atualizar caixa
Upsert. Recebe o mesmo corpo do POST mais as chaves de busca `id` e `external_id`, casadas nessa ordem, depois por `email`. Um match é atualizado in place e responde 200 — campos ausentes do corpo mantêm o valor armazenado. Sem chave, ou sem match, cria a caixa exatamente como o POST faria e responde 201.
Obter inbox
Aceita tanto o UUID interno quanto o `external_id` do recurso.
Atualizar inbox
Aceita tanto o UUID interno quanto o `external_id` do recurso.
Excluir inbox
Aceita tanto o UUID interno quanto o `external_id` do recurso.
Adicionar destinatário permitido
Aceita tanto o UUID interno quanto o `external_id` do recurso. Adiciona um email a `allowed_recipients`. Idempotente — retorna 200 com a lista atual quando o item já está presente.
Remover destinatário permitido
Aceita tanto o UUID interno quanto o `external_id` do recurso. Remove um email de `allowed_recipients`. Aceita o email no corpo JSON ou como o parâmetro de query `email`.