API Reference
The full machine-readable spec is published at /openapi.yaml. Personal API tokens (csk_…) are accepted on the endpoints listed below; every other endpoint in the spec is reserved for the iOS app and rejects tokens with 403 forbidden_for_api_token.
Rooms
GET /api/rooms— list roomsGET /api/rooms/:id— get a roomGET /api/rooms/filter/priority— priority inboxPOST /api/rooms/:id/read— mark messages readPOST /api/rooms/:id/typing— send typing indicatorPOST /api/rooms/:id/{mute|unmute|archive|unarchive|favorite|unfavorite|pin|unpin}POST /api/rooms/:id/messages— send a message
Messages
GET /api/messages— list messages (withroomId,before,limit)PUT /api/messages/:id— edit a message you sentDELETE /api/messages/:id— delete a messagePOST /api/messages/schedule— schedule a messageDELETE /api/messages/scheduled/:id— cancel a scheduled messagePOST /api/rooms/:id/messages/:messageId/reactions— add reactionDELETE /api/rooms/:id/messages/:messageId/reactions/:emoji— remove reaction
Real-time sync
GET /api/sync— Server-Sent Events stream of new messages, edits, deletes, typing indicators, and read receipts
GET /api/email/threads— list threadsGET /api/email/messages/:id— get a messagePOST /api/email/compose— send / reply / forwardPUT /api/email/threads/:id— read/star/archive/ delete actionsPOST /api/email/labels,signatures— full read/write
Reminders
GET /api/reminders— listPOST /api/reminders— createPUT /api/reminders/:id— updateDELETE /api/reminders/:id— delete
Bridges (read-only)
GET /api/bridges— list connected accountsGET /api/bridges/configured— available platformsGET /api/bridges/dashboard— health + connection statusGET /api/bridges/chat-counts— per-bridge sync progress
For the full schema (request/response shapes, error envelopes, date formats), parse /openapi.yaml with your tool of choice — Postman, Insomnia, Bruno, or any OpenAPI-compatible client.