Appwrite · AsyncAPI Specification
Appwrite Webhooks
Version
View Spec
View on GitHub
ApplicationBackendMobileOpen SourceDatabaseStorageServerlessAuthenticationHostingAgentsAsyncAPIEvents
AsyncAPI Specification
generated: '2026-09-12'
method: searched
source: https://appwrite.io/docs/apis/events and https://appwrite.io/docs/apis/webhooks (read 2026-09-12)
provider: Appwrite
providerId: appwrite
type: Webhooks
note: Appwrite publishes NO AsyncAPI document. What it publishes is a single event vocabulary shared by three delivery
channels — Webhooks (HTTP POST), Functions (event triggers) and Realtime (WebSocket channels) — so one event name
subscribes you through whichever channel you pick. The catalogue below is that vocabulary, transcribed from Appwrite's
own events page. The realtime channel surface is described separately in asyncapi/appwrite-asyncapi.yml, which
is API Evangelist's AsyncAPI description of Appwrite's WebSocket protocol, not a provider publication.
delivery_channels:
- name: Webhooks
transport: HTTP POST
docs: https://appwrite.io/docs/apis/webhooks
- name: Functions
transport: event-triggered execution
docs: https://appwrite.io/docs/products/functions
- name: Realtime
transport: WebSocket
docs: https://appwrite.io/docs/apis/realtime
subscription:
wildcards: Use * in place of a resource ID to subscribe to every resource of that type.
action_filters:
- create
- update
- upsert
- delete
example: users.*.create subscribes to every user creation; tablesdb.*.tables.*.rows.*.upsert to every row upsert.
webhook_delivery:
method: POST
user_agent: Appwrite-Server
payload: Mirrors the REST payload of the resource the event names.
headers:
- name: X-Appwrite-Webhook-Id
description: ID of the webhook that triggered the delivery.
- name: X-Appwrite-Webhook-Events
description: Names of the events that triggered this delivery.
- name: X-Appwrite-Webhook-Name
description: Name of the webhook as configured.
- name: X-Appwrite-Webhook-User-Id
description: User ID of the user who triggered the event; empty when an API key triggered it, and absent for
guest-user events such as account.create.
- name: X-Appwrite-Webhook-Project-Id
description: ID of the project that owns the webhook.
- name: X-Appwrite-Webhook-Signature
description: HMAC-SHA1 signature of the payload.
signature:
header: X-Appwrite-Webhook-Signature
algorithm: HMAC-SHA1
encoding: base64
signed_value: webhook URL concatenated with the raw request body, no separator
key: the webhook's signature key, shown in the Console and returned once on webhooksCreate
note: SHA-1, not SHA-256 — worth knowing before wiring a verifier.
management_api:
scopes:
- webhooks.read
- webhooks.write
operations:
- webhooksList
- webhooksCreate
- webhooksGet
- webhooksUpdate
- webhooksUpdateSecret
- webhooksDelete
openapi: openapi/appwrite-webhooks-api-openapi.yml
secret_note: The signing secret is returned only on create; it is not readable again afterwards.
options:
- Certificate verification (SSL/TLS) toggle
- HTTP authentication credentials on the endpoint
event_count: 91
events_by_service:
tablesdb: 21
users: 18
functions: 12
teams: 10
buckets: 8
sites: 8
topics: 6
providers: 4
messages: 4
events:
- name: teams.*
group: Authentication
description: This event triggers on any teams event. Returns [Team Object](/docs/references/cloud/models/team)
- name: teams.*.create
group: Authentication
description: This event triggers when a team is created. Returns [Team Object](/docs/references/cloud/models/team)
- name: teams.*.delete
group: Authentication
description: This event triggers when a team is deleted. Returns [Team Object](/docs/references/cloud/models/team)
- name: teams.*.memberships.*
group: Authentication
description: This event triggers on any team memberships event. Returns [Membership Object](/docs/references/cloud/models/membership)
- name: teams.*.memberships.*.create
group: Authentication
description: This event triggers when a membership is created. Returns [Membership Object](/docs/references/cloud/models/membership)
- name: teams.*.memberships.*.delete
group: Authentication
description: This event triggers when a membership is deleted. Returns [Membership Object](/docs/references/cloud/models/membership)
- name: teams.*.memberships.*.update
group: Authentication
description: This event triggers when a membership is updated. Returns [Membership Object](/docs/references/cloud/models/membership)
- name: teams.*.memberships.*.update.status
group: Authentication
description: This event triggers when a team memberships status is updated. Returns [Membership Object](/docs/references/cloud/models/membership)
- name: teams.*.update
group: Authentication
description: This event triggers when a team is updated. Returns [Team Object](/docs/references/cloud/models/team)
- name: teams.*.update.prefs
group: Authentication
description: This event triggers when a team's preferences are updated. Returns [Team Object](/docs/references/cloud/models/team)
- name: users.*
group: Authentication
description: This event triggers on any user's event. Returns [User Object](/docs/references/cloud/models/user)
- name: users.*.create
group: Authentication
description: This event triggers when a user is created. Returns [User Object](/docs/references/cloud/models/user)
- name: users.*.delete
group: Authentication
description: This event triggers when a user is deleted. Returns [User Object](/docs/references/cloud/models/user)
- name: users.*.recovery.*
group: Authentication
description: This event triggers on any user's recovery token event. Returns [Token Object](/docs/references/cloud/models/token)
- name: users.*.recovery.*.create
group: Authentication
description: This event triggers when a recovery token for a user is created. Returns [Token Object](/docs/references/cloud/models/token)
- name: users.*.recovery.*.update
group: Authentication
description: This event triggers when a recovery token for a user is validated. Returns [Token Object](/docs/references/cloud/models/token)
- name: users.*.sessions.*
group: Authentication
description: This event triggers on any user's sessions event. Returns [Session Object](/docs/references/cloud/models/session)
- name: users.*.sessions.*.create
group: Authentication
description: This event triggers when a session for a user is created. Returns [Session Object](/docs/references/cloud/models/session)
- name: users.*.sessions.*.delete
group: Authentication
description: This event triggers when a session for a user is deleted. Returns [Session Object](/docs/references/cloud/models/session)
- name: users.*.update
group: Authentication
description: This event triggers when a user is updated. Returns [User Object](/docs/references/cloud/models/user)
- name: users.*.update.email
group: Authentication
description: This event triggers when a user's email address is updated. Returns [User Object](/docs/references/cloud/models/user)
- name: users.*.update.name
group: Authentication
description: This event triggers when a user's name is updated. Returns [User Object](/docs/references/cloud/models/user)
- name: users.*.update.password
group: Authentication
description: This event triggers when a user's password is updated. Returns [User Object](/docs/references/cloud/models/user)
- name: users.*.update.prefs
group: Authentication
description: This event triggers when a user's preferences is updated. Returns [User Object](/docs/references/cloud/models/user)
- name: users.*.update.status
group: Authentication
description: This event triggers when a user's status is updated. Returns [User Object](/docs/references/cloud/models/user)
- name: users.*.verification.*
group: Authentication
description: This event triggers on any user's verification token event. Returns [Token Object](/docs/references/cloud/models/token)
- name: users.*.verification.*.create
group: Authentication
description: This event triggers when a verification token for a user is created. Returns [Token Object](/docs/references/cloud/models/token)
- name: users.*.verification.*.update
group: Authentication
description: This event triggers when a verification token for a user is validated. Returns [Token Object](/docs/references/cloud/models/token)
**Databases** Name Description
- name: tablesdb.*
group: Databases
description: This event triggers on any database event. Returns [Database Object](/docs/references/cloud/models/database)
- name: tablesdb.*.tables.*
group: Databases
description: This event triggers on any table event. Returns [Table Object](/docs/references/cloud/models/table)
- name: tablesdb.*.tables.*.columns.*
group: Databases
description: This event triggers on any columns event. Returns [Column Object](/docs/references/cloud/models/columnList)
- name: tablesdb.*.tables.*.columns.*.create
group: Databases
description: This event triggers when a column is created. Returns [Column Object](/docs/references/cloud/models/columnList)
- name: tablesdb.*.tables.*.columns.*.update
group: Databases
description: This event triggers when a column is updated. Returns [Column Object](/docs/references/cloud/models/columnList)
- name: tablesdb.*.tables.*.columns.*.delete
group: Databases
description: This event triggers when a column is deleted. Returns [Column Object](/docs/references/cloud/models/columnList)
- name: tablesdb.*.tables.*.create
group: Databases
description: This event triggers when a table is created. Returns [Table Object](/docs/references/cloud/models/table)
- name: tablesdb.*.tables.*.delete
group: Databases
description: This event triggers when a table is deleted. Returns [Table Object](/docs/references/cloud/models/table)
- name: tablesdb.*.tables.*.rows.*
group: Databases
description: This event triggers on any rows event. Returns [Row Object](/docs/references/cloud/models/row)
- name: tablesdb.*.tables.*.rows.*.create
group: Databases
description: This event triggers when a row is created. Returns [Row Object](/docs/references/cloud/models/row)
- name: tablesdb.*.tables.*.rows.*.delete
group: Databases
description: This event triggers when a row is deleted. Returns [Row Object](/docs/references/cloud/models/row)
- name: tablesdb.*.tables.*.rows.*.update
group: Databases
description: This event triggers when a row is updated. Returns [Row Object](/docs/references/cloud/models/row)
- name: tablesdb.*.tables.*.rows.*.upsert
group: Databases
description: This event triggers when a row is upserted. Returns [Row Object](/docs/references/cloud/models/row)
- name: tablesdb.*.tables.*.indexes.*
group: Databases
description: This event triggers on any indexes event. Returns [Index Object](/docs/references/cloud/models/columnIndex)
- name: tablesdb.*.tables.*.indexes.*.create
group: Databases
description: This event triggers when an index is created. Returns [Index Object](/docs/references/cloud/models/columnIndex)
- name: tablesdb.*.tables.*.indexes.*.update
group: Databases
description: This event triggers when an index is updated. Returns [Index Object](/docs/references/cloud/models/columnIndex)
- name: tablesdb.*.tables.*.indexes.*.delete
group: Databases
description: This event triggers when an index is deleted. Returns [Index Object](/docs/references/cloud/models/columnIndex)
- name: tablesdb.*.tables.*.update
group: Databases
description: This event triggers when a table is updated. Returns [Table Object](/docs/references/cloud/models/table)
- name: tablesdb.*.create
group: Databases
description: This event triggers when a database is created. Returns [Database Object](/docs/references/cloud/models/database)
- name: tablesdb.*.delete
group: Databases
description: This event triggers when a database is deleted. Returns [Database Object](/docs/references/cloud/models/database)
- name: tablesdb.*.update
group: Databases
description: This event triggers when a database is updated. Returns [Database Object](/docs/references/cloud/models/database)
**Note** Collections, documents, and attributes have been deprecated in favour of tables, rows, and columns.
The `databases.*` event prefix has been replaced by `tablesdb.*`. **Storage** Name Description
- name: buckets.*
group: Storage
description: This event triggers on any buckets event. Returns [Bucket Object](/docs/references/cloud/models/bucket)
- name: buckets.*.create
group: Storage
description: This event triggers when a bucket is created. Returns [Bucket Object](/docs/references/cloud/models/bucket)
- name: buckets.*.delete
group: Storage
description: This event triggers when a bucket is deleted. Returns [Bucket Object](/docs/references/cloud/models/bucket)
- name: buckets.*.files.*
group: Storage
description: This event triggers on any files event. Returns [File Object](/docs/references/cloud/models/file)
- name: buckets.*.files.*.create
group: Storage
description: Since the Appwrite SDK chunks files in 5MB increments, this event will trigger for each 5MB chunk.
A file is fully uploaded when `chunksTotal` equals `chunksUploaded`. Returns [File Object](/docs/references/cloud/models/file)
- name: buckets.*.files.*.delete
group: Storage
description: This event triggers when a file is deleted. Returns [File Object](/docs/references/cloud/models/file)
- name: buckets.*.files.*.update
group: Storage
description: This event triggers when a file is updated. Returns [File Object](/docs/references/cloud/models/file)
- name: buckets.*.update
group: Storage
description: This event triggers when a bucket is updated. Returns [Bucket Object](/docs/references/cloud/models/bucket)
**Functions** Name Description
- name: functions.*
group: Functions
description: This event triggers on any functions event. Returns [Function Object](/docs/references/cloud/models/function)
- name: functions.*.create
group: Functions
description: This event triggers when a function is created. Returns [Function Object](/docs/references/cloud/models/function)
- name: functions.*.delete
group: Functions
description: This event triggers when a function is deleted. Returns [Function Object](/docs/references/cloud/models/function)
- name: functions.*.deployments.*
group: Functions
description: This event triggers on any deployments event. Returns [Deployment Object](/docs/references/cloud/models/deployment)
- name: functions.*.deployments.*.create
group: Functions
description: This event triggers when a deployment is created. Returns [Deployment Object](/docs/references/cloud/models/deployment)
- name: functions.*.deployments.*.delete
group: Functions
description: This event triggers when a deployment is deleted. Returns [Deployment Object](/docs/references/cloud/models/deployment)
- name: functions.*.deployments.*.update
group: Functions
description: This event triggers when a deployment is updated. Returns [Deployment Object](/docs/references/cloud/models/deployment)
- name: functions.*.executions.*
group: Functions
description: This event triggers on any executions event. Returns [Execution Object](/docs/references/cloud/models/execution)
- name: functions.*.executions.*.create
group: Functions
description: This event triggers when an execution is created. Returns [Execution Object](/docs/references/cloud/models/execution)
- name: functions.*.executions.*.delete
group: Functions
description: This event triggers when an execution is deleted. Returns [Execution Object](/docs/references/cloud/models/execution)
- name: functions.*.executions.*.update
group: Functions
description: This event triggers when an execution is updated. Returns [Execution Object](/docs/references/cloud/models/execution)
- name: functions.*.update
group: Functions
description: This event triggers when a function is updated. Returns [Function Object](/docs/references/cloud/models/function)
**Sites** Name Description
- name: sites.*
group: Sites
description: This event triggers on any sites event. Returns [Site Object](/docs/references/cloud/models/site)
- name: sites.*.create
group: Sites
description: This event triggers when a site is created. Returns [Site Object](/docs/references/cloud/models/site)
- name: sites.*.delete
group: Sites
description: This event triggers when a site is deleted. Returns [Site Object](/docs/references/cloud/models/site)
- name: sites.*.deployments.*
group: Sites
description: This event triggers on any deployments event. Returns [Deployment Object](/docs/references/cloud/models/deployment)
- name: sites.*.deployments.*.create
group: Sites
description: This event triggers when a deployment is created. Returns [Deployment Object](/docs/references/cloud/models/deployment)
- name: sites.*.deployments.*.delete
group: Sites
description: This event triggers when a deployment is deleted. Returns [Deployment Object](/docs/references/cloud/models/deployment)
- name: sites.*.deployments.*.update
group: Sites
description: This event triggers when a deployment is updated. Returns [Deployment Object](/docs/references/cloud/models/deployment)
- name: sites.*.update
group: Sites
description: This event triggers when a site is updated. Returns [Site Object](/docs/references/cloud/models/site)
**Messaging** Name Description
- name: providers.*
group: Messaging
description: This event triggers on any providers event. Returns [Provider Object](/docs/references/cloud/models/provider)
- name: providers.*.create
group: Messaging
description: This event triggers when a provider is created. Returns [Provider Object](/docs/references/cloud/models/provider)
- name: providers.*.delete
group: Messaging
description: This event triggers when a provider is deleted. Returns [Provider Object](/docs/references/cloud/models/provider)
- name: providers.*.update
group: Messaging
description: This event triggers when a provider is updated. Returns [Provider Object](/docs/references/cloud/models/provider)
- name: topics.*
group: Messaging
description: This event triggers on any topic event. Returns [Topic Object](/docs/references/cloud/models/topic)
- name: topics.*.create
group: Messaging
description: This event triggers when a topic is created. Returns [Topic Object](/docs/references/cloud/models/topic)
- name: topics.*.delete
group: Messaging
description: This event triggers when a topic is deleted. Returns [Topic Object](/docs/references/cloud/models/topic)
- name: topics.*.update
group: Messaging
description: This event triggers when a topic is updated. Returns [Topic Object](/docs/references/cloud/models/topic)
- name: topics.*.subscribers.*.create
group: Messaging
description: This event triggers when a subscriber to a topic is created. Returns [Topic Object](/docs/references/cloud/models/topic)
- name: topics.*.subscribers.*.delete
group: Messaging
description: This event triggers when a subscriber to a topic is deleted. Returns [Topic Object](/docs/references/cloud/models/topic)
- name: messages.*
group: Messaging
description: This event triggers on any message event. Returns [Message Object](/docs/references/cloud/models/message)
- name: messages.*.create
group: Messaging
description: This event triggers when a message is created. Returns [Message Object](/docs/references/cloud/models/message)
- name: messages.*.delete
group: Messaging
description: This event triggers when a message is deleted. Returns [Message Object](/docs/references/cloud/models/message)
- name: messages.*.update
group: Messaging
description: 'This event triggers when a message is updated. Returns [Message Object](/docs/references/cloud/models/message)
### Known limitations When events fire, only existing subscriptions for that event will receive the update.
If your client or server side integrations lose network connection temporarily, delivery of the event is not
guaranteed. For self-hosted instances, when the Appwrite containers are shut down and restarted, events with
pending webhooks and subscription updates will not be delivered. A change to a resource can cause multiple events
to fire. For example adding a new row with ID `"lion-king"` to a table with the ID `"movies"` will cause all
of the below events to fire. ```json { "events": [ "tablesdb.default.tables.movies.rows.lion-king.create", "tablesdb.*.tables.*.rows.*.create",
"tablesdb.default.tables.*.rows.lion-king.create", "tablesdb.*.tables.*.rows.lion-king.create", "tablesdb.*.tables.movies.rows.lion-king.create",
"tablesdb.default.tables.movies.rows.*.create", "tablesdb.*.tables.movies.rows.*.create", "tablesdb.default.tables.*.rows.*.create",
"tablesdb.default.tables.movies.rows.lion-king", "tablesdb.*.tables.*.rows.*", "tablesdb.default.tables.*.rows.lion-king",
"tablesdb.*.tables.*.rows.lion-king", "tablesdb.*.tables.movies.rows.lion-king", "tablesdb.default.tables.movies.rows.*",
"tablesdb.*.tables.movies.rows.*", "tablesdb.default.tables.*.rows.*", "tablesdb.default.tables.movies", "tablesdb.*.tables.*",
"tablesdb.default.tables.*", "tablesdb.*.tables.movies", "tablesdb.default", "tablesdb.*" ] } ```'
related:
asyncapi: asyncapi/appwrite-asyncapi.yml
conventions: conventions/appwrite-conventions.yml
maintainers:
- FN: Kin Lane
email: kin@apievangelist.com
Work with this as data
Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for asyncapi
4 MCP tools reach this
find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/appwrite-webhooks"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"
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.
A second provider on the same verified email joins the account you already have.