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
View SpecView on GitHubApplicationBackendMobileOpen SourceDatabaseStorageServerlessAuthenticationHostingAgentsAsyncAPIEventsWebSockets
Channels
account
subscribesubscribeAccount
Receive account events for the current user.
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`.
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.