# Matrix JavaScript SDK ## Docs - [createClient()](https://mintlify.wiki/matrix-org/matrix-js-sdk/api/create-client.md): Factory function for constructing a fully configured MatrixClient. - [CryptoApi](https://mintlify.wiki/matrix-org/matrix-js-sdk/api/crypto/overview.md): The CryptoApi interface exposes all end-to-end encryption functionality: key backup, cross-signing, device verification, and secret storage setup. - [Verification](https://mintlify.wiki/matrix-org/matrix-js-sdk/api/crypto/verification.md): How to initiate, accept, and complete interactive key verification flows using VerificationRequest, SAS (emoji), and QR codes. - [Events](https://mintlify.wiki/matrix-org/matrix-js-sdk/api/events.md): Event enums and the TypedEventEmitter pattern used throughout matrix-js-sdk. - [MatrixClient](https://mintlify.wiki/matrix-org/matrix-js-sdk/api/matrix-client.md): The primary interface for interacting with a Matrix homeserver. - [MatrixEvent](https://mintlify.wiki/matrix-org/matrix-js-sdk/api/models/matrix-event.md): The MatrixEvent class wraps a raw Matrix event object, providing typed accessors for common fields and handling encryption, redaction, and local echo lifecycle. - [Room](https://mintlify.wiki/matrix-org/matrix-js-sdk/api/models/room.md): The Room class represents a Matrix room and provides access to its timeline, members, threads, and state. - [RoomMember](https://mintlify.wiki/matrix-org/matrix-js-sdk/api/models/room-member.md): The RoomMember class represents a user's membership in a specific Matrix room, including their power level, display name, and typing state. - [MatrixClient](https://mintlify.wiki/matrix-org/matrix-js-sdk/concepts/client.md): The central object for all Matrix operations in matrix-js-sdk. - [Rooms and events](https://mintlify.wiki/matrix-org/matrix-js-sdk/concepts/rooms-and-events.md): How the matrix-js-sdk models rooms, timelines, and the events that flow through them. - [Storage](https://mintlify.wiki/matrix-org/matrix-js-sdk/concepts/storage.md): How matrix-js-sdk stores sync data: MemoryStore versus IndexedDBStore, and how to configure each. - [Sync](https://mintlify.wiki/matrix-org/matrix-js-sdk/concepts/sync.md): How matrix-js-sdk manages the /sync loop, sync states, and the Sliding Sync alternative. - [Authentication](https://mintlify.wiki/matrix-org/matrix-js-sdk/guides/authentication.md): Authenticate users with the matrix-js-sdk using password login, SSO, access tokens, and token refresh. - [Cross-signing](https://mintlify.wiki/matrix-org/matrix-js-sdk/guides/cross-signing.md): Set up cross-signing for device and user verification in matrix-js-sdk, including trust levels and checking verification status. - [End-to-end encryption](https://mintlify.wiki/matrix-org/matrix-js-sdk/guides/encryption-overview.md): Overview of end-to-end encryption in matrix-js-sdk, including initialization, the Rust crypto stack, and migration from legacy crypto. - [Interactive authentication (UIA)](https://mintlify.wiki/matrix-org/matrix-js-sdk/guides/interactive-auth.md): Handle User-Interactive Authentication (UIA) for sensitive Matrix operations like password changes and device deletion. - [Key backup](https://mintlify.wiki/matrix-org/matrix-js-sdk/guides/key-backup.md): Set up and manage server-side key backups in matrix-js-sdk so users can recover encrypted message history on new devices. - [MatrixRTC](https://mintlify.wiki/matrix-org/matrix-js-sdk/guides/matrixrtc.md): Next-generation group calling using MatrixRTCSession and LiveKit transport. - [Media](https://mintlify.wiki/matrix-org/matrix-js-sdk/guides/media.md): Upload and download media, handle MXC URIs, and use authenticated media (MSC3916 / Matrix 1.11). - [OIDC authentication](https://mintlify.wiki/matrix-org/matrix-js-sdk/guides/oidc.md): Authenticate with Matrix homeservers that delegate authentication to an OpenID Connect provider. - [Secret storage](https://mintlify.wiki/matrix-org/matrix-js-sdk/guides/secret-storage.md): Set up Matrix server-side secret storage (4S) in matrix-js-sdk to securely store cross-signing keys and key backup decryption keys. - [Sliding Sync](https://mintlify.wiki/matrix-org/matrix-js-sdk/guides/sliding-sync.md): Faster, bandwidth-efficient sync using the Sliding Sync protocol (MSC4186). - [VoIP calling](https://mintlify.wiki/matrix-org/matrix-js-sdk/guides/voip-calling.md): Place and receive 1:1 and multi-party WebRTC calls using MatrixCall and GroupCall. - [Installation](https://mintlify.wiki/matrix-org/matrix-js-sdk/installation.md): Install matrix-js-sdk and configure it for Node.js, browser, and TypeScript environments. - [Introduction](https://mintlify.wiki/matrix-org/matrix-js-sdk/introduction.md): matrix-js-sdk is the official Matrix Client-Server SDK for JavaScript and TypeScript, supporting both Node.js and browser environments. - [Quickstart](https://mintlify.wiki/matrix-org/matrix-js-sdk/quickstart.md): Get up and running with matrix-js-sdk: install, create a client, sync, send messages, and listen for events. ## OpenAPI Specs - [openapi](https://mintlify.wiki/matrix-org/matrix-js-sdk/api-reference/openapi.json)