chat
Register chat E2EE identity public key
Stores your long-term public key for end-to-end encrypted chat (key agreement). Private keys never leave the client. Other participants use this to encrypt messages to you.
PUT
/api/chat/projects/{projectId}/me/chat-e2ee-keyAuthentication
Requires JWT
Note
Include your JWT in the
Authorization: Bearer YOUR_TOKEN header (user-facing apps, RBAC). View authentication guide →Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | Project ID. |
Request Body
Identity public key material for E2EE chat (base64). Private keys stay on the client.
json
{
"identityPublicKey": "matrix bypass",
"keyVersion": 2
}{
"identityPublicKey": "matrix bypass",
"keyVersion": 2
}SDK setup
Create a client and set credentials (JWT and/or API key) before calling the API. Match the authentication type shown above.
import { MudbaseClient } from "mudbase";
const client = new MudbaseClient();
client.setJWT("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c3JfbW9yZ2FuX2RlIiwiZW1haWwiOiJtb3JnYW4uY2hlbkBub3J0aHdpbmQuZGV2IiwiZXhwIjoxODI1MTI5NjAwfQ.doc_preview_sig");import { MudbaseClient } from "mudbase";
const client = new MudbaseClient();
client.setJWT("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c3JfbW9yZ2FuX2RlIiwiZW1haWwiOiJtb3JnYW4uY2hlbkBub3J0aHdpbmQuZGV2IiwiZXhwIjoxODI1MTI5NjAwfQ.doc_preview_sig");Example request
Call this endpoint using the client from SDK setup. Use View HTTP for a raw cURL example.
const result = await client.chat.putChatE2eeKey({
projectId: "proj_V5fvichc6fje",
identityPublicKey: "matrix input",
keyVersion: 12
});const result = await client.chat.putChatE2eeKey({
projectId: "proj_V5fvichc6fje",
identityPublicKey: "matrix input",
keyVersion: 12
});Try It Live
Test this endpoint with your own credentials. Your requests will be sent to the live API.
Use the auth endpoints to obtain a JWT.
No Request Yet
Send a request to see the full inspector
Responses
200Key saved
json
{
"success": true,
"data": {
"identityPublicKey": "card compress",
"keyVersion": 6,
"updatedAt": "2026-02-02T00:33:27.113Z"
}
}{
"success": true,
"data": {
"identityPublicKey": "card compress",
"keyVersion": 6,
"updatedAt": "2026-02-02T00:33:27.113Z"
}
}400Bad request or validation error.
401Authentication required or invalid token.
Errors
| Code | Meaning |
|---|---|
400 | Bad request or validation error. |
401 | Authentication required or invalid token. |