跳至主要内容

Messaging — /api/msg*

Direct messaging and presence. Conversations, contacts, profiles and call logs are Postgres-backed; display name, bio, status text and nicknames are encrypted at rest (they're PII). Non-PII UI preferences live in a settings_json blob. Identity is read from the session on every call — there's no anonymous surface.

Source: shared/api-core/src/routes/msg.ts.

Profile

MethodPathAuthNotes
GET/api/msg/profileBearer (session)Your own profile.
PATCH/api/msg/profileBearer (session)Update display name, bio, status.
GET/api/msg/profile/linksBearer (session)Your public profile-links blob.
PUT/api/msg/profile/linksBearer (session)Replace the links blob.
GET/api/msg/profile/links/:zidBearer (session)Another machine's public links.
GET/api/msg/profile/:zidBearer (session)Another machine's public profile.

Conversations & contacts

MethodPathAuthNotes
GET/api/msg/conversationsBearer (session)Conversation list.
POST/api/msg/conversationsBearer (session)Open / append to a conversation.
GET/api/msg/contactsBearer (session)Contact list.
POST/api/msg/contactsBearer (session)Add a contact.
GET/api/msg/contacts/search/:termBearer (session)Search contacts.
PATCH/api/msg/contacts/:zidBearer (session)Edit a contact (nickname etc.).
DELETE/api/msg/contacts/:zidBearer (session)Remove a contact.

Settings, presence & calls

MethodPathAuthNotes
GET/api/msg/settingsBearer (session)UI preferences.
PATCH/api/msg/settingsBearer (session)Update preferences.
PUT/api/msg/statusBearer (session)Set presence / status.
GET/api/msg/ice-serversBearer (session)ICE servers for WebRTC calls.
GET/api/msg/calls/historyBearer (session)Call history.
GET/api/msg/calls/missed-countBearer (session)Missed-call badge count.
POST/api/msg/calls/logBearer (session)Record a call.