- Shipped
- September 24, 2026 at 8:44 PM UTC
- Author
- Kamo
- Commit
- 963fd65
A member without a licensed seat is refused with the shared 403 SEAT_REQUIRED body before anything is sent: POST /api/email/send, the shared-mailbox send, and the four meeting-invite routes (send, update, cancel, reply). A calendar event save asks for the seat only when it invites its guests by email (sendInvites true, notifyByEmail not false): the calendar dialog and KamoMobile send notifyByEmail true on every save, so a plain calendar entry stays open to everyone. Internal routes never ask. The deployment also takes the service's own NATS login (nats-user-email), the Redis ACL login (redis-auth) and the KamoAI internal secret.
