Rank 1: Thread
Since sometime between 2026-10-24 14:05 UTC and 2026-10-25 09:24 UTC, every function execution triggered through the function's generated domain (*.appwrite.network) fails on its first database call with:
AppwriteException: The API key sent in the X-Appwrite-Key header is not valid for this request. Send a key that belongs to this project, organization or account, or remove the header.
The same functions, with the same scopes, work when executed through the API (createExecution). So it looks like the dynamic key issued for domain requests is broken.
Setup
- Project 68ac93e4003d4d13c373, region fra
- Runtime node-22, node-appwrite 29.0.0
- Client built the documented way: new Client().setEndpoint(APPWRITE_FUNCTION_API_ENDPOINT).setProject(APPWRITE_FUNCTION_PROJECT_ID).setKey(req.headers['x-appwrite-key'])
- First call that fails: tablesDB.getRow(...) / tablesDB.listRows(...)
What we checked
- A webhook function with no code or settings change since its last successful run (2026-10-24 14:04 UTC) fails when the same webhook is redelivered today.
- A second domain-triggered function with only rows.read fails the same way.
- Functions run through createExecution with the same scopes work today (rows.read/write, files.read/write, execution.write).
- Changing scopes doesn't help: we tried with and without files., and with the documentsdb. / vectorsdb.* scopes added back (these btw were randomly added to our functions).
Example executions (happy to share the function ids in a DM)
- 6addd1194d824f354482 (2026-10-25 09:51:21 UTC)
- 6addd18f3a2b66a4b450 (2026-10-25 09:53:19 UTC)
- 6addd12ec369ade2926f (2026-10-25 09:51:42 UTC)
This blocks our payment webhook in production, so any pointer or ETA would be much appreciated. Thanks!