AsyncAPI specification for the Appwrite Realtime WebSocket API. Appwrite Realtime lets clients subscribe to channels and receive callbacks whenever a subscribed resource changes. Subscriptions are scoped to a project via the required `project` query parameter on the WebSocket handshake. Clients pass one or more `channels` query parameters indicating which resources they want to receive events for. Every message delivered by the server uses a common envelope containing: - `events` : list of event names that triggered the message - `channels` : list of channels the message was delivered on - `timestamp` : ISO-8601 server timestamp - `payload` : the underlying resource object (Document, File, Execution, Account, Team, Membership, etc.) Source: https://appwrite.io/docs/apis/realtime
Subscribes to all account related events for the currently authenticated user (session create, name update, password change, etc.). Channel identifier: `account`.
Receive create/update/delete events for documents in a collection.
Subscribes to events for any document in a specific collection. Channel identifier pattern: `databases.[DATABASE_ID].collections.[COLLECTION_ID].documents`.
Receive update/delete events for a specific document.
Subscribes to events for a single document. Channel identifier pattern: `databases.[DATABASE_ID].collections.[COLLECTION_ID].documents.[DOCUMENT_ID]`.
files
subscribesubscribeFiles
Receive create/update/delete events for files.
Subscribes to events for any file in any bucket. Channel identifier: `files`.
files.{fileId}
subscribesubscribeFile
Receive update/delete events for a specific file.
Subscribes to events for a specific file. Channel identifier pattern: `files.[FILE_ID]`.
functions.{functionId}
subscribesubscribeFunction
Receive execution lifecycle events for a function.
Subscribes to execution events for a specific function. Channel identifier pattern: `functions.[FUNCTION_ID]`.
executions
subscribesubscribeExecutions
Receive create/update/delete events for all executions.
Subscribes to events for all function executions. Channel identifier: `executions`.
executions.{executionId}
subscribesubscribeExecution
Receive update events for a specific execution.
Subscribes to events for a specific function execution. Channel identifier pattern: `executions.[EXECUTION_ID]`.
teams
subscribesubscribeTeams
Receive create/update/delete events for teams.
Subscribes to events for all teams the current user is part of. Channel identifier: `teams`.
teams.{teamId}
subscribesubscribeTeam
Receive update/delete events for a specific team.
Subscribes to events for a specific team. Channel identifier pattern: `teams.[TEAM_ID]`.
memberships
subscribesubscribeMemberships
Receive create/update/delete events for memberships.
Subscribes to events for all team memberships. Channel identifier: `memberships`.
memberships.{membershipId}
subscribesubscribeMembership
Receive update/delete events for a specific membership.
Subscribes to events for a specific team membership. Channel identifier pattern: `memberships.[MEMBERSHIP_ID]`.
Messages
✉
AccountEvent
Account Realtime Event
Account-scoped realtime event envelope.
✉
DocumentEvent
Document Realtime Event
Database document event envelope. Triggered by `databases.*.collections.*.documents.*.create`, `databases.*.collections.*.documents.*.update`, and `databases.*.collections.*.documents.*.delete`.
✉
FileEvent
File Realtime Event
Storage file event envelope. Triggered by `buckets.*.files.*.create`, `buckets.*.files.*.update`, `buckets.*.files.*.delete`.
✉
ExecutionEvent
Execution Realtime Event
Function execution event envelope. Triggered by `functions.*.executions.*.create`, `functions.*.executions.*.update`, `functions.*.executions.*.delete`.
✉
TeamEvent
Team Realtime Event
Team event envelope. Triggered by `teams.*.create`, `teams.*.update`, `teams.*.delete`.
✉
MembershipEvent
Membership Realtime Event
Team membership event envelope. Triggered by `teams.*.memberships.*.create`, `teams.*.memberships.*.update`, `teams.*.memberships.*.delete`, `teams.*.memberships.*.update.status`.