diff --git a/.env b/.env
index 4980315c9ae..b7dd9e24f39 100644
--- a/.env
+++ b/.env
@@ -24,7 +24,7 @@ _APP_OPENSSL_KEY_V1=your-secret-key
_APP_DOMAIN=traefik
_APP_DOMAIN_FUNCTIONS=functions.localhost
_APP_DOMAIN_SITES=sites.localhost
-_APP_DOMAIN_TARGET_CNAME=test.appwrite.io
+_APP_DOMAIN_TARGET_CNAME=test.localhost
_APP_DOMAIN_TARGET_A=127.0.0.1
_APP_DOMAIN_TARGET_AAAA=::1
_APP_RULES_FORMAT=md5
@@ -85,7 +85,7 @@ _APP_COMPUTE_RUNTIMES_NETWORK=runtimes
_APP_EXECUTOR_SECRET=your-secret-key
_APP_EXECUTOR_HOST=http://exc1/v1
_APP_FUNCTIONS_RUNTIMES=php-8.0,node-18.0,python-3.9,ruby-3.1
-_APP_SITES_RUNTIMES=static-1,node-22,flutter-3.29
+_APP_SITES_RUNTIMES=static-1,node-22,flutter-3.32
_APP_MAINTENANCE_INTERVAL=86400
_APP_MAINTENANCE_START_TIME=12:00
_APP_MAINTENANCE_RETENTION_CACHE=2592000
diff --git a/.github/workflows/sdk-preview.yml b/.github/workflows/sdk-preview.yml
index 92b4f454cbb..e317845768e 100644
--- a/.github/workflows/sdk-preview.yml
+++ b/.github/workflows/sdk-preview.yml
@@ -1,25 +1,46 @@
-name: "Console SDK Preview"
+name: "SDK Preview"
on:
pull_request:
paths:
- 'app/config/specs/*-latest-console.json'
-
+ workflow_dispatch:
+ inputs:
+ platform:
+ type: choice
+ description: "Platform to build"
+ options:
+ - client
+ - server
jobs:
setup:
- name: Setup & Build Console SDK
+ name: Setup & Build SDK
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
+
+ - name: Set SDK type
+ id: set-sdk
+ run: |
+ PLATFORM="${{ github.event.inputs.platform }}"
+ if [ -z "$PLATFORM" ]; then
+ PLATFORM="console"
+ fi
+ if [ "$PLATFORM" = "server" ]; then
+ echo "sdk_type=nodejs" >> $GITHUB_OUTPUT
+ else
+ echo "sdk_type=web" >> $GITHUB_OUTPUT
+ fi
+ echo "platform=$PLATFORM" >> $GITHUB_OUTPUT
- name: Load and Start Appwrite
run: |
docker compose build
docker compose up -d
- docker compose exec appwrite sdks --platform=console --sdk=web --version=latest --git=no
- sudo chown -R $USER:$USER ./app/sdks/console-web
+ docker compose exec appwrite sdks --platform=${{ steps.set-sdk.outputs.platform }} --sdk=${{ steps.set-sdk.outputs.sdk_type }} --version=latest --git=no
+ sudo chown -R $USER:$USER ./app/sdks/${{ steps.set-sdk.outputs.platform }}-${{ steps.set-sdk.outputs.sdk_type }}
- uses: actions/setup-node@v4
with:
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index a7fc1cf0c63..6fd4e89858d 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -303,7 +303,7 @@ jobs:
docker compose up -d
sleep 30
- - name: Run Projects tests with dev keys in ${{ matrix.tables-mode }} table mode
+ - name: Run Projects tests with dev keys in dedicated table mode
run: |
echo "Using project tables"
export _APP_DATABASE_SHARED_TABLES=
diff --git a/CHANGES.md b/CHANGES.md
index 62db3d525eb..bc903e4b318 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,267 @@
+# Version 1.6.2
+
+## What's Changed
+
+### Notable changes
+
+* Delete git folder to reduce build size in [9076](https://github.com/appwrite/appwrite/pull/9076)
+* Upgrade assistant in [9100](https://github.com/appwrite/appwrite/pull/9100)
+* Use redis adapter for abuse in [9121](https://github.com/appwrite/appwrite/pull/9121)
+* Set base specification CPUs to 0.5 again in [9146](https://github.com/appwrite/appwrite/pull/9146)
+* Add new push message parameters in [9060](https://github.com/appwrite/appwrite/pull/9060)
+* Update audits to include user type in [9211](https://github.com/appwrite/appwrite/pull/9211)
+* Enable HEIC in [9251](https://github.com/appwrite/appwrite/pull/9251)
+* Added teamName to membership redirect url in [9269](https://github.com/appwrite/appwrite/pull/9269)
+* Add support endpoint url for S3 in [9303](https://github.com/appwrite/appwrite/pull/9303)
+* Added RuPay Credit Card Icon in Avatars Service in [5046](https://github.com/appwrite/appwrite/pull/5046)
+* Add figma oauth provider in [9623](https://github.com/appwrite/appwrite/pull/9623)
+* Update console to version 5.2.58 in [9637](https://github.com/appwrite/appwrite/pull/9637)
+
+### Fixes
+
+* Remove failed attribute in [9032](https://github.com/appwrite/appwrite/pull/9032)
+* Fix delete notFound attribute in [9038](https://github.com/appwrite/appwrite/pull/9038)
+* 🇮🇸 Added missing Icelandic translations for email strings. in [4848](https://github.com/appwrite/appwrite/pull/4848)
+* fix doc comment for filter method in [5769](https://github.com/appwrite/appwrite/pull/5769)
+* Delete attribute No throwing Exception on not found in [9157](https://github.com/appwrite/appwrite/pull/9157)
+* Fix VCS identity collision in [9138](https://github.com/appwrite/appwrite/pull/9138)
+* Fix disabling of email-otp when user wants to in [9200](https://github.com/appwrite/appwrite/pull/9200)
+* Ensure user can delete session in [9209](https://github.com/appwrite/appwrite/pull/9209)
+* Fix resend invitation in [9218](https://github.com/appwrite/appwrite/pull/9218)
+* Fix phone number parsing exception handling in [9246](https://github.com/appwrite/appwrite/pull/9246)
+* Fix amazon oauth in [9253](https://github.com/appwrite/appwrite/pull/9253)
+* Fix slack oauth scopes, and updated to v2 in [9228](https://github.com/appwrite/appwrite/pull/9228)
+* Fix forwarded user agent in [9271](https://github.com/appwrite/appwrite/pull/9271)
+* Fix WEBP File Preview Rendering Issue in [9321](https://github.com/appwrite/appwrite/pull/9321)
+* Fix build memory specifications in [9360](https://github.com/appwrite/appwrite/pull/9360)
+* Fix Self Hosting functions by adding missed config in [9373](https://github.com/appwrite/appwrite/pull/9373)
+* Fix resend team invite if already accepted in [9348](https://github.com/appwrite/appwrite/pull/9348)
+* Fix null errors on team invite in [9391](https://github.com/appwrite/appwrite/pull/9391)
+* Fix email (smtp) to multiple recipients in [9243](https://github.com/appwrite/appwrite/pull/9243)
+* Fix stats timing by using receivedAt date when available in [9428](https://github.com/appwrite/appwrite/pull/9428)
+* Make min/max params optional for attribute update in [9387](https://github.com/appwrite/appwrite/pull/9387)
+* Fix blocking of phone sessions when disabled on console in [9447](https://github.com/appwrite/appwrite/pull/9447)
+* Fix logging config in [9467](https://github.com/appwrite/appwrite/pull/9467)
+* Update audit timestamp origin in [9481](https://github.com/appwrite/appwrite/pull/9481)
+* Fix certificates in deletes worker in [9466](https://github.com/appwrite/appwrite/pull/9466)
+* Fix console audits delete in [9547](https://github.com/appwrite/appwrite/pull/9547)
+* Fix migrations in [9633](https://github.com/appwrite/appwrite/pull/9633)
+* Ensure all 4xx errors in OAuth redirect lead to the failure URL in [9679](https://github.com/appwrite/appwrite/pull/9679)
+* Treat 0 as unlimited for CPUs and memory in [9638](https://github.com/appwrite/appwrite/pull/9638)
+* Add contextual dispatch logic to fix high CPU usage in [9687](https://github.com/appwrite/appwrite/pull/9687)
+
+### Miscellaneous
+
+* Merge 1.6.x into feat-custom-cf-hostnames in [8904](https://github.com/appwrite/appwrite/pull/8904)
+* Improve compression param checks in [8922](https://github.com/appwrite/appwrite/pull/8922)
+* upgrade utopia storage in [8930](https://github.com/appwrite/appwrite/pull/8930)
+* Feat migration in [8797](https://github.com/appwrite/appwrite/pull/8797)
+* feat fix web routes in [8962](https://github.com/appwrite/appwrite/pull/8962)
+* Fix no pool access in [9027](https://github.com/appwrite/appwrite/pull/9027)
+* feat: use environment variable to check rules format in [9039](https://github.com/appwrite/appwrite/pull/9039)
+* Update storage.php in [9037](https://github.com/appwrite/appwrite/pull/9037)
+* Upgrade db 0.53.200 in [9050](https://github.com/appwrite/appwrite/pull/9050)
+* Chore: upgrade utopia storage in [9066](https://github.com/appwrite/appwrite/pull/9066)
+* Update usage-dump payload in [9085](https://github.com/appwrite/appwrite/pull/9085)
+* GitHub Workflows security hardening in [3728](https://github.com/appwrite/appwrite/pull/3728)
+* Update add-oauth2-provider.md in [4313](https://github.com/appwrite/appwrite/pull/4313)
+* update readme-cn some doc in [5278](https://github.com/appwrite/appwrite/pull/5278)
+* Add accessibility features in [7042](https://github.com/appwrite/appwrite/pull/7042)
+* Add Appwrite Cloud to read me. in [5445](https://github.com/appwrite/appwrite/pull/5445)
+* Migration throw error in [9092](https://github.com/appwrite/appwrite/pull/9092)
+* Fix usage payload bug in [9097](https://github.com/appwrite/appwrite/pull/9097)
+* chore: replace occurrences of dbForConsole to dbForPlatform in [9096](https://github.com/appwrite/appwrite/pull/9096)
+* fix(realtime): decrement connectionCounter only if connection is known in [9055](https://github.com/appwrite/appwrite/pull/9055)
+* payload bug fix in [9098](https://github.com/appwrite/appwrite/pull/9098)
+* Fix usage payload bug in [9099](https://github.com/appwrite/appwrite/pull/9099)
+* Usage payload debug in [9101](https://github.com/appwrite/appwrite/pull/9101)
+* Usage payload debug in [9103](https://github.com/appwrite/appwrite/pull/9103)
+* Usage payload debug in [9104](https://github.com/appwrite/appwrite/pull/9104)
+* Feat: createFunction abuse labels in [9102](https://github.com/appwrite/appwrite/pull/9102)
+* Docs-create-document in [9105](https://github.com/appwrite/appwrite/pull/9105)
+* Docs: Create document and unknown attribute error messages. in [5427](https://github.com/appwrite/appwrite/pull/5427)
+* Fix: update project accessed at from router and schedulers in [9109](https://github.com/appwrite/appwrite/pull/9109)
+* chore: initial commit in [9111](https://github.com/appwrite/appwrite/pull/9111)
+* chore: optimise webhooks payload in [9115](https://github.com/appwrite/appwrite/pull/9115)
+* Revert "chore: initial commit" in [9117](https://github.com/appwrite/appwrite/pull/9117)
+* chore: fix attribute name in [9118](https://github.com/appwrite/appwrite/pull/9118)
+* Migrate to redis abuse in [9124](https://github.com/appwrite/appwrite/pull/9124)
+* Added webhooks usage stats in [9125](https://github.com/appwrite/appwrite/pull/9125)
+* chore remove abuse cleanup in [9137](https://github.com/appwrite/appwrite/pull/9137)
+* fix: remove abuse delete trigger in [9139](https://github.com/appwrite/appwrite/pull/9139)
+* Remove firebase OAuth API endpoints in [9144](https://github.com/appwrite/appwrite/pull/9144)
+* chore: release client sdks in [9112](https://github.com/appwrite/appwrite/pull/9112)
+* Update general.php in [9155](https://github.com/appwrite/appwrite/pull/9155)
+* feat(swoole): allow configuration override of available cpus in [9177](https://github.com/appwrite/appwrite/pull/9177)
+* Usage databases api read writes addition in [9142](https://github.com/appwrite/appwrite/pull/9142)
+* Fix dead connections in [9190](https://github.com/appwrite/appwrite/pull/9190)
+* Add hostname to audits in [9165](https://github.com/appwrite/appwrite/pull/9165)
+* chore: shifted authphone usage tracking to api calls in [9191](https://github.com/appwrite/appwrite/pull/9191)
+* Revert "Fix dead connections" in [9201](https://github.com/appwrite/appwrite/pull/9201)
+* Add assertEventually to messaging provider logs test in [9192](https://github.com/appwrite/appwrite/pull/9192)
+* feat project sms usage in [9198](https://github.com/appwrite/appwrite/pull/9198)
+* chore: add audit labels to project resources in [9056](https://github.com/appwrite/appwrite/pull/9056)
+* fix sms usage in [9207](https://github.com/appwrite/appwrite/pull/9207)
+* Update database in [9202](https://github.com/appwrite/appwrite/pull/9202)
+* Fix dead connections in [9213](https://github.com/appwrite/appwrite/pull/9213)
+* Revert "Fix dead connections" in [9214](https://github.com/appwrite/appwrite/pull/9214)
+* Add logs db init for consistency in [9163](https://github.com/appwrite/appwrite/pull/9163)
+* Split the collection definitions in [9153](https://github.com/appwrite/appwrite/pull/9153)
+* Log path with populated parameters in [9220](https://github.com/appwrite/appwrite/pull/9220)
+* Add missing scope on function template in [9208](https://github.com/appwrite/appwrite/pull/9208)
+* Add relatedCollection default in [9225](https://github.com/appwrite/appwrite/pull/9225)
+* fix: function usage in [9235](https://github.com/appwrite/appwrite/pull/9235)
+* feat: optimise events payloads in [9232](https://github.com/appwrite/appwrite/pull/9232)
+* Optimise webhook events in [9168](https://github.com/appwrite/appwrite/pull/9168)
+* fix: maintenance job missing type in [9238](https://github.com/appwrite/appwrite/pull/9238)
+* Update Fetch to 0.3.0 in [9245](https://github.com/appwrite/appwrite/pull/9245)
+* Fix maintenance job in [9247](https://github.com/appwrite/appwrite/pull/9247)
+* chore: add missing case for executions in [9248](https://github.com/appwrite/appwrite/pull/9248)
+* Add index dependency exception in [9226](https://github.com/appwrite/appwrite/pull/9226)
+* chore: fix benchmarking test when made from fork in [9233](https://github.com/appwrite/appwrite/pull/9233)
+* Update SDK Generator versions in [9188](https://github.com/appwrite/appwrite/pull/9188)
+* chore: skipped job instead of throwing error in [9250](https://github.com/appwrite/appwrite/pull/9250)
+* Implement new SDK Class on 1.6.x in [9237](https://github.com/appwrite/appwrite/pull/9237)
+* Delete collection before Appwrite's attributes in [9256](https://github.com/appwrite/appwrite/pull/9256)
+* Feat batch usage dump in [9255](https://github.com/appwrite/appwrite/pull/9255)
+* Fix cloud tests in [9261](https://github.com/appwrite/appwrite/pull/9261)
+* Usage: Databases reads writes in [9260](https://github.com/appwrite/appwrite/pull/9260)
+* Update: Latest sdk specs in [9274](https://github.com/appwrite/appwrite/pull/9274)
+* Revert "Feat batch usage dump" in [9276](https://github.com/appwrite/appwrite/pull/9276)
+* feat: add fast2SMS adapter in [9263](https://github.com/appwrite/appwrite/pull/9263)
+* Update Sdk Generator dependency in [9280](https://github.com/appwrite/appwrite/pull/9280)
+* Transformed at addition in [9281](https://github.com/appwrite/appwrite/pull/9281)
+* Docs: clarify update endpoints only work on draft messages in [9236](https://github.com/appwrite/appwrite/pull/9236)
+* Update sdk generator dependency in [9282](https://github.com/appwrite/appwrite/pull/9282)
+* Revert "Transformed at addition" in [9284](https://github.com/appwrite/appwrite/pull/9284)
+* replaced init for cloud link in [9285](https://github.com/appwrite/appwrite/pull/9285)
+* Add transformed at in [9289](https://github.com/appwrite/appwrite/pull/9289)
+* Make migrations use Dynamic keys for destination in [9291](https://github.com/appwrite/appwrite/pull/9291)
+* Make sessions limit tests assert eventually in [9298](https://github.com/appwrite/appwrite/pull/9298)
+* Chore update database in [9306](https://github.com/appwrite/appwrite/pull/9306)
+* feat: add AMQP queues in [9287](https://github.com/appwrite/appwrite/pull/9287)
+* fix(test): use assertEventually instead of while(true) in [9308](https://github.com/appwrite/appwrite/pull/9308)
+* fix(certificate worker): events are published without queue name in [9309](https://github.com/appwrite/appwrite/pull/9309)
+* chore: update utopia-php/queue to 0.8.1 in [9311](https://github.com/appwrite/appwrite/pull/9311)
+* chore: update utopia-php/queue to 0.8.2 in [9312](https://github.com/appwrite/appwrite/pull/9312)
+* fix(schedule-tasks): revert back to direct pool usage in [9313](https://github.com/appwrite/appwrite/pull/9313)
+* feat: custom app schemes in [9262](https://github.com/appwrite/appwrite/pull/9262)
+* Revert "feat: custom app schemes" in [9319](https://github.com/appwrite/appwrite/pull/9319)
+* Restore "feat: custom app schemes"" in [9320](https://github.com/appwrite/appwrite/pull/9320)
+* Revert "Restore "feat: custom app schemes""" in [9323](https://github.com/appwrite/appwrite/pull/9323)
+* chore: update dependencies in [9330](https://github.com/appwrite/appwrite/pull/9330)
+* Feat: logs DB in [9272](https://github.com/appwrite/appwrite/pull/9272)
+* Catch invalid index in [9329](https://github.com/appwrite/appwrite/pull/9329)
+* Fix: missing call for image transformations counting in [9342](https://github.com/appwrite/appwrite/pull/9342)
+* Fix drop abuse on shared table project delete in [9346](https://github.com/appwrite/appwrite/pull/9346)
+* Only run all table mode tests on db update in [9338](https://github.com/appwrite/appwrite/pull/9338)
+* Fix: missing periodic metric in [9350](https://github.com/appwrite/appwrite/pull/9350)
+* feat(builds): check if function is blocked before building in [9332](https://github.com/appwrite/appwrite/pull/9332)
+* feat: batch create audit logs in [9347](https://github.com/appwrite/appwrite/pull/9347)
+* Chore: Update migrations in [9355](https://github.com/appwrite/appwrite/pull/9355)
+* Fix: metric time was not being written to DB in [9354](https://github.com/appwrite/appwrite/pull/9354)
+* Fix patch index validation in [9356](https://github.com/appwrite/appwrite/pull/9356)
+* Fix image trnasformation metrics in [9370](https://github.com/appwrite/appwrite/pull/9370)
+* Use batch delete in worker in [9375](https://github.com/appwrite/appwrite/pull/9375)
+* Fix Model Platform is missing response key: store in [9361](https://github.com/appwrite/appwrite/pull/9361)
+* Feat key segmented usage in [9336](https://github.com/appwrite/appwrite/pull/9336)
+* Feat messaging metrics in [9353](https://github.com/appwrite/appwrite/pull/9353)
+* Fix removed audits for shared v2 in [9388](https://github.com/appwrite/appwrite/pull/9388)
+* chore: bump utopia-php/image to 0.8.0 in [9390](https://github.com/appwrite/appwrite/pull/9390)
+* Fix outdated CLI commands in documentation in [9122](https://github.com/appwrite/appwrite/pull/9122)
+* disable logs display in [9398](https://github.com/appwrite/appwrite/pull/9398)
+* Log batches per project in [9403](https://github.com/appwrite/appwrite/pull/9403)
+* Batch per project in [9410](https://github.com/appwrite/appwrite/pull/9410)
+* Fix: stats resources only queue projects accessed in last 3 hours in [9411](https://github.com/appwrite/appwrite/pull/9411)
+* Track options requests in [9397](https://github.com/appwrite/appwrite/pull/9397)
+* chore: bump docker-base in [9406](https://github.com/appwrite/appwrite/pull/9406)
+* refactor: migrate Realtime::send calls to queueForRealtime in [9325](https://github.com/appwrite/appwrite/pull/9325)
+* Revert "Fix: stats resources only queue projects accessed in last 3 hours" in [9424](https://github.com/appwrite/appwrite/pull/9424)
+* Remove usage and usage dump in favor of stats-usage and stats-usage-dump in [9339](https://github.com/appwrite/appwrite/pull/9339)
+* Fix: disable dual writing in [9429](https://github.com/appwrite/appwrite/pull/9429)
+* Disable transformedAt update for console users in [9425](https://github.com/appwrite/appwrite/pull/9425)
+* chore: add image transformation stats to usage endpoint in [9393](https://github.com/appwrite/appwrite/pull/9393)
+* chore: added timeout to deployment builds in tests in [9426](https://github.com/appwrite/appwrite/pull/9426)
+* fix: model for image transformations in usage project in [9442](https://github.com/appwrite/appwrite/pull/9442)
+* Feat: calculate database storage in stats-resources in [9443](https://github.com/appwrite/appwrite/pull/9443)
+* Activities batch writes in [9438](https://github.com/appwrite/appwrite/pull/9438)
+* chore: bump cache 0.12.x in [9412](https://github.com/appwrite/appwrite/pull/9412)
+* chore: queue console project for maintenance delete in [9479](https://github.com/appwrite/appwrite/pull/9479)
+* chore: added logsdb for deletes worker in [9462](https://github.com/appwrite/appwrite/pull/9462)
+* Feat: calculate and log time taken for each project in [9491](https://github.com/appwrite/appwrite/pull/9491)
+* chore: update initializing dbForLogs in [9494](https://github.com/appwrite/appwrite/pull/9494)
+* Feat bulk audit delete in [9487](https://github.com/appwrite/appwrite/pull/9487)
+* Prepare 1.6.2 release in [9499](https://github.com/appwrite/appwrite/pull/9499)
+* Regenerate specs in [9497](https://github.com/appwrite/appwrite/pull/9497)
+* Regenerate examples in [9498](https://github.com/appwrite/appwrite/pull/9498)
+* chore: bump sdk in [9414](https://github.com/appwrite/appwrite/pull/9414)
+* update queue to 0.9.* in [9505](https://github.com/appwrite/appwrite/pull/9505)
+* Feat improve delete queries in [9507](https://github.com/appwrite/appwrite/pull/9507)
+* Feat: Add rule attributes in [9508](https://github.com/appwrite/appwrite/pull/9508)
+* Sync main into 1.6.x in [9496](https://github.com/appwrite/appwrite/pull/9496)
+* Bump console to version 5.2.53 in [9495](https://github.com/appwrite/appwrite/pull/9495)
+* Prepare 1.6.1 release in [9294](https://github.com/appwrite/appwrite/pull/9294)
+* Improve delete ordering in [9512](https://github.com/appwrite/appwrite/pull/9512)
+* Cleanups in [9511](https://github.com/appwrite/appwrite/pull/9511)
+* Feat dynamic regions in [9408](https://github.com/appwrite/appwrite/pull/9408)
+* Feat env vars to system lib in [9515](https://github.com/appwrite/appwrite/pull/9515)
+* Feat: domains count in [9514](https://github.com/appwrite/appwrite/pull/9514)
+* Migration read from db in [9529](https://github.com/appwrite/appwrite/pull/9529)
+* feat: add pool telemetry in [9530](https://github.com/appwrite/appwrite/pull/9530)
+* Disable PDO persistence since we manage our own pool in [9526](https://github.com/appwrite/appwrite/pull/9526)
+* chore: set min operations to 1 for reads and writes in [9536](https://github.com/appwrite/appwrite/pull/9536)
+* Remove default region in [9430](https://github.com/appwrite/appwrite/pull/9430)
+* Use cursor pagination with bigger limit for maintenance project loop in [9546](https://github.com/appwrite/appwrite/pull/9546)
+* chore: stop tests on failure in [9525](https://github.com/appwrite/appwrite/pull/9525)
+* chore: only update total count for privileged users in [9554](https://github.com/appwrite/appwrite/pull/9554)
+* refactor: initialization of audit retention in [9563](https://github.com/appwrite/appwrite/pull/9563)
+* Delete worker queries fixes in [9523](https://github.com/appwrite/appwrite/pull/9523)
+* Bump database 0.62.x in [9568](https://github.com/appwrite/appwrite/pull/9568)
+* Fix: schedules region filtering in [9577](https://github.com/appwrite/appwrite/pull/9577)
+* Deletes worker fix selects for pagination in [9578](https://github.com/appwrite/appwrite/pull/9578)
+* Add $permissions for delete documents selects in [9579](https://github.com/appwrite/appwrite/pull/9579)
+* chore(audits): return queue pre-fetch results in [9533](https://github.com/appwrite/appwrite/pull/9533)
+* Revert "chore(audits): return queue pre-fetch results" in [9586](https://github.com/appwrite/appwrite/pull/9586)
+* Feat multi tenant insert in [9573](https://github.com/appwrite/appwrite/pull/9573)
+* Add order by for cursor in [9588](https://github.com/appwrite/appwrite/pull/9588)
+* Feat update fetch in [9592](https://github.com/appwrite/appwrite/pull/9592)
+* Fix tenant casting in [9598](https://github.com/appwrite/appwrite/pull/9598)
+* Feat update ws in [9602](https://github.com/appwrite/appwrite/pull/9602)
+* Update database in [9603](https://github.com/appwrite/appwrite/pull/9603)
+* Fix: image transformation cache in [9608](https://github.com/appwrite/appwrite/pull/9608)
+* Remove audit payload in [9610](https://github.com/appwrite/appwrite/pull/9610)
+* Sample rate from DSN in [9559](https://github.com/appwrite/appwrite/pull/9559)
+* Restrict role change for sole org owner in [9615](https://github.com/appwrite/appwrite/pull/9615)
+* chore: update php image to 0.8.1 in [9616](https://github.com/appwrite/appwrite/pull/9616)
+* feat: refactor executor setup in [9420](https://github.com/appwrite/appwrite/pull/9420)
+* chore: update gitpod.yml config in [9561](https://github.com/appwrite/appwrite/pull/9561)
+* chore: update dependencies in [9625](https://github.com/appwrite/appwrite/pull/9625)
+* Update migrations lib in [9628](https://github.com/appwrite/appwrite/pull/9628)
+* feat: cache telemetry in [9624](https://github.com/appwrite/appwrite/pull/9624)
+* Bump console to version 5.2.56 in [9631](https://github.com/appwrite/appwrite/pull/9631)
+* Multi region support in [8667](https://github.com/appwrite/appwrite/pull/8667)
+* Revert "Multi region support" in [9632](https://github.com/appwrite/appwrite/pull/9632)
+* Revert "Revert "Multi region support"" in [9636](https://github.com/appwrite/appwrite/pull/9636)
+* Fix tasks in [9644](https://github.com/appwrite/appwrite/pull/9644)
+* chore: updated the migration version to 8.6 in [9646](https://github.com/appwrite/appwrite/pull/9646)
+* Fix: merge the working of StatsUsage and StatsUsageDump in [9585](https://github.com/appwrite/appwrite/pull/9585)
+* Update database in [9643](https://github.com/appwrite/appwrite/pull/9643)
+* chore: fix error logging for CLI tasks in [9651](https://github.com/appwrite/appwrite/pull/9651)
+* fix: usage test assertion in [9653](https://github.com/appwrite/appwrite/pull/9653)
+* Fix keys in [9656](https://github.com/appwrite/appwrite/pull/9656)
+* Feat: multi tenant dual writing in [9583](https://github.com/appwrite/appwrite/pull/9583)
+* Fix/throwing 400 for null order attributes in [9657](https://github.com/appwrite/appwrite/pull/9657)
+* feat: sdk group attribute in [9596](https://github.com/appwrite/appwrite/pull/9596)
+* Add configurable function and build size in [9648](https://github.com/appwrite/appwrite/pull/9648)
+* feat: update API endpoint in the code examples in [8933](https://github.com/appwrite/appwrite/pull/8933)
+* chore: abstract token secret hiding to response model in [9574](https://github.com/appwrite/appwrite/pull/9574)
+* chore: update sdks in [9655](https://github.com/appwrite/appwrite/pull/9655)
+* feat: allow non-critical events to ignore exceptions when enqueuing the event in [9680](https://github.com/appwrite/appwrite/pull/9680)
+* Revert "Add configurable function and build size" in [9681](https://github.com/appwrite/appwrite/pull/9681)
+* core: introduce endpoint.docs in specs in [9685](https://github.com/appwrite/appwrite/pull/9685)
+* fix: remove content-type header from get request specs in [9666](https://github.com/appwrite/appwrite/pull/9666)
+* chore: update flutter sdk in [9691](https://github.com/appwrite/appwrite/pull/9691)
+
# Version 1.6.1
## What's Changed
diff --git a/README-CN.md b/README-CN.md
index a81d99c3c3a..a9a6b3c867f 100644
--- a/README-CN.md
+++ b/README-CN.md
@@ -72,7 +72,7 @@ docker run -it --rm \
--volume /var/run/docker.sock:/var/run/docker.sock \
--volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \
--entrypoint="install" \
- appwrite/appwrite:1.6.2
+ appwrite/appwrite:1.7.4
```
### Windows
@@ -84,7 +84,7 @@ docker run -it --rm ^
--volume //var/run/docker.sock:/var/run/docker.sock ^
--volume "%cd%"/appwrite:/usr/src/code/appwrite:rw ^
--entrypoint="install" ^
- appwrite/appwrite:1.6.2
+ appwrite/appwrite:1.7.4
```
#### PowerShell
@@ -94,7 +94,7 @@ docker run -it --rm `
--volume /var/run/docker.sock:/var/run/docker.sock `
--volume ${pwd}/appwrite:/usr/src/code/appwrite:rw `
--entrypoint="install" `
- appwrite/appwrite:1.6.2
+ appwrite/appwrite:1.7.4
```
运行后,可以在浏览器上访问 http://localhost 找到 Appwrite 控制台。在非 Linux 的本机主机上完成安装后,服务器可能需要几分钟才能启动。
diff --git a/README.md b/README.md
index c3585dbb68a..88d3fe89dfe 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,5 @@
> [Get started with Appwrite](https://apwr.dev/appcloud)
+> [Join the Init kick off event 19th of May: The future of Appwrite with Founder & CEO Eldad Fux](https://www.youtube.com/watch?v=1g8tuogsp7A)
@@ -77,7 +78,7 @@ docker run -it --rm \
--volume /var/run/docker.sock:/var/run/docker.sock \
--volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \
--entrypoint="install" \
- appwrite/appwrite:1.6.2
+ appwrite/appwrite:1.7.4
```
### Windows
@@ -89,7 +90,7 @@ docker run -it --rm ^
--volume //var/run/docker.sock:/var/run/docker.sock ^
--volume "%cd%"/appwrite:/usr/src/code/appwrite:rw ^
--entrypoint="install" ^
- appwrite/appwrite:1.6.2
+ appwrite/appwrite:1.7.4
```
#### PowerShell
@@ -99,7 +100,7 @@ docker run -it --rm `
--volume /var/run/docker.sock:/var/run/docker.sock `
--volume ${pwd}/appwrite:/usr/src/code/appwrite:rw `
--entrypoint="install" `
- appwrite/appwrite:1.6.2
+ appwrite/appwrite:1.7.4
```
Once the Docker installation is complete, go to http://localhost to access the Appwrite console from your browser. Please note that on non-Linux native hosts, the server might take a few minutes to start after completing the installation.
diff --git a/app/cli.php b/app/cli.php
index 0f0e48bf7df..7c2daf45008 100644
--- a/app/cli.php
+++ b/app/cli.php
@@ -10,12 +10,15 @@
use Appwrite\Platform\Appwrite;
use Appwrite\Runtimes\Runtimes;
use Executor\Executor;
+use Swoole\Runtime;
use Swoole\Timer;
+use Utopia\Cache\Adapter\Pool as CachePool;
use Utopia\Cache\Adapter\Sharding;
use Utopia\Cache\Cache;
use Utopia\CLI\CLI;
use Utopia\CLI\Console;
use Utopia\Config\Config;
+use Utopia\Database\Adapter\Pool as DatabasePool;
use Utopia\Database\Database;
use Utopia\Database\Document;
use Utopia\Database\Validator\Authorization;
@@ -23,6 +26,7 @@
use Utopia\Logger\Log;
use Utopia\Platform\Service;
use Utopia\Pools\Group;
+use Utopia\Queue\Broker\Pool as BrokerPool;
use Utopia\Queue\Publisher;
use Utopia\Registry\Registry;
use Utopia\System\System;
@@ -45,10 +49,7 @@
$adapters = [];
foreach ($list as $value) {
- $adapters[] = $pools
- ->get($value)
- ->pop()
- ->getResource();
+ $adapters[] = new CachePool($pools->get($value));
}
return new Cache(new Sharding($adapters));
@@ -68,12 +69,8 @@
$attempts++;
try {
// Prepare database connection
- $dbAdapter = $pools
- ->get('console')
- ->pop()
- ->getResource();
-
- $dbForPlatform = new Database($dbAdapter, $cache);
+ $adapter = new DatabasePool($pools->get('console'));
+ $dbForPlatform = new Database($adapter, $cache);
$dbForPlatform
->setNamespace('_console')
@@ -91,7 +88,6 @@
$ready = true;
} catch (\Throwable $err) {
Console::warning($err->getMessage());
- $pools->get('console')->reclaim();
sleep($sleep);
}
} while ($attempts < $maxAttempts && !$ready);
@@ -141,12 +137,8 @@
return $database;
}
- $dbAdapter = $pools
- ->get($dsn->getHost())
- ->pop()
- ->getResource();
-
- $database = new Database($dbAdapter, $cache);
+ $adapter = new DatabasePool($pools->get($dsn->getHost()));
+ $database = new Database($adapter, $cache);
$databases[$dsn->getHost()] = $database;
$sharedTables = \explode(',', System::getEnv('_APP_DATABASE_SHARED_TABLES', ''));
@@ -172,21 +164,15 @@
CLI::setResource('getLogsDB', function (Group $pools, Cache $cache) {
$database = null;
+
return function (?Document $project = null) use ($pools, $cache, $database) {
if ($database !== null && $project !== null && !$project->isEmpty() && $project->getId() !== 'console') {
$database->setTenant($project->getInternalId());
return $database;
}
- $dbAdapter = $pools
- ->get('logs')
- ->pop()
- ->getResource();
-
- $database = new Database(
- $dbAdapter,
- $cache
- );
+ $adapter = new DatabasePool($pools->get('logs'));
+ $database = new Database($adapter, $cache);
$database
->setSharedTables(true)
@@ -210,7 +196,7 @@
return new StatsResources($publisher);
}, ['publisher']);
CLI::setResource('publisher', function (Group $pools) {
- return $pools->get('publisher')->pop()->getResource();
+ return new BrokerPool(publisher: $pools->get('publisher'));
}, ['pools']);
CLI::setResource('queueForFunctions', function (Publisher $publisher) {
return new Func($publisher);
@@ -298,4 +284,5 @@
$cli->shutdown()->action(fn () => Timer::clearAll());
+Runtime::enableCoroutine(SWOOLE_HOOK_ALL);
run($cli->run(...));
diff --git a/app/config/collections/common.php b/app/config/collections/common.php
index e77d5403d21..6de7eb224bc 100644
--- a/app/config/collections/common.php
+++ b/app/config/collections/common.php
@@ -1439,13 +1439,6 @@
'lengths' => [],
'orders' => [Database::ORDER_ASC],
],
- [
- '$id' => ID::custom('_key_roles'),
- 'type' => Database::INDEX_KEY,
- 'attributes' => ['roles'],
- 'lengths' => [128],
- 'orders' => [],
- ],
],
],
diff --git a/app/config/errors.php b/app/config/errors.php
index 6d9d29a8ead..8365e8c7056 100644
--- a/app/config/errors.php
+++ b/app/config/errors.php
@@ -393,6 +393,16 @@
'description' => 'Membership is already confirmed.',
'code' => 409,
],
+ Exception::MEMBERSHIP_DELETION_PROHIBITED => [
+ 'name' => Exception::MEMBERSHIP_DELETION_PROHIBITED,
+ 'description' => 'Membership deletion is prohibited.',
+ 'code' => 400,
+ ],
+ Exception::MEMBERSHIP_DOWNGRADE_PROHIBITED => [
+ 'name' => Exception::MEMBERSHIP_DOWNGRADE_PROHIBITED,
+ 'description' => 'Membership role downgrade is prohibited.',
+ 'code' => 400,
+ ],
/** Avatars */
Exception::AVATAR_SET_NOT_FOUND => [
diff --git a/app/config/platforms.php b/app/config/platforms.php
index 0bfc736119a..7d481d508e5 100644
--- a/app/config/platforms.php
+++ b/app/config/platforms.php
@@ -11,7 +11,7 @@
[
'key' => 'web',
'name' => 'Web',
- 'version' => '17.1.0',
+ 'version' => '18.1.0',
'url' => 'https://github.com/appwrite/sdk-for-web',
'package' => 'https://www.npmjs.com/package/appwrite',
'enabled' => true,
@@ -59,7 +59,7 @@
[
'key' => 'flutter',
'name' => 'Flutter',
- 'version' => '15.1.0',
+ 'version' => '16.1.0',
'url' => 'https://github.com/appwrite/sdk-for-flutter',
'package' => 'https://pub.dev/packages/appwrite',
'enabled' => true,
@@ -77,7 +77,7 @@
[
'key' => 'apple',
'name' => 'Apple',
- 'version' => '9.1.0',
+ 'version' => '10.1.0',
'url' => 'https://github.com/appwrite/sdk-for-apple',
'package' => 'https://github.com/appwrite/sdk-for-apple',
'enabled' => true,
@@ -112,7 +112,7 @@
[
'key' => 'android',
'name' => 'Android',
- 'version' => '7.1.0',
+ 'version' => '8.1.0',
'url' => 'https://github.com/appwrite/sdk-for-android',
'package' => 'https://search.maven.org/artifact/io.appwrite/sdk-for-android',
'enabled' => true,
@@ -134,7 +134,7 @@
[
'key' => 'react-native',
'name' => 'React Native',
- 'version' => '0.8.0',
+ 'version' => '0.9.1',
'url' => 'https://github.com/appwrite/sdk-for-react-native',
'package' => 'https://npmjs.com/package/react-native-appwrite',
'enabled' => true,
@@ -199,7 +199,7 @@
[
'key' => 'web',
'name' => 'Console',
- 'version' => '1.3.0',
+ 'version' => '1.7.0',
'url' => 'https://github.com/appwrite/sdk-for-console',
'package' => '',
'enabled' => true,
@@ -217,7 +217,7 @@
[
'key' => 'cli',
'name' => 'Command Line',
- 'version' => '6.2.3',
+ 'version' => '7.0.0',
'url' => 'https://github.com/appwrite/sdk-for-cli',
'package' => 'https://www.npmjs.com/package/appwrite-cli',
'enabled' => true,
@@ -245,7 +245,7 @@
[
'key' => 'nodejs',
'name' => 'Node.js',
- 'version' => '16.2.0',
+ 'version' => '17.0.0',
'url' => 'https://github.com/appwrite/sdk-for-node',
'package' => 'https://www.npmjs.com/package/node-appwrite',
'enabled' => true,
@@ -263,7 +263,7 @@
[
'key' => 'deno',
'name' => 'Deno',
- 'version' => '14.2.0',
+ 'version' => '15.0.0',
'url' => 'https://github.com/appwrite/sdk-for-deno',
'package' => 'https://deno.land/x/appwrite',
'enabled' => true,
@@ -281,7 +281,7 @@
[
'key' => 'php',
'name' => 'PHP',
- 'version' => '14.2.0',
+ 'version' => '15.0.0',
'url' => 'https://github.com/appwrite/sdk-for-php',
'package' => 'https://packagist.org/packages/appwrite/appwrite',
'enabled' => true,
@@ -299,7 +299,7 @@
[
'key' => 'python',
'name' => 'Python',
- 'version' => '10.2.0',
+ 'version' => '11.0.0',
'url' => 'https://github.com/appwrite/sdk-for-python',
'package' => 'https://pypi.org/project/appwrite/',
'enabled' => true,
@@ -317,7 +317,7 @@
[
'key' => 'ruby',
'name' => 'Ruby',
- 'version' => '15.2.0',
+ 'version' => '16.0.0',
'url' => 'https://github.com/appwrite/sdk-for-ruby',
'package' => 'https://rubygems.org/gems/appwrite',
'enabled' => true,
@@ -335,7 +335,7 @@
[
'key' => 'go',
'name' => 'Go',
- 'version' => '0.7.0',
+ 'version' => '0.8.0',
'url' => 'https://github.com/appwrite/sdk-for-go',
'package' => 'https://github.com/appwrite/sdk-for-go',
'enabled' => true,
@@ -353,7 +353,7 @@
[
'key' => 'dotnet',
'name' => '.NET',
- 'version' => '0.14.0',
+ 'version' => '0.13.0',
'url' => 'https://github.com/appwrite/sdk-for-dotnet',
'package' => 'https://www.nuget.org/packages/Appwrite',
'enabled' => true,
@@ -371,7 +371,7 @@
[
'key' => 'dart',
'name' => 'Dart',
- 'version' => '15.2.0',
+ 'version' => '16.0.0',
'url' => 'https://github.com/appwrite/sdk-for-dart',
'package' => 'https://pub.dev/packages/dart_appwrite',
'enabled' => true,
@@ -389,7 +389,7 @@
[
'key' => 'kotlin',
'name' => 'Kotlin',
- 'version' => '8.2.0',
+ 'version' => '9.0.0',
'url' => 'https://github.com/appwrite/sdk-for-kotlin',
'package' => 'https://search.maven.org/artifact/io.appwrite/sdk-for-kotlin',
'enabled' => true,
@@ -411,7 +411,7 @@
[
'key' => 'swift',
'name' => 'Swift',
- 'version' => '9.2.0',
+ 'version' => '10.0.0',
'url' => 'https://github.com/appwrite/sdk-for-swift',
'package' => 'https://github.com/appwrite/sdk-for-swift',
'enabled' => true,
diff --git a/app/config/specs/open-api3-1.7.x-client.json b/app/config/specs/open-api3-1.7.x-client.json
index 92e64c7ba04..bbb78c6c667 100644
--- a/app/config/specs/open-api3-1.7.x-client.json
+++ b/app/config/specs/open-api3-1.7.x-client.json
@@ -1,7 +1,7 @@
{
"openapi": "3.0.0",
"info": {
- "version": "1.7.0",
+ "version": "1.7.4",
"title": "Appwrite",
"description": "Appwrite backend as a service cuts up to 70% of the time and costs required for building a modern application. We abstract and simplify common development tasks behind a REST APIs, to help you develop your app in a fast and secure way. For full API documentation and tutorials go to [https:\/\/appwrite.io\/docs](https:\/\/appwrite.io\/docs)",
"termsOfService": "https:\/\/appwrite.io\/policy\/terms",
@@ -4660,6 +4660,115 @@
}
]
},
+ "put": {
+ "summary": "Upsert document",
+ "operationId": "databasesUpsertDocument",
+ "tags": [
+ "databases"
+ ],
+ "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
+ "responses": {
+ "200": {
+ "description": "Document",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "$ref": "#\/components\/schemas\/document"
+ }
+ }
+ }
+ }
+ },
+ "x-appwrite": {
+ "method": "upsertDocument",
+ "group": "documents",
+ "weight": 114,
+ "cookies": false,
+ "type": "",
+ "deprecated": false,
+ "demo": "databases\/upsert-document.md",
+ "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md",
+ "rate-limit": 120,
+ "rate-time": 60,
+ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}",
+ "scope": "documents.write",
+ "platforms": [
+ "client",
+ "server",
+ "server"
+ ],
+ "packaging": false,
+ "auth": {
+ "Project": []
+ }
+ },
+ "security": [
+ {
+ "Project": [],
+ "Session": [],
+ "JWT": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "databaseId",
+ "description": "Database ID.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "x-example": ""
+ },
+ "in": "path"
+ },
+ {
+ "name": "collectionId",
+ "description": "Collection ID.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "x-example": ""
+ },
+ "in": "path"
+ },
+ {
+ "name": "documentId",
+ "description": "Document ID.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "x-example": ""
+ },
+ "in": "path"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application\/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "data": {
+ "type": "object",
+ "description": "Document data as JSON object. Include all required attributes of the document to be created or updated.",
+ "x-example": "{}"
+ },
+ "permissions": {
+ "type": "array",
+ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).",
+ "x-example": "[\"read(\"any\")\"]",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "data"
+ ]
+ }
+ }
+ }
+ }
+ },
"patch": {
"summary": "Update document",
"operationId": "databasesUpdateDocument",
@@ -4781,7 +4890,7 @@
"x-appwrite": {
"method": "deleteDocument",
"group": "documents",
- "weight": 116,
+ "weight": 117,
"cookies": false,
"type": "",
"deprecated": false,
@@ -4865,7 +4974,7 @@
"x-appwrite": {
"method": "listExecutions",
"group": "executions",
- "weight": 391,
+ "weight": 392,
"cookies": false,
"type": "",
"deprecated": false,
@@ -4940,7 +5049,7 @@
"x-appwrite": {
"method": "createExecution",
"group": "executions",
- "weight": 389,
+ "weight": 390,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5055,7 +5164,7 @@
"x-appwrite": {
"method": "getExecution",
"group": "executions",
- "weight": 390,
+ "weight": 391,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5129,7 +5238,7 @@
"x-appwrite": {
"method": "query",
"group": "graphql",
- "weight": 305,
+ "weight": 306,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -5181,7 +5290,7 @@
"x-appwrite": {
"method": "mutation",
"group": "graphql",
- "weight": 304,
+ "weight": 305,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -5233,7 +5342,7 @@
"x-appwrite": {
"method": "get",
"group": null,
- "weight": 121,
+ "weight": 122,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5285,7 +5394,7 @@
"x-appwrite": {
"method": "listCodes",
"group": null,
- "weight": 122,
+ "weight": 123,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5337,7 +5446,7 @@
"x-appwrite": {
"method": "listContinents",
"group": null,
- "weight": 126,
+ "weight": 127,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5389,7 +5498,7 @@
"x-appwrite": {
"method": "listCountries",
"group": null,
- "weight": 123,
+ "weight": 124,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5441,7 +5550,7 @@
"x-appwrite": {
"method": "listCountriesEU",
"group": null,
- "weight": 124,
+ "weight": 125,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5493,7 +5602,7 @@
"x-appwrite": {
"method": "listCountriesPhones",
"group": null,
- "weight": 125,
+ "weight": 126,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5545,7 +5654,7 @@
"x-appwrite": {
"method": "listCurrencies",
"group": null,
- "weight": 127,
+ "weight": 128,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5597,7 +5706,7 @@
"x-appwrite": {
"method": "listLanguages",
"group": null,
- "weight": 128,
+ "weight": 129,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5649,7 +5758,7 @@
"x-appwrite": {
"method": "createSubscriber",
"group": "subscribers",
- "weight": 351,
+ "weight": 352,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5732,7 +5841,7 @@
"x-appwrite": {
"method": "deleteSubscriber",
"group": "subscribers",
- "weight": 355,
+ "weight": 356,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5807,7 +5916,7 @@
"x-appwrite": {
"method": "listFiles",
"group": "files",
- "weight": 211,
+ "weight": 212,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5893,7 +6002,7 @@
"x-appwrite": {
"method": "createFile",
"group": "files",
- "weight": 210,
+ "weight": 211,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -5991,7 +6100,7 @@
"x-appwrite": {
"method": "getFile",
"group": "files",
- "weight": 212,
+ "weight": 213,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6063,7 +6172,7 @@
"x-appwrite": {
"method": "updateFile",
"group": "files",
- "weight": 217,
+ "weight": 218,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6152,7 +6261,7 @@
"x-appwrite": {
"method": "deleteFile",
"group": "files",
- "weight": 218,
+ "weight": 219,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6219,7 +6328,7 @@
"x-appwrite": {
"method": "getFileDownload",
"group": "files",
- "weight": 214,
+ "weight": 215,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -6297,7 +6406,7 @@
"x-appwrite": {
"method": "getFilePreview",
"group": "files",
- "weight": 213,
+ "weight": 214,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -6524,7 +6633,7 @@
"x-appwrite": {
"method": "getFileView",
"group": "files",
- "weight": 215,
+ "weight": 216,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -6609,7 +6718,7 @@
"x-appwrite": {
"method": "list",
"group": "teams",
- "weight": 222,
+ "weight": 223,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6685,7 +6794,7 @@
"x-appwrite": {
"method": "create",
"group": "teams",
- "weight": 221,
+ "weight": 222,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6770,7 +6879,7 @@
"x-appwrite": {
"method": "get",
"group": "teams",
- "weight": 223,
+ "weight": 224,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6832,7 +6941,7 @@
"x-appwrite": {
"method": "updateName",
"group": "teams",
- "weight": 225,
+ "weight": 226,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6906,7 +7015,7 @@
"x-appwrite": {
"method": "delete",
"group": "teams",
- "weight": 227,
+ "weight": 228,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6970,7 +7079,7 @@
"x-appwrite": {
"method": "listMemberships",
"group": "memberships",
- "weight": 229,
+ "weight": 230,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7056,7 +7165,7 @@
"x-appwrite": {
"method": "createMembership",
"group": "memberships",
- "weight": 228,
+ "weight": 229,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7167,7 +7276,7 @@
"x-appwrite": {
"method": "getMembership",
"group": "memberships",
- "weight": 230,
+ "weight": 231,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7239,7 +7348,7 @@
"x-appwrite": {
"method": "updateMembership",
"group": "memberships",
- "weight": 231,
+ "weight": 232,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7326,7 +7435,7 @@
"x-appwrite": {
"method": "deleteMembership",
"group": "memberships",
- "weight": 233,
+ "weight": 234,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7400,7 +7509,7 @@
"x-appwrite": {
"method": "updateMembershipStatus",
"group": "memberships",
- "weight": 232,
+ "weight": 233,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7498,7 +7607,7 @@
"x-appwrite": {
"method": "getPrefs",
"group": "teams",
- "weight": 224,
+ "weight": 225,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7559,7 +7668,7 @@
"x-appwrite": {
"method": "updatePrefs",
"group": "teams",
- "weight": 226,
+ "weight": 227,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9752,6 +9861,12 @@
"name": "X-Appwrite-Session",
"description": "The user session to authenticate with",
"in": "header"
+ },
+ "DevKey": {
+ "type": "apiKey",
+ "name": "X-Appwrite-Dev-Key",
+ "description": "Your secret dev API key",
+ "in": "header"
}
}
},
diff --git a/app/config/specs/open-api3-1.7.x-console.json b/app/config/specs/open-api3-1.7.x-console.json
index 31d5016e85c..90ef137fc26 100644
--- a/app/config/specs/open-api3-1.7.x-console.json
+++ b/app/config/specs/open-api3-1.7.x-console.json
@@ -1,7 +1,7 @@
{
"openapi": "3.0.0",
"info": {
- "version": "1.7.0",
+ "version": "1.7.4",
"title": "Appwrite",
"description": "Appwrite backend as a service cuts up to 70% of the time and costs required for building a modern application. We abstract and simplify common development tasks behind a REST APIs, to help you develop your app in a fast and secure way. For full API documentation and tutorials go to [https:\/\/appwrite.io\/docs](https:\/\/appwrite.io\/docs)",
"termsOfService": "https:\/\/appwrite.io\/policy\/terms",
@@ -4359,7 +4359,7 @@
"x-appwrite": {
"method": "chat",
"group": "console",
- "weight": 307,
+ "weight": 308,
"cookies": false,
"type": "",
"deprecated": false,
@@ -4419,7 +4419,7 @@
"x-appwrite": {
"method": "getResource",
"group": null,
- "weight": 431,
+ "weight": 432,
"cookies": false,
"type": "",
"deprecated": false,
@@ -4494,7 +4494,7 @@
"x-appwrite": {
"method": "variables",
"group": "console",
- "weight": 306,
+ "weight": 307,
"cookies": false,
"type": "",
"deprecated": false,
@@ -4694,7 +4694,7 @@
"x-appwrite": {
"method": "getUsage",
"group": null,
- "weight": 118,
+ "weight": 119,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8167,7 +8167,7 @@
"x-appwrite": {
"method": "upsertDocuments",
"group": "documents",
- "weight": 115,
+ "weight": 116,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8227,7 +8227,10 @@
"type": "object"
}
}
- }
+ },
+ "required": [
+ "documents"
+ ]
}
}
}
@@ -8255,7 +8258,7 @@
"x-appwrite": {
"method": "updateDocuments",
"group": "documents",
- "weight": 114,
+ "weight": 115,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8348,7 +8351,7 @@
"x-appwrite": {
"method": "deleteDocuments",
"group": "documents",
- "weight": 117,
+ "weight": 118,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8511,6 +8514,115 @@
}
]
},
+ "put": {
+ "summary": "Upsert document",
+ "operationId": "databasesUpsertDocument",
+ "tags": [
+ "databases"
+ ],
+ "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
+ "responses": {
+ "200": {
+ "description": "Document",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "$ref": "#\/components\/schemas\/document"
+ }
+ }
+ }
+ }
+ },
+ "x-appwrite": {
+ "method": "upsertDocument",
+ "group": "documents",
+ "weight": 114,
+ "cookies": false,
+ "type": "",
+ "deprecated": false,
+ "demo": "databases\/upsert-document.md",
+ "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md",
+ "rate-limit": 120,
+ "rate-time": 60,
+ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}",
+ "scope": "documents.write",
+ "platforms": [
+ "client",
+ "server",
+ "server"
+ ],
+ "packaging": false,
+ "auth": {
+ "Project": []
+ }
+ },
+ "security": [
+ {
+ "Project": [],
+ "Key": [],
+ "JWT": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "databaseId",
+ "description": "Database ID.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "x-example": ""
+ },
+ "in": "path"
+ },
+ {
+ "name": "collectionId",
+ "description": "Collection ID.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "x-example": ""
+ },
+ "in": "path"
+ },
+ {
+ "name": "documentId",
+ "description": "Document ID.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "x-example": ""
+ },
+ "in": "path"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application\/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "data": {
+ "type": "object",
+ "description": "Document data as JSON object. Include all required attributes of the document to be created or updated.",
+ "x-example": "{}"
+ },
+ "permissions": {
+ "type": "array",
+ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).",
+ "x-example": "[\"read(\"any\")\"]",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "data"
+ ]
+ }
+ }
+ }
+ }
+ },
"patch": {
"summary": "Update document",
"operationId": "databasesUpdateDocument",
@@ -8632,7 +8744,7 @@
"x-appwrite": {
"method": "deleteDocument",
"group": "documents",
- "weight": 116,
+ "weight": 117,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9253,7 +9365,7 @@
"x-appwrite": {
"method": "getCollectionUsage",
"group": null,
- "weight": 120,
+ "weight": 121,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9418,7 +9530,7 @@
"x-appwrite": {
"method": "getDatabaseUsage",
"group": null,
- "weight": 119,
+ "weight": 120,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9500,7 +9612,7 @@
"x-appwrite": {
"method": "list",
"group": "functions",
- "weight": 375,
+ "weight": 376,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9573,7 +9685,7 @@
"x-appwrite": {
"method": "create",
"group": "functions",
- "weight": 372,
+ "weight": 373,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9804,7 +9916,7 @@
"x-appwrite": {
"method": "listRuntimes",
"group": "runtimes",
- "weight": 377,
+ "weight": 378,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9853,7 +9965,7 @@
"x-appwrite": {
"method": "listSpecifications",
"group": "runtimes",
- "weight": 378,
+ "weight": 379,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9903,7 +10015,7 @@
"x-appwrite": {
"method": "listTemplates",
"group": "templates",
- "weight": 401,
+ "weight": 402,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10003,7 +10115,7 @@
"x-appwrite": {
"method": "getTemplate",
"group": "templates",
- "weight": 400,
+ "weight": 401,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10063,7 +10175,7 @@
"x-appwrite": {
"method": "listUsage",
"group": null,
- "weight": 394,
+ "weight": 395,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10135,7 +10247,7 @@
"x-appwrite": {
"method": "get",
"group": "functions",
- "weight": 373,
+ "weight": 374,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10194,7 +10306,7 @@
"x-appwrite": {
"method": "update",
"group": "functions",
- "weight": 374,
+ "weight": 375,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10422,7 +10534,7 @@
"x-appwrite": {
"method": "delete",
"group": "functions",
- "weight": 376,
+ "weight": 377,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10483,7 +10595,7 @@
"x-appwrite": {
"method": "updateFunctionDeployment",
"group": "functions",
- "weight": 381,
+ "weight": 382,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10563,7 +10675,7 @@
"x-appwrite": {
"method": "listDeployments",
"group": "deployments",
- "weight": 382,
+ "weight": 383,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10646,7 +10758,7 @@
"x-appwrite": {
"method": "createDeployment",
"group": "deployments",
- "weight": 379,
+ "weight": 380,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -10742,7 +10854,7 @@
"x-appwrite": {
"method": "createDuplicateDeployment",
"group": "deployments",
- "weight": 387,
+ "weight": 388,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10827,7 +10939,7 @@
"x-appwrite": {
"method": "createTemplateDeployment",
"group": "deployments",
- "weight": 384,
+ "weight": 385,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10930,7 +11042,7 @@
"x-appwrite": {
"method": "createVcsDeployment",
"group": "deployments",
- "weight": 385,
+ "weight": 386,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11027,7 +11139,7 @@
"x-appwrite": {
"method": "getDeployment",
"group": "deployments",
- "weight": 380,
+ "weight": 381,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11089,7 +11201,7 @@
"x-appwrite": {
"method": "deleteDeployment",
"group": "deployments",
- "weight": 383,
+ "weight": 384,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11153,7 +11265,7 @@
"x-appwrite": {
"method": "getDeploymentDownload",
"group": "deployments",
- "weight": 386,
+ "weight": 387,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -11243,7 +11355,7 @@
"x-appwrite": {
"method": "updateDeploymentStatus",
"group": "deployments",
- "weight": 388,
+ "weight": 389,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11314,7 +11426,7 @@
"x-appwrite": {
"method": "listExecutions",
"group": "executions",
- "weight": 391,
+ "weight": 392,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11389,7 +11501,7 @@
"x-appwrite": {
"method": "createExecution",
"group": "executions",
- "weight": 389,
+ "weight": 390,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11504,7 +11616,7 @@
"x-appwrite": {
"method": "getExecution",
"group": "executions",
- "weight": 390,
+ "weight": 391,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11569,7 +11681,7 @@
"x-appwrite": {
"method": "deleteExecution",
"group": "executions",
- "weight": 392,
+ "weight": 393,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11640,7 +11752,7 @@
"x-appwrite": {
"method": "getUsage",
"group": null,
- "weight": 393,
+ "weight": 394,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11722,7 +11834,7 @@
"x-appwrite": {
"method": "listVariables",
"group": "variables",
- "weight": 397,
+ "weight": 398,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11781,7 +11893,7 @@
"x-appwrite": {
"method": "createVariable",
"group": "variables",
- "weight": 395,
+ "weight": 396,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11872,7 +11984,7 @@
"x-appwrite": {
"method": "getVariable",
"group": "variables",
- "weight": 396,
+ "weight": 397,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11941,7 +12053,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": "variables",
- "weight": 398,
+ "weight": 399,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12032,7 +12144,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": "variables",
- "weight": 399,
+ "weight": 400,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12103,7 +12215,7 @@
"x-appwrite": {
"method": "query",
"group": "graphql",
- "weight": 305,
+ "weight": 306,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -12155,7 +12267,7 @@
"x-appwrite": {
"method": "mutation",
"group": "graphql",
- "weight": 304,
+ "weight": 305,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -12207,7 +12319,7 @@
"x-appwrite": {
"method": "get",
"group": "health",
- "weight": 129,
+ "weight": 130,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12256,7 +12368,7 @@
"x-appwrite": {
"method": "getAntivirus",
"group": "health",
- "weight": 150,
+ "weight": 151,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12305,7 +12417,7 @@
"x-appwrite": {
"method": "getCache",
"group": "health",
- "weight": 132,
+ "weight": 133,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12354,7 +12466,7 @@
"x-appwrite": {
"method": "getCertificate",
"group": "health",
- "weight": 137,
+ "weight": 138,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12414,7 +12526,7 @@
"x-appwrite": {
"method": "getDB",
"group": "health",
- "weight": 131,
+ "weight": 132,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12463,7 +12575,7 @@
"x-appwrite": {
"method": "getPubSub",
"group": "health",
- "weight": 133,
+ "weight": 134,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12512,7 +12624,7 @@
"x-appwrite": {
"method": "getQueueBuilds",
"group": "queue",
- "weight": 139,
+ "weight": 140,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12574,7 +12686,7 @@
"x-appwrite": {
"method": "getQueueCertificates",
"group": "queue",
- "weight": 138,
+ "weight": 139,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12636,7 +12748,7 @@
"x-appwrite": {
"method": "getQueueDatabases",
"group": "queue",
- "weight": 140,
+ "weight": 141,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12709,7 +12821,7 @@
"x-appwrite": {
"method": "getQueueDeletes",
"group": "queue",
- "weight": 141,
+ "weight": 142,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12771,7 +12883,7 @@
"x-appwrite": {
"method": "getFailedJobs",
"group": "queue",
- "weight": 151,
+ "weight": 152,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12859,7 +12971,7 @@
"x-appwrite": {
"method": "getQueueFunctions",
"group": "queue",
- "weight": 145,
+ "weight": 146,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12921,7 +13033,7 @@
"x-appwrite": {
"method": "getQueueLogs",
"group": "queue",
- "weight": 136,
+ "weight": 137,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12983,7 +13095,7 @@
"x-appwrite": {
"method": "getQueueMails",
"group": "queue",
- "weight": 142,
+ "weight": 143,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13045,7 +13157,7 @@
"x-appwrite": {
"method": "getQueueMessaging",
"group": "queue",
- "weight": 143,
+ "weight": 144,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13107,7 +13219,7 @@
"x-appwrite": {
"method": "getQueueMigrations",
"group": "queue",
- "weight": 144,
+ "weight": 145,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13169,7 +13281,7 @@
"x-appwrite": {
"method": "getQueueStatsResources",
"group": "queue",
- "weight": 146,
+ "weight": 147,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13231,7 +13343,7 @@
"x-appwrite": {
"method": "getQueueUsage",
"group": "queue",
- "weight": 147,
+ "weight": 148,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13293,7 +13405,7 @@
"x-appwrite": {
"method": "getQueueWebhooks",
"group": "queue",
- "weight": 135,
+ "weight": 136,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13355,7 +13467,7 @@
"x-appwrite": {
"method": "getStorage",
"group": "storage",
- "weight": 149,
+ "weight": 150,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13404,7 +13516,7 @@
"x-appwrite": {
"method": "getStorageLocal",
"group": "storage",
- "weight": 148,
+ "weight": 149,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13453,7 +13565,7 @@
"x-appwrite": {
"method": "getTime",
"group": "health",
- "weight": 134,
+ "weight": 135,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13502,7 +13614,7 @@
"x-appwrite": {
"method": "get",
"group": null,
- "weight": 121,
+ "weight": 122,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13554,7 +13666,7 @@
"x-appwrite": {
"method": "listCodes",
"group": null,
- "weight": 122,
+ "weight": 123,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13606,7 +13718,7 @@
"x-appwrite": {
"method": "listContinents",
"group": null,
- "weight": 126,
+ "weight": 127,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13658,7 +13770,7 @@
"x-appwrite": {
"method": "listCountries",
"group": null,
- "weight": 123,
+ "weight": 124,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13710,7 +13822,7 @@
"x-appwrite": {
"method": "listCountriesEU",
"group": null,
- "weight": 124,
+ "weight": 125,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13762,7 +13874,7 @@
"x-appwrite": {
"method": "listCountriesPhones",
"group": null,
- "weight": 125,
+ "weight": 126,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13814,7 +13926,7 @@
"x-appwrite": {
"method": "listCurrencies",
"group": null,
- "weight": 127,
+ "weight": 128,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13866,7 +13978,7 @@
"x-appwrite": {
"method": "listLanguages",
"group": null,
- "weight": 128,
+ "weight": 129,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13918,7 +14030,7 @@
"x-appwrite": {
"method": "listMessages",
"group": "messages",
- "weight": 359,
+ "weight": 360,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13994,7 +14106,7 @@
"x-appwrite": {
"method": "createEmail",
"group": "messages",
- "weight": 356,
+ "weight": 357,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14138,7 +14250,7 @@
"x-appwrite": {
"method": "updateEmail",
"group": "messages",
- "weight": 363,
+ "weight": 364,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14284,7 +14396,7 @@
"x-appwrite": {
"method": "createPush",
"group": "messages",
- "weight": 358,
+ "weight": 359,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14458,7 +14570,7 @@
"x-appwrite": {
"method": "updatePush",
"group": "messages",
- "weight": 365,
+ "weight": 366,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14636,7 +14748,7 @@
"x-appwrite": {
"method": "createSms",
"group": "messages",
- "weight": 357,
+ "weight": 358,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14745,7 +14857,7 @@
"x-appwrite": {
"method": "updateSms",
"group": "messages",
- "weight": 364,
+ "weight": 365,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14857,7 +14969,7 @@
"x-appwrite": {
"method": "getMessage",
"group": "messages",
- "weight": 362,
+ "weight": 363,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14910,7 +15022,7 @@
"x-appwrite": {
"method": "delete",
"group": "messages",
- "weight": 366,
+ "weight": 367,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14972,7 +15084,7 @@
"x-appwrite": {
"method": "listMessageLogs",
"group": "logs",
- "weight": 360,
+ "weight": 361,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15047,7 +15159,7 @@
"x-appwrite": {
"method": "listTargets",
"group": "messages",
- "weight": 361,
+ "weight": 362,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15122,7 +15234,7 @@
"x-appwrite": {
"method": "listProviders",
"group": "providers",
- "weight": 331,
+ "weight": 332,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15198,7 +15310,7 @@
"x-appwrite": {
"method": "createApnsProvider",
"group": "providers",
- "weight": 330,
+ "weight": 331,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15303,7 +15415,7 @@
"x-appwrite": {
"method": "updateApnsProvider",
"group": "providers",
- "weight": 343,
+ "weight": 344,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15411,7 +15523,7 @@
"x-appwrite": {
"method": "createFcmProvider",
"group": "providers",
- "weight": 329,
+ "weight": 330,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15496,7 +15608,7 @@
"x-appwrite": {
"method": "updateFcmProvider",
"group": "providers",
- "weight": 342,
+ "weight": 343,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15584,7 +15696,7 @@
"x-appwrite": {
"method": "createMailgunProvider",
"group": "providers",
- "weight": 321,
+ "weight": 322,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15699,7 +15811,7 @@
"x-appwrite": {
"method": "updateMailgunProvider",
"group": "providers",
- "weight": 334,
+ "weight": 335,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15817,7 +15929,7 @@
"x-appwrite": {
"method": "createMsg91Provider",
"group": "providers",
- "weight": 324,
+ "weight": 325,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15912,7 +16024,7 @@
"x-appwrite": {
"method": "updateMsg91Provider",
"group": "providers",
- "weight": 337,
+ "weight": 338,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16010,7 +16122,7 @@
"x-appwrite": {
"method": "createSendgridProvider",
"group": "providers",
- "weight": 322,
+ "weight": 323,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16115,7 +16227,7 @@
"x-appwrite": {
"method": "updateSendgridProvider",
"group": "providers",
- "weight": 335,
+ "weight": 336,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16223,7 +16335,7 @@
"x-appwrite": {
"method": "createSmtpProvider",
"group": "providers",
- "weight": 323,
+ "weight": 324,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16366,7 +16478,7 @@
"x-appwrite": {
"method": "updateSmtpProvider",
"group": "providers",
- "weight": 336,
+ "weight": 337,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16511,7 +16623,7 @@
"x-appwrite": {
"method": "createTelesignProvider",
"group": "providers",
- "weight": 325,
+ "weight": 326,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16606,7 +16718,7 @@
"x-appwrite": {
"method": "updateTelesignProvider",
"group": "providers",
- "weight": 338,
+ "weight": 339,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16704,7 +16816,7 @@
"x-appwrite": {
"method": "createTextmagicProvider",
"group": "providers",
- "weight": 326,
+ "weight": 327,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16799,7 +16911,7 @@
"x-appwrite": {
"method": "updateTextmagicProvider",
"group": "providers",
- "weight": 339,
+ "weight": 340,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16897,7 +17009,7 @@
"x-appwrite": {
"method": "createTwilioProvider",
"group": "providers",
- "weight": 327,
+ "weight": 328,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16992,7 +17104,7 @@
"x-appwrite": {
"method": "updateTwilioProvider",
"group": "providers",
- "weight": 340,
+ "weight": 341,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17090,7 +17202,7 @@
"x-appwrite": {
"method": "createVonageProvider",
"group": "providers",
- "weight": 328,
+ "weight": 329,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17185,7 +17297,7 @@
"x-appwrite": {
"method": "updateVonageProvider",
"group": "providers",
- "weight": 341,
+ "weight": 342,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17283,7 +17395,7 @@
"x-appwrite": {
"method": "getProvider",
"group": "providers",
- "weight": 333,
+ "weight": 334,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17336,7 +17448,7 @@
"x-appwrite": {
"method": "deleteProvider",
"group": "providers",
- "weight": 344,
+ "weight": 345,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17398,7 +17510,7 @@
"x-appwrite": {
"method": "listProviderLogs",
"group": "providers",
- "weight": 332,
+ "weight": 333,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17473,7 +17585,7 @@
"x-appwrite": {
"method": "listSubscriberLogs",
"group": "subscribers",
- "weight": 353,
+ "weight": 354,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17548,7 +17660,7 @@
"x-appwrite": {
"method": "listTopics",
"group": "topics",
- "weight": 346,
+ "weight": 347,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17622,7 +17734,7 @@
"x-appwrite": {
"method": "createTopic",
"group": "topics",
- "weight": 345,
+ "weight": 346,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17705,7 +17817,7 @@
"x-appwrite": {
"method": "getTopic",
"group": "topics",
- "weight": 348,
+ "weight": 349,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17765,7 +17877,7 @@
"x-appwrite": {
"method": "updateTopic",
"group": "topics",
- "weight": 349,
+ "weight": 350,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17842,7 +17954,7 @@
"x-appwrite": {
"method": "deleteTopic",
"group": "topics",
- "weight": 350,
+ "weight": 351,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17904,7 +18016,7 @@
"x-appwrite": {
"method": "listTopicLogs",
"group": "topics",
- "weight": 347,
+ "weight": 348,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17979,7 +18091,7 @@
"x-appwrite": {
"method": "listSubscribers",
"group": "subscribers",
- "weight": 352,
+ "weight": 353,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18063,7 +18175,7 @@
"x-appwrite": {
"method": "createSubscriber",
"group": "subscribers",
- "weight": 351,
+ "weight": 352,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18153,7 +18265,7 @@
"x-appwrite": {
"method": "getSubscriber",
"group": "subscribers",
- "weight": 354,
+ "weight": 355,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18216,7 +18328,7 @@
"x-appwrite": {
"method": "deleteSubscriber",
"group": "subscribers",
- "weight": 355,
+ "weight": 356,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18291,7 +18403,7 @@
"x-appwrite": {
"method": "list",
"group": null,
- "weight": 313,
+ "weight": 314,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18365,7 +18477,7 @@
"x-appwrite": {
"method": "createAppwriteMigration",
"group": null,
- "weight": 308,
+ "weight": 309,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18453,7 +18565,7 @@
"x-appwrite": {
"method": "getAppwriteReport",
"group": null,
- "weight": 315,
+ "weight": 316,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18546,7 +18658,7 @@
"x-appwrite": {
"method": "createCsvMigration",
"group": null,
- "weight": 312,
+ "weight": 313,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18625,7 +18737,7 @@
"x-appwrite": {
"method": "createFirebaseMigration",
"group": null,
- "weight": 309,
+ "weight": 310,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18701,7 +18813,7 @@
"x-appwrite": {
"method": "getFirebaseReport",
"group": null,
- "weight": 316,
+ "weight": 317,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18773,7 +18885,7 @@
"x-appwrite": {
"method": "createNHostMigration",
"group": null,
- "weight": 311,
+ "weight": 312,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18884,7 +18996,7 @@
"x-appwrite": {
"method": "getNHostReport",
"group": null,
- "weight": 318,
+ "weight": 319,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19017,7 +19129,7 @@
"x-appwrite": {
"method": "createSupabaseMigration",
"group": null,
- "weight": 310,
+ "weight": 311,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19122,7 +19234,7 @@
"x-appwrite": {
"method": "getSupabaseReport",
"group": null,
- "weight": 317,
+ "weight": 318,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19246,7 +19358,7 @@
"x-appwrite": {
"method": "get",
"group": null,
- "weight": 314,
+ "weight": 315,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19304,7 +19416,7 @@
"x-appwrite": {
"method": "retry",
"group": null,
- "weight": 319,
+ "weight": 320,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19355,7 +19467,7 @@
"x-appwrite": {
"method": "delete",
"group": null,
- "weight": 320,
+ "weight": 321,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19415,7 +19527,7 @@
"x-appwrite": {
"method": "getUsage",
"group": null,
- "weight": 199,
+ "weight": 200,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19503,7 +19615,7 @@
"x-appwrite": {
"method": "listVariables",
"group": null,
- "weight": 201,
+ "weight": 202,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19549,7 +19661,7 @@
"x-appwrite": {
"method": "createVariable",
"group": null,
- "weight": 200,
+ "weight": 201,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19627,7 +19739,7 @@
"x-appwrite": {
"method": "getVariable",
"group": null,
- "weight": 202,
+ "weight": 203,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19685,7 +19797,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": null,
- "weight": 203,
+ "weight": 204,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19765,7 +19877,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": null,
- "weight": 204,
+ "weight": 205,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19825,7 +19937,7 @@
"x-appwrite": {
"method": "list",
"group": "projects",
- "weight": 154,
+ "weight": 155,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19897,7 +20009,7 @@
"x-appwrite": {
"method": "create",
"group": "projects",
- "weight": 153,
+ "weight": 154,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20031,7 +20143,7 @@
"x-appwrite": {
"method": "get",
"group": "projects",
- "weight": 155,
+ "weight": 156,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20089,7 +20201,7 @@
"x-appwrite": {
"method": "update",
"group": "projects",
- "weight": 156,
+ "weight": 157,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20204,7 +20316,7 @@
"x-appwrite": {
"method": "delete",
"group": "projects",
- "weight": 173,
+ "weight": 174,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20264,7 +20376,7 @@
"x-appwrite": {
"method": "updateApiStatus",
"group": "projects",
- "weight": 160,
+ "weight": 161,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20356,7 +20468,7 @@
"x-appwrite": {
"method": "updateApiStatusAll",
"group": "projects",
- "weight": 161,
+ "weight": 162,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20435,7 +20547,7 @@
"x-appwrite": {
"method": "updateAuthDuration",
"group": "auth",
- "weight": 166,
+ "weight": 167,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20514,7 +20626,7 @@
"x-appwrite": {
"method": "updateAuthLimit",
"group": "auth",
- "weight": 165,
+ "weight": 166,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20593,7 +20705,7 @@
"x-appwrite": {
"method": "updateAuthSessionsLimit",
"group": "auth",
- "weight": 171,
+ "weight": 172,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20672,7 +20784,7 @@
"x-appwrite": {
"method": "updateMembershipsPrivacy",
"group": "auth",
- "weight": 164,
+ "weight": 165,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20763,7 +20875,7 @@
"x-appwrite": {
"method": "updateMockNumbers",
"group": "auth",
- "weight": 172,
+ "weight": 173,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20845,7 +20957,7 @@
"x-appwrite": {
"method": "updateAuthPasswordDictionary",
"group": "auth",
- "weight": 169,
+ "weight": 170,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20924,7 +21036,7 @@
"x-appwrite": {
"method": "updateAuthPasswordHistory",
"group": "auth",
- "weight": 168,
+ "weight": 169,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21003,7 +21115,7 @@
"x-appwrite": {
"method": "updatePersonalDataCheck",
"group": "auth",
- "weight": 170,
+ "weight": 171,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21082,7 +21194,7 @@
"x-appwrite": {
"method": "updateSessionAlerts",
"group": "auth",
- "weight": 163,
+ "weight": 164,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21161,7 +21273,7 @@
"x-appwrite": {
"method": "updateAuthStatus",
"group": "auth",
- "weight": 167,
+ "weight": 168,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21261,7 +21373,7 @@
"x-appwrite": {
"method": "listDevKeys",
"group": "devKeys",
- "weight": 370,
+ "weight": 371,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21329,7 +21441,7 @@
"x-appwrite": {
"method": "createDevKey",
"group": "devKeys",
- "weight": 367,
+ "weight": 368,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21414,7 +21526,7 @@
"x-appwrite": {
"method": "getDevKey",
"group": "devKeys",
- "weight": 369,
+ "weight": 370,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21482,7 +21594,7 @@
"x-appwrite": {
"method": "updateDevKey",
"group": "devKeys",
- "weight": 368,
+ "weight": 369,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21568,7 +21680,7 @@
"x-appwrite": {
"method": "deleteDevKey",
"group": "devKeys",
- "weight": 371,
+ "weight": 372,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21638,7 +21750,7 @@
"x-appwrite": {
"method": "createJWT",
"group": "auth",
- "weight": 185,
+ "weight": 186,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21725,7 +21837,7 @@
"x-appwrite": {
"method": "listKeys",
"group": "keys",
- "weight": 181,
+ "weight": 182,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21783,7 +21895,7 @@
"x-appwrite": {
"method": "createKey",
"group": "keys",
- "weight": 180,
+ "weight": 181,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21876,7 +21988,7 @@
"x-appwrite": {
"method": "getKey",
"group": "keys",
- "weight": 182,
+ "weight": 183,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21944,7 +22056,7 @@
"x-appwrite": {
"method": "updateKey",
"group": "keys",
- "weight": 183,
+ "weight": 184,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22038,7 +22150,7 @@
"x-appwrite": {
"method": "deleteKey",
"group": "keys",
- "weight": 184,
+ "weight": 185,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22108,7 +22220,7 @@
"x-appwrite": {
"method": "updateOAuth2",
"group": "auth",
- "weight": 162,
+ "weight": 163,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22246,7 +22358,7 @@
"x-appwrite": {
"method": "listPlatforms",
"group": "platforms",
- "weight": 187,
+ "weight": 188,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22304,7 +22416,7 @@
"x-appwrite": {
"method": "createPlatform",
"group": "platforms",
- "weight": 186,
+ "weight": 187,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22423,7 +22535,7 @@
"x-appwrite": {
"method": "getPlatform",
"group": "platforms",
- "weight": 188,
+ "weight": 189,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22491,7 +22603,7 @@
"x-appwrite": {
"method": "updatePlatform",
"group": "platforms",
- "weight": 189,
+ "weight": 190,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22586,7 +22698,7 @@
"x-appwrite": {
"method": "deletePlatform",
"group": "platforms",
- "weight": 190,
+ "weight": 191,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22656,7 +22768,7 @@
"x-appwrite": {
"method": "updateServiceStatus",
"group": "projects",
- "weight": 158,
+ "weight": 159,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22757,7 +22869,7 @@
"x-appwrite": {
"method": "updateServiceStatusAll",
"group": "projects",
- "weight": 159,
+ "weight": 160,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22836,7 +22948,7 @@
"x-appwrite": {
"method": "updateSmtp",
"group": "templates",
- "weight": 191,
+ "weight": 192,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22954,7 +23066,7 @@
"x-appwrite": {
"method": "createSmtpTest",
"group": "templates",
- "weight": 192,
+ "weight": 193,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23085,7 +23197,7 @@
"x-appwrite": {
"method": "updateTeam",
"group": "projects",
- "weight": 157,
+ "weight": 158,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23164,7 +23276,7 @@
"x-appwrite": {
"method": "getEmailTemplate",
"group": "templates",
- "weight": 194,
+ "weight": 195,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23388,7 +23500,7 @@
"x-appwrite": {
"method": "updateEmailTemplate",
"group": "templates",
- "weight": 196,
+ "weight": 197,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23652,7 +23764,7 @@
"x-appwrite": {
"method": "deleteEmailTemplate",
"group": "templates",
- "weight": 198,
+ "weight": 199,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23878,7 +23990,7 @@
"x-appwrite": {
"method": "getSmsTemplate",
"group": "templates",
- "weight": 193,
+ "weight": 194,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24099,7 +24211,7 @@
"x-appwrite": {
"method": "updateSmsTemplate",
"group": "templates",
- "weight": 195,
+ "weight": 196,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24339,7 +24451,7 @@
"x-appwrite": {
"method": "deleteSmsTemplate",
"group": "templates",
- "weight": 197,
+ "weight": 198,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24562,7 +24674,7 @@
"x-appwrite": {
"method": "listWebhooks",
"group": "webhooks",
- "weight": 175,
+ "weight": 176,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24620,7 +24732,7 @@
"x-appwrite": {
"method": "createWebhook",
"group": "webhooks",
- "weight": 174,
+ "weight": 175,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24735,7 +24847,7 @@
"x-appwrite": {
"method": "getWebhook",
"group": "webhooks",
- "weight": 176,
+ "weight": 177,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24803,7 +24915,7 @@
"x-appwrite": {
"method": "updateWebhook",
"group": "webhooks",
- "weight": 177,
+ "weight": 178,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24919,7 +25031,7 @@
"x-appwrite": {
"method": "deleteWebhook",
"group": "webhooks",
- "weight": 179,
+ "weight": 180,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24989,7 +25101,7 @@
"x-appwrite": {
"method": "updateWebhookSignature",
"group": "webhooks",
- "weight": 178,
+ "weight": 179,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25059,7 +25171,7 @@
"x-appwrite": {
"method": "listRules",
"group": null,
- "weight": 291,
+ "weight": 292,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25133,7 +25245,7 @@
"x-appwrite": {
"method": "createAPIRule",
"group": null,
- "weight": 432,
+ "weight": 433,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25200,7 +25312,7 @@
"x-appwrite": {
"method": "createFunctionRule",
"group": null,
- "weight": 434,
+ "weight": 435,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25278,7 +25390,7 @@
"x-appwrite": {
"method": "createRedirectRule",
"group": null,
- "weight": 435,
+ "weight": 436,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25370,7 +25482,7 @@
"x-appwrite": {
"method": "createSiteRule",
"group": null,
- "weight": 433,
+ "weight": 434,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25448,7 +25560,7 @@
"x-appwrite": {
"method": "getRule",
"group": null,
- "weight": 292,
+ "weight": 293,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25499,7 +25611,7 @@
"x-appwrite": {
"method": "deleteRule",
"group": null,
- "weight": 293,
+ "weight": 294,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25559,7 +25671,7 @@
"x-appwrite": {
"method": "updateRuleVerification",
"group": null,
- "weight": 294,
+ "weight": 295,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25619,7 +25731,7 @@
"x-appwrite": {
"method": "list",
"group": "sites",
- "weight": 404,
+ "weight": 405,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25689,7 +25801,7 @@
"x-appwrite": {
"method": "create",
"group": "sites",
- "weight": 402,
+ "weight": 403,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25936,7 +26048,7 @@
"x-appwrite": {
"method": "listFrameworks",
"group": "frameworks",
- "weight": 407,
+ "weight": 408,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25985,7 +26097,7 @@
"x-appwrite": {
"method": "listSpecifications",
"group": "frameworks",
- "weight": 430,
+ "weight": 431,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26035,7 +26147,7 @@
"x-appwrite": {
"method": "listTemplates",
"group": "templates",
- "weight": 426,
+ "weight": 427,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26135,7 +26247,7 @@
"x-appwrite": {
"method": "getTemplate",
"group": "templates",
- "weight": 427,
+ "weight": 428,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26195,7 +26307,7 @@
"x-appwrite": {
"method": "listUsage",
"group": null,
- "weight": 428,
+ "weight": 429,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26267,7 +26379,7 @@
"x-appwrite": {
"method": "get",
"group": "sites",
- "weight": 403,
+ "weight": 404,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26326,7 +26438,7 @@
"x-appwrite": {
"method": "update",
"group": "sites",
- "weight": 405,
+ "weight": 406,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26569,7 +26681,7 @@
"x-appwrite": {
"method": "delete",
"group": "sites",
- "weight": 406,
+ "weight": 407,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26630,7 +26742,7 @@
"x-appwrite": {
"method": "updateSiteDeployment",
"group": "sites",
- "weight": 413,
+ "weight": 414,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26710,7 +26822,7 @@
"x-appwrite": {
"method": "listDeployments",
"group": "deployments",
- "weight": 412,
+ "weight": 413,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26793,7 +26905,7 @@
"x-appwrite": {
"method": "createDeployment",
"group": "deployments",
- "weight": 408,
+ "weight": 409,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -26894,7 +27006,7 @@
"x-appwrite": {
"method": "createDuplicateDeployment",
"group": "deployments",
- "weight": 416,
+ "weight": 417,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26974,7 +27086,7 @@
"x-appwrite": {
"method": "createTemplateDeployment",
"group": "deployments",
- "weight": 409,
+ "weight": 410,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27077,7 +27189,7 @@
"x-appwrite": {
"method": "createVcsDeployment",
"group": "deployments",
- "weight": 410,
+ "weight": 411,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27175,7 +27287,7 @@
"x-appwrite": {
"method": "getDeployment",
"group": "deployments",
- "weight": 411,
+ "weight": 412,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27237,7 +27349,7 @@
"x-appwrite": {
"method": "deleteDeployment",
"group": "deployments",
- "weight": 414,
+ "weight": 415,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27301,7 +27413,7 @@
"x-appwrite": {
"method": "getDeploymentDownload",
"group": "deployments",
- "weight": 415,
+ "weight": 416,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -27391,7 +27503,7 @@
"x-appwrite": {
"method": "updateDeploymentStatus",
"group": "deployments",
- "weight": 417,
+ "weight": 418,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27462,7 +27574,7 @@
"x-appwrite": {
"method": "listLogs",
"group": "logs",
- "weight": 419,
+ "weight": 420,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27533,7 +27645,7 @@
"x-appwrite": {
"method": "getLog",
"group": "logs",
- "weight": 418,
+ "weight": 419,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27595,7 +27707,7 @@
"x-appwrite": {
"method": "deleteLog",
"group": "logs",
- "weight": 420,
+ "weight": 421,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27666,7 +27778,7 @@
"x-appwrite": {
"method": "getUsage",
"group": null,
- "weight": 429,
+ "weight": 430,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27748,7 +27860,7 @@
"x-appwrite": {
"method": "listVariables",
"group": "variables",
- "weight": 423,
+ "weight": 424,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27807,7 +27919,7 @@
"x-appwrite": {
"method": "createVariable",
"group": "variables",
- "weight": 421,
+ "weight": 422,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27898,7 +28010,7 @@
"x-appwrite": {
"method": "getVariable",
"group": "variables",
- "weight": 422,
+ "weight": 423,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27967,7 +28079,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": "variables",
- "weight": 424,
+ "weight": 425,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28058,7 +28170,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": "variables",
- "weight": 425,
+ "weight": 426,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28129,7 +28241,7 @@
"x-appwrite": {
"method": "listBuckets",
"group": "buckets",
- "weight": 206,
+ "weight": 207,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28202,7 +28314,7 @@
"x-appwrite": {
"method": "createBucket",
"group": "buckets",
- "weight": 205,
+ "weight": 206,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28329,7 +28441,7 @@
"x-appwrite": {
"method": "getBucket",
"group": "buckets",
- "weight": 207,
+ "weight": 208,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28388,7 +28500,7 @@
"x-appwrite": {
"method": "updateBucket",
"group": "buckets",
- "weight": 208,
+ "weight": 209,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28512,7 +28624,7 @@
"x-appwrite": {
"method": "deleteBucket",
"group": "buckets",
- "weight": 209,
+ "weight": 210,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28573,7 +28685,7 @@
"x-appwrite": {
"method": "listFiles",
"group": "files",
- "weight": 211,
+ "weight": 212,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28659,7 +28771,7 @@
"x-appwrite": {
"method": "createFile",
"group": "files",
- "weight": 210,
+ "weight": 211,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -28757,7 +28869,7 @@
"x-appwrite": {
"method": "getFile",
"group": "files",
- "weight": 212,
+ "weight": 213,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28829,7 +28941,7 @@
"x-appwrite": {
"method": "updateFile",
"group": "files",
- "weight": 217,
+ "weight": 218,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28918,7 +29030,7 @@
"x-appwrite": {
"method": "deleteFile",
"group": "files",
- "weight": 218,
+ "weight": 219,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28985,7 +29097,7 @@
"x-appwrite": {
"method": "getFileDownload",
"group": "files",
- "weight": 214,
+ "weight": 215,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -29063,7 +29175,7 @@
"x-appwrite": {
"method": "getFilePreview",
"group": "files",
- "weight": 213,
+ "weight": 214,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -29290,7 +29402,7 @@
"x-appwrite": {
"method": "getFileView",
"group": "files",
- "weight": 215,
+ "weight": 216,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -29375,7 +29487,7 @@
"x-appwrite": {
"method": "getUsage",
"group": null,
- "weight": 219,
+ "weight": 220,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29447,7 +29559,7 @@
"x-appwrite": {
"method": "getBucketUsage",
"group": null,
- "weight": 220,
+ "weight": 221,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29529,7 +29641,7 @@
"x-appwrite": {
"method": "list",
"group": "teams",
- "weight": 222,
+ "weight": 223,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29605,7 +29717,7 @@
"x-appwrite": {
"method": "create",
"group": "teams",
- "weight": 221,
+ "weight": 222,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29690,7 +29802,7 @@
"x-appwrite": {
"method": "get",
"group": "teams",
- "weight": 223,
+ "weight": 224,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29752,7 +29864,7 @@
"x-appwrite": {
"method": "updateName",
"group": "teams",
- "weight": 225,
+ "weight": 226,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29826,7 +29938,7 @@
"x-appwrite": {
"method": "delete",
"group": "teams",
- "weight": 227,
+ "weight": 228,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29890,7 +30002,7 @@
"x-appwrite": {
"method": "listLogs",
"group": "logs",
- "weight": 234,
+ "weight": 235,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29963,7 +30075,7 @@
"x-appwrite": {
"method": "listMemberships",
"group": "memberships",
- "weight": 229,
+ "weight": 230,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30049,7 +30161,7 @@
"x-appwrite": {
"method": "createMembership",
"group": "memberships",
- "weight": 228,
+ "weight": 229,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30160,7 +30272,7 @@
"x-appwrite": {
"method": "getMembership",
"group": "memberships",
- "weight": 230,
+ "weight": 231,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30232,7 +30344,7 @@
"x-appwrite": {
"method": "updateMembership",
"group": "memberships",
- "weight": 231,
+ "weight": 232,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30319,7 +30431,7 @@
"x-appwrite": {
"method": "deleteMembership",
"group": "memberships",
- "weight": 233,
+ "weight": 234,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30393,7 +30505,7 @@
"x-appwrite": {
"method": "updateMembershipStatus",
"group": "memberships",
- "weight": 232,
+ "weight": 233,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30490,7 +30602,7 @@
"x-appwrite": {
"method": "getPrefs",
"group": "teams",
- "weight": 224,
+ "weight": 225,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30550,7 +30662,7 @@
"x-appwrite": {
"method": "updatePrefs",
"group": "teams",
- "weight": 226,
+ "weight": 227,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30631,7 +30743,7 @@
"x-appwrite": {
"method": "list",
"group": "files",
- "weight": 438,
+ "weight": 439,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30695,7 +30807,7 @@
"tags": [
"tokens"
],
- "description": "Create a new token. A token is linked to a file. Token can be passed as a header or request get parameter.",
+ "description": "Create a new token. A token is linked to a file. Token can be passed as a request URL search parameter.",
"responses": {
"201": {
"description": "ResourceToken",
@@ -30711,12 +30823,12 @@
"x-appwrite": {
"method": "createFileToken",
"group": "files",
- "weight": 436,
+ "weight": 437,
"cookies": false,
"type": "",
"deprecated": false,
"demo": "tokens\/create-file-token.md",
- "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new token. A token is linked to a file. Token can be passed as a header or request get parameter.",
+ "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new token. A token is linked to a file. Token can be passed as a request URL search parameter.",
"rate-limit": 60,
"rate-time": 60,
"rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}",
@@ -30800,7 +30912,7 @@
"x-appwrite": {
"method": "get",
"group": "tokens",
- "weight": 437,
+ "weight": 438,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30860,7 +30972,7 @@
"x-appwrite": {
"method": "update",
"group": "tokens",
- "weight": 439,
+ "weight": 440,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30930,7 +31042,7 @@
"x-appwrite": {
"method": "delete",
"group": "tokens",
- "weight": 440,
+ "weight": 441,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30992,7 +31104,7 @@
"x-appwrite": {
"method": "list",
"group": "users",
- "weight": 244,
+ "weight": 245,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31065,7 +31177,7 @@
"x-appwrite": {
"method": "create",
"group": "users",
- "weight": 235,
+ "weight": 236,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31153,7 +31265,7 @@
"x-appwrite": {
"method": "createArgon2User",
"group": "users",
- "weight": 238,
+ "weight": 239,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31238,7 +31350,7 @@
"x-appwrite": {
"method": "createBcryptUser",
"group": "users",
- "weight": 236,
+ "weight": 237,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31323,7 +31435,7 @@
"x-appwrite": {
"method": "listIdentities",
"group": "identities",
- "weight": 252,
+ "weight": 253,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31391,7 +31503,7 @@
"x-appwrite": {
"method": "deleteIdentity",
"group": "identities",
- "weight": 275,
+ "weight": 276,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31452,7 +31564,7 @@
"x-appwrite": {
"method": "createMD5User",
"group": "users",
- "weight": 237,
+ "weight": 238,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31537,7 +31649,7 @@
"x-appwrite": {
"method": "createPHPassUser",
"group": "users",
- "weight": 240,
+ "weight": 241,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31622,7 +31734,7 @@
"x-appwrite": {
"method": "createScryptUser",
"group": "users",
- "weight": 241,
+ "weight": 242,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31737,7 +31849,7 @@
"x-appwrite": {
"method": "createScryptModifiedUser",
"group": "users",
- "weight": 242,
+ "weight": 243,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31840,7 +31952,7 @@
"x-appwrite": {
"method": "createSHAUser",
"group": "users",
- "weight": 239,
+ "weight": 240,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31945,7 +32057,7 @@
"x-appwrite": {
"method": "getUsage",
"group": null,
- "weight": 277,
+ "weight": 278,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32017,7 +32129,7 @@
"x-appwrite": {
"method": "get",
"group": "users",
- "weight": 245,
+ "weight": 246,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32069,7 +32181,7 @@
"x-appwrite": {
"method": "delete",
"group": "users",
- "weight": 273,
+ "weight": 274,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32130,7 +32242,7 @@
"x-appwrite": {
"method": "updateEmail",
"group": "users",
- "weight": 258,
+ "weight": 259,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32210,7 +32322,7 @@
"x-appwrite": {
"method": "createJWT",
"group": "sessions",
- "weight": 276,
+ "weight": 277,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32292,7 +32404,7 @@
"x-appwrite": {
"method": "updateLabels",
"group": "users",
- "weight": 254,
+ "weight": 255,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32375,7 +32487,7 @@
"x-appwrite": {
"method": "listLogs",
"group": "logs",
- "weight": 250,
+ "weight": 251,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32449,7 +32561,7 @@
"x-appwrite": {
"method": "listMemberships",
"group": "memberships",
- "weight": 249,
+ "weight": 250,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32534,7 +32646,7 @@
"x-appwrite": {
"method": "updateMfa",
"group": "users",
- "weight": 263,
+ "weight": 264,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32607,7 +32719,7 @@
"x-appwrite": {
"method": "deleteMfaAuthenticator",
"group": "mfa",
- "weight": 268,
+ "weight": 269,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32683,7 +32795,7 @@
"x-appwrite": {
"method": "listMfaFactors",
"group": "mfa",
- "weight": 264,
+ "weight": 265,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32744,7 +32856,7 @@
"x-appwrite": {
"method": "getMfaRecoveryCodes",
"group": "mfa",
- "weight": 265,
+ "weight": 266,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32803,7 +32915,7 @@
"x-appwrite": {
"method": "updateMfaRecoveryCodes",
"group": "mfa",
- "weight": 267,
+ "weight": 268,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32862,7 +32974,7 @@
"x-appwrite": {
"method": "createMfaRecoveryCodes",
"group": "mfa",
- "weight": 266,
+ "weight": 267,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32923,7 +33035,7 @@
"x-appwrite": {
"method": "updateName",
"group": "users",
- "weight": 256,
+ "weight": 257,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33003,7 +33115,7 @@
"x-appwrite": {
"method": "updatePassword",
"group": "users",
- "weight": 257,
+ "weight": 258,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33083,7 +33195,7 @@
"x-appwrite": {
"method": "updatePhone",
"group": "users",
- "weight": 259,
+ "weight": 260,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33163,7 +33275,7 @@
"x-appwrite": {
"method": "getPrefs",
"group": "users",
- "weight": 246,
+ "weight": 247,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33222,7 +33334,7 @@
"x-appwrite": {
"method": "updatePrefs",
"group": "users",
- "weight": 261,
+ "weight": 262,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33302,7 +33414,7 @@
"x-appwrite": {
"method": "listSessions",
"group": "sessions",
- "weight": 248,
+ "weight": 249,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33361,7 +33473,7 @@
"x-appwrite": {
"method": "createSession",
"group": "sessions",
- "weight": 269,
+ "weight": 270,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33413,7 +33525,7 @@
"x-appwrite": {
"method": "deleteSessions",
"group": "sessions",
- "weight": 272,
+ "weight": 273,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33467,7 +33579,7 @@
"x-appwrite": {
"method": "deleteSession",
"group": "sessions",
- "weight": 271,
+ "weight": 272,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33538,7 +33650,7 @@
"x-appwrite": {
"method": "updateStatus",
"group": "users",
- "weight": 253,
+ "weight": 254,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33618,7 +33730,7 @@
"x-appwrite": {
"method": "listTargets",
"group": "targets",
- "weight": 251,
+ "weight": 252,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33691,7 +33803,7 @@
"x-appwrite": {
"method": "createTarget",
"group": "targets",
- "weight": 243,
+ "weight": 244,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33801,7 +33913,7 @@
"x-appwrite": {
"method": "getTarget",
"group": "targets",
- "weight": 247,
+ "weight": 248,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33871,7 +33983,7 @@
"x-appwrite": {
"method": "updateTarget",
"group": "targets",
- "weight": 262,
+ "weight": 263,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33960,7 +34072,7 @@
"x-appwrite": {
"method": "deleteTarget",
"group": "targets",
- "weight": 274,
+ "weight": 275,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34032,7 +34144,7 @@
"x-appwrite": {
"method": "createToken",
"group": "sessions",
- "weight": 270,
+ "weight": 271,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34114,7 +34226,7 @@
"x-appwrite": {
"method": "updateEmailVerification",
"group": "users",
- "weight": 260,
+ "weight": 261,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34194,7 +34306,7 @@
"x-appwrite": {
"method": "updatePhoneVerification",
"group": "users",
- "weight": 255,
+ "weight": 256,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34274,7 +34386,7 @@
"x-appwrite": {
"method": "createRepositoryDetection",
"group": "repositories",
- "weight": 281,
+ "weight": 282,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34370,7 +34482,7 @@
"x-appwrite": {
"method": "listRepositories",
"group": "repositories",
- "weight": 282,
+ "weight": 283,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34455,7 +34567,7 @@
"x-appwrite": {
"method": "createRepository",
"group": "repositories",
- "weight": 283,
+ "weight": 284,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34540,7 +34652,7 @@
"x-appwrite": {
"method": "getRepository",
"group": "repositories",
- "weight": 284,
+ "weight": 285,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34610,7 +34722,7 @@
"x-appwrite": {
"method": "listRepositoryBranches",
"group": "repositories",
- "weight": 285,
+ "weight": 286,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34680,7 +34792,7 @@
"x-appwrite": {
"method": "getRepositoryContents",
"group": "repositories",
- "weight": 280,
+ "weight": 281,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34754,7 +34866,7 @@
"x-appwrite": {
"method": "updateExternalDeployments",
"group": "repositories",
- "weight": 290,
+ "weight": 291,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34843,7 +34955,7 @@
"x-appwrite": {
"method": "listInstallations",
"group": "installations",
- "weight": 287,
+ "weight": 288,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34917,7 +35029,7 @@
"x-appwrite": {
"method": "getInstallation",
"group": "installations",
- "weight": 288,
+ "weight": 289,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34968,7 +35080,7 @@
"x-appwrite": {
"method": "deleteInstallation",
"group": "installations",
- "weight": 289,
+ "weight": 290,
"cookies": false,
"type": "",
"deprecated": false,
diff --git a/app/config/specs/open-api3-1.7.x-server.json b/app/config/specs/open-api3-1.7.x-server.json
index ac1c26d5b61..1ae93288643 100644
--- a/app/config/specs/open-api3-1.7.x-server.json
+++ b/app/config/specs/open-api3-1.7.x-server.json
@@ -1,7 +1,7 @@
{
"openapi": "3.0.0",
"info": {
- "version": "1.7.0",
+ "version": "1.7.4",
"title": "Appwrite",
"description": "Appwrite backend as a service cuts up to 70% of the time and costs required for building a modern application. We abstract and simplify common development tasks behind a REST APIs, to help you develop your app in a fast and secure way. For full API documentation and tutorials go to [https:\/\/appwrite.io\/docs](https:\/\/appwrite.io\/docs)",
"termsOfService": "https:\/\/appwrite.io\/policy\/terms",
@@ -7650,7 +7650,7 @@
"x-appwrite": {
"method": "upsertDocuments",
"group": "documents",
- "weight": 115,
+ "weight": 116,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7711,7 +7711,10 @@
"type": "object"
}
}
- }
+ },
+ "required": [
+ "documents"
+ ]
}
}
}
@@ -7739,7 +7742,7 @@
"x-appwrite": {
"method": "updateDocuments",
"group": "documents",
- "weight": 114,
+ "weight": 115,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7833,7 +7836,7 @@
"x-appwrite": {
"method": "deleteDocuments",
"group": "documents",
- "weight": 117,
+ "weight": 118,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7999,6 +8002,117 @@
}
]
},
+ "put": {
+ "summary": "Upsert document",
+ "operationId": "databasesUpsertDocument",
+ "tags": [
+ "databases"
+ ],
+ "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
+ "responses": {
+ "200": {
+ "description": "Document",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "$ref": "#\/components\/schemas\/document"
+ }
+ }
+ }
+ }
+ },
+ "x-appwrite": {
+ "method": "upsertDocument",
+ "group": "documents",
+ "weight": 114,
+ "cookies": false,
+ "type": "",
+ "deprecated": false,
+ "demo": "databases\/upsert-document.md",
+ "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md",
+ "rate-limit": 120,
+ "rate-time": 60,
+ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}",
+ "scope": "documents.write",
+ "platforms": [
+ "client",
+ "server",
+ "server"
+ ],
+ "packaging": false,
+ "auth": {
+ "Project": [],
+ "Session": []
+ }
+ },
+ "security": [
+ {
+ "Project": [],
+ "Session": [],
+ "Key": [],
+ "JWT": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "databaseId",
+ "description": "Database ID.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "x-example": ""
+ },
+ "in": "path"
+ },
+ {
+ "name": "collectionId",
+ "description": "Collection ID.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "x-example": ""
+ },
+ "in": "path"
+ },
+ {
+ "name": "documentId",
+ "description": "Document ID.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "x-example": ""
+ },
+ "in": "path"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application\/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "data": {
+ "type": "object",
+ "description": "Document data as JSON object. Include all required attributes of the document to be created or updated.",
+ "x-example": "{}"
+ },
+ "permissions": {
+ "type": "array",
+ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).",
+ "x-example": "[\"read(\"any\")\"]",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "data"
+ ]
+ }
+ }
+ }
+ }
+ },
"patch": {
"summary": "Update document",
"operationId": "databasesUpdateDocument",
@@ -8122,7 +8236,7 @@
"x-appwrite": {
"method": "deleteDocument",
"group": "documents",
- "weight": 116,
+ "weight": 117,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8573,7 +8687,7 @@
"x-appwrite": {
"method": "list",
"group": "functions",
- "weight": 375,
+ "weight": 376,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8647,7 +8761,7 @@
"x-appwrite": {
"method": "create",
"group": "functions",
- "weight": 372,
+ "weight": 373,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8879,7 +8993,7 @@
"x-appwrite": {
"method": "listRuntimes",
"group": "runtimes",
- "weight": 377,
+ "weight": 378,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8929,7 +9043,7 @@
"x-appwrite": {
"method": "listSpecifications",
"group": "runtimes",
- "weight": 378,
+ "weight": 379,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8980,7 +9094,7 @@
"x-appwrite": {
"method": "get",
"group": "functions",
- "weight": 373,
+ "weight": 374,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9040,7 +9154,7 @@
"x-appwrite": {
"method": "update",
"group": "functions",
- "weight": 374,
+ "weight": 375,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9269,7 +9383,7 @@
"x-appwrite": {
"method": "delete",
"group": "functions",
- "weight": 376,
+ "weight": 377,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9331,7 +9445,7 @@
"x-appwrite": {
"method": "updateFunctionDeployment",
"group": "functions",
- "weight": 381,
+ "weight": 382,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9412,7 +9526,7 @@
"x-appwrite": {
"method": "listDeployments",
"group": "deployments",
- "weight": 382,
+ "weight": 383,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9496,7 +9610,7 @@
"x-appwrite": {
"method": "createDeployment",
"group": "deployments",
- "weight": 379,
+ "weight": 380,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -9593,7 +9707,7 @@
"x-appwrite": {
"method": "createDuplicateDeployment",
"group": "deployments",
- "weight": 387,
+ "weight": 388,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9679,7 +9793,7 @@
"x-appwrite": {
"method": "createTemplateDeployment",
"group": "deployments",
- "weight": 384,
+ "weight": 385,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9783,7 +9897,7 @@
"x-appwrite": {
"method": "createVcsDeployment",
"group": "deployments",
- "weight": 385,
+ "weight": 386,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9881,7 +9995,7 @@
"x-appwrite": {
"method": "getDeployment",
"group": "deployments",
- "weight": 380,
+ "weight": 381,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9944,7 +10058,7 @@
"x-appwrite": {
"method": "deleteDeployment",
"group": "deployments",
- "weight": 383,
+ "weight": 384,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10009,7 +10123,7 @@
"x-appwrite": {
"method": "getDeploymentDownload",
"group": "deployments",
- "weight": 386,
+ "weight": 387,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -10100,7 +10214,7 @@
"x-appwrite": {
"method": "updateDeploymentStatus",
"group": "deployments",
- "weight": 388,
+ "weight": 389,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10172,7 +10286,7 @@
"x-appwrite": {
"method": "listExecutions",
"group": "executions",
- "weight": 391,
+ "weight": 392,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10249,7 +10363,7 @@
"x-appwrite": {
"method": "createExecution",
"group": "executions",
- "weight": 389,
+ "weight": 390,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10366,7 +10480,7 @@
"x-appwrite": {
"method": "getExecution",
"group": "executions",
- "weight": 390,
+ "weight": 391,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10433,7 +10547,7 @@
"x-appwrite": {
"method": "deleteExecution",
"group": "executions",
- "weight": 392,
+ "weight": 393,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10505,7 +10619,7 @@
"x-appwrite": {
"method": "listVariables",
"group": "variables",
- "weight": 397,
+ "weight": 398,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10565,7 +10679,7 @@
"x-appwrite": {
"method": "createVariable",
"group": "variables",
- "weight": 395,
+ "weight": 396,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10657,7 +10771,7 @@
"x-appwrite": {
"method": "getVariable",
"group": "variables",
- "weight": 396,
+ "weight": 397,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10727,7 +10841,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": "variables",
- "weight": 398,
+ "weight": 399,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10819,7 +10933,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": "variables",
- "weight": 399,
+ "weight": 400,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10891,7 +11005,7 @@
"x-appwrite": {
"method": "query",
"group": "graphql",
- "weight": 305,
+ "weight": 306,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -10945,7 +11059,7 @@
"x-appwrite": {
"method": "mutation",
"group": "graphql",
- "weight": 304,
+ "weight": 305,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -10999,7 +11113,7 @@
"x-appwrite": {
"method": "get",
"group": "health",
- "weight": 129,
+ "weight": 130,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11049,7 +11163,7 @@
"x-appwrite": {
"method": "getAntivirus",
"group": "health",
- "weight": 150,
+ "weight": 151,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11099,7 +11213,7 @@
"x-appwrite": {
"method": "getCache",
"group": "health",
- "weight": 132,
+ "weight": 133,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11149,7 +11263,7 @@
"x-appwrite": {
"method": "getCertificate",
"group": "health",
- "weight": 137,
+ "weight": 138,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11210,7 +11324,7 @@
"x-appwrite": {
"method": "getDB",
"group": "health",
- "weight": 131,
+ "weight": 132,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11260,7 +11374,7 @@
"x-appwrite": {
"method": "getPubSub",
"group": "health",
- "weight": 133,
+ "weight": 134,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11310,7 +11424,7 @@
"x-appwrite": {
"method": "getQueueBuilds",
"group": "queue",
- "weight": 139,
+ "weight": 140,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11373,7 +11487,7 @@
"x-appwrite": {
"method": "getQueueCertificates",
"group": "queue",
- "weight": 138,
+ "weight": 139,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11436,7 +11550,7 @@
"x-appwrite": {
"method": "getQueueDatabases",
"group": "queue",
- "weight": 140,
+ "weight": 141,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11510,7 +11624,7 @@
"x-appwrite": {
"method": "getQueueDeletes",
"group": "queue",
- "weight": 141,
+ "weight": 142,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11573,7 +11687,7 @@
"x-appwrite": {
"method": "getFailedJobs",
"group": "queue",
- "weight": 151,
+ "weight": 152,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11662,7 +11776,7 @@
"x-appwrite": {
"method": "getQueueFunctions",
"group": "queue",
- "weight": 145,
+ "weight": 146,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11725,7 +11839,7 @@
"x-appwrite": {
"method": "getQueueLogs",
"group": "queue",
- "weight": 136,
+ "weight": 137,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11788,7 +11902,7 @@
"x-appwrite": {
"method": "getQueueMails",
"group": "queue",
- "weight": 142,
+ "weight": 143,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11851,7 +11965,7 @@
"x-appwrite": {
"method": "getQueueMessaging",
"group": "queue",
- "weight": 143,
+ "weight": 144,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11914,7 +12028,7 @@
"x-appwrite": {
"method": "getQueueMigrations",
"group": "queue",
- "weight": 144,
+ "weight": 145,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11977,7 +12091,7 @@
"x-appwrite": {
"method": "getQueueStatsResources",
"group": "queue",
- "weight": 146,
+ "weight": 147,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12040,7 +12154,7 @@
"x-appwrite": {
"method": "getQueueUsage",
"group": "queue",
- "weight": 147,
+ "weight": 148,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12103,7 +12217,7 @@
"x-appwrite": {
"method": "getQueueWebhooks",
"group": "queue",
- "weight": 135,
+ "weight": 136,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12166,7 +12280,7 @@
"x-appwrite": {
"method": "getStorage",
"group": "storage",
- "weight": 149,
+ "weight": 150,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12216,7 +12330,7 @@
"x-appwrite": {
"method": "getStorageLocal",
"group": "storage",
- "weight": 148,
+ "weight": 149,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12266,7 +12380,7 @@
"x-appwrite": {
"method": "getTime",
"group": "health",
- "weight": 134,
+ "weight": 135,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12316,7 +12430,7 @@
"x-appwrite": {
"method": "get",
"group": null,
- "weight": 121,
+ "weight": 122,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12370,7 +12484,7 @@
"x-appwrite": {
"method": "listCodes",
"group": null,
- "weight": 122,
+ "weight": 123,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12424,7 +12538,7 @@
"x-appwrite": {
"method": "listContinents",
"group": null,
- "weight": 126,
+ "weight": 127,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12478,7 +12592,7 @@
"x-appwrite": {
"method": "listCountries",
"group": null,
- "weight": 123,
+ "weight": 124,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12532,7 +12646,7 @@
"x-appwrite": {
"method": "listCountriesEU",
"group": null,
- "weight": 124,
+ "weight": 125,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12586,7 +12700,7 @@
"x-appwrite": {
"method": "listCountriesPhones",
"group": null,
- "weight": 125,
+ "weight": 126,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12640,7 +12754,7 @@
"x-appwrite": {
"method": "listCurrencies",
"group": null,
- "weight": 127,
+ "weight": 128,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12694,7 +12808,7 @@
"x-appwrite": {
"method": "listLanguages",
"group": null,
- "weight": 128,
+ "weight": 129,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12748,7 +12862,7 @@
"x-appwrite": {
"method": "listMessages",
"group": "messages",
- "weight": 359,
+ "weight": 360,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12825,7 +12939,7 @@
"x-appwrite": {
"method": "createEmail",
"group": "messages",
- "weight": 356,
+ "weight": 357,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12970,7 +13084,7 @@
"x-appwrite": {
"method": "updateEmail",
"group": "messages",
- "weight": 363,
+ "weight": 364,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13117,7 +13231,7 @@
"x-appwrite": {
"method": "createPush",
"group": "messages",
- "weight": 358,
+ "weight": 359,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13292,7 +13406,7 @@
"x-appwrite": {
"method": "updatePush",
"group": "messages",
- "weight": 365,
+ "weight": 366,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13471,7 +13585,7 @@
"x-appwrite": {
"method": "createSms",
"group": "messages",
- "weight": 357,
+ "weight": 358,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13581,7 +13695,7 @@
"x-appwrite": {
"method": "updateSms",
"group": "messages",
- "weight": 364,
+ "weight": 365,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13694,7 +13808,7 @@
"x-appwrite": {
"method": "getMessage",
"group": "messages",
- "weight": 362,
+ "weight": 363,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13748,7 +13862,7 @@
"x-appwrite": {
"method": "delete",
"group": "messages",
- "weight": 366,
+ "weight": 367,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13811,7 +13925,7 @@
"x-appwrite": {
"method": "listMessageLogs",
"group": "logs",
- "weight": 360,
+ "weight": 361,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13887,7 +14001,7 @@
"x-appwrite": {
"method": "listTargets",
"group": "messages",
- "weight": 361,
+ "weight": 362,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13963,7 +14077,7 @@
"x-appwrite": {
"method": "listProviders",
"group": "providers",
- "weight": 331,
+ "weight": 332,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14040,7 +14154,7 @@
"x-appwrite": {
"method": "createApnsProvider",
"group": "providers",
- "weight": 330,
+ "weight": 331,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14146,7 +14260,7 @@
"x-appwrite": {
"method": "updateApnsProvider",
"group": "providers",
- "weight": 343,
+ "weight": 344,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14255,7 +14369,7 @@
"x-appwrite": {
"method": "createFcmProvider",
"group": "providers",
- "weight": 329,
+ "weight": 330,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14341,7 +14455,7 @@
"x-appwrite": {
"method": "updateFcmProvider",
"group": "providers",
- "weight": 342,
+ "weight": 343,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14430,7 +14544,7 @@
"x-appwrite": {
"method": "createMailgunProvider",
"group": "providers",
- "weight": 321,
+ "weight": 322,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14546,7 +14660,7 @@
"x-appwrite": {
"method": "updateMailgunProvider",
"group": "providers",
- "weight": 334,
+ "weight": 335,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14665,7 +14779,7 @@
"x-appwrite": {
"method": "createMsg91Provider",
"group": "providers",
- "weight": 324,
+ "weight": 325,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14761,7 +14875,7 @@
"x-appwrite": {
"method": "updateMsg91Provider",
"group": "providers",
- "weight": 337,
+ "weight": 338,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14860,7 +14974,7 @@
"x-appwrite": {
"method": "createSendgridProvider",
"group": "providers",
- "weight": 322,
+ "weight": 323,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14966,7 +15080,7 @@
"x-appwrite": {
"method": "updateSendgridProvider",
"group": "providers",
- "weight": 335,
+ "weight": 336,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15075,7 +15189,7 @@
"x-appwrite": {
"method": "createSmtpProvider",
"group": "providers",
- "weight": 323,
+ "weight": 324,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15219,7 +15333,7 @@
"x-appwrite": {
"method": "updateSmtpProvider",
"group": "providers",
- "weight": 336,
+ "weight": 337,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15365,7 +15479,7 @@
"x-appwrite": {
"method": "createTelesignProvider",
"group": "providers",
- "weight": 325,
+ "weight": 326,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15461,7 +15575,7 @@
"x-appwrite": {
"method": "updateTelesignProvider",
"group": "providers",
- "weight": 338,
+ "weight": 339,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15560,7 +15674,7 @@
"x-appwrite": {
"method": "createTextmagicProvider",
"group": "providers",
- "weight": 326,
+ "weight": 327,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15656,7 +15770,7 @@
"x-appwrite": {
"method": "updateTextmagicProvider",
"group": "providers",
- "weight": 339,
+ "weight": 340,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15755,7 +15869,7 @@
"x-appwrite": {
"method": "createTwilioProvider",
"group": "providers",
- "weight": 327,
+ "weight": 328,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15851,7 +15965,7 @@
"x-appwrite": {
"method": "updateTwilioProvider",
"group": "providers",
- "weight": 340,
+ "weight": 341,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15950,7 +16064,7 @@
"x-appwrite": {
"method": "createVonageProvider",
"group": "providers",
- "weight": 328,
+ "weight": 329,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16046,7 +16160,7 @@
"x-appwrite": {
"method": "updateVonageProvider",
"group": "providers",
- "weight": 341,
+ "weight": 342,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16145,7 +16259,7 @@
"x-appwrite": {
"method": "getProvider",
"group": "providers",
- "weight": 333,
+ "weight": 334,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16199,7 +16313,7 @@
"x-appwrite": {
"method": "deleteProvider",
"group": "providers",
- "weight": 344,
+ "weight": 345,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16262,7 +16376,7 @@
"x-appwrite": {
"method": "listProviderLogs",
"group": "providers",
- "weight": 332,
+ "weight": 333,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16338,7 +16452,7 @@
"x-appwrite": {
"method": "listSubscriberLogs",
"group": "subscribers",
- "weight": 353,
+ "weight": 354,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16414,7 +16528,7 @@
"x-appwrite": {
"method": "listTopics",
"group": "topics",
- "weight": 346,
+ "weight": 347,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16489,7 +16603,7 @@
"x-appwrite": {
"method": "createTopic",
"group": "topics",
- "weight": 345,
+ "weight": 346,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16573,7 +16687,7 @@
"x-appwrite": {
"method": "getTopic",
"group": "topics",
- "weight": 348,
+ "weight": 349,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16634,7 +16748,7 @@
"x-appwrite": {
"method": "updateTopic",
"group": "topics",
- "weight": 349,
+ "weight": 350,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16712,7 +16826,7 @@
"x-appwrite": {
"method": "deleteTopic",
"group": "topics",
- "weight": 350,
+ "weight": 351,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16775,7 +16889,7 @@
"x-appwrite": {
"method": "listTopicLogs",
"group": "topics",
- "weight": 347,
+ "weight": 348,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16851,7 +16965,7 @@
"x-appwrite": {
"method": "listSubscribers",
"group": "subscribers",
- "weight": 352,
+ "weight": 353,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16936,7 +17050,7 @@
"x-appwrite": {
"method": "createSubscriber",
"group": "subscribers",
- "weight": 351,
+ "weight": 352,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17028,7 +17142,7 @@
"x-appwrite": {
"method": "getSubscriber",
"group": "subscribers",
- "weight": 354,
+ "weight": 355,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17092,7 +17206,7 @@
"x-appwrite": {
"method": "deleteSubscriber",
"group": "subscribers",
- "weight": 355,
+ "weight": 356,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17169,7 +17283,7 @@
"x-appwrite": {
"method": "list",
"group": "sites",
- "weight": 404,
+ "weight": 405,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17240,7 +17354,7 @@
"x-appwrite": {
"method": "create",
"group": "sites",
- "weight": 402,
+ "weight": 403,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17488,7 +17602,7 @@
"x-appwrite": {
"method": "listFrameworks",
"group": "frameworks",
- "weight": 407,
+ "weight": 408,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17538,7 +17652,7 @@
"x-appwrite": {
"method": "listSpecifications",
"group": "frameworks",
- "weight": 430,
+ "weight": 431,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17589,7 +17703,7 @@
"x-appwrite": {
"method": "get",
"group": "sites",
- "weight": 403,
+ "weight": 404,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17649,7 +17763,7 @@
"x-appwrite": {
"method": "update",
"group": "sites",
- "weight": 405,
+ "weight": 406,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17893,7 +18007,7 @@
"x-appwrite": {
"method": "delete",
"group": "sites",
- "weight": 406,
+ "weight": 407,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17955,7 +18069,7 @@
"x-appwrite": {
"method": "updateSiteDeployment",
"group": "sites",
- "weight": 413,
+ "weight": 414,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18036,7 +18150,7 @@
"x-appwrite": {
"method": "listDeployments",
"group": "deployments",
- "weight": 412,
+ "weight": 413,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18120,7 +18234,7 @@
"x-appwrite": {
"method": "createDeployment",
"group": "deployments",
- "weight": 408,
+ "weight": 409,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -18222,7 +18336,7 @@
"x-appwrite": {
"method": "createDuplicateDeployment",
"group": "deployments",
- "weight": 416,
+ "weight": 417,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18303,7 +18417,7 @@
"x-appwrite": {
"method": "createTemplateDeployment",
"group": "deployments",
- "weight": 409,
+ "weight": 410,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18407,7 +18521,7 @@
"x-appwrite": {
"method": "createVcsDeployment",
"group": "deployments",
- "weight": 410,
+ "weight": 411,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18506,7 +18620,7 @@
"x-appwrite": {
"method": "getDeployment",
"group": "deployments",
- "weight": 411,
+ "weight": 412,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18569,7 +18683,7 @@
"x-appwrite": {
"method": "deleteDeployment",
"group": "deployments",
- "weight": 414,
+ "weight": 415,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18634,7 +18748,7 @@
"x-appwrite": {
"method": "getDeploymentDownload",
"group": "deployments",
- "weight": 415,
+ "weight": 416,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -18725,7 +18839,7 @@
"x-appwrite": {
"method": "updateDeploymentStatus",
"group": "deployments",
- "weight": 417,
+ "weight": 418,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18797,7 +18911,7 @@
"x-appwrite": {
"method": "listLogs",
"group": "logs",
- "weight": 419,
+ "weight": 420,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18869,7 +18983,7 @@
"x-appwrite": {
"method": "getLog",
"group": "logs",
- "weight": 418,
+ "weight": 419,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18932,7 +19046,7 @@
"x-appwrite": {
"method": "deleteLog",
"group": "logs",
- "weight": 420,
+ "weight": 421,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19004,7 +19118,7 @@
"x-appwrite": {
"method": "listVariables",
"group": "variables",
- "weight": 423,
+ "weight": 424,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19064,7 +19178,7 @@
"x-appwrite": {
"method": "createVariable",
"group": "variables",
- "weight": 421,
+ "weight": 422,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19156,7 +19270,7 @@
"x-appwrite": {
"method": "getVariable",
"group": "variables",
- "weight": 422,
+ "weight": 423,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19226,7 +19340,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": "variables",
- "weight": 424,
+ "weight": 425,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19318,7 +19432,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": "variables",
- "weight": 425,
+ "weight": 426,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19390,7 +19504,7 @@
"x-appwrite": {
"method": "listBuckets",
"group": "buckets",
- "weight": 206,
+ "weight": 207,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19464,7 +19578,7 @@
"x-appwrite": {
"method": "createBucket",
"group": "buckets",
- "weight": 205,
+ "weight": 206,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19592,7 +19706,7 @@
"x-appwrite": {
"method": "getBucket",
"group": "buckets",
- "weight": 207,
+ "weight": 208,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19652,7 +19766,7 @@
"x-appwrite": {
"method": "updateBucket",
"group": "buckets",
- "weight": 208,
+ "weight": 209,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19777,7 +19891,7 @@
"x-appwrite": {
"method": "deleteBucket",
"group": "buckets",
- "weight": 209,
+ "weight": 210,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19839,7 +19953,7 @@
"x-appwrite": {
"method": "listFiles",
"group": "files",
- "weight": 211,
+ "weight": 212,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19927,7 +20041,7 @@
"x-appwrite": {
"method": "createFile",
"group": "files",
- "weight": 210,
+ "weight": 211,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -20027,7 +20141,7 @@
"x-appwrite": {
"method": "getFile",
"group": "files",
- "weight": 212,
+ "weight": 213,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20101,7 +20215,7 @@
"x-appwrite": {
"method": "updateFile",
"group": "files",
- "weight": 217,
+ "weight": 218,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20192,7 +20306,7 @@
"x-appwrite": {
"method": "deleteFile",
"group": "files",
- "weight": 218,
+ "weight": 219,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20261,7 +20375,7 @@
"x-appwrite": {
"method": "getFileDownload",
"group": "files",
- "weight": 214,
+ "weight": 215,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -20341,7 +20455,7 @@
"x-appwrite": {
"method": "getFilePreview",
"group": "files",
- "weight": 213,
+ "weight": 214,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -20570,7 +20684,7 @@
"x-appwrite": {
"method": "getFileView",
"group": "files",
- "weight": 215,
+ "weight": 216,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -20657,7 +20771,7 @@
"x-appwrite": {
"method": "list",
"group": "teams",
- "weight": 222,
+ "weight": 223,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20735,7 +20849,7 @@
"x-appwrite": {
"method": "create",
"group": "teams",
- "weight": 221,
+ "weight": 222,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20822,7 +20936,7 @@
"x-appwrite": {
"method": "get",
"group": "teams",
- "weight": 223,
+ "weight": 224,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20886,7 +21000,7 @@
"x-appwrite": {
"method": "updateName",
"group": "teams",
- "weight": 225,
+ "weight": 226,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20962,7 +21076,7 @@
"x-appwrite": {
"method": "delete",
"group": "teams",
- "weight": 227,
+ "weight": 228,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21028,7 +21142,7 @@
"x-appwrite": {
"method": "listMemberships",
"group": "memberships",
- "weight": 229,
+ "weight": 230,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21116,7 +21230,7 @@
"x-appwrite": {
"method": "createMembership",
"group": "memberships",
- "weight": 228,
+ "weight": 229,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21229,7 +21343,7 @@
"x-appwrite": {
"method": "getMembership",
"group": "memberships",
- "weight": 230,
+ "weight": 231,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21303,7 +21417,7 @@
"x-appwrite": {
"method": "updateMembership",
"group": "memberships",
- "weight": 231,
+ "weight": 232,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21392,7 +21506,7 @@
"x-appwrite": {
"method": "deleteMembership",
"group": "memberships",
- "weight": 233,
+ "weight": 234,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21468,7 +21582,7 @@
"x-appwrite": {
"method": "updateMembershipStatus",
"group": "memberships",
- "weight": 232,
+ "weight": 233,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21567,7 +21681,7 @@
"x-appwrite": {
"method": "getPrefs",
"group": "teams",
- "weight": 224,
+ "weight": 225,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21629,7 +21743,7 @@
"x-appwrite": {
"method": "updatePrefs",
"group": "teams",
- "weight": 226,
+ "weight": 227,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21712,7 +21826,7 @@
"x-appwrite": {
"method": "list",
"group": "files",
- "weight": 438,
+ "weight": 439,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21777,7 +21891,7 @@
"tags": [
"tokens"
],
- "description": "Create a new token. A token is linked to a file. Token can be passed as a header or request get parameter.",
+ "description": "Create a new token. A token is linked to a file. Token can be passed as a request URL search parameter.",
"responses": {
"201": {
"description": "ResourceToken",
@@ -21793,12 +21907,12 @@
"x-appwrite": {
"method": "createFileToken",
"group": "files",
- "weight": 436,
+ "weight": 437,
"cookies": false,
"type": "",
"deprecated": false,
"demo": "tokens\/create-file-token.md",
- "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new token. A token is linked to a file. Token can be passed as a header or request get parameter.",
+ "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new token. A token is linked to a file. Token can be passed as a request URL search parameter.",
"rate-limit": 60,
"rate-time": 60,
"rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}",
@@ -21883,7 +21997,7 @@
"x-appwrite": {
"method": "get",
"group": "tokens",
- "weight": 437,
+ "weight": 438,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21944,7 +22058,7 @@
"x-appwrite": {
"method": "update",
"group": "tokens",
- "weight": 439,
+ "weight": 440,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22015,7 +22129,7 @@
"x-appwrite": {
"method": "delete",
"group": "tokens",
- "weight": 440,
+ "weight": 441,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22078,7 +22192,7 @@
"x-appwrite": {
"method": "list",
"group": "users",
- "weight": 244,
+ "weight": 245,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22152,7 +22266,7 @@
"x-appwrite": {
"method": "create",
"group": "users",
- "weight": 235,
+ "weight": 236,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22241,7 +22355,7 @@
"x-appwrite": {
"method": "createArgon2User",
"group": "users",
- "weight": 238,
+ "weight": 239,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22327,7 +22441,7 @@
"x-appwrite": {
"method": "createBcryptUser",
"group": "users",
- "weight": 236,
+ "weight": 237,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22413,7 +22527,7 @@
"x-appwrite": {
"method": "listIdentities",
"group": "identities",
- "weight": 252,
+ "weight": 253,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22482,7 +22596,7 @@
"x-appwrite": {
"method": "deleteIdentity",
"group": "identities",
- "weight": 275,
+ "weight": 276,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22544,7 +22658,7 @@
"x-appwrite": {
"method": "createMD5User",
"group": "users",
- "weight": 237,
+ "weight": 238,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22630,7 +22744,7 @@
"x-appwrite": {
"method": "createPHPassUser",
"group": "users",
- "weight": 240,
+ "weight": 241,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22716,7 +22830,7 @@
"x-appwrite": {
"method": "createScryptUser",
"group": "users",
- "weight": 241,
+ "weight": 242,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22832,7 +22946,7 @@
"x-appwrite": {
"method": "createScryptModifiedUser",
"group": "users",
- "weight": 242,
+ "weight": 243,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22936,7 +23050,7 @@
"x-appwrite": {
"method": "createSHAUser",
"group": "users",
- "weight": 239,
+ "weight": 240,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23042,7 +23156,7 @@
"x-appwrite": {
"method": "get",
"group": "users",
- "weight": 245,
+ "weight": 246,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23095,7 +23209,7 @@
"x-appwrite": {
"method": "delete",
"group": "users",
- "weight": 273,
+ "weight": 274,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23157,7 +23271,7 @@
"x-appwrite": {
"method": "updateEmail",
"group": "users",
- "weight": 258,
+ "weight": 259,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23238,7 +23352,7 @@
"x-appwrite": {
"method": "createJWT",
"group": "sessions",
- "weight": 276,
+ "weight": 277,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23321,7 +23435,7 @@
"x-appwrite": {
"method": "updateLabels",
"group": "users",
- "weight": 254,
+ "weight": 255,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23405,7 +23519,7 @@
"x-appwrite": {
"method": "listLogs",
"group": "logs",
- "weight": 250,
+ "weight": 251,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23480,7 +23594,7 @@
"x-appwrite": {
"method": "listMemberships",
"group": "memberships",
- "weight": 249,
+ "weight": 250,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23566,7 +23680,7 @@
"x-appwrite": {
"method": "updateMfa",
"group": "users",
- "weight": 263,
+ "weight": 264,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23640,7 +23754,7 @@
"x-appwrite": {
"method": "deleteMfaAuthenticator",
"group": "mfa",
- "weight": 268,
+ "weight": 269,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23717,7 +23831,7 @@
"x-appwrite": {
"method": "listMfaFactors",
"group": "mfa",
- "weight": 264,
+ "weight": 265,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23779,7 +23893,7 @@
"x-appwrite": {
"method": "getMfaRecoveryCodes",
"group": "mfa",
- "weight": 265,
+ "weight": 266,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23839,7 +23953,7 @@
"x-appwrite": {
"method": "updateMfaRecoveryCodes",
"group": "mfa",
- "weight": 267,
+ "weight": 268,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23899,7 +24013,7 @@
"x-appwrite": {
"method": "createMfaRecoveryCodes",
"group": "mfa",
- "weight": 266,
+ "weight": 267,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23961,7 +24075,7 @@
"x-appwrite": {
"method": "updateName",
"group": "users",
- "weight": 256,
+ "weight": 257,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24042,7 +24156,7 @@
"x-appwrite": {
"method": "updatePassword",
"group": "users",
- "weight": 257,
+ "weight": 258,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24123,7 +24237,7 @@
"x-appwrite": {
"method": "updatePhone",
"group": "users",
- "weight": 259,
+ "weight": 260,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24204,7 +24318,7 @@
"x-appwrite": {
"method": "getPrefs",
"group": "users",
- "weight": 246,
+ "weight": 247,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24264,7 +24378,7 @@
"x-appwrite": {
"method": "updatePrefs",
"group": "users",
- "weight": 261,
+ "weight": 262,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24345,7 +24459,7 @@
"x-appwrite": {
"method": "listSessions",
"group": "sessions",
- "weight": 248,
+ "weight": 249,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24405,7 +24519,7 @@
"x-appwrite": {
"method": "createSession",
"group": "sessions",
- "weight": 269,
+ "weight": 270,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24458,7 +24572,7 @@
"x-appwrite": {
"method": "deleteSessions",
"group": "sessions",
- "weight": 272,
+ "weight": 273,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24513,7 +24627,7 @@
"x-appwrite": {
"method": "deleteSession",
"group": "sessions",
- "weight": 271,
+ "weight": 272,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24585,7 +24699,7 @@
"x-appwrite": {
"method": "updateStatus",
"group": "users",
- "weight": 253,
+ "weight": 254,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24666,7 +24780,7 @@
"x-appwrite": {
"method": "listTargets",
"group": "targets",
- "weight": 251,
+ "weight": 252,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24740,7 +24854,7 @@
"x-appwrite": {
"method": "createTarget",
"group": "targets",
- "weight": 243,
+ "weight": 244,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24851,7 +24965,7 @@
"x-appwrite": {
"method": "getTarget",
"group": "targets",
- "weight": 247,
+ "weight": 248,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24922,7 +25036,7 @@
"x-appwrite": {
"method": "updateTarget",
"group": "targets",
- "weight": 262,
+ "weight": 263,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25012,7 +25126,7 @@
"x-appwrite": {
"method": "deleteTarget",
"group": "targets",
- "weight": 274,
+ "weight": 275,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25085,7 +25199,7 @@
"x-appwrite": {
"method": "createToken",
"group": "sessions",
- "weight": 270,
+ "weight": 271,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25168,7 +25282,7 @@
"x-appwrite": {
"method": "updateEmailVerification",
"group": "users",
- "weight": 260,
+ "weight": 261,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25249,7 +25363,7 @@
"x-appwrite": {
"method": "updatePhoneVerification",
"group": "users",
- "weight": 255,
+ "weight": 256,
"cookies": false,
"type": "",
"deprecated": false,
diff --git a/app/config/specs/open-api3-latest-client.json b/app/config/specs/open-api3-latest-client.json
index 92e64c7ba04..bbb78c6c667 100644
--- a/app/config/specs/open-api3-latest-client.json
+++ b/app/config/specs/open-api3-latest-client.json
@@ -1,7 +1,7 @@
{
"openapi": "3.0.0",
"info": {
- "version": "1.7.0",
+ "version": "1.7.4",
"title": "Appwrite",
"description": "Appwrite backend as a service cuts up to 70% of the time and costs required for building a modern application. We abstract and simplify common development tasks behind a REST APIs, to help you develop your app in a fast and secure way. For full API documentation and tutorials go to [https:\/\/appwrite.io\/docs](https:\/\/appwrite.io\/docs)",
"termsOfService": "https:\/\/appwrite.io\/policy\/terms",
@@ -4660,6 +4660,115 @@
}
]
},
+ "put": {
+ "summary": "Upsert document",
+ "operationId": "databasesUpsertDocument",
+ "tags": [
+ "databases"
+ ],
+ "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
+ "responses": {
+ "200": {
+ "description": "Document",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "$ref": "#\/components\/schemas\/document"
+ }
+ }
+ }
+ }
+ },
+ "x-appwrite": {
+ "method": "upsertDocument",
+ "group": "documents",
+ "weight": 114,
+ "cookies": false,
+ "type": "",
+ "deprecated": false,
+ "demo": "databases\/upsert-document.md",
+ "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md",
+ "rate-limit": 120,
+ "rate-time": 60,
+ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}",
+ "scope": "documents.write",
+ "platforms": [
+ "client",
+ "server",
+ "server"
+ ],
+ "packaging": false,
+ "auth": {
+ "Project": []
+ }
+ },
+ "security": [
+ {
+ "Project": [],
+ "Session": [],
+ "JWT": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "databaseId",
+ "description": "Database ID.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "x-example": ""
+ },
+ "in": "path"
+ },
+ {
+ "name": "collectionId",
+ "description": "Collection ID.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "x-example": ""
+ },
+ "in": "path"
+ },
+ {
+ "name": "documentId",
+ "description": "Document ID.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "x-example": ""
+ },
+ "in": "path"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application\/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "data": {
+ "type": "object",
+ "description": "Document data as JSON object. Include all required attributes of the document to be created or updated.",
+ "x-example": "{}"
+ },
+ "permissions": {
+ "type": "array",
+ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).",
+ "x-example": "[\"read(\"any\")\"]",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "data"
+ ]
+ }
+ }
+ }
+ }
+ },
"patch": {
"summary": "Update document",
"operationId": "databasesUpdateDocument",
@@ -4781,7 +4890,7 @@
"x-appwrite": {
"method": "deleteDocument",
"group": "documents",
- "weight": 116,
+ "weight": 117,
"cookies": false,
"type": "",
"deprecated": false,
@@ -4865,7 +4974,7 @@
"x-appwrite": {
"method": "listExecutions",
"group": "executions",
- "weight": 391,
+ "weight": 392,
"cookies": false,
"type": "",
"deprecated": false,
@@ -4940,7 +5049,7 @@
"x-appwrite": {
"method": "createExecution",
"group": "executions",
- "weight": 389,
+ "weight": 390,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5055,7 +5164,7 @@
"x-appwrite": {
"method": "getExecution",
"group": "executions",
- "weight": 390,
+ "weight": 391,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5129,7 +5238,7 @@
"x-appwrite": {
"method": "query",
"group": "graphql",
- "weight": 305,
+ "weight": 306,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -5181,7 +5290,7 @@
"x-appwrite": {
"method": "mutation",
"group": "graphql",
- "weight": 304,
+ "weight": 305,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -5233,7 +5342,7 @@
"x-appwrite": {
"method": "get",
"group": null,
- "weight": 121,
+ "weight": 122,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5285,7 +5394,7 @@
"x-appwrite": {
"method": "listCodes",
"group": null,
- "weight": 122,
+ "weight": 123,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5337,7 +5446,7 @@
"x-appwrite": {
"method": "listContinents",
"group": null,
- "weight": 126,
+ "weight": 127,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5389,7 +5498,7 @@
"x-appwrite": {
"method": "listCountries",
"group": null,
- "weight": 123,
+ "weight": 124,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5441,7 +5550,7 @@
"x-appwrite": {
"method": "listCountriesEU",
"group": null,
- "weight": 124,
+ "weight": 125,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5493,7 +5602,7 @@
"x-appwrite": {
"method": "listCountriesPhones",
"group": null,
- "weight": 125,
+ "weight": 126,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5545,7 +5654,7 @@
"x-appwrite": {
"method": "listCurrencies",
"group": null,
- "weight": 127,
+ "weight": 128,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5597,7 +5706,7 @@
"x-appwrite": {
"method": "listLanguages",
"group": null,
- "weight": 128,
+ "weight": 129,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5649,7 +5758,7 @@
"x-appwrite": {
"method": "createSubscriber",
"group": "subscribers",
- "weight": 351,
+ "weight": 352,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5732,7 +5841,7 @@
"x-appwrite": {
"method": "deleteSubscriber",
"group": "subscribers",
- "weight": 355,
+ "weight": 356,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5807,7 +5916,7 @@
"x-appwrite": {
"method": "listFiles",
"group": "files",
- "weight": 211,
+ "weight": 212,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5893,7 +6002,7 @@
"x-appwrite": {
"method": "createFile",
"group": "files",
- "weight": 210,
+ "weight": 211,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -5991,7 +6100,7 @@
"x-appwrite": {
"method": "getFile",
"group": "files",
- "weight": 212,
+ "weight": 213,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6063,7 +6172,7 @@
"x-appwrite": {
"method": "updateFile",
"group": "files",
- "weight": 217,
+ "weight": 218,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6152,7 +6261,7 @@
"x-appwrite": {
"method": "deleteFile",
"group": "files",
- "weight": 218,
+ "weight": 219,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6219,7 +6328,7 @@
"x-appwrite": {
"method": "getFileDownload",
"group": "files",
- "weight": 214,
+ "weight": 215,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -6297,7 +6406,7 @@
"x-appwrite": {
"method": "getFilePreview",
"group": "files",
- "weight": 213,
+ "weight": 214,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -6524,7 +6633,7 @@
"x-appwrite": {
"method": "getFileView",
"group": "files",
- "weight": 215,
+ "weight": 216,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -6609,7 +6718,7 @@
"x-appwrite": {
"method": "list",
"group": "teams",
- "weight": 222,
+ "weight": 223,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6685,7 +6794,7 @@
"x-appwrite": {
"method": "create",
"group": "teams",
- "weight": 221,
+ "weight": 222,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6770,7 +6879,7 @@
"x-appwrite": {
"method": "get",
"group": "teams",
- "weight": 223,
+ "weight": 224,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6832,7 +6941,7 @@
"x-appwrite": {
"method": "updateName",
"group": "teams",
- "weight": 225,
+ "weight": 226,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6906,7 +7015,7 @@
"x-appwrite": {
"method": "delete",
"group": "teams",
- "weight": 227,
+ "weight": 228,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6970,7 +7079,7 @@
"x-appwrite": {
"method": "listMemberships",
"group": "memberships",
- "weight": 229,
+ "weight": 230,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7056,7 +7165,7 @@
"x-appwrite": {
"method": "createMembership",
"group": "memberships",
- "weight": 228,
+ "weight": 229,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7167,7 +7276,7 @@
"x-appwrite": {
"method": "getMembership",
"group": "memberships",
- "weight": 230,
+ "weight": 231,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7239,7 +7348,7 @@
"x-appwrite": {
"method": "updateMembership",
"group": "memberships",
- "weight": 231,
+ "weight": 232,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7326,7 +7435,7 @@
"x-appwrite": {
"method": "deleteMembership",
"group": "memberships",
- "weight": 233,
+ "weight": 234,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7400,7 +7509,7 @@
"x-appwrite": {
"method": "updateMembershipStatus",
"group": "memberships",
- "weight": 232,
+ "weight": 233,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7498,7 +7607,7 @@
"x-appwrite": {
"method": "getPrefs",
"group": "teams",
- "weight": 224,
+ "weight": 225,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7559,7 +7668,7 @@
"x-appwrite": {
"method": "updatePrefs",
"group": "teams",
- "weight": 226,
+ "weight": 227,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9752,6 +9861,12 @@
"name": "X-Appwrite-Session",
"description": "The user session to authenticate with",
"in": "header"
+ },
+ "DevKey": {
+ "type": "apiKey",
+ "name": "X-Appwrite-Dev-Key",
+ "description": "Your secret dev API key",
+ "in": "header"
}
}
},
diff --git a/app/config/specs/open-api3-latest-console.json b/app/config/specs/open-api3-latest-console.json
index 31d5016e85c..90ef137fc26 100644
--- a/app/config/specs/open-api3-latest-console.json
+++ b/app/config/specs/open-api3-latest-console.json
@@ -1,7 +1,7 @@
{
"openapi": "3.0.0",
"info": {
- "version": "1.7.0",
+ "version": "1.7.4",
"title": "Appwrite",
"description": "Appwrite backend as a service cuts up to 70% of the time and costs required for building a modern application. We abstract and simplify common development tasks behind a REST APIs, to help you develop your app in a fast and secure way. For full API documentation and tutorials go to [https:\/\/appwrite.io\/docs](https:\/\/appwrite.io\/docs)",
"termsOfService": "https:\/\/appwrite.io\/policy\/terms",
@@ -4359,7 +4359,7 @@
"x-appwrite": {
"method": "chat",
"group": "console",
- "weight": 307,
+ "weight": 308,
"cookies": false,
"type": "",
"deprecated": false,
@@ -4419,7 +4419,7 @@
"x-appwrite": {
"method": "getResource",
"group": null,
- "weight": 431,
+ "weight": 432,
"cookies": false,
"type": "",
"deprecated": false,
@@ -4494,7 +4494,7 @@
"x-appwrite": {
"method": "variables",
"group": "console",
- "weight": 306,
+ "weight": 307,
"cookies": false,
"type": "",
"deprecated": false,
@@ -4694,7 +4694,7 @@
"x-appwrite": {
"method": "getUsage",
"group": null,
- "weight": 118,
+ "weight": 119,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8167,7 +8167,7 @@
"x-appwrite": {
"method": "upsertDocuments",
"group": "documents",
- "weight": 115,
+ "weight": 116,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8227,7 +8227,10 @@
"type": "object"
}
}
- }
+ },
+ "required": [
+ "documents"
+ ]
}
}
}
@@ -8255,7 +8258,7 @@
"x-appwrite": {
"method": "updateDocuments",
"group": "documents",
- "weight": 114,
+ "weight": 115,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8348,7 +8351,7 @@
"x-appwrite": {
"method": "deleteDocuments",
"group": "documents",
- "weight": 117,
+ "weight": 118,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8511,6 +8514,115 @@
}
]
},
+ "put": {
+ "summary": "Upsert document",
+ "operationId": "databasesUpsertDocument",
+ "tags": [
+ "databases"
+ ],
+ "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
+ "responses": {
+ "200": {
+ "description": "Document",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "$ref": "#\/components\/schemas\/document"
+ }
+ }
+ }
+ }
+ },
+ "x-appwrite": {
+ "method": "upsertDocument",
+ "group": "documents",
+ "weight": 114,
+ "cookies": false,
+ "type": "",
+ "deprecated": false,
+ "demo": "databases\/upsert-document.md",
+ "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md",
+ "rate-limit": 120,
+ "rate-time": 60,
+ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}",
+ "scope": "documents.write",
+ "platforms": [
+ "client",
+ "server",
+ "server"
+ ],
+ "packaging": false,
+ "auth": {
+ "Project": []
+ }
+ },
+ "security": [
+ {
+ "Project": [],
+ "Key": [],
+ "JWT": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "databaseId",
+ "description": "Database ID.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "x-example": ""
+ },
+ "in": "path"
+ },
+ {
+ "name": "collectionId",
+ "description": "Collection ID.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "x-example": ""
+ },
+ "in": "path"
+ },
+ {
+ "name": "documentId",
+ "description": "Document ID.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "x-example": ""
+ },
+ "in": "path"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application\/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "data": {
+ "type": "object",
+ "description": "Document data as JSON object. Include all required attributes of the document to be created or updated.",
+ "x-example": "{}"
+ },
+ "permissions": {
+ "type": "array",
+ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).",
+ "x-example": "[\"read(\"any\")\"]",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "data"
+ ]
+ }
+ }
+ }
+ }
+ },
"patch": {
"summary": "Update document",
"operationId": "databasesUpdateDocument",
@@ -8632,7 +8744,7 @@
"x-appwrite": {
"method": "deleteDocument",
"group": "documents",
- "weight": 116,
+ "weight": 117,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9253,7 +9365,7 @@
"x-appwrite": {
"method": "getCollectionUsage",
"group": null,
- "weight": 120,
+ "weight": 121,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9418,7 +9530,7 @@
"x-appwrite": {
"method": "getDatabaseUsage",
"group": null,
- "weight": 119,
+ "weight": 120,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9500,7 +9612,7 @@
"x-appwrite": {
"method": "list",
"group": "functions",
- "weight": 375,
+ "weight": 376,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9573,7 +9685,7 @@
"x-appwrite": {
"method": "create",
"group": "functions",
- "weight": 372,
+ "weight": 373,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9804,7 +9916,7 @@
"x-appwrite": {
"method": "listRuntimes",
"group": "runtimes",
- "weight": 377,
+ "weight": 378,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9853,7 +9965,7 @@
"x-appwrite": {
"method": "listSpecifications",
"group": "runtimes",
- "weight": 378,
+ "weight": 379,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9903,7 +10015,7 @@
"x-appwrite": {
"method": "listTemplates",
"group": "templates",
- "weight": 401,
+ "weight": 402,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10003,7 +10115,7 @@
"x-appwrite": {
"method": "getTemplate",
"group": "templates",
- "weight": 400,
+ "weight": 401,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10063,7 +10175,7 @@
"x-appwrite": {
"method": "listUsage",
"group": null,
- "weight": 394,
+ "weight": 395,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10135,7 +10247,7 @@
"x-appwrite": {
"method": "get",
"group": "functions",
- "weight": 373,
+ "weight": 374,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10194,7 +10306,7 @@
"x-appwrite": {
"method": "update",
"group": "functions",
- "weight": 374,
+ "weight": 375,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10422,7 +10534,7 @@
"x-appwrite": {
"method": "delete",
"group": "functions",
- "weight": 376,
+ "weight": 377,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10483,7 +10595,7 @@
"x-appwrite": {
"method": "updateFunctionDeployment",
"group": "functions",
- "weight": 381,
+ "weight": 382,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10563,7 +10675,7 @@
"x-appwrite": {
"method": "listDeployments",
"group": "deployments",
- "weight": 382,
+ "weight": 383,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10646,7 +10758,7 @@
"x-appwrite": {
"method": "createDeployment",
"group": "deployments",
- "weight": 379,
+ "weight": 380,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -10742,7 +10854,7 @@
"x-appwrite": {
"method": "createDuplicateDeployment",
"group": "deployments",
- "weight": 387,
+ "weight": 388,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10827,7 +10939,7 @@
"x-appwrite": {
"method": "createTemplateDeployment",
"group": "deployments",
- "weight": 384,
+ "weight": 385,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10930,7 +11042,7 @@
"x-appwrite": {
"method": "createVcsDeployment",
"group": "deployments",
- "weight": 385,
+ "weight": 386,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11027,7 +11139,7 @@
"x-appwrite": {
"method": "getDeployment",
"group": "deployments",
- "weight": 380,
+ "weight": 381,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11089,7 +11201,7 @@
"x-appwrite": {
"method": "deleteDeployment",
"group": "deployments",
- "weight": 383,
+ "weight": 384,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11153,7 +11265,7 @@
"x-appwrite": {
"method": "getDeploymentDownload",
"group": "deployments",
- "weight": 386,
+ "weight": 387,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -11243,7 +11355,7 @@
"x-appwrite": {
"method": "updateDeploymentStatus",
"group": "deployments",
- "weight": 388,
+ "weight": 389,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11314,7 +11426,7 @@
"x-appwrite": {
"method": "listExecutions",
"group": "executions",
- "weight": 391,
+ "weight": 392,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11389,7 +11501,7 @@
"x-appwrite": {
"method": "createExecution",
"group": "executions",
- "weight": 389,
+ "weight": 390,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11504,7 +11616,7 @@
"x-appwrite": {
"method": "getExecution",
"group": "executions",
- "weight": 390,
+ "weight": 391,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11569,7 +11681,7 @@
"x-appwrite": {
"method": "deleteExecution",
"group": "executions",
- "weight": 392,
+ "weight": 393,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11640,7 +11752,7 @@
"x-appwrite": {
"method": "getUsage",
"group": null,
- "weight": 393,
+ "weight": 394,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11722,7 +11834,7 @@
"x-appwrite": {
"method": "listVariables",
"group": "variables",
- "weight": 397,
+ "weight": 398,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11781,7 +11893,7 @@
"x-appwrite": {
"method": "createVariable",
"group": "variables",
- "weight": 395,
+ "weight": 396,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11872,7 +11984,7 @@
"x-appwrite": {
"method": "getVariable",
"group": "variables",
- "weight": 396,
+ "weight": 397,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11941,7 +12053,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": "variables",
- "weight": 398,
+ "weight": 399,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12032,7 +12144,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": "variables",
- "weight": 399,
+ "weight": 400,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12103,7 +12215,7 @@
"x-appwrite": {
"method": "query",
"group": "graphql",
- "weight": 305,
+ "weight": 306,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -12155,7 +12267,7 @@
"x-appwrite": {
"method": "mutation",
"group": "graphql",
- "weight": 304,
+ "weight": 305,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -12207,7 +12319,7 @@
"x-appwrite": {
"method": "get",
"group": "health",
- "weight": 129,
+ "weight": 130,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12256,7 +12368,7 @@
"x-appwrite": {
"method": "getAntivirus",
"group": "health",
- "weight": 150,
+ "weight": 151,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12305,7 +12417,7 @@
"x-appwrite": {
"method": "getCache",
"group": "health",
- "weight": 132,
+ "weight": 133,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12354,7 +12466,7 @@
"x-appwrite": {
"method": "getCertificate",
"group": "health",
- "weight": 137,
+ "weight": 138,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12414,7 +12526,7 @@
"x-appwrite": {
"method": "getDB",
"group": "health",
- "weight": 131,
+ "weight": 132,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12463,7 +12575,7 @@
"x-appwrite": {
"method": "getPubSub",
"group": "health",
- "weight": 133,
+ "weight": 134,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12512,7 +12624,7 @@
"x-appwrite": {
"method": "getQueueBuilds",
"group": "queue",
- "weight": 139,
+ "weight": 140,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12574,7 +12686,7 @@
"x-appwrite": {
"method": "getQueueCertificates",
"group": "queue",
- "weight": 138,
+ "weight": 139,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12636,7 +12748,7 @@
"x-appwrite": {
"method": "getQueueDatabases",
"group": "queue",
- "weight": 140,
+ "weight": 141,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12709,7 +12821,7 @@
"x-appwrite": {
"method": "getQueueDeletes",
"group": "queue",
- "weight": 141,
+ "weight": 142,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12771,7 +12883,7 @@
"x-appwrite": {
"method": "getFailedJobs",
"group": "queue",
- "weight": 151,
+ "weight": 152,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12859,7 +12971,7 @@
"x-appwrite": {
"method": "getQueueFunctions",
"group": "queue",
- "weight": 145,
+ "weight": 146,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12921,7 +13033,7 @@
"x-appwrite": {
"method": "getQueueLogs",
"group": "queue",
- "weight": 136,
+ "weight": 137,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12983,7 +13095,7 @@
"x-appwrite": {
"method": "getQueueMails",
"group": "queue",
- "weight": 142,
+ "weight": 143,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13045,7 +13157,7 @@
"x-appwrite": {
"method": "getQueueMessaging",
"group": "queue",
- "weight": 143,
+ "weight": 144,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13107,7 +13219,7 @@
"x-appwrite": {
"method": "getQueueMigrations",
"group": "queue",
- "weight": 144,
+ "weight": 145,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13169,7 +13281,7 @@
"x-appwrite": {
"method": "getQueueStatsResources",
"group": "queue",
- "weight": 146,
+ "weight": 147,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13231,7 +13343,7 @@
"x-appwrite": {
"method": "getQueueUsage",
"group": "queue",
- "weight": 147,
+ "weight": 148,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13293,7 +13405,7 @@
"x-appwrite": {
"method": "getQueueWebhooks",
"group": "queue",
- "weight": 135,
+ "weight": 136,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13355,7 +13467,7 @@
"x-appwrite": {
"method": "getStorage",
"group": "storage",
- "weight": 149,
+ "weight": 150,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13404,7 +13516,7 @@
"x-appwrite": {
"method": "getStorageLocal",
"group": "storage",
- "weight": 148,
+ "weight": 149,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13453,7 +13565,7 @@
"x-appwrite": {
"method": "getTime",
"group": "health",
- "weight": 134,
+ "weight": 135,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13502,7 +13614,7 @@
"x-appwrite": {
"method": "get",
"group": null,
- "weight": 121,
+ "weight": 122,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13554,7 +13666,7 @@
"x-appwrite": {
"method": "listCodes",
"group": null,
- "weight": 122,
+ "weight": 123,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13606,7 +13718,7 @@
"x-appwrite": {
"method": "listContinents",
"group": null,
- "weight": 126,
+ "weight": 127,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13658,7 +13770,7 @@
"x-appwrite": {
"method": "listCountries",
"group": null,
- "weight": 123,
+ "weight": 124,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13710,7 +13822,7 @@
"x-appwrite": {
"method": "listCountriesEU",
"group": null,
- "weight": 124,
+ "weight": 125,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13762,7 +13874,7 @@
"x-appwrite": {
"method": "listCountriesPhones",
"group": null,
- "weight": 125,
+ "weight": 126,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13814,7 +13926,7 @@
"x-appwrite": {
"method": "listCurrencies",
"group": null,
- "weight": 127,
+ "weight": 128,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13866,7 +13978,7 @@
"x-appwrite": {
"method": "listLanguages",
"group": null,
- "weight": 128,
+ "weight": 129,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13918,7 +14030,7 @@
"x-appwrite": {
"method": "listMessages",
"group": "messages",
- "weight": 359,
+ "weight": 360,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13994,7 +14106,7 @@
"x-appwrite": {
"method": "createEmail",
"group": "messages",
- "weight": 356,
+ "weight": 357,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14138,7 +14250,7 @@
"x-appwrite": {
"method": "updateEmail",
"group": "messages",
- "weight": 363,
+ "weight": 364,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14284,7 +14396,7 @@
"x-appwrite": {
"method": "createPush",
"group": "messages",
- "weight": 358,
+ "weight": 359,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14458,7 +14570,7 @@
"x-appwrite": {
"method": "updatePush",
"group": "messages",
- "weight": 365,
+ "weight": 366,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14636,7 +14748,7 @@
"x-appwrite": {
"method": "createSms",
"group": "messages",
- "weight": 357,
+ "weight": 358,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14745,7 +14857,7 @@
"x-appwrite": {
"method": "updateSms",
"group": "messages",
- "weight": 364,
+ "weight": 365,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14857,7 +14969,7 @@
"x-appwrite": {
"method": "getMessage",
"group": "messages",
- "weight": 362,
+ "weight": 363,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14910,7 +15022,7 @@
"x-appwrite": {
"method": "delete",
"group": "messages",
- "weight": 366,
+ "weight": 367,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14972,7 +15084,7 @@
"x-appwrite": {
"method": "listMessageLogs",
"group": "logs",
- "weight": 360,
+ "weight": 361,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15047,7 +15159,7 @@
"x-appwrite": {
"method": "listTargets",
"group": "messages",
- "weight": 361,
+ "weight": 362,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15122,7 +15234,7 @@
"x-appwrite": {
"method": "listProviders",
"group": "providers",
- "weight": 331,
+ "weight": 332,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15198,7 +15310,7 @@
"x-appwrite": {
"method": "createApnsProvider",
"group": "providers",
- "weight": 330,
+ "weight": 331,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15303,7 +15415,7 @@
"x-appwrite": {
"method": "updateApnsProvider",
"group": "providers",
- "weight": 343,
+ "weight": 344,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15411,7 +15523,7 @@
"x-appwrite": {
"method": "createFcmProvider",
"group": "providers",
- "weight": 329,
+ "weight": 330,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15496,7 +15608,7 @@
"x-appwrite": {
"method": "updateFcmProvider",
"group": "providers",
- "weight": 342,
+ "weight": 343,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15584,7 +15696,7 @@
"x-appwrite": {
"method": "createMailgunProvider",
"group": "providers",
- "weight": 321,
+ "weight": 322,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15699,7 +15811,7 @@
"x-appwrite": {
"method": "updateMailgunProvider",
"group": "providers",
- "weight": 334,
+ "weight": 335,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15817,7 +15929,7 @@
"x-appwrite": {
"method": "createMsg91Provider",
"group": "providers",
- "weight": 324,
+ "weight": 325,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15912,7 +16024,7 @@
"x-appwrite": {
"method": "updateMsg91Provider",
"group": "providers",
- "weight": 337,
+ "weight": 338,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16010,7 +16122,7 @@
"x-appwrite": {
"method": "createSendgridProvider",
"group": "providers",
- "weight": 322,
+ "weight": 323,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16115,7 +16227,7 @@
"x-appwrite": {
"method": "updateSendgridProvider",
"group": "providers",
- "weight": 335,
+ "weight": 336,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16223,7 +16335,7 @@
"x-appwrite": {
"method": "createSmtpProvider",
"group": "providers",
- "weight": 323,
+ "weight": 324,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16366,7 +16478,7 @@
"x-appwrite": {
"method": "updateSmtpProvider",
"group": "providers",
- "weight": 336,
+ "weight": 337,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16511,7 +16623,7 @@
"x-appwrite": {
"method": "createTelesignProvider",
"group": "providers",
- "weight": 325,
+ "weight": 326,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16606,7 +16718,7 @@
"x-appwrite": {
"method": "updateTelesignProvider",
"group": "providers",
- "weight": 338,
+ "weight": 339,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16704,7 +16816,7 @@
"x-appwrite": {
"method": "createTextmagicProvider",
"group": "providers",
- "weight": 326,
+ "weight": 327,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16799,7 +16911,7 @@
"x-appwrite": {
"method": "updateTextmagicProvider",
"group": "providers",
- "weight": 339,
+ "weight": 340,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16897,7 +17009,7 @@
"x-appwrite": {
"method": "createTwilioProvider",
"group": "providers",
- "weight": 327,
+ "weight": 328,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16992,7 +17104,7 @@
"x-appwrite": {
"method": "updateTwilioProvider",
"group": "providers",
- "weight": 340,
+ "weight": 341,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17090,7 +17202,7 @@
"x-appwrite": {
"method": "createVonageProvider",
"group": "providers",
- "weight": 328,
+ "weight": 329,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17185,7 +17297,7 @@
"x-appwrite": {
"method": "updateVonageProvider",
"group": "providers",
- "weight": 341,
+ "weight": 342,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17283,7 +17395,7 @@
"x-appwrite": {
"method": "getProvider",
"group": "providers",
- "weight": 333,
+ "weight": 334,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17336,7 +17448,7 @@
"x-appwrite": {
"method": "deleteProvider",
"group": "providers",
- "weight": 344,
+ "weight": 345,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17398,7 +17510,7 @@
"x-appwrite": {
"method": "listProviderLogs",
"group": "providers",
- "weight": 332,
+ "weight": 333,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17473,7 +17585,7 @@
"x-appwrite": {
"method": "listSubscriberLogs",
"group": "subscribers",
- "weight": 353,
+ "weight": 354,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17548,7 +17660,7 @@
"x-appwrite": {
"method": "listTopics",
"group": "topics",
- "weight": 346,
+ "weight": 347,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17622,7 +17734,7 @@
"x-appwrite": {
"method": "createTopic",
"group": "topics",
- "weight": 345,
+ "weight": 346,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17705,7 +17817,7 @@
"x-appwrite": {
"method": "getTopic",
"group": "topics",
- "weight": 348,
+ "weight": 349,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17765,7 +17877,7 @@
"x-appwrite": {
"method": "updateTopic",
"group": "topics",
- "weight": 349,
+ "weight": 350,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17842,7 +17954,7 @@
"x-appwrite": {
"method": "deleteTopic",
"group": "topics",
- "weight": 350,
+ "weight": 351,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17904,7 +18016,7 @@
"x-appwrite": {
"method": "listTopicLogs",
"group": "topics",
- "weight": 347,
+ "weight": 348,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17979,7 +18091,7 @@
"x-appwrite": {
"method": "listSubscribers",
"group": "subscribers",
- "weight": 352,
+ "weight": 353,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18063,7 +18175,7 @@
"x-appwrite": {
"method": "createSubscriber",
"group": "subscribers",
- "weight": 351,
+ "weight": 352,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18153,7 +18265,7 @@
"x-appwrite": {
"method": "getSubscriber",
"group": "subscribers",
- "weight": 354,
+ "weight": 355,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18216,7 +18328,7 @@
"x-appwrite": {
"method": "deleteSubscriber",
"group": "subscribers",
- "weight": 355,
+ "weight": 356,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18291,7 +18403,7 @@
"x-appwrite": {
"method": "list",
"group": null,
- "weight": 313,
+ "weight": 314,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18365,7 +18477,7 @@
"x-appwrite": {
"method": "createAppwriteMigration",
"group": null,
- "weight": 308,
+ "weight": 309,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18453,7 +18565,7 @@
"x-appwrite": {
"method": "getAppwriteReport",
"group": null,
- "weight": 315,
+ "weight": 316,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18546,7 +18658,7 @@
"x-appwrite": {
"method": "createCsvMigration",
"group": null,
- "weight": 312,
+ "weight": 313,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18625,7 +18737,7 @@
"x-appwrite": {
"method": "createFirebaseMigration",
"group": null,
- "weight": 309,
+ "weight": 310,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18701,7 +18813,7 @@
"x-appwrite": {
"method": "getFirebaseReport",
"group": null,
- "weight": 316,
+ "weight": 317,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18773,7 +18885,7 @@
"x-appwrite": {
"method": "createNHostMigration",
"group": null,
- "weight": 311,
+ "weight": 312,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18884,7 +18996,7 @@
"x-appwrite": {
"method": "getNHostReport",
"group": null,
- "weight": 318,
+ "weight": 319,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19017,7 +19129,7 @@
"x-appwrite": {
"method": "createSupabaseMigration",
"group": null,
- "weight": 310,
+ "weight": 311,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19122,7 +19234,7 @@
"x-appwrite": {
"method": "getSupabaseReport",
"group": null,
- "weight": 317,
+ "weight": 318,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19246,7 +19358,7 @@
"x-appwrite": {
"method": "get",
"group": null,
- "weight": 314,
+ "weight": 315,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19304,7 +19416,7 @@
"x-appwrite": {
"method": "retry",
"group": null,
- "weight": 319,
+ "weight": 320,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19355,7 +19467,7 @@
"x-appwrite": {
"method": "delete",
"group": null,
- "weight": 320,
+ "weight": 321,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19415,7 +19527,7 @@
"x-appwrite": {
"method": "getUsage",
"group": null,
- "weight": 199,
+ "weight": 200,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19503,7 +19615,7 @@
"x-appwrite": {
"method": "listVariables",
"group": null,
- "weight": 201,
+ "weight": 202,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19549,7 +19661,7 @@
"x-appwrite": {
"method": "createVariable",
"group": null,
- "weight": 200,
+ "weight": 201,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19627,7 +19739,7 @@
"x-appwrite": {
"method": "getVariable",
"group": null,
- "weight": 202,
+ "weight": 203,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19685,7 +19797,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": null,
- "weight": 203,
+ "weight": 204,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19765,7 +19877,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": null,
- "weight": 204,
+ "weight": 205,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19825,7 +19937,7 @@
"x-appwrite": {
"method": "list",
"group": "projects",
- "weight": 154,
+ "weight": 155,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19897,7 +20009,7 @@
"x-appwrite": {
"method": "create",
"group": "projects",
- "weight": 153,
+ "weight": 154,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20031,7 +20143,7 @@
"x-appwrite": {
"method": "get",
"group": "projects",
- "weight": 155,
+ "weight": 156,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20089,7 +20201,7 @@
"x-appwrite": {
"method": "update",
"group": "projects",
- "weight": 156,
+ "weight": 157,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20204,7 +20316,7 @@
"x-appwrite": {
"method": "delete",
"group": "projects",
- "weight": 173,
+ "weight": 174,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20264,7 +20376,7 @@
"x-appwrite": {
"method": "updateApiStatus",
"group": "projects",
- "weight": 160,
+ "weight": 161,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20356,7 +20468,7 @@
"x-appwrite": {
"method": "updateApiStatusAll",
"group": "projects",
- "weight": 161,
+ "weight": 162,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20435,7 +20547,7 @@
"x-appwrite": {
"method": "updateAuthDuration",
"group": "auth",
- "weight": 166,
+ "weight": 167,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20514,7 +20626,7 @@
"x-appwrite": {
"method": "updateAuthLimit",
"group": "auth",
- "weight": 165,
+ "weight": 166,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20593,7 +20705,7 @@
"x-appwrite": {
"method": "updateAuthSessionsLimit",
"group": "auth",
- "weight": 171,
+ "weight": 172,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20672,7 +20784,7 @@
"x-appwrite": {
"method": "updateMembershipsPrivacy",
"group": "auth",
- "weight": 164,
+ "weight": 165,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20763,7 +20875,7 @@
"x-appwrite": {
"method": "updateMockNumbers",
"group": "auth",
- "weight": 172,
+ "weight": 173,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20845,7 +20957,7 @@
"x-appwrite": {
"method": "updateAuthPasswordDictionary",
"group": "auth",
- "weight": 169,
+ "weight": 170,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20924,7 +21036,7 @@
"x-appwrite": {
"method": "updateAuthPasswordHistory",
"group": "auth",
- "weight": 168,
+ "weight": 169,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21003,7 +21115,7 @@
"x-appwrite": {
"method": "updatePersonalDataCheck",
"group": "auth",
- "weight": 170,
+ "weight": 171,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21082,7 +21194,7 @@
"x-appwrite": {
"method": "updateSessionAlerts",
"group": "auth",
- "weight": 163,
+ "weight": 164,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21161,7 +21273,7 @@
"x-appwrite": {
"method": "updateAuthStatus",
"group": "auth",
- "weight": 167,
+ "weight": 168,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21261,7 +21373,7 @@
"x-appwrite": {
"method": "listDevKeys",
"group": "devKeys",
- "weight": 370,
+ "weight": 371,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21329,7 +21441,7 @@
"x-appwrite": {
"method": "createDevKey",
"group": "devKeys",
- "weight": 367,
+ "weight": 368,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21414,7 +21526,7 @@
"x-appwrite": {
"method": "getDevKey",
"group": "devKeys",
- "weight": 369,
+ "weight": 370,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21482,7 +21594,7 @@
"x-appwrite": {
"method": "updateDevKey",
"group": "devKeys",
- "weight": 368,
+ "weight": 369,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21568,7 +21680,7 @@
"x-appwrite": {
"method": "deleteDevKey",
"group": "devKeys",
- "weight": 371,
+ "weight": 372,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21638,7 +21750,7 @@
"x-appwrite": {
"method": "createJWT",
"group": "auth",
- "weight": 185,
+ "weight": 186,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21725,7 +21837,7 @@
"x-appwrite": {
"method": "listKeys",
"group": "keys",
- "weight": 181,
+ "weight": 182,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21783,7 +21895,7 @@
"x-appwrite": {
"method": "createKey",
"group": "keys",
- "weight": 180,
+ "weight": 181,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21876,7 +21988,7 @@
"x-appwrite": {
"method": "getKey",
"group": "keys",
- "weight": 182,
+ "weight": 183,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21944,7 +22056,7 @@
"x-appwrite": {
"method": "updateKey",
"group": "keys",
- "weight": 183,
+ "weight": 184,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22038,7 +22150,7 @@
"x-appwrite": {
"method": "deleteKey",
"group": "keys",
- "weight": 184,
+ "weight": 185,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22108,7 +22220,7 @@
"x-appwrite": {
"method": "updateOAuth2",
"group": "auth",
- "weight": 162,
+ "weight": 163,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22246,7 +22358,7 @@
"x-appwrite": {
"method": "listPlatforms",
"group": "platforms",
- "weight": 187,
+ "weight": 188,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22304,7 +22416,7 @@
"x-appwrite": {
"method": "createPlatform",
"group": "platforms",
- "weight": 186,
+ "weight": 187,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22423,7 +22535,7 @@
"x-appwrite": {
"method": "getPlatform",
"group": "platforms",
- "weight": 188,
+ "weight": 189,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22491,7 +22603,7 @@
"x-appwrite": {
"method": "updatePlatform",
"group": "platforms",
- "weight": 189,
+ "weight": 190,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22586,7 +22698,7 @@
"x-appwrite": {
"method": "deletePlatform",
"group": "platforms",
- "weight": 190,
+ "weight": 191,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22656,7 +22768,7 @@
"x-appwrite": {
"method": "updateServiceStatus",
"group": "projects",
- "weight": 158,
+ "weight": 159,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22757,7 +22869,7 @@
"x-appwrite": {
"method": "updateServiceStatusAll",
"group": "projects",
- "weight": 159,
+ "weight": 160,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22836,7 +22948,7 @@
"x-appwrite": {
"method": "updateSmtp",
"group": "templates",
- "weight": 191,
+ "weight": 192,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22954,7 +23066,7 @@
"x-appwrite": {
"method": "createSmtpTest",
"group": "templates",
- "weight": 192,
+ "weight": 193,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23085,7 +23197,7 @@
"x-appwrite": {
"method": "updateTeam",
"group": "projects",
- "weight": 157,
+ "weight": 158,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23164,7 +23276,7 @@
"x-appwrite": {
"method": "getEmailTemplate",
"group": "templates",
- "weight": 194,
+ "weight": 195,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23388,7 +23500,7 @@
"x-appwrite": {
"method": "updateEmailTemplate",
"group": "templates",
- "weight": 196,
+ "weight": 197,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23652,7 +23764,7 @@
"x-appwrite": {
"method": "deleteEmailTemplate",
"group": "templates",
- "weight": 198,
+ "weight": 199,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23878,7 +23990,7 @@
"x-appwrite": {
"method": "getSmsTemplate",
"group": "templates",
- "weight": 193,
+ "weight": 194,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24099,7 +24211,7 @@
"x-appwrite": {
"method": "updateSmsTemplate",
"group": "templates",
- "weight": 195,
+ "weight": 196,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24339,7 +24451,7 @@
"x-appwrite": {
"method": "deleteSmsTemplate",
"group": "templates",
- "weight": 197,
+ "weight": 198,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24562,7 +24674,7 @@
"x-appwrite": {
"method": "listWebhooks",
"group": "webhooks",
- "weight": 175,
+ "weight": 176,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24620,7 +24732,7 @@
"x-appwrite": {
"method": "createWebhook",
"group": "webhooks",
- "weight": 174,
+ "weight": 175,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24735,7 +24847,7 @@
"x-appwrite": {
"method": "getWebhook",
"group": "webhooks",
- "weight": 176,
+ "weight": 177,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24803,7 +24915,7 @@
"x-appwrite": {
"method": "updateWebhook",
"group": "webhooks",
- "weight": 177,
+ "weight": 178,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24919,7 +25031,7 @@
"x-appwrite": {
"method": "deleteWebhook",
"group": "webhooks",
- "weight": 179,
+ "weight": 180,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24989,7 +25101,7 @@
"x-appwrite": {
"method": "updateWebhookSignature",
"group": "webhooks",
- "weight": 178,
+ "weight": 179,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25059,7 +25171,7 @@
"x-appwrite": {
"method": "listRules",
"group": null,
- "weight": 291,
+ "weight": 292,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25133,7 +25245,7 @@
"x-appwrite": {
"method": "createAPIRule",
"group": null,
- "weight": 432,
+ "weight": 433,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25200,7 +25312,7 @@
"x-appwrite": {
"method": "createFunctionRule",
"group": null,
- "weight": 434,
+ "weight": 435,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25278,7 +25390,7 @@
"x-appwrite": {
"method": "createRedirectRule",
"group": null,
- "weight": 435,
+ "weight": 436,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25370,7 +25482,7 @@
"x-appwrite": {
"method": "createSiteRule",
"group": null,
- "weight": 433,
+ "weight": 434,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25448,7 +25560,7 @@
"x-appwrite": {
"method": "getRule",
"group": null,
- "weight": 292,
+ "weight": 293,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25499,7 +25611,7 @@
"x-appwrite": {
"method": "deleteRule",
"group": null,
- "weight": 293,
+ "weight": 294,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25559,7 +25671,7 @@
"x-appwrite": {
"method": "updateRuleVerification",
"group": null,
- "weight": 294,
+ "weight": 295,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25619,7 +25731,7 @@
"x-appwrite": {
"method": "list",
"group": "sites",
- "weight": 404,
+ "weight": 405,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25689,7 +25801,7 @@
"x-appwrite": {
"method": "create",
"group": "sites",
- "weight": 402,
+ "weight": 403,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25936,7 +26048,7 @@
"x-appwrite": {
"method": "listFrameworks",
"group": "frameworks",
- "weight": 407,
+ "weight": 408,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25985,7 +26097,7 @@
"x-appwrite": {
"method": "listSpecifications",
"group": "frameworks",
- "weight": 430,
+ "weight": 431,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26035,7 +26147,7 @@
"x-appwrite": {
"method": "listTemplates",
"group": "templates",
- "weight": 426,
+ "weight": 427,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26135,7 +26247,7 @@
"x-appwrite": {
"method": "getTemplate",
"group": "templates",
- "weight": 427,
+ "weight": 428,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26195,7 +26307,7 @@
"x-appwrite": {
"method": "listUsage",
"group": null,
- "weight": 428,
+ "weight": 429,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26267,7 +26379,7 @@
"x-appwrite": {
"method": "get",
"group": "sites",
- "weight": 403,
+ "weight": 404,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26326,7 +26438,7 @@
"x-appwrite": {
"method": "update",
"group": "sites",
- "weight": 405,
+ "weight": 406,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26569,7 +26681,7 @@
"x-appwrite": {
"method": "delete",
"group": "sites",
- "weight": 406,
+ "weight": 407,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26630,7 +26742,7 @@
"x-appwrite": {
"method": "updateSiteDeployment",
"group": "sites",
- "weight": 413,
+ "weight": 414,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26710,7 +26822,7 @@
"x-appwrite": {
"method": "listDeployments",
"group": "deployments",
- "weight": 412,
+ "weight": 413,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26793,7 +26905,7 @@
"x-appwrite": {
"method": "createDeployment",
"group": "deployments",
- "weight": 408,
+ "weight": 409,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -26894,7 +27006,7 @@
"x-appwrite": {
"method": "createDuplicateDeployment",
"group": "deployments",
- "weight": 416,
+ "weight": 417,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26974,7 +27086,7 @@
"x-appwrite": {
"method": "createTemplateDeployment",
"group": "deployments",
- "weight": 409,
+ "weight": 410,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27077,7 +27189,7 @@
"x-appwrite": {
"method": "createVcsDeployment",
"group": "deployments",
- "weight": 410,
+ "weight": 411,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27175,7 +27287,7 @@
"x-appwrite": {
"method": "getDeployment",
"group": "deployments",
- "weight": 411,
+ "weight": 412,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27237,7 +27349,7 @@
"x-appwrite": {
"method": "deleteDeployment",
"group": "deployments",
- "weight": 414,
+ "weight": 415,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27301,7 +27413,7 @@
"x-appwrite": {
"method": "getDeploymentDownload",
"group": "deployments",
- "weight": 415,
+ "weight": 416,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -27391,7 +27503,7 @@
"x-appwrite": {
"method": "updateDeploymentStatus",
"group": "deployments",
- "weight": 417,
+ "weight": 418,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27462,7 +27574,7 @@
"x-appwrite": {
"method": "listLogs",
"group": "logs",
- "weight": 419,
+ "weight": 420,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27533,7 +27645,7 @@
"x-appwrite": {
"method": "getLog",
"group": "logs",
- "weight": 418,
+ "weight": 419,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27595,7 +27707,7 @@
"x-appwrite": {
"method": "deleteLog",
"group": "logs",
- "weight": 420,
+ "weight": 421,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27666,7 +27778,7 @@
"x-appwrite": {
"method": "getUsage",
"group": null,
- "weight": 429,
+ "weight": 430,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27748,7 +27860,7 @@
"x-appwrite": {
"method": "listVariables",
"group": "variables",
- "weight": 423,
+ "weight": 424,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27807,7 +27919,7 @@
"x-appwrite": {
"method": "createVariable",
"group": "variables",
- "weight": 421,
+ "weight": 422,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27898,7 +28010,7 @@
"x-appwrite": {
"method": "getVariable",
"group": "variables",
- "weight": 422,
+ "weight": 423,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27967,7 +28079,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": "variables",
- "weight": 424,
+ "weight": 425,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28058,7 +28170,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": "variables",
- "weight": 425,
+ "weight": 426,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28129,7 +28241,7 @@
"x-appwrite": {
"method": "listBuckets",
"group": "buckets",
- "weight": 206,
+ "weight": 207,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28202,7 +28314,7 @@
"x-appwrite": {
"method": "createBucket",
"group": "buckets",
- "weight": 205,
+ "weight": 206,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28329,7 +28441,7 @@
"x-appwrite": {
"method": "getBucket",
"group": "buckets",
- "weight": 207,
+ "weight": 208,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28388,7 +28500,7 @@
"x-appwrite": {
"method": "updateBucket",
"group": "buckets",
- "weight": 208,
+ "weight": 209,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28512,7 +28624,7 @@
"x-appwrite": {
"method": "deleteBucket",
"group": "buckets",
- "weight": 209,
+ "weight": 210,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28573,7 +28685,7 @@
"x-appwrite": {
"method": "listFiles",
"group": "files",
- "weight": 211,
+ "weight": 212,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28659,7 +28771,7 @@
"x-appwrite": {
"method": "createFile",
"group": "files",
- "weight": 210,
+ "weight": 211,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -28757,7 +28869,7 @@
"x-appwrite": {
"method": "getFile",
"group": "files",
- "weight": 212,
+ "weight": 213,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28829,7 +28941,7 @@
"x-appwrite": {
"method": "updateFile",
"group": "files",
- "weight": 217,
+ "weight": 218,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28918,7 +29030,7 @@
"x-appwrite": {
"method": "deleteFile",
"group": "files",
- "weight": 218,
+ "weight": 219,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28985,7 +29097,7 @@
"x-appwrite": {
"method": "getFileDownload",
"group": "files",
- "weight": 214,
+ "weight": 215,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -29063,7 +29175,7 @@
"x-appwrite": {
"method": "getFilePreview",
"group": "files",
- "weight": 213,
+ "weight": 214,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -29290,7 +29402,7 @@
"x-appwrite": {
"method": "getFileView",
"group": "files",
- "weight": 215,
+ "weight": 216,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -29375,7 +29487,7 @@
"x-appwrite": {
"method": "getUsage",
"group": null,
- "weight": 219,
+ "weight": 220,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29447,7 +29559,7 @@
"x-appwrite": {
"method": "getBucketUsage",
"group": null,
- "weight": 220,
+ "weight": 221,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29529,7 +29641,7 @@
"x-appwrite": {
"method": "list",
"group": "teams",
- "weight": 222,
+ "weight": 223,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29605,7 +29717,7 @@
"x-appwrite": {
"method": "create",
"group": "teams",
- "weight": 221,
+ "weight": 222,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29690,7 +29802,7 @@
"x-appwrite": {
"method": "get",
"group": "teams",
- "weight": 223,
+ "weight": 224,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29752,7 +29864,7 @@
"x-appwrite": {
"method": "updateName",
"group": "teams",
- "weight": 225,
+ "weight": 226,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29826,7 +29938,7 @@
"x-appwrite": {
"method": "delete",
"group": "teams",
- "weight": 227,
+ "weight": 228,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29890,7 +30002,7 @@
"x-appwrite": {
"method": "listLogs",
"group": "logs",
- "weight": 234,
+ "weight": 235,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29963,7 +30075,7 @@
"x-appwrite": {
"method": "listMemberships",
"group": "memberships",
- "weight": 229,
+ "weight": 230,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30049,7 +30161,7 @@
"x-appwrite": {
"method": "createMembership",
"group": "memberships",
- "weight": 228,
+ "weight": 229,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30160,7 +30272,7 @@
"x-appwrite": {
"method": "getMembership",
"group": "memberships",
- "weight": 230,
+ "weight": 231,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30232,7 +30344,7 @@
"x-appwrite": {
"method": "updateMembership",
"group": "memberships",
- "weight": 231,
+ "weight": 232,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30319,7 +30431,7 @@
"x-appwrite": {
"method": "deleteMembership",
"group": "memberships",
- "weight": 233,
+ "weight": 234,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30393,7 +30505,7 @@
"x-appwrite": {
"method": "updateMembershipStatus",
"group": "memberships",
- "weight": 232,
+ "weight": 233,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30490,7 +30602,7 @@
"x-appwrite": {
"method": "getPrefs",
"group": "teams",
- "weight": 224,
+ "weight": 225,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30550,7 +30662,7 @@
"x-appwrite": {
"method": "updatePrefs",
"group": "teams",
- "weight": 226,
+ "weight": 227,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30631,7 +30743,7 @@
"x-appwrite": {
"method": "list",
"group": "files",
- "weight": 438,
+ "weight": 439,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30695,7 +30807,7 @@
"tags": [
"tokens"
],
- "description": "Create a new token. A token is linked to a file. Token can be passed as a header or request get parameter.",
+ "description": "Create a new token. A token is linked to a file. Token can be passed as a request URL search parameter.",
"responses": {
"201": {
"description": "ResourceToken",
@@ -30711,12 +30823,12 @@
"x-appwrite": {
"method": "createFileToken",
"group": "files",
- "weight": 436,
+ "weight": 437,
"cookies": false,
"type": "",
"deprecated": false,
"demo": "tokens\/create-file-token.md",
- "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new token. A token is linked to a file. Token can be passed as a header or request get parameter.",
+ "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new token. A token is linked to a file. Token can be passed as a request URL search parameter.",
"rate-limit": 60,
"rate-time": 60,
"rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}",
@@ -30800,7 +30912,7 @@
"x-appwrite": {
"method": "get",
"group": "tokens",
- "weight": 437,
+ "weight": 438,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30860,7 +30972,7 @@
"x-appwrite": {
"method": "update",
"group": "tokens",
- "weight": 439,
+ "weight": 440,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30930,7 +31042,7 @@
"x-appwrite": {
"method": "delete",
"group": "tokens",
- "weight": 440,
+ "weight": 441,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30992,7 +31104,7 @@
"x-appwrite": {
"method": "list",
"group": "users",
- "weight": 244,
+ "weight": 245,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31065,7 +31177,7 @@
"x-appwrite": {
"method": "create",
"group": "users",
- "weight": 235,
+ "weight": 236,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31153,7 +31265,7 @@
"x-appwrite": {
"method": "createArgon2User",
"group": "users",
- "weight": 238,
+ "weight": 239,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31238,7 +31350,7 @@
"x-appwrite": {
"method": "createBcryptUser",
"group": "users",
- "weight": 236,
+ "weight": 237,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31323,7 +31435,7 @@
"x-appwrite": {
"method": "listIdentities",
"group": "identities",
- "weight": 252,
+ "weight": 253,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31391,7 +31503,7 @@
"x-appwrite": {
"method": "deleteIdentity",
"group": "identities",
- "weight": 275,
+ "weight": 276,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31452,7 +31564,7 @@
"x-appwrite": {
"method": "createMD5User",
"group": "users",
- "weight": 237,
+ "weight": 238,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31537,7 +31649,7 @@
"x-appwrite": {
"method": "createPHPassUser",
"group": "users",
- "weight": 240,
+ "weight": 241,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31622,7 +31734,7 @@
"x-appwrite": {
"method": "createScryptUser",
"group": "users",
- "weight": 241,
+ "weight": 242,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31737,7 +31849,7 @@
"x-appwrite": {
"method": "createScryptModifiedUser",
"group": "users",
- "weight": 242,
+ "weight": 243,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31840,7 +31952,7 @@
"x-appwrite": {
"method": "createSHAUser",
"group": "users",
- "weight": 239,
+ "weight": 240,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31945,7 +32057,7 @@
"x-appwrite": {
"method": "getUsage",
"group": null,
- "weight": 277,
+ "weight": 278,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32017,7 +32129,7 @@
"x-appwrite": {
"method": "get",
"group": "users",
- "weight": 245,
+ "weight": 246,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32069,7 +32181,7 @@
"x-appwrite": {
"method": "delete",
"group": "users",
- "weight": 273,
+ "weight": 274,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32130,7 +32242,7 @@
"x-appwrite": {
"method": "updateEmail",
"group": "users",
- "weight": 258,
+ "weight": 259,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32210,7 +32322,7 @@
"x-appwrite": {
"method": "createJWT",
"group": "sessions",
- "weight": 276,
+ "weight": 277,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32292,7 +32404,7 @@
"x-appwrite": {
"method": "updateLabels",
"group": "users",
- "weight": 254,
+ "weight": 255,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32375,7 +32487,7 @@
"x-appwrite": {
"method": "listLogs",
"group": "logs",
- "weight": 250,
+ "weight": 251,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32449,7 +32561,7 @@
"x-appwrite": {
"method": "listMemberships",
"group": "memberships",
- "weight": 249,
+ "weight": 250,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32534,7 +32646,7 @@
"x-appwrite": {
"method": "updateMfa",
"group": "users",
- "weight": 263,
+ "weight": 264,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32607,7 +32719,7 @@
"x-appwrite": {
"method": "deleteMfaAuthenticator",
"group": "mfa",
- "weight": 268,
+ "weight": 269,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32683,7 +32795,7 @@
"x-appwrite": {
"method": "listMfaFactors",
"group": "mfa",
- "weight": 264,
+ "weight": 265,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32744,7 +32856,7 @@
"x-appwrite": {
"method": "getMfaRecoveryCodes",
"group": "mfa",
- "weight": 265,
+ "weight": 266,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32803,7 +32915,7 @@
"x-appwrite": {
"method": "updateMfaRecoveryCodes",
"group": "mfa",
- "weight": 267,
+ "weight": 268,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32862,7 +32974,7 @@
"x-appwrite": {
"method": "createMfaRecoveryCodes",
"group": "mfa",
- "weight": 266,
+ "weight": 267,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32923,7 +33035,7 @@
"x-appwrite": {
"method": "updateName",
"group": "users",
- "weight": 256,
+ "weight": 257,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33003,7 +33115,7 @@
"x-appwrite": {
"method": "updatePassword",
"group": "users",
- "weight": 257,
+ "weight": 258,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33083,7 +33195,7 @@
"x-appwrite": {
"method": "updatePhone",
"group": "users",
- "weight": 259,
+ "weight": 260,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33163,7 +33275,7 @@
"x-appwrite": {
"method": "getPrefs",
"group": "users",
- "weight": 246,
+ "weight": 247,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33222,7 +33334,7 @@
"x-appwrite": {
"method": "updatePrefs",
"group": "users",
- "weight": 261,
+ "weight": 262,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33302,7 +33414,7 @@
"x-appwrite": {
"method": "listSessions",
"group": "sessions",
- "weight": 248,
+ "weight": 249,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33361,7 +33473,7 @@
"x-appwrite": {
"method": "createSession",
"group": "sessions",
- "weight": 269,
+ "weight": 270,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33413,7 +33525,7 @@
"x-appwrite": {
"method": "deleteSessions",
"group": "sessions",
- "weight": 272,
+ "weight": 273,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33467,7 +33579,7 @@
"x-appwrite": {
"method": "deleteSession",
"group": "sessions",
- "weight": 271,
+ "weight": 272,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33538,7 +33650,7 @@
"x-appwrite": {
"method": "updateStatus",
"group": "users",
- "weight": 253,
+ "weight": 254,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33618,7 +33730,7 @@
"x-appwrite": {
"method": "listTargets",
"group": "targets",
- "weight": 251,
+ "weight": 252,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33691,7 +33803,7 @@
"x-appwrite": {
"method": "createTarget",
"group": "targets",
- "weight": 243,
+ "weight": 244,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33801,7 +33913,7 @@
"x-appwrite": {
"method": "getTarget",
"group": "targets",
- "weight": 247,
+ "weight": 248,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33871,7 +33983,7 @@
"x-appwrite": {
"method": "updateTarget",
"group": "targets",
- "weight": 262,
+ "weight": 263,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33960,7 +34072,7 @@
"x-appwrite": {
"method": "deleteTarget",
"group": "targets",
- "weight": 274,
+ "weight": 275,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34032,7 +34144,7 @@
"x-appwrite": {
"method": "createToken",
"group": "sessions",
- "weight": 270,
+ "weight": 271,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34114,7 +34226,7 @@
"x-appwrite": {
"method": "updateEmailVerification",
"group": "users",
- "weight": 260,
+ "weight": 261,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34194,7 +34306,7 @@
"x-appwrite": {
"method": "updatePhoneVerification",
"group": "users",
- "weight": 255,
+ "weight": 256,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34274,7 +34386,7 @@
"x-appwrite": {
"method": "createRepositoryDetection",
"group": "repositories",
- "weight": 281,
+ "weight": 282,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34370,7 +34482,7 @@
"x-appwrite": {
"method": "listRepositories",
"group": "repositories",
- "weight": 282,
+ "weight": 283,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34455,7 +34567,7 @@
"x-appwrite": {
"method": "createRepository",
"group": "repositories",
- "weight": 283,
+ "weight": 284,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34540,7 +34652,7 @@
"x-appwrite": {
"method": "getRepository",
"group": "repositories",
- "weight": 284,
+ "weight": 285,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34610,7 +34722,7 @@
"x-appwrite": {
"method": "listRepositoryBranches",
"group": "repositories",
- "weight": 285,
+ "weight": 286,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34680,7 +34792,7 @@
"x-appwrite": {
"method": "getRepositoryContents",
"group": "repositories",
- "weight": 280,
+ "weight": 281,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34754,7 +34866,7 @@
"x-appwrite": {
"method": "updateExternalDeployments",
"group": "repositories",
- "weight": 290,
+ "weight": 291,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34843,7 +34955,7 @@
"x-appwrite": {
"method": "listInstallations",
"group": "installations",
- "weight": 287,
+ "weight": 288,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34917,7 +35029,7 @@
"x-appwrite": {
"method": "getInstallation",
"group": "installations",
- "weight": 288,
+ "weight": 289,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34968,7 +35080,7 @@
"x-appwrite": {
"method": "deleteInstallation",
"group": "installations",
- "weight": 289,
+ "weight": 290,
"cookies": false,
"type": "",
"deprecated": false,
diff --git a/app/config/specs/open-api3-latest-server.json b/app/config/specs/open-api3-latest-server.json
index ac1c26d5b61..1ae93288643 100644
--- a/app/config/specs/open-api3-latest-server.json
+++ b/app/config/specs/open-api3-latest-server.json
@@ -1,7 +1,7 @@
{
"openapi": "3.0.0",
"info": {
- "version": "1.7.0",
+ "version": "1.7.4",
"title": "Appwrite",
"description": "Appwrite backend as a service cuts up to 70% of the time and costs required for building a modern application. We abstract and simplify common development tasks behind a REST APIs, to help you develop your app in a fast and secure way. For full API documentation and tutorials go to [https:\/\/appwrite.io\/docs](https:\/\/appwrite.io\/docs)",
"termsOfService": "https:\/\/appwrite.io\/policy\/terms",
@@ -7650,7 +7650,7 @@
"x-appwrite": {
"method": "upsertDocuments",
"group": "documents",
- "weight": 115,
+ "weight": 116,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7711,7 +7711,10 @@
"type": "object"
}
}
- }
+ },
+ "required": [
+ "documents"
+ ]
}
}
}
@@ -7739,7 +7742,7 @@
"x-appwrite": {
"method": "updateDocuments",
"group": "documents",
- "weight": 114,
+ "weight": 115,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7833,7 +7836,7 @@
"x-appwrite": {
"method": "deleteDocuments",
"group": "documents",
- "weight": 117,
+ "weight": 118,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7999,6 +8002,117 @@
}
]
},
+ "put": {
+ "summary": "Upsert document",
+ "operationId": "databasesUpsertDocument",
+ "tags": [
+ "databases"
+ ],
+ "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
+ "responses": {
+ "200": {
+ "description": "Document",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "$ref": "#\/components\/schemas\/document"
+ }
+ }
+ }
+ }
+ },
+ "x-appwrite": {
+ "method": "upsertDocument",
+ "group": "documents",
+ "weight": 114,
+ "cookies": false,
+ "type": "",
+ "deprecated": false,
+ "demo": "databases\/upsert-document.md",
+ "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md",
+ "rate-limit": 120,
+ "rate-time": 60,
+ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}",
+ "scope": "documents.write",
+ "platforms": [
+ "client",
+ "server",
+ "server"
+ ],
+ "packaging": false,
+ "auth": {
+ "Project": [],
+ "Session": []
+ }
+ },
+ "security": [
+ {
+ "Project": [],
+ "Session": [],
+ "Key": [],
+ "JWT": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "databaseId",
+ "description": "Database ID.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "x-example": ""
+ },
+ "in": "path"
+ },
+ {
+ "name": "collectionId",
+ "description": "Collection ID.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "x-example": ""
+ },
+ "in": "path"
+ },
+ {
+ "name": "documentId",
+ "description": "Document ID.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "x-example": ""
+ },
+ "in": "path"
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application\/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "data": {
+ "type": "object",
+ "description": "Document data as JSON object. Include all required attributes of the document to be created or updated.",
+ "x-example": "{}"
+ },
+ "permissions": {
+ "type": "array",
+ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).",
+ "x-example": "[\"read(\"any\")\"]",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "data"
+ ]
+ }
+ }
+ }
+ }
+ },
"patch": {
"summary": "Update document",
"operationId": "databasesUpdateDocument",
@@ -8122,7 +8236,7 @@
"x-appwrite": {
"method": "deleteDocument",
"group": "documents",
- "weight": 116,
+ "weight": 117,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8573,7 +8687,7 @@
"x-appwrite": {
"method": "list",
"group": "functions",
- "weight": 375,
+ "weight": 376,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8647,7 +8761,7 @@
"x-appwrite": {
"method": "create",
"group": "functions",
- "weight": 372,
+ "weight": 373,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8879,7 +8993,7 @@
"x-appwrite": {
"method": "listRuntimes",
"group": "runtimes",
- "weight": 377,
+ "weight": 378,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8929,7 +9043,7 @@
"x-appwrite": {
"method": "listSpecifications",
"group": "runtimes",
- "weight": 378,
+ "weight": 379,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8980,7 +9094,7 @@
"x-appwrite": {
"method": "get",
"group": "functions",
- "weight": 373,
+ "weight": 374,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9040,7 +9154,7 @@
"x-appwrite": {
"method": "update",
"group": "functions",
- "weight": 374,
+ "weight": 375,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9269,7 +9383,7 @@
"x-appwrite": {
"method": "delete",
"group": "functions",
- "weight": 376,
+ "weight": 377,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9331,7 +9445,7 @@
"x-appwrite": {
"method": "updateFunctionDeployment",
"group": "functions",
- "weight": 381,
+ "weight": 382,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9412,7 +9526,7 @@
"x-appwrite": {
"method": "listDeployments",
"group": "deployments",
- "weight": 382,
+ "weight": 383,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9496,7 +9610,7 @@
"x-appwrite": {
"method": "createDeployment",
"group": "deployments",
- "weight": 379,
+ "weight": 380,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -9593,7 +9707,7 @@
"x-appwrite": {
"method": "createDuplicateDeployment",
"group": "deployments",
- "weight": 387,
+ "weight": 388,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9679,7 +9793,7 @@
"x-appwrite": {
"method": "createTemplateDeployment",
"group": "deployments",
- "weight": 384,
+ "weight": 385,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9783,7 +9897,7 @@
"x-appwrite": {
"method": "createVcsDeployment",
"group": "deployments",
- "weight": 385,
+ "weight": 386,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9881,7 +9995,7 @@
"x-appwrite": {
"method": "getDeployment",
"group": "deployments",
- "weight": 380,
+ "weight": 381,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9944,7 +10058,7 @@
"x-appwrite": {
"method": "deleteDeployment",
"group": "deployments",
- "weight": 383,
+ "weight": 384,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10009,7 +10123,7 @@
"x-appwrite": {
"method": "getDeploymentDownload",
"group": "deployments",
- "weight": 386,
+ "weight": 387,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -10100,7 +10214,7 @@
"x-appwrite": {
"method": "updateDeploymentStatus",
"group": "deployments",
- "weight": 388,
+ "weight": 389,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10172,7 +10286,7 @@
"x-appwrite": {
"method": "listExecutions",
"group": "executions",
- "weight": 391,
+ "weight": 392,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10249,7 +10363,7 @@
"x-appwrite": {
"method": "createExecution",
"group": "executions",
- "weight": 389,
+ "weight": 390,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10366,7 +10480,7 @@
"x-appwrite": {
"method": "getExecution",
"group": "executions",
- "weight": 390,
+ "weight": 391,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10433,7 +10547,7 @@
"x-appwrite": {
"method": "deleteExecution",
"group": "executions",
- "weight": 392,
+ "weight": 393,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10505,7 +10619,7 @@
"x-appwrite": {
"method": "listVariables",
"group": "variables",
- "weight": 397,
+ "weight": 398,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10565,7 +10679,7 @@
"x-appwrite": {
"method": "createVariable",
"group": "variables",
- "weight": 395,
+ "weight": 396,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10657,7 +10771,7 @@
"x-appwrite": {
"method": "getVariable",
"group": "variables",
- "weight": 396,
+ "weight": 397,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10727,7 +10841,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": "variables",
- "weight": 398,
+ "weight": 399,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10819,7 +10933,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": "variables",
- "weight": 399,
+ "weight": 400,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10891,7 +11005,7 @@
"x-appwrite": {
"method": "query",
"group": "graphql",
- "weight": 305,
+ "weight": 306,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -10945,7 +11059,7 @@
"x-appwrite": {
"method": "mutation",
"group": "graphql",
- "weight": 304,
+ "weight": 305,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -10999,7 +11113,7 @@
"x-appwrite": {
"method": "get",
"group": "health",
- "weight": 129,
+ "weight": 130,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11049,7 +11163,7 @@
"x-appwrite": {
"method": "getAntivirus",
"group": "health",
- "weight": 150,
+ "weight": 151,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11099,7 +11213,7 @@
"x-appwrite": {
"method": "getCache",
"group": "health",
- "weight": 132,
+ "weight": 133,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11149,7 +11263,7 @@
"x-appwrite": {
"method": "getCertificate",
"group": "health",
- "weight": 137,
+ "weight": 138,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11210,7 +11324,7 @@
"x-appwrite": {
"method": "getDB",
"group": "health",
- "weight": 131,
+ "weight": 132,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11260,7 +11374,7 @@
"x-appwrite": {
"method": "getPubSub",
"group": "health",
- "weight": 133,
+ "weight": 134,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11310,7 +11424,7 @@
"x-appwrite": {
"method": "getQueueBuilds",
"group": "queue",
- "weight": 139,
+ "weight": 140,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11373,7 +11487,7 @@
"x-appwrite": {
"method": "getQueueCertificates",
"group": "queue",
- "weight": 138,
+ "weight": 139,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11436,7 +11550,7 @@
"x-appwrite": {
"method": "getQueueDatabases",
"group": "queue",
- "weight": 140,
+ "weight": 141,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11510,7 +11624,7 @@
"x-appwrite": {
"method": "getQueueDeletes",
"group": "queue",
- "weight": 141,
+ "weight": 142,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11573,7 +11687,7 @@
"x-appwrite": {
"method": "getFailedJobs",
"group": "queue",
- "weight": 151,
+ "weight": 152,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11662,7 +11776,7 @@
"x-appwrite": {
"method": "getQueueFunctions",
"group": "queue",
- "weight": 145,
+ "weight": 146,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11725,7 +11839,7 @@
"x-appwrite": {
"method": "getQueueLogs",
"group": "queue",
- "weight": 136,
+ "weight": 137,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11788,7 +11902,7 @@
"x-appwrite": {
"method": "getQueueMails",
"group": "queue",
- "weight": 142,
+ "weight": 143,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11851,7 +11965,7 @@
"x-appwrite": {
"method": "getQueueMessaging",
"group": "queue",
- "weight": 143,
+ "weight": 144,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11914,7 +12028,7 @@
"x-appwrite": {
"method": "getQueueMigrations",
"group": "queue",
- "weight": 144,
+ "weight": 145,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11977,7 +12091,7 @@
"x-appwrite": {
"method": "getQueueStatsResources",
"group": "queue",
- "weight": 146,
+ "weight": 147,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12040,7 +12154,7 @@
"x-appwrite": {
"method": "getQueueUsage",
"group": "queue",
- "weight": 147,
+ "weight": 148,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12103,7 +12217,7 @@
"x-appwrite": {
"method": "getQueueWebhooks",
"group": "queue",
- "weight": 135,
+ "weight": 136,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12166,7 +12280,7 @@
"x-appwrite": {
"method": "getStorage",
"group": "storage",
- "weight": 149,
+ "weight": 150,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12216,7 +12330,7 @@
"x-appwrite": {
"method": "getStorageLocal",
"group": "storage",
- "weight": 148,
+ "weight": 149,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12266,7 +12380,7 @@
"x-appwrite": {
"method": "getTime",
"group": "health",
- "weight": 134,
+ "weight": 135,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12316,7 +12430,7 @@
"x-appwrite": {
"method": "get",
"group": null,
- "weight": 121,
+ "weight": 122,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12370,7 +12484,7 @@
"x-appwrite": {
"method": "listCodes",
"group": null,
- "weight": 122,
+ "weight": 123,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12424,7 +12538,7 @@
"x-appwrite": {
"method": "listContinents",
"group": null,
- "weight": 126,
+ "weight": 127,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12478,7 +12592,7 @@
"x-appwrite": {
"method": "listCountries",
"group": null,
- "weight": 123,
+ "weight": 124,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12532,7 +12646,7 @@
"x-appwrite": {
"method": "listCountriesEU",
"group": null,
- "weight": 124,
+ "weight": 125,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12586,7 +12700,7 @@
"x-appwrite": {
"method": "listCountriesPhones",
"group": null,
- "weight": 125,
+ "weight": 126,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12640,7 +12754,7 @@
"x-appwrite": {
"method": "listCurrencies",
"group": null,
- "weight": 127,
+ "weight": 128,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12694,7 +12808,7 @@
"x-appwrite": {
"method": "listLanguages",
"group": null,
- "weight": 128,
+ "weight": 129,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12748,7 +12862,7 @@
"x-appwrite": {
"method": "listMessages",
"group": "messages",
- "weight": 359,
+ "weight": 360,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12825,7 +12939,7 @@
"x-appwrite": {
"method": "createEmail",
"group": "messages",
- "weight": 356,
+ "weight": 357,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12970,7 +13084,7 @@
"x-appwrite": {
"method": "updateEmail",
"group": "messages",
- "weight": 363,
+ "weight": 364,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13117,7 +13231,7 @@
"x-appwrite": {
"method": "createPush",
"group": "messages",
- "weight": 358,
+ "weight": 359,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13292,7 +13406,7 @@
"x-appwrite": {
"method": "updatePush",
"group": "messages",
- "weight": 365,
+ "weight": 366,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13471,7 +13585,7 @@
"x-appwrite": {
"method": "createSms",
"group": "messages",
- "weight": 357,
+ "weight": 358,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13581,7 +13695,7 @@
"x-appwrite": {
"method": "updateSms",
"group": "messages",
- "weight": 364,
+ "weight": 365,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13694,7 +13808,7 @@
"x-appwrite": {
"method": "getMessage",
"group": "messages",
- "weight": 362,
+ "weight": 363,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13748,7 +13862,7 @@
"x-appwrite": {
"method": "delete",
"group": "messages",
- "weight": 366,
+ "weight": 367,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13811,7 +13925,7 @@
"x-appwrite": {
"method": "listMessageLogs",
"group": "logs",
- "weight": 360,
+ "weight": 361,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13887,7 +14001,7 @@
"x-appwrite": {
"method": "listTargets",
"group": "messages",
- "weight": 361,
+ "weight": 362,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13963,7 +14077,7 @@
"x-appwrite": {
"method": "listProviders",
"group": "providers",
- "weight": 331,
+ "weight": 332,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14040,7 +14154,7 @@
"x-appwrite": {
"method": "createApnsProvider",
"group": "providers",
- "weight": 330,
+ "weight": 331,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14146,7 +14260,7 @@
"x-appwrite": {
"method": "updateApnsProvider",
"group": "providers",
- "weight": 343,
+ "weight": 344,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14255,7 +14369,7 @@
"x-appwrite": {
"method": "createFcmProvider",
"group": "providers",
- "weight": 329,
+ "weight": 330,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14341,7 +14455,7 @@
"x-appwrite": {
"method": "updateFcmProvider",
"group": "providers",
- "weight": 342,
+ "weight": 343,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14430,7 +14544,7 @@
"x-appwrite": {
"method": "createMailgunProvider",
"group": "providers",
- "weight": 321,
+ "weight": 322,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14546,7 +14660,7 @@
"x-appwrite": {
"method": "updateMailgunProvider",
"group": "providers",
- "weight": 334,
+ "weight": 335,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14665,7 +14779,7 @@
"x-appwrite": {
"method": "createMsg91Provider",
"group": "providers",
- "weight": 324,
+ "weight": 325,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14761,7 +14875,7 @@
"x-appwrite": {
"method": "updateMsg91Provider",
"group": "providers",
- "weight": 337,
+ "weight": 338,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14860,7 +14974,7 @@
"x-appwrite": {
"method": "createSendgridProvider",
"group": "providers",
- "weight": 322,
+ "weight": 323,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14966,7 +15080,7 @@
"x-appwrite": {
"method": "updateSendgridProvider",
"group": "providers",
- "weight": 335,
+ "weight": 336,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15075,7 +15189,7 @@
"x-appwrite": {
"method": "createSmtpProvider",
"group": "providers",
- "weight": 323,
+ "weight": 324,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15219,7 +15333,7 @@
"x-appwrite": {
"method": "updateSmtpProvider",
"group": "providers",
- "weight": 336,
+ "weight": 337,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15365,7 +15479,7 @@
"x-appwrite": {
"method": "createTelesignProvider",
"group": "providers",
- "weight": 325,
+ "weight": 326,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15461,7 +15575,7 @@
"x-appwrite": {
"method": "updateTelesignProvider",
"group": "providers",
- "weight": 338,
+ "weight": 339,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15560,7 +15674,7 @@
"x-appwrite": {
"method": "createTextmagicProvider",
"group": "providers",
- "weight": 326,
+ "weight": 327,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15656,7 +15770,7 @@
"x-appwrite": {
"method": "updateTextmagicProvider",
"group": "providers",
- "weight": 339,
+ "weight": 340,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15755,7 +15869,7 @@
"x-appwrite": {
"method": "createTwilioProvider",
"group": "providers",
- "weight": 327,
+ "weight": 328,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15851,7 +15965,7 @@
"x-appwrite": {
"method": "updateTwilioProvider",
"group": "providers",
- "weight": 340,
+ "weight": 341,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15950,7 +16064,7 @@
"x-appwrite": {
"method": "createVonageProvider",
"group": "providers",
- "weight": 328,
+ "weight": 329,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16046,7 +16160,7 @@
"x-appwrite": {
"method": "updateVonageProvider",
"group": "providers",
- "weight": 341,
+ "weight": 342,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16145,7 +16259,7 @@
"x-appwrite": {
"method": "getProvider",
"group": "providers",
- "weight": 333,
+ "weight": 334,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16199,7 +16313,7 @@
"x-appwrite": {
"method": "deleteProvider",
"group": "providers",
- "weight": 344,
+ "weight": 345,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16262,7 +16376,7 @@
"x-appwrite": {
"method": "listProviderLogs",
"group": "providers",
- "weight": 332,
+ "weight": 333,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16338,7 +16452,7 @@
"x-appwrite": {
"method": "listSubscriberLogs",
"group": "subscribers",
- "weight": 353,
+ "weight": 354,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16414,7 +16528,7 @@
"x-appwrite": {
"method": "listTopics",
"group": "topics",
- "weight": 346,
+ "weight": 347,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16489,7 +16603,7 @@
"x-appwrite": {
"method": "createTopic",
"group": "topics",
- "weight": 345,
+ "weight": 346,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16573,7 +16687,7 @@
"x-appwrite": {
"method": "getTopic",
"group": "topics",
- "weight": 348,
+ "weight": 349,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16634,7 +16748,7 @@
"x-appwrite": {
"method": "updateTopic",
"group": "topics",
- "weight": 349,
+ "weight": 350,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16712,7 +16826,7 @@
"x-appwrite": {
"method": "deleteTopic",
"group": "topics",
- "weight": 350,
+ "weight": 351,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16775,7 +16889,7 @@
"x-appwrite": {
"method": "listTopicLogs",
"group": "topics",
- "weight": 347,
+ "weight": 348,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16851,7 +16965,7 @@
"x-appwrite": {
"method": "listSubscribers",
"group": "subscribers",
- "weight": 352,
+ "weight": 353,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16936,7 +17050,7 @@
"x-appwrite": {
"method": "createSubscriber",
"group": "subscribers",
- "weight": 351,
+ "weight": 352,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17028,7 +17142,7 @@
"x-appwrite": {
"method": "getSubscriber",
"group": "subscribers",
- "weight": 354,
+ "weight": 355,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17092,7 +17206,7 @@
"x-appwrite": {
"method": "deleteSubscriber",
"group": "subscribers",
- "weight": 355,
+ "weight": 356,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17169,7 +17283,7 @@
"x-appwrite": {
"method": "list",
"group": "sites",
- "weight": 404,
+ "weight": 405,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17240,7 +17354,7 @@
"x-appwrite": {
"method": "create",
"group": "sites",
- "weight": 402,
+ "weight": 403,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17488,7 +17602,7 @@
"x-appwrite": {
"method": "listFrameworks",
"group": "frameworks",
- "weight": 407,
+ "weight": 408,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17538,7 +17652,7 @@
"x-appwrite": {
"method": "listSpecifications",
"group": "frameworks",
- "weight": 430,
+ "weight": 431,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17589,7 +17703,7 @@
"x-appwrite": {
"method": "get",
"group": "sites",
- "weight": 403,
+ "weight": 404,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17649,7 +17763,7 @@
"x-appwrite": {
"method": "update",
"group": "sites",
- "weight": 405,
+ "weight": 406,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17893,7 +18007,7 @@
"x-appwrite": {
"method": "delete",
"group": "sites",
- "weight": 406,
+ "weight": 407,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17955,7 +18069,7 @@
"x-appwrite": {
"method": "updateSiteDeployment",
"group": "sites",
- "weight": 413,
+ "weight": 414,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18036,7 +18150,7 @@
"x-appwrite": {
"method": "listDeployments",
"group": "deployments",
- "weight": 412,
+ "weight": 413,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18120,7 +18234,7 @@
"x-appwrite": {
"method": "createDeployment",
"group": "deployments",
- "weight": 408,
+ "weight": 409,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -18222,7 +18336,7 @@
"x-appwrite": {
"method": "createDuplicateDeployment",
"group": "deployments",
- "weight": 416,
+ "weight": 417,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18303,7 +18417,7 @@
"x-appwrite": {
"method": "createTemplateDeployment",
"group": "deployments",
- "weight": 409,
+ "weight": 410,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18407,7 +18521,7 @@
"x-appwrite": {
"method": "createVcsDeployment",
"group": "deployments",
- "weight": 410,
+ "weight": 411,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18506,7 +18620,7 @@
"x-appwrite": {
"method": "getDeployment",
"group": "deployments",
- "weight": 411,
+ "weight": 412,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18569,7 +18683,7 @@
"x-appwrite": {
"method": "deleteDeployment",
"group": "deployments",
- "weight": 414,
+ "weight": 415,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18634,7 +18748,7 @@
"x-appwrite": {
"method": "getDeploymentDownload",
"group": "deployments",
- "weight": 415,
+ "weight": 416,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -18725,7 +18839,7 @@
"x-appwrite": {
"method": "updateDeploymentStatus",
"group": "deployments",
- "weight": 417,
+ "weight": 418,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18797,7 +18911,7 @@
"x-appwrite": {
"method": "listLogs",
"group": "logs",
- "weight": 419,
+ "weight": 420,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18869,7 +18983,7 @@
"x-appwrite": {
"method": "getLog",
"group": "logs",
- "weight": 418,
+ "weight": 419,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18932,7 +19046,7 @@
"x-appwrite": {
"method": "deleteLog",
"group": "logs",
- "weight": 420,
+ "weight": 421,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19004,7 +19118,7 @@
"x-appwrite": {
"method": "listVariables",
"group": "variables",
- "weight": 423,
+ "weight": 424,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19064,7 +19178,7 @@
"x-appwrite": {
"method": "createVariable",
"group": "variables",
- "weight": 421,
+ "weight": 422,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19156,7 +19270,7 @@
"x-appwrite": {
"method": "getVariable",
"group": "variables",
- "weight": 422,
+ "weight": 423,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19226,7 +19340,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": "variables",
- "weight": 424,
+ "weight": 425,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19318,7 +19432,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": "variables",
- "weight": 425,
+ "weight": 426,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19390,7 +19504,7 @@
"x-appwrite": {
"method": "listBuckets",
"group": "buckets",
- "weight": 206,
+ "weight": 207,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19464,7 +19578,7 @@
"x-appwrite": {
"method": "createBucket",
"group": "buckets",
- "weight": 205,
+ "weight": 206,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19592,7 +19706,7 @@
"x-appwrite": {
"method": "getBucket",
"group": "buckets",
- "weight": 207,
+ "weight": 208,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19652,7 +19766,7 @@
"x-appwrite": {
"method": "updateBucket",
"group": "buckets",
- "weight": 208,
+ "weight": 209,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19777,7 +19891,7 @@
"x-appwrite": {
"method": "deleteBucket",
"group": "buckets",
- "weight": 209,
+ "weight": 210,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19839,7 +19953,7 @@
"x-appwrite": {
"method": "listFiles",
"group": "files",
- "weight": 211,
+ "weight": 212,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19927,7 +20041,7 @@
"x-appwrite": {
"method": "createFile",
"group": "files",
- "weight": 210,
+ "weight": 211,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -20027,7 +20141,7 @@
"x-appwrite": {
"method": "getFile",
"group": "files",
- "weight": 212,
+ "weight": 213,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20101,7 +20215,7 @@
"x-appwrite": {
"method": "updateFile",
"group": "files",
- "weight": 217,
+ "weight": 218,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20192,7 +20306,7 @@
"x-appwrite": {
"method": "deleteFile",
"group": "files",
- "weight": 218,
+ "weight": 219,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20261,7 +20375,7 @@
"x-appwrite": {
"method": "getFileDownload",
"group": "files",
- "weight": 214,
+ "weight": 215,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -20341,7 +20455,7 @@
"x-appwrite": {
"method": "getFilePreview",
"group": "files",
- "weight": 213,
+ "weight": 214,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -20570,7 +20684,7 @@
"x-appwrite": {
"method": "getFileView",
"group": "files",
- "weight": 215,
+ "weight": 216,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -20657,7 +20771,7 @@
"x-appwrite": {
"method": "list",
"group": "teams",
- "weight": 222,
+ "weight": 223,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20735,7 +20849,7 @@
"x-appwrite": {
"method": "create",
"group": "teams",
- "weight": 221,
+ "weight": 222,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20822,7 +20936,7 @@
"x-appwrite": {
"method": "get",
"group": "teams",
- "weight": 223,
+ "weight": 224,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20886,7 +21000,7 @@
"x-appwrite": {
"method": "updateName",
"group": "teams",
- "weight": 225,
+ "weight": 226,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20962,7 +21076,7 @@
"x-appwrite": {
"method": "delete",
"group": "teams",
- "weight": 227,
+ "weight": 228,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21028,7 +21142,7 @@
"x-appwrite": {
"method": "listMemberships",
"group": "memberships",
- "weight": 229,
+ "weight": 230,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21116,7 +21230,7 @@
"x-appwrite": {
"method": "createMembership",
"group": "memberships",
- "weight": 228,
+ "weight": 229,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21229,7 +21343,7 @@
"x-appwrite": {
"method": "getMembership",
"group": "memberships",
- "weight": 230,
+ "weight": 231,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21303,7 +21417,7 @@
"x-appwrite": {
"method": "updateMembership",
"group": "memberships",
- "weight": 231,
+ "weight": 232,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21392,7 +21506,7 @@
"x-appwrite": {
"method": "deleteMembership",
"group": "memberships",
- "weight": 233,
+ "weight": 234,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21468,7 +21582,7 @@
"x-appwrite": {
"method": "updateMembershipStatus",
"group": "memberships",
- "weight": 232,
+ "weight": 233,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21567,7 +21681,7 @@
"x-appwrite": {
"method": "getPrefs",
"group": "teams",
- "weight": 224,
+ "weight": 225,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21629,7 +21743,7 @@
"x-appwrite": {
"method": "updatePrefs",
"group": "teams",
- "weight": 226,
+ "weight": 227,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21712,7 +21826,7 @@
"x-appwrite": {
"method": "list",
"group": "files",
- "weight": 438,
+ "weight": 439,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21777,7 +21891,7 @@
"tags": [
"tokens"
],
- "description": "Create a new token. A token is linked to a file. Token can be passed as a header or request get parameter.",
+ "description": "Create a new token. A token is linked to a file. Token can be passed as a request URL search parameter.",
"responses": {
"201": {
"description": "ResourceToken",
@@ -21793,12 +21907,12 @@
"x-appwrite": {
"method": "createFileToken",
"group": "files",
- "weight": 436,
+ "weight": 437,
"cookies": false,
"type": "",
"deprecated": false,
"demo": "tokens\/create-file-token.md",
- "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new token. A token is linked to a file. Token can be passed as a header or request get parameter.",
+ "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new token. A token is linked to a file. Token can be passed as a request URL search parameter.",
"rate-limit": 60,
"rate-time": 60,
"rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}",
@@ -21883,7 +21997,7 @@
"x-appwrite": {
"method": "get",
"group": "tokens",
- "weight": 437,
+ "weight": 438,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21944,7 +22058,7 @@
"x-appwrite": {
"method": "update",
"group": "tokens",
- "weight": 439,
+ "weight": 440,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22015,7 +22129,7 @@
"x-appwrite": {
"method": "delete",
"group": "tokens",
- "weight": 440,
+ "weight": 441,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22078,7 +22192,7 @@
"x-appwrite": {
"method": "list",
"group": "users",
- "weight": 244,
+ "weight": 245,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22152,7 +22266,7 @@
"x-appwrite": {
"method": "create",
"group": "users",
- "weight": 235,
+ "weight": 236,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22241,7 +22355,7 @@
"x-appwrite": {
"method": "createArgon2User",
"group": "users",
- "weight": 238,
+ "weight": 239,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22327,7 +22441,7 @@
"x-appwrite": {
"method": "createBcryptUser",
"group": "users",
- "weight": 236,
+ "weight": 237,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22413,7 +22527,7 @@
"x-appwrite": {
"method": "listIdentities",
"group": "identities",
- "weight": 252,
+ "weight": 253,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22482,7 +22596,7 @@
"x-appwrite": {
"method": "deleteIdentity",
"group": "identities",
- "weight": 275,
+ "weight": 276,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22544,7 +22658,7 @@
"x-appwrite": {
"method": "createMD5User",
"group": "users",
- "weight": 237,
+ "weight": 238,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22630,7 +22744,7 @@
"x-appwrite": {
"method": "createPHPassUser",
"group": "users",
- "weight": 240,
+ "weight": 241,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22716,7 +22830,7 @@
"x-appwrite": {
"method": "createScryptUser",
"group": "users",
- "weight": 241,
+ "weight": 242,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22832,7 +22946,7 @@
"x-appwrite": {
"method": "createScryptModifiedUser",
"group": "users",
- "weight": 242,
+ "weight": 243,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22936,7 +23050,7 @@
"x-appwrite": {
"method": "createSHAUser",
"group": "users",
- "weight": 239,
+ "weight": 240,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23042,7 +23156,7 @@
"x-appwrite": {
"method": "get",
"group": "users",
- "weight": 245,
+ "weight": 246,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23095,7 +23209,7 @@
"x-appwrite": {
"method": "delete",
"group": "users",
- "weight": 273,
+ "weight": 274,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23157,7 +23271,7 @@
"x-appwrite": {
"method": "updateEmail",
"group": "users",
- "weight": 258,
+ "weight": 259,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23238,7 +23352,7 @@
"x-appwrite": {
"method": "createJWT",
"group": "sessions",
- "weight": 276,
+ "weight": 277,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23321,7 +23435,7 @@
"x-appwrite": {
"method": "updateLabels",
"group": "users",
- "weight": 254,
+ "weight": 255,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23405,7 +23519,7 @@
"x-appwrite": {
"method": "listLogs",
"group": "logs",
- "weight": 250,
+ "weight": 251,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23480,7 +23594,7 @@
"x-appwrite": {
"method": "listMemberships",
"group": "memberships",
- "weight": 249,
+ "weight": 250,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23566,7 +23680,7 @@
"x-appwrite": {
"method": "updateMfa",
"group": "users",
- "weight": 263,
+ "weight": 264,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23640,7 +23754,7 @@
"x-appwrite": {
"method": "deleteMfaAuthenticator",
"group": "mfa",
- "weight": 268,
+ "weight": 269,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23717,7 +23831,7 @@
"x-appwrite": {
"method": "listMfaFactors",
"group": "mfa",
- "weight": 264,
+ "weight": 265,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23779,7 +23893,7 @@
"x-appwrite": {
"method": "getMfaRecoveryCodes",
"group": "mfa",
- "weight": 265,
+ "weight": 266,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23839,7 +23953,7 @@
"x-appwrite": {
"method": "updateMfaRecoveryCodes",
"group": "mfa",
- "weight": 267,
+ "weight": 268,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23899,7 +24013,7 @@
"x-appwrite": {
"method": "createMfaRecoveryCodes",
"group": "mfa",
- "weight": 266,
+ "weight": 267,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23961,7 +24075,7 @@
"x-appwrite": {
"method": "updateName",
"group": "users",
- "weight": 256,
+ "weight": 257,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24042,7 +24156,7 @@
"x-appwrite": {
"method": "updatePassword",
"group": "users",
- "weight": 257,
+ "weight": 258,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24123,7 +24237,7 @@
"x-appwrite": {
"method": "updatePhone",
"group": "users",
- "weight": 259,
+ "weight": 260,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24204,7 +24318,7 @@
"x-appwrite": {
"method": "getPrefs",
"group": "users",
- "weight": 246,
+ "weight": 247,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24264,7 +24378,7 @@
"x-appwrite": {
"method": "updatePrefs",
"group": "users",
- "weight": 261,
+ "weight": 262,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24345,7 +24459,7 @@
"x-appwrite": {
"method": "listSessions",
"group": "sessions",
- "weight": 248,
+ "weight": 249,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24405,7 +24519,7 @@
"x-appwrite": {
"method": "createSession",
"group": "sessions",
- "weight": 269,
+ "weight": 270,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24458,7 +24572,7 @@
"x-appwrite": {
"method": "deleteSessions",
"group": "sessions",
- "weight": 272,
+ "weight": 273,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24513,7 +24627,7 @@
"x-appwrite": {
"method": "deleteSession",
"group": "sessions",
- "weight": 271,
+ "weight": 272,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24585,7 +24699,7 @@
"x-appwrite": {
"method": "updateStatus",
"group": "users",
- "weight": 253,
+ "weight": 254,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24666,7 +24780,7 @@
"x-appwrite": {
"method": "listTargets",
"group": "targets",
- "weight": 251,
+ "weight": 252,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24740,7 +24854,7 @@
"x-appwrite": {
"method": "createTarget",
"group": "targets",
- "weight": 243,
+ "weight": 244,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24851,7 +24965,7 @@
"x-appwrite": {
"method": "getTarget",
"group": "targets",
- "weight": 247,
+ "weight": 248,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24922,7 +25036,7 @@
"x-appwrite": {
"method": "updateTarget",
"group": "targets",
- "weight": 262,
+ "weight": 263,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25012,7 +25126,7 @@
"x-appwrite": {
"method": "deleteTarget",
"group": "targets",
- "weight": 274,
+ "weight": 275,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25085,7 +25199,7 @@
"x-appwrite": {
"method": "createToken",
"group": "sessions",
- "weight": 270,
+ "weight": 271,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25168,7 +25282,7 @@
"x-appwrite": {
"method": "updateEmailVerification",
"group": "users",
- "weight": 260,
+ "weight": 261,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25249,7 +25363,7 @@
"x-appwrite": {
"method": "updatePhoneVerification",
"group": "users",
- "weight": 255,
+ "weight": 256,
"cookies": false,
"type": "",
"deprecated": false,
diff --git a/app/config/specs/swagger2-1.7.x-client.json b/app/config/specs/swagger2-1.7.x-client.json
index 9bfe261df1c..92132151b43 100644
--- a/app/config/specs/swagger2-1.7.x-client.json
+++ b/app/config/specs/swagger2-1.7.x-client.json
@@ -1,7 +1,7 @@
{
"swagger": "2.0",
"info": {
- "version": "1.7.0",
+ "version": "1.7.4",
"title": "Appwrite",
"description": "Appwrite backend as a service cuts up to 70% of the time and costs required for building a modern application. We abstract and simplify common development tasks behind a REST APIs, to help you develop your app in a fast and secure way. For full API documentation and tutorials go to [https:\/\/appwrite.io\/docs](https:\/\/appwrite.io\/docs)",
"termsOfService": "https:\/\/appwrite.io\/policy\/terms",
@@ -61,6 +61,12 @@
"name": "X-Appwrite-Session",
"description": "The user session to authenticate with",
"in": "header"
+ },
+ "DevKey": {
+ "type": "apiKey",
+ "name": "X-Appwrite-Dev-Key",
+ "description": "Your secret dev API key",
+ "in": "header"
}
},
"paths": {
@@ -4791,6 +4797,111 @@
}
]
},
+ "put": {
+ "summary": "Upsert document",
+ "operationId": "databasesUpsertDocument",
+ "consumes": [
+ "application\/json"
+ ],
+ "produces": [
+ "application\/json"
+ ],
+ "tags": [
+ "databases"
+ ],
+ "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
+ "responses": {
+ "200": {
+ "description": "Document",
+ "schema": {
+ "$ref": "#\/definitions\/document"
+ }
+ }
+ },
+ "x-appwrite": {
+ "method": "upsertDocument",
+ "group": "documents",
+ "weight": 114,
+ "cookies": false,
+ "type": "",
+ "deprecated": false,
+ "demo": "databases\/upsert-document.md",
+ "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md",
+ "rate-limit": 120,
+ "rate-time": 60,
+ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}",
+ "scope": "documents.write",
+ "platforms": [
+ "client",
+ "server",
+ "server"
+ ],
+ "packaging": false,
+ "auth": {
+ "Project": []
+ }
+ },
+ "security": [
+ {
+ "Project": [],
+ "Session": [],
+ "JWT": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "databaseId",
+ "description": "Database ID.",
+ "required": true,
+ "type": "string",
+ "x-example": "",
+ "in": "path"
+ },
+ {
+ "name": "collectionId",
+ "description": "Collection ID.",
+ "required": true,
+ "type": "string",
+ "x-example": "",
+ "in": "path"
+ },
+ {
+ "name": "documentId",
+ "description": "Document ID.",
+ "required": true,
+ "type": "string",
+ "x-example": "",
+ "in": "path"
+ },
+ {
+ "name": "payload",
+ "in": "body",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "data": {
+ "type": "object",
+ "description": "Document data as JSON object. Include all required attributes of the document to be created or updated.",
+ "default": {},
+ "x-example": "{}"
+ },
+ "permissions": {
+ "type": "array",
+ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).",
+ "default": null,
+ "x-example": "[\"read(\"any\")\"]",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "data"
+ ]
+ }
+ }
+ ]
+ },
"patch": {
"summary": "Update document",
"operationId": "databasesUpdateDocument",
@@ -4912,7 +5023,7 @@
"x-appwrite": {
"method": "deleteDocument",
"group": "documents",
- "weight": 116,
+ "weight": 117,
"cookies": false,
"type": "",
"deprecated": false,
@@ -4990,7 +5101,7 @@
"x-appwrite": {
"method": "listExecutions",
"group": "executions",
- "weight": 391,
+ "weight": 392,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5064,7 +5175,7 @@
"x-appwrite": {
"method": "createExecution",
"group": "executions",
- "weight": 389,
+ "weight": 390,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5181,7 +5292,7 @@
"x-appwrite": {
"method": "getExecution",
"group": "executions",
- "weight": 390,
+ "weight": 391,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5253,7 +5364,7 @@
"x-appwrite": {
"method": "query",
"group": "graphql",
- "weight": 305,
+ "weight": 306,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -5327,7 +5438,7 @@
"x-appwrite": {
"method": "mutation",
"group": "graphql",
- "weight": 304,
+ "weight": 305,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -5399,7 +5510,7 @@
"x-appwrite": {
"method": "get",
"group": null,
- "weight": 121,
+ "weight": 122,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5451,7 +5562,7 @@
"x-appwrite": {
"method": "listCodes",
"group": null,
- "weight": 122,
+ "weight": 123,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5503,7 +5614,7 @@
"x-appwrite": {
"method": "listContinents",
"group": null,
- "weight": 126,
+ "weight": 127,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5555,7 +5666,7 @@
"x-appwrite": {
"method": "listCountries",
"group": null,
- "weight": 123,
+ "weight": 124,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5607,7 +5718,7 @@
"x-appwrite": {
"method": "listCountriesEU",
"group": null,
- "weight": 124,
+ "weight": 125,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5659,7 +5770,7 @@
"x-appwrite": {
"method": "listCountriesPhones",
"group": null,
- "weight": 125,
+ "weight": 126,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5711,7 +5822,7 @@
"x-appwrite": {
"method": "listCurrencies",
"group": null,
- "weight": 127,
+ "weight": 128,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5763,7 +5874,7 @@
"x-appwrite": {
"method": "listLanguages",
"group": null,
- "weight": 128,
+ "weight": 129,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5817,7 +5928,7 @@
"x-appwrite": {
"method": "createSubscriber",
"group": "subscribers",
- "weight": 351,
+ "weight": 352,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5902,7 +6013,7 @@
"x-appwrite": {
"method": "deleteSubscriber",
"group": "subscribers",
- "weight": 355,
+ "weight": 356,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5973,7 +6084,7 @@
"x-appwrite": {
"method": "listFiles",
"group": "files",
- "weight": 211,
+ "weight": 212,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6056,7 +6167,7 @@
"x-appwrite": {
"method": "createFile",
"group": "files",
- "weight": 210,
+ "weight": 211,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -6146,7 +6257,7 @@
"x-appwrite": {
"method": "getFile",
"group": "files",
- "weight": 212,
+ "weight": 213,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6216,7 +6327,7 @@
"x-appwrite": {
"method": "updateFile",
"group": "files",
- "weight": 217,
+ "weight": 218,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6305,7 +6416,7 @@
"x-appwrite": {
"method": "deleteFile",
"group": "files",
- "weight": 218,
+ "weight": 219,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6375,7 +6486,7 @@
"x-appwrite": {
"method": "getFileDownload",
"group": "files",
- "weight": 214,
+ "weight": 215,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -6454,7 +6565,7 @@
"x-appwrite": {
"method": "getFilePreview",
"group": "files",
- "weight": 213,
+ "weight": 214,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -6660,7 +6771,7 @@
"x-appwrite": {
"method": "getFileView",
"group": "files",
- "weight": 215,
+ "weight": 216,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -6739,7 +6850,7 @@
"x-appwrite": {
"method": "list",
"group": "teams",
- "weight": 222,
+ "weight": 223,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6814,7 +6925,7 @@
"x-appwrite": {
"method": "create",
"group": "teams",
- "weight": 221,
+ "weight": 222,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6904,7 +7015,7 @@
"x-appwrite": {
"method": "get",
"group": "teams",
- "weight": 223,
+ "weight": 224,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6966,7 +7077,7 @@
"x-appwrite": {
"method": "updateName",
"group": "teams",
- "weight": 225,
+ "weight": 226,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7041,7 +7152,7 @@
"x-appwrite": {
"method": "delete",
"group": "teams",
- "weight": 227,
+ "weight": 228,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7103,7 +7214,7 @@
"x-appwrite": {
"method": "listMemberships",
"group": "memberships",
- "weight": 229,
+ "weight": 230,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7186,7 +7297,7 @@
"x-appwrite": {
"method": "createMembership",
"group": "memberships",
- "weight": 228,
+ "weight": 229,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7299,7 +7410,7 @@
"x-appwrite": {
"method": "getMembership",
"group": "memberships",
- "weight": 230,
+ "weight": 231,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7369,7 +7480,7 @@
"x-appwrite": {
"method": "updateMembership",
"group": "memberships",
- "weight": 231,
+ "weight": 232,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7455,7 +7566,7 @@
"x-appwrite": {
"method": "deleteMembership",
"group": "memberships",
- "weight": 233,
+ "weight": 234,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7527,7 +7638,7 @@
"x-appwrite": {
"method": "updateMembershipStatus",
"group": "memberships",
- "weight": 232,
+ "weight": 233,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7621,7 +7732,7 @@
"x-appwrite": {
"method": "getPrefs",
"group": "teams",
- "weight": 224,
+ "weight": 225,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7682,7 +7793,7 @@
"x-appwrite": {
"method": "updatePrefs",
"group": "teams",
- "weight": 226,
+ "weight": 227,
"cookies": false,
"type": "",
"deprecated": false,
diff --git a/app/config/specs/swagger2-1.7.x-console.json b/app/config/specs/swagger2-1.7.x-console.json
index d7f8a4c9d15..e53a0dfb0bc 100644
--- a/app/config/specs/swagger2-1.7.x-console.json
+++ b/app/config/specs/swagger2-1.7.x-console.json
@@ -1,7 +1,7 @@
{
"swagger": "2.0",
"info": {
- "version": "1.7.0",
+ "version": "1.7.4",
"title": "Appwrite",
"description": "Appwrite backend as a service cuts up to 70% of the time and costs required for building a modern application. We abstract and simplify common development tasks behind a REST APIs, to help you develop your app in a fast and secure way. For full API documentation and tutorials go to [https:\/\/appwrite.io\/docs](https:\/\/appwrite.io\/docs)",
"termsOfService": "https:\/\/appwrite.io\/policy\/terms",
@@ -4527,7 +4527,7 @@
"x-appwrite": {
"method": "chat",
"group": "console",
- "weight": 307,
+ "weight": 308,
"cookies": false,
"type": "",
"deprecated": false,
@@ -4590,7 +4590,7 @@
"x-appwrite": {
"method": "getResource",
"group": null,
- "weight": 431,
+ "weight": 432,
"cookies": false,
"type": "",
"deprecated": false,
@@ -4661,7 +4661,7 @@
"x-appwrite": {
"method": "variables",
"group": "console",
- "weight": 306,
+ "weight": 307,
"cookies": false,
"type": "",
"deprecated": false,
@@ -4863,7 +4863,7 @@
"x-appwrite": {
"method": "getUsage",
"group": null,
- "weight": 118,
+ "weight": 119,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8296,7 +8296,7 @@
"x-appwrite": {
"method": "upsertDocuments",
"group": "documents",
- "weight": 115,
+ "weight": 116,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8346,13 +8346,16 @@
"documents": {
"type": "array",
"description": "Array of document data as JSON objects. May contain partial documents.",
- "default": [],
+ "default": null,
"x-example": null,
"items": {
"type": "object"
}
}
- }
+ },
+ "required": [
+ "documents"
+ ]
}
}
]
@@ -8381,7 +8384,7 @@
"x-appwrite": {
"method": "updateDocuments",
"group": "documents",
- "weight": 114,
+ "weight": 115,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8472,7 +8475,7 @@
"x-appwrite": {
"method": "deleteDocuments",
"group": "documents",
- "weight": 117,
+ "weight": 118,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8623,6 +8626,111 @@
}
]
},
+ "put": {
+ "summary": "Upsert document",
+ "operationId": "databasesUpsertDocument",
+ "consumes": [
+ "application\/json"
+ ],
+ "produces": [
+ "application\/json"
+ ],
+ "tags": [
+ "databases"
+ ],
+ "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
+ "responses": {
+ "200": {
+ "description": "Document",
+ "schema": {
+ "$ref": "#\/definitions\/document"
+ }
+ }
+ },
+ "x-appwrite": {
+ "method": "upsertDocument",
+ "group": "documents",
+ "weight": 114,
+ "cookies": false,
+ "type": "",
+ "deprecated": false,
+ "demo": "databases\/upsert-document.md",
+ "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md",
+ "rate-limit": 120,
+ "rate-time": 60,
+ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}",
+ "scope": "documents.write",
+ "platforms": [
+ "client",
+ "server",
+ "server"
+ ],
+ "packaging": false,
+ "auth": {
+ "Project": []
+ }
+ },
+ "security": [
+ {
+ "Project": [],
+ "Key": [],
+ "JWT": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "databaseId",
+ "description": "Database ID.",
+ "required": true,
+ "type": "string",
+ "x-example": "",
+ "in": "path"
+ },
+ {
+ "name": "collectionId",
+ "description": "Collection ID.",
+ "required": true,
+ "type": "string",
+ "x-example": "",
+ "in": "path"
+ },
+ {
+ "name": "documentId",
+ "description": "Document ID.",
+ "required": true,
+ "type": "string",
+ "x-example": "",
+ "in": "path"
+ },
+ {
+ "name": "payload",
+ "in": "body",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "data": {
+ "type": "object",
+ "description": "Document data as JSON object. Include all required attributes of the document to be created or updated.",
+ "default": {},
+ "x-example": "{}"
+ },
+ "permissions": {
+ "type": "array",
+ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).",
+ "default": null,
+ "x-example": "[\"read(\"any\")\"]",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "data"
+ ]
+ }
+ }
+ ]
+ },
"patch": {
"summary": "Update document",
"operationId": "databasesUpdateDocument",
@@ -8744,7 +8852,7 @@
"x-appwrite": {
"method": "deleteDocument",
"group": "documents",
- "weight": 116,
+ "weight": 117,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9335,7 +9443,7 @@
"x-appwrite": {
"method": "getCollectionUsage",
"group": null,
- "weight": 120,
+ "weight": 121,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9491,7 +9599,7 @@
"x-appwrite": {
"method": "getDatabaseUsage",
"group": null,
- "weight": 119,
+ "weight": 120,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9569,7 +9677,7 @@
"x-appwrite": {
"method": "list",
"group": "functions",
- "weight": 375,
+ "weight": 376,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9641,7 +9749,7 @@
"x-appwrite": {
"method": "create",
"group": "functions",
- "weight": 372,
+ "weight": 373,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9890,7 +9998,7 @@
"x-appwrite": {
"method": "listRuntimes",
"group": "runtimes",
- "weight": 377,
+ "weight": 378,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9939,7 +10047,7 @@
"x-appwrite": {
"method": "listSpecifications",
"group": "runtimes",
- "weight": 378,
+ "weight": 379,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9989,7 +10097,7 @@
"x-appwrite": {
"method": "listTemplates",
"group": "templates",
- "weight": 401,
+ "weight": 402,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10083,7 +10191,7 @@
"x-appwrite": {
"method": "getTemplate",
"group": "templates",
- "weight": 400,
+ "weight": 401,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10141,7 +10249,7 @@
"x-appwrite": {
"method": "listUsage",
"group": null,
- "weight": 394,
+ "weight": 395,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10211,7 +10319,7 @@
"x-appwrite": {
"method": "get",
"group": "functions",
- "weight": 373,
+ "weight": 374,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10270,7 +10378,7 @@
"x-appwrite": {
"method": "update",
"group": "functions",
- "weight": 374,
+ "weight": 375,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10515,7 +10623,7 @@
"x-appwrite": {
"method": "delete",
"group": "functions",
- "weight": 376,
+ "weight": 377,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10576,7 +10684,7 @@
"x-appwrite": {
"method": "updateFunctionDeployment",
"group": "functions",
- "weight": 381,
+ "weight": 382,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10653,7 +10761,7 @@
"x-appwrite": {
"method": "listDeployments",
"group": "deployments",
- "weight": 382,
+ "weight": 383,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10733,7 +10841,7 @@
"x-appwrite": {
"method": "createDeployment",
"group": "deployments",
- "weight": 379,
+ "weight": 380,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -10825,7 +10933,7 @@
"x-appwrite": {
"method": "createDuplicateDeployment",
"group": "deployments",
- "weight": 387,
+ "weight": 388,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10910,7 +11018,7 @@
"x-appwrite": {
"method": "createTemplateDeployment",
"group": "deployments",
- "weight": 384,
+ "weight": 385,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11016,7 +11124,7 @@
"x-appwrite": {
"method": "createVcsDeployment",
"group": "deployments",
- "weight": 385,
+ "weight": 386,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11112,7 +11220,7 @@
"x-appwrite": {
"method": "getDeployment",
"group": "deployments",
- "weight": 380,
+ "weight": 381,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11174,7 +11282,7 @@
"x-appwrite": {
"method": "deleteDeployment",
"group": "deployments",
- "weight": 383,
+ "weight": 384,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11241,7 +11349,7 @@
"x-appwrite": {
"method": "getDeploymentDownload",
"group": "deployments",
- "weight": 386,
+ "weight": 387,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -11327,7 +11435,7 @@
"x-appwrite": {
"method": "updateDeploymentStatus",
"group": "deployments",
- "weight": 388,
+ "weight": 389,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11394,7 +11502,7 @@
"x-appwrite": {
"method": "listExecutions",
"group": "executions",
- "weight": 391,
+ "weight": 392,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11468,7 +11576,7 @@
"x-appwrite": {
"method": "createExecution",
"group": "executions",
- "weight": 389,
+ "weight": 390,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11585,7 +11693,7 @@
"x-appwrite": {
"method": "getExecution",
"group": "executions",
- "weight": 390,
+ "weight": 391,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11650,7 +11758,7 @@
"x-appwrite": {
"method": "deleteExecution",
"group": "executions",
- "weight": 392,
+ "weight": 393,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11717,7 +11825,7 @@
"x-appwrite": {
"method": "getUsage",
"group": null,
- "weight": 393,
+ "weight": 394,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11795,7 +11903,7 @@
"x-appwrite": {
"method": "listVariables",
"group": "variables",
- "weight": 397,
+ "weight": 398,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11854,7 +11962,7 @@
"x-appwrite": {
"method": "createVariable",
"group": "variables",
- "weight": 395,
+ "weight": 396,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11944,7 +12052,7 @@
"x-appwrite": {
"method": "getVariable",
"group": "variables",
- "weight": 396,
+ "weight": 397,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12011,7 +12119,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": "variables",
- "weight": 398,
+ "weight": 399,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12103,7 +12211,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": "variables",
- "weight": 399,
+ "weight": 400,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12172,7 +12280,7 @@
"x-appwrite": {
"method": "query",
"group": "graphql",
- "weight": 305,
+ "weight": 306,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -12246,7 +12354,7 @@
"x-appwrite": {
"method": "mutation",
"group": "graphql",
- "weight": 304,
+ "weight": 305,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -12318,7 +12426,7 @@
"x-appwrite": {
"method": "get",
"group": "health",
- "weight": 129,
+ "weight": 130,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12367,7 +12475,7 @@
"x-appwrite": {
"method": "getAntivirus",
"group": "health",
- "weight": 150,
+ "weight": 151,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12416,7 +12524,7 @@
"x-appwrite": {
"method": "getCache",
"group": "health",
- "weight": 132,
+ "weight": 133,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12465,7 +12573,7 @@
"x-appwrite": {
"method": "getCertificate",
"group": "health",
- "weight": 137,
+ "weight": 138,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12523,7 +12631,7 @@
"x-appwrite": {
"method": "getDB",
"group": "health",
- "weight": 131,
+ "weight": 132,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12572,7 +12680,7 @@
"x-appwrite": {
"method": "getPubSub",
"group": "health",
- "weight": 133,
+ "weight": 134,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12621,7 +12729,7 @@
"x-appwrite": {
"method": "getQueueBuilds",
"group": "queue",
- "weight": 139,
+ "weight": 140,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12681,7 +12789,7 @@
"x-appwrite": {
"method": "getQueueCertificates",
"group": "queue",
- "weight": 138,
+ "weight": 139,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12741,7 +12849,7 @@
"x-appwrite": {
"method": "getQueueDatabases",
"group": "queue",
- "weight": 140,
+ "weight": 141,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12810,7 +12918,7 @@
"x-appwrite": {
"method": "getQueueDeletes",
"group": "queue",
- "weight": 141,
+ "weight": 142,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12870,7 +12978,7 @@
"x-appwrite": {
"method": "getFailedJobs",
"group": "queue",
- "weight": 151,
+ "weight": 152,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12954,7 +13062,7 @@
"x-appwrite": {
"method": "getQueueFunctions",
"group": "queue",
- "weight": 145,
+ "weight": 146,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13014,7 +13122,7 @@
"x-appwrite": {
"method": "getQueueLogs",
"group": "queue",
- "weight": 136,
+ "weight": 137,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13074,7 +13182,7 @@
"x-appwrite": {
"method": "getQueueMails",
"group": "queue",
- "weight": 142,
+ "weight": 143,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13134,7 +13242,7 @@
"x-appwrite": {
"method": "getQueueMessaging",
"group": "queue",
- "weight": 143,
+ "weight": 144,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13194,7 +13302,7 @@
"x-appwrite": {
"method": "getQueueMigrations",
"group": "queue",
- "weight": 144,
+ "weight": 145,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13254,7 +13362,7 @@
"x-appwrite": {
"method": "getQueueStatsResources",
"group": "queue",
- "weight": 146,
+ "weight": 147,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13314,7 +13422,7 @@
"x-appwrite": {
"method": "getQueueUsage",
"group": "queue",
- "weight": 147,
+ "weight": 148,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13374,7 +13482,7 @@
"x-appwrite": {
"method": "getQueueWebhooks",
"group": "queue",
- "weight": 135,
+ "weight": 136,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13434,7 +13542,7 @@
"x-appwrite": {
"method": "getStorage",
"group": "storage",
- "weight": 149,
+ "weight": 150,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13483,7 +13591,7 @@
"x-appwrite": {
"method": "getStorageLocal",
"group": "storage",
- "weight": 148,
+ "weight": 149,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13532,7 +13640,7 @@
"x-appwrite": {
"method": "getTime",
"group": "health",
- "weight": 134,
+ "weight": 135,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13581,7 +13689,7 @@
"x-appwrite": {
"method": "get",
"group": null,
- "weight": 121,
+ "weight": 122,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13633,7 +13741,7 @@
"x-appwrite": {
"method": "listCodes",
"group": null,
- "weight": 122,
+ "weight": 123,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13685,7 +13793,7 @@
"x-appwrite": {
"method": "listContinents",
"group": null,
- "weight": 126,
+ "weight": 127,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13737,7 +13845,7 @@
"x-appwrite": {
"method": "listCountries",
"group": null,
- "weight": 123,
+ "weight": 124,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13789,7 +13897,7 @@
"x-appwrite": {
"method": "listCountriesEU",
"group": null,
- "weight": 124,
+ "weight": 125,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13841,7 +13949,7 @@
"x-appwrite": {
"method": "listCountriesPhones",
"group": null,
- "weight": 125,
+ "weight": 126,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13893,7 +14001,7 @@
"x-appwrite": {
"method": "listCurrencies",
"group": null,
- "weight": 127,
+ "weight": 128,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13945,7 +14053,7 @@
"x-appwrite": {
"method": "listLanguages",
"group": null,
- "weight": 128,
+ "weight": 129,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13997,7 +14105,7 @@
"x-appwrite": {
"method": "listMessages",
"group": "messages",
- "weight": 359,
+ "weight": 360,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14072,7 +14180,7 @@
"x-appwrite": {
"method": "createEmail",
"group": "messages",
- "weight": 356,
+ "weight": 357,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14230,7 +14338,7 @@
"x-appwrite": {
"method": "updateEmail",
"group": "messages",
- "weight": 363,
+ "weight": 364,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14385,7 +14493,7 @@
"x-appwrite": {
"method": "createPush",
"group": "messages",
- "weight": 358,
+ "weight": 359,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14580,7 +14688,7 @@
"x-appwrite": {
"method": "updatePush",
"group": "messages",
- "weight": 365,
+ "weight": 366,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14774,7 +14882,7 @@
"x-appwrite": {
"method": "createSms",
"group": "messages",
- "weight": 357,
+ "weight": 358,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14892,7 +15000,7 @@
"x-appwrite": {
"method": "updateSms",
"group": "messages",
- "weight": 364,
+ "weight": 365,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15006,7 +15114,7 @@
"x-appwrite": {
"method": "getMessage",
"group": "messages",
- "weight": 362,
+ "weight": 363,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15061,7 +15169,7 @@
"x-appwrite": {
"method": "delete",
"group": "messages",
- "weight": 366,
+ "weight": 367,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15121,7 +15229,7 @@
"x-appwrite": {
"method": "listMessageLogs",
"group": "logs",
- "weight": 360,
+ "weight": 361,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15193,7 +15301,7 @@
"x-appwrite": {
"method": "listTargets",
"group": "messages",
- "weight": 361,
+ "weight": 362,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15265,7 +15373,7 @@
"x-appwrite": {
"method": "listProviders",
"group": "providers",
- "weight": 331,
+ "weight": 332,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15340,7 +15448,7 @@
"x-appwrite": {
"method": "createApnsProvider",
"group": "providers",
- "weight": 330,
+ "weight": 331,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15455,7 +15563,7 @@
"x-appwrite": {
"method": "updateApnsProvider",
"group": "providers",
- "weight": 343,
+ "weight": 344,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15568,7 +15676,7 @@
"x-appwrite": {
"method": "createFcmProvider",
"group": "providers",
- "weight": 329,
+ "weight": 330,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15659,7 +15767,7 @@
"x-appwrite": {
"method": "updateFcmProvider",
"group": "providers",
- "weight": 342,
+ "weight": 343,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15748,7 +15856,7 @@
"x-appwrite": {
"method": "createMailgunProvider",
"group": "providers",
- "weight": 321,
+ "weight": 322,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15875,7 +15983,7 @@
"x-appwrite": {
"method": "updateMailgunProvider",
"group": "providers",
- "weight": 334,
+ "weight": 335,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16000,7 +16108,7 @@
"x-appwrite": {
"method": "createMsg91Provider",
"group": "providers",
- "weight": 324,
+ "weight": 325,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16103,7 +16211,7 @@
"x-appwrite": {
"method": "updateMsg91Provider",
"group": "providers",
- "weight": 337,
+ "weight": 338,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16204,7 +16312,7 @@
"x-appwrite": {
"method": "createSendgridProvider",
"group": "providers",
- "weight": 322,
+ "weight": 323,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16319,7 +16427,7 @@
"x-appwrite": {
"method": "updateSendgridProvider",
"group": "providers",
- "weight": 335,
+ "weight": 336,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16432,7 +16540,7 @@
"x-appwrite": {
"method": "createSmtpProvider",
"group": "providers",
- "weight": 323,
+ "weight": 324,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16591,7 +16699,7 @@
"x-appwrite": {
"method": "updateSmtpProvider",
"group": "providers",
- "weight": 336,
+ "weight": 337,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16747,7 +16855,7 @@
"x-appwrite": {
"method": "createTelesignProvider",
"group": "providers",
- "weight": 325,
+ "weight": 326,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16850,7 +16958,7 @@
"x-appwrite": {
"method": "updateTelesignProvider",
"group": "providers",
- "weight": 338,
+ "weight": 339,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16951,7 +17059,7 @@
"x-appwrite": {
"method": "createTextmagicProvider",
"group": "providers",
- "weight": 326,
+ "weight": 327,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17054,7 +17162,7 @@
"x-appwrite": {
"method": "updateTextmagicProvider",
"group": "providers",
- "weight": 339,
+ "weight": 340,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17155,7 +17263,7 @@
"x-appwrite": {
"method": "createTwilioProvider",
"group": "providers",
- "weight": 327,
+ "weight": 328,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17258,7 +17366,7 @@
"x-appwrite": {
"method": "updateTwilioProvider",
"group": "providers",
- "weight": 340,
+ "weight": 341,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17359,7 +17467,7 @@
"x-appwrite": {
"method": "createVonageProvider",
"group": "providers",
- "weight": 328,
+ "weight": 329,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17462,7 +17570,7 @@
"x-appwrite": {
"method": "updateVonageProvider",
"group": "providers",
- "weight": 341,
+ "weight": 342,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17561,7 +17669,7 @@
"x-appwrite": {
"method": "getProvider",
"group": "providers",
- "weight": 333,
+ "weight": 334,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17616,7 +17724,7 @@
"x-appwrite": {
"method": "deleteProvider",
"group": "providers",
- "weight": 344,
+ "weight": 345,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17676,7 +17784,7 @@
"x-appwrite": {
"method": "listProviderLogs",
"group": "providers",
- "weight": 332,
+ "weight": 333,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17748,7 +17856,7 @@
"x-appwrite": {
"method": "listSubscriberLogs",
"group": "subscribers",
- "weight": 353,
+ "weight": 354,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17820,7 +17928,7 @@
"x-appwrite": {
"method": "listTopics",
"group": "topics",
- "weight": 346,
+ "weight": 347,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17893,7 +18001,7 @@
"x-appwrite": {
"method": "createTopic",
"group": "topics",
- "weight": 345,
+ "weight": 346,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17981,7 +18089,7 @@
"x-appwrite": {
"method": "getTopic",
"group": "topics",
- "weight": 348,
+ "weight": 349,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18041,7 +18149,7 @@
"x-appwrite": {
"method": "updateTopic",
"group": "topics",
- "weight": 349,
+ "weight": 350,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18120,7 +18228,7 @@
"x-appwrite": {
"method": "deleteTopic",
"group": "topics",
- "weight": 350,
+ "weight": 351,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18180,7 +18288,7 @@
"x-appwrite": {
"method": "listTopicLogs",
"group": "topics",
- "weight": 347,
+ "weight": 348,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18252,7 +18360,7 @@
"x-appwrite": {
"method": "listSubscribers",
"group": "subscribers",
- "weight": 352,
+ "weight": 353,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18333,7 +18441,7 @@
"x-appwrite": {
"method": "createSubscriber",
"group": "subscribers",
- "weight": 351,
+ "weight": 352,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18421,7 +18529,7 @@
"x-appwrite": {
"method": "getSubscriber",
"group": "subscribers",
- "weight": 354,
+ "weight": 355,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18484,7 +18592,7 @@
"x-appwrite": {
"method": "deleteSubscriber",
"group": "subscribers",
- "weight": 355,
+ "weight": 356,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18555,7 +18663,7 @@
"x-appwrite": {
"method": "list",
"group": null,
- "weight": 313,
+ "weight": 314,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18628,7 +18736,7 @@
"x-appwrite": {
"method": "createAppwriteMigration",
"group": null,
- "weight": 308,
+ "weight": 309,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18720,7 +18828,7 @@
"x-appwrite": {
"method": "getAppwriteReport",
"group": null,
- "weight": 315,
+ "weight": 316,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18808,7 +18916,7 @@
"x-appwrite": {
"method": "createCsvMigration",
"group": null,
- "weight": 312,
+ "weight": 313,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18892,7 +19000,7 @@
"x-appwrite": {
"method": "createFirebaseMigration",
"group": null,
- "weight": 309,
+ "weight": 310,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18970,7 +19078,7 @@
"x-appwrite": {
"method": "getFirebaseReport",
"group": null,
- "weight": 316,
+ "weight": 317,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19041,7 +19149,7 @@
"x-appwrite": {
"method": "createNHostMigration",
"group": null,
- "weight": 311,
+ "weight": 312,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19160,7 +19268,7 @@
"x-appwrite": {
"method": "getNHostReport",
"group": null,
- "weight": 318,
+ "weight": 319,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19280,7 +19388,7 @@
"x-appwrite": {
"method": "createSupabaseMigration",
"group": null,
- "weight": 310,
+ "weight": 311,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19392,7 +19500,7 @@
"x-appwrite": {
"method": "getSupabaseReport",
"group": null,
- "weight": 317,
+ "weight": 318,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19503,7 +19611,7 @@
"x-appwrite": {
"method": "get",
"group": null,
- "weight": 314,
+ "weight": 315,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19561,7 +19669,7 @@
"x-appwrite": {
"method": "retry",
"group": null,
- "weight": 319,
+ "weight": 320,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19614,7 +19722,7 @@
"x-appwrite": {
"method": "delete",
"group": null,
- "weight": 320,
+ "weight": 321,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19672,7 +19780,7 @@
"x-appwrite": {
"method": "getUsage",
"group": null,
- "weight": 199,
+ "weight": 200,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19754,7 +19862,7 @@
"x-appwrite": {
"method": "listVariables",
"group": null,
- "weight": 201,
+ "weight": 202,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19802,7 +19910,7 @@
"x-appwrite": {
"method": "createVariable",
"group": null,
- "weight": 200,
+ "weight": 201,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19883,7 +19991,7 @@
"x-appwrite": {
"method": "getVariable",
"group": null,
- "weight": 202,
+ "weight": 203,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19941,7 +20049,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": null,
- "weight": 203,
+ "weight": 204,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20024,7 +20132,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": null,
- "weight": 204,
+ "weight": 205,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20082,7 +20190,7 @@
"x-appwrite": {
"method": "list",
"group": "projects",
- "weight": 154,
+ "weight": 155,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20153,7 +20261,7 @@
"x-appwrite": {
"method": "create",
"group": "projects",
- "weight": 153,
+ "weight": 154,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20300,7 +20408,7 @@
"x-appwrite": {
"method": "get",
"group": "projects",
- "weight": 155,
+ "weight": 156,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20358,7 +20466,7 @@
"x-appwrite": {
"method": "update",
"group": "projects",
- "weight": 156,
+ "weight": 157,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20483,7 +20591,7 @@
"x-appwrite": {
"method": "delete",
"group": "projects",
- "weight": 173,
+ "weight": 174,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20543,7 +20651,7 @@
"x-appwrite": {
"method": "updateApiStatus",
"group": "projects",
- "weight": 160,
+ "weight": 161,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20635,7 +20743,7 @@
"x-appwrite": {
"method": "updateApiStatusAll",
"group": "projects",
- "weight": 161,
+ "weight": 162,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20713,7 +20821,7 @@
"x-appwrite": {
"method": "updateAuthDuration",
"group": "auth",
- "weight": 166,
+ "weight": 167,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20791,7 +20899,7 @@
"x-appwrite": {
"method": "updateAuthLimit",
"group": "auth",
- "weight": 165,
+ "weight": 166,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20869,7 +20977,7 @@
"x-appwrite": {
"method": "updateAuthSessionsLimit",
"group": "auth",
- "weight": 171,
+ "weight": 172,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20947,7 +21055,7 @@
"x-appwrite": {
"method": "updateMembershipsPrivacy",
"group": "auth",
- "weight": 164,
+ "weight": 165,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21039,7 +21147,7 @@
"x-appwrite": {
"method": "updateMockNumbers",
"group": "auth",
- "weight": 172,
+ "weight": 173,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21120,7 +21228,7 @@
"x-appwrite": {
"method": "updateAuthPasswordDictionary",
"group": "auth",
- "weight": 169,
+ "weight": 170,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21198,7 +21306,7 @@
"x-appwrite": {
"method": "updateAuthPasswordHistory",
"group": "auth",
- "weight": 168,
+ "weight": 169,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21276,7 +21384,7 @@
"x-appwrite": {
"method": "updatePersonalDataCheck",
"group": "auth",
- "weight": 170,
+ "weight": 171,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21354,7 +21462,7 @@
"x-appwrite": {
"method": "updateSessionAlerts",
"group": "auth",
- "weight": 163,
+ "weight": 164,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21432,7 +21540,7 @@
"x-appwrite": {
"method": "updateAuthStatus",
"group": "auth",
- "weight": 167,
+ "weight": 168,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21527,7 +21635,7 @@
"x-appwrite": {
"method": "listDevKeys",
"group": "devKeys",
- "weight": 370,
+ "weight": 371,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21597,7 +21705,7 @@
"x-appwrite": {
"method": "createDevKey",
"group": "devKeys",
- "weight": 367,
+ "weight": 368,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21680,7 +21788,7 @@
"x-appwrite": {
"method": "getDevKey",
"group": "devKeys",
- "weight": 369,
+ "weight": 370,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21746,7 +21854,7 @@
"x-appwrite": {
"method": "updateDevKey",
"group": "devKeys",
- "weight": 368,
+ "weight": 369,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21832,7 +21940,7 @@
"x-appwrite": {
"method": "deleteDevKey",
"group": "devKeys",
- "weight": 371,
+ "weight": 372,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21900,7 +22008,7 @@
"x-appwrite": {
"method": "createJWT",
"group": "auth",
- "weight": 185,
+ "weight": 186,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21985,7 +22093,7 @@
"x-appwrite": {
"method": "listKeys",
"group": "keys",
- "weight": 181,
+ "weight": 182,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22043,7 +22151,7 @@
"x-appwrite": {
"method": "createKey",
"group": "keys",
- "weight": 180,
+ "weight": 181,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22135,7 +22243,7 @@
"x-appwrite": {
"method": "getKey",
"group": "keys",
- "weight": 182,
+ "weight": 183,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22201,7 +22309,7 @@
"x-appwrite": {
"method": "updateKey",
"group": "keys",
- "weight": 183,
+ "weight": 184,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22296,7 +22404,7 @@
"x-appwrite": {
"method": "deleteKey",
"group": "keys",
- "weight": 184,
+ "weight": 185,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22364,7 +22472,7 @@
"x-appwrite": {
"method": "updateOAuth2",
"group": "auth",
- "weight": 162,
+ "weight": 163,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22502,7 +22610,7 @@
"x-appwrite": {
"method": "listPlatforms",
"group": "platforms",
- "weight": 187,
+ "weight": 188,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22560,7 +22668,7 @@
"x-appwrite": {
"method": "createPlatform",
"group": "platforms",
- "weight": 186,
+ "weight": 187,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22680,7 +22788,7 @@
"x-appwrite": {
"method": "getPlatform",
"group": "platforms",
- "weight": 188,
+ "weight": 189,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22746,7 +22854,7 @@
"x-appwrite": {
"method": "updatePlatform",
"group": "platforms",
- "weight": 189,
+ "weight": 190,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22843,7 +22951,7 @@
"x-appwrite": {
"method": "deletePlatform",
"group": "platforms",
- "weight": 190,
+ "weight": 191,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22911,7 +23019,7 @@
"x-appwrite": {
"method": "updateServiceStatus",
"group": "projects",
- "weight": 158,
+ "weight": 159,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23012,7 +23120,7 @@
"x-appwrite": {
"method": "updateServiceStatusAll",
"group": "projects",
- "weight": 159,
+ "weight": 160,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23090,7 +23198,7 @@
"x-appwrite": {
"method": "updateSmtp",
"group": "templates",
- "weight": 191,
+ "weight": 192,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23219,7 +23327,7 @@
"x-appwrite": {
"method": "createSmtpTest",
"group": "templates",
- "weight": 192,
+ "weight": 193,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23357,7 +23465,7 @@
"x-appwrite": {
"method": "updateTeam",
"group": "projects",
- "weight": 157,
+ "weight": 158,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23433,7 +23541,7 @@
"x-appwrite": {
"method": "getEmailTemplate",
"group": "templates",
- "weight": 194,
+ "weight": 195,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23653,7 +23761,7 @@
"x-appwrite": {
"method": "updateEmailTemplate",
"group": "templates",
- "weight": 196,
+ "weight": 197,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23916,7 +24024,7 @@
"x-appwrite": {
"method": "deleteEmailTemplate",
"group": "templates",
- "weight": 198,
+ "weight": 199,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24136,7 +24244,7 @@
"x-appwrite": {
"method": "getSmsTemplate",
"group": "templates",
- "weight": 193,
+ "weight": 194,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24353,7 +24461,7 @@
"x-appwrite": {
"method": "updateSmsTemplate",
"group": "templates",
- "weight": 195,
+ "weight": 196,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24588,7 +24696,7 @@
"x-appwrite": {
"method": "deleteSmsTemplate",
"group": "templates",
- "weight": 197,
+ "weight": 198,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24805,7 +24913,7 @@
"x-appwrite": {
"method": "listWebhooks",
"group": "webhooks",
- "weight": 175,
+ "weight": 176,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24863,7 +24971,7 @@
"x-appwrite": {
"method": "createWebhook",
"group": "webhooks",
- "weight": 174,
+ "weight": 175,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24981,7 +25089,7 @@
"x-appwrite": {
"method": "getWebhook",
"group": "webhooks",
- "weight": 176,
+ "weight": 177,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25047,7 +25155,7 @@
"x-appwrite": {
"method": "updateWebhook",
"group": "webhooks",
- "weight": 177,
+ "weight": 178,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25168,7 +25276,7 @@
"x-appwrite": {
"method": "deleteWebhook",
"group": "webhooks",
- "weight": 179,
+ "weight": 180,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25236,7 +25344,7 @@
"x-appwrite": {
"method": "updateWebhookSignature",
"group": "webhooks",
- "weight": 178,
+ "weight": 179,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25302,7 +25410,7 @@
"x-appwrite": {
"method": "listRules",
"group": null,
- "weight": 291,
+ "weight": 292,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25375,7 +25483,7 @@
"x-appwrite": {
"method": "createAPIRule",
"group": null,
- "weight": 432,
+ "weight": 433,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25445,7 +25553,7 @@
"x-appwrite": {
"method": "createFunctionRule",
"group": null,
- "weight": 434,
+ "weight": 435,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25528,7 +25636,7 @@
"x-appwrite": {
"method": "createRedirectRule",
"group": null,
- "weight": 435,
+ "weight": 436,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25625,7 +25733,7 @@
"x-appwrite": {
"method": "createSiteRule",
"group": null,
- "weight": 433,
+ "weight": 434,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25706,7 +25814,7 @@
"x-appwrite": {
"method": "getRule",
"group": null,
- "weight": 292,
+ "weight": 293,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25759,7 +25867,7 @@
"x-appwrite": {
"method": "deleteRule",
"group": null,
- "weight": 293,
+ "weight": 294,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25819,7 +25927,7 @@
"x-appwrite": {
"method": "updateRuleVerification",
"group": null,
- "weight": 294,
+ "weight": 295,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25877,7 +25985,7 @@
"x-appwrite": {
"method": "list",
"group": "sites",
- "weight": 404,
+ "weight": 405,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25949,7 +26057,7 @@
"x-appwrite": {
"method": "create",
"group": "sites",
- "weight": 402,
+ "weight": 403,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26214,7 +26322,7 @@
"x-appwrite": {
"method": "listFrameworks",
"group": "frameworks",
- "weight": 407,
+ "weight": 408,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26263,7 +26371,7 @@
"x-appwrite": {
"method": "listSpecifications",
"group": "frameworks",
- "weight": 430,
+ "weight": 431,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26313,7 +26421,7 @@
"x-appwrite": {
"method": "listTemplates",
"group": "templates",
- "weight": 426,
+ "weight": 427,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26407,7 +26515,7 @@
"x-appwrite": {
"method": "getTemplate",
"group": "templates",
- "weight": 427,
+ "weight": 428,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26465,7 +26573,7 @@
"x-appwrite": {
"method": "listUsage",
"group": null,
- "weight": 428,
+ "weight": 429,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26535,7 +26643,7 @@
"x-appwrite": {
"method": "get",
"group": "sites",
- "weight": 403,
+ "weight": 404,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26594,7 +26702,7 @@
"x-appwrite": {
"method": "update",
"group": "sites",
- "weight": 405,
+ "weight": 406,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26854,7 +26962,7 @@
"x-appwrite": {
"method": "delete",
"group": "sites",
- "weight": 406,
+ "weight": 407,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26915,7 +27023,7 @@
"x-appwrite": {
"method": "updateSiteDeployment",
"group": "sites",
- "weight": 413,
+ "weight": 414,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26992,7 +27100,7 @@
"x-appwrite": {
"method": "listDeployments",
"group": "deployments",
- "weight": 412,
+ "weight": 413,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27072,7 +27180,7 @@
"x-appwrite": {
"method": "createDeployment",
"group": "deployments",
- "weight": 408,
+ "weight": 409,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -27172,7 +27280,7 @@
"x-appwrite": {
"method": "createDuplicateDeployment",
"group": "deployments",
- "weight": 416,
+ "weight": 417,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27251,7 +27359,7 @@
"x-appwrite": {
"method": "createTemplateDeployment",
"group": "deployments",
- "weight": 409,
+ "weight": 410,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27357,7 +27465,7 @@
"x-appwrite": {
"method": "createVcsDeployment",
"group": "deployments",
- "weight": 410,
+ "weight": 411,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27454,7 +27562,7 @@
"x-appwrite": {
"method": "getDeployment",
"group": "deployments",
- "weight": 411,
+ "weight": 412,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27516,7 +27624,7 @@
"x-appwrite": {
"method": "deleteDeployment",
"group": "deployments",
- "weight": 414,
+ "weight": 415,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27583,7 +27691,7 @@
"x-appwrite": {
"method": "getDeploymentDownload",
"group": "deployments",
- "weight": 415,
+ "weight": 416,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -27669,7 +27777,7 @@
"x-appwrite": {
"method": "updateDeploymentStatus",
"group": "deployments",
- "weight": 417,
+ "weight": 418,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27736,7 +27844,7 @@
"x-appwrite": {
"method": "listLogs",
"group": "logs",
- "weight": 419,
+ "weight": 420,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27807,7 +27915,7 @@
"x-appwrite": {
"method": "getLog",
"group": "logs",
- "weight": 418,
+ "weight": 419,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27871,7 +27979,7 @@
"x-appwrite": {
"method": "deleteLog",
"group": "logs",
- "weight": 420,
+ "weight": 421,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27938,7 +28046,7 @@
"x-appwrite": {
"method": "getUsage",
"group": null,
- "weight": 429,
+ "weight": 430,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28016,7 +28124,7 @@
"x-appwrite": {
"method": "listVariables",
"group": "variables",
- "weight": 423,
+ "weight": 424,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28075,7 +28183,7 @@
"x-appwrite": {
"method": "createVariable",
"group": "variables",
- "weight": 421,
+ "weight": 422,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28165,7 +28273,7 @@
"x-appwrite": {
"method": "getVariable",
"group": "variables",
- "weight": 422,
+ "weight": 423,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28232,7 +28340,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": "variables",
- "weight": 424,
+ "weight": 425,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28324,7 +28432,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": "variables",
- "weight": 425,
+ "weight": 426,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28391,7 +28499,7 @@
"x-appwrite": {
"method": "listBuckets",
"group": "buckets",
- "weight": 206,
+ "weight": 207,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28463,7 +28571,7 @@
"x-appwrite": {
"method": "createBucket",
"group": "buckets",
- "weight": 205,
+ "weight": 206,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28600,7 +28708,7 @@
"x-appwrite": {
"method": "getBucket",
"group": "buckets",
- "weight": 207,
+ "weight": 208,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28659,7 +28767,7 @@
"x-appwrite": {
"method": "updateBucket",
"group": "buckets",
- "weight": 208,
+ "weight": 209,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28792,7 +28900,7 @@
"x-appwrite": {
"method": "deleteBucket",
"group": "buckets",
- "weight": 209,
+ "weight": 210,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28851,7 +28959,7 @@
"x-appwrite": {
"method": "listFiles",
"group": "files",
- "weight": 211,
+ "weight": 212,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28934,7 +29042,7 @@
"x-appwrite": {
"method": "createFile",
"group": "files",
- "weight": 210,
+ "weight": 211,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -29024,7 +29132,7 @@
"x-appwrite": {
"method": "getFile",
"group": "files",
- "weight": 212,
+ "weight": 213,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29094,7 +29202,7 @@
"x-appwrite": {
"method": "updateFile",
"group": "files",
- "weight": 217,
+ "weight": 218,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29183,7 +29291,7 @@
"x-appwrite": {
"method": "deleteFile",
"group": "files",
- "weight": 218,
+ "weight": 219,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29253,7 +29361,7 @@
"x-appwrite": {
"method": "getFileDownload",
"group": "files",
- "weight": 214,
+ "weight": 215,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -29332,7 +29440,7 @@
"x-appwrite": {
"method": "getFilePreview",
"group": "files",
- "weight": 213,
+ "weight": 214,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -29538,7 +29646,7 @@
"x-appwrite": {
"method": "getFileView",
"group": "files",
- "weight": 215,
+ "weight": 216,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -29617,7 +29725,7 @@
"x-appwrite": {
"method": "getUsage",
"group": null,
- "weight": 219,
+ "weight": 220,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29687,7 +29795,7 @@
"x-appwrite": {
"method": "getBucketUsage",
"group": null,
- "weight": 220,
+ "weight": 221,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29765,7 +29873,7 @@
"x-appwrite": {
"method": "list",
"group": "teams",
- "weight": 222,
+ "weight": 223,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29840,7 +29948,7 @@
"x-appwrite": {
"method": "create",
"group": "teams",
- "weight": 221,
+ "weight": 222,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29930,7 +30038,7 @@
"x-appwrite": {
"method": "get",
"group": "teams",
- "weight": 223,
+ "weight": 224,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29992,7 +30100,7 @@
"x-appwrite": {
"method": "updateName",
"group": "teams",
- "weight": 225,
+ "weight": 226,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30067,7 +30175,7 @@
"x-appwrite": {
"method": "delete",
"group": "teams",
- "weight": 227,
+ "weight": 228,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30129,7 +30237,7 @@
"x-appwrite": {
"method": "listLogs",
"group": "logs",
- "weight": 234,
+ "weight": 235,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30199,7 +30307,7 @@
"x-appwrite": {
"method": "listMemberships",
"group": "memberships",
- "weight": 229,
+ "weight": 230,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30282,7 +30390,7 @@
"x-appwrite": {
"method": "createMembership",
"group": "memberships",
- "weight": 228,
+ "weight": 229,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30395,7 +30503,7 @@
"x-appwrite": {
"method": "getMembership",
"group": "memberships",
- "weight": 230,
+ "weight": 231,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30465,7 +30573,7 @@
"x-appwrite": {
"method": "updateMembership",
"group": "memberships",
- "weight": 231,
+ "weight": 232,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30551,7 +30659,7 @@
"x-appwrite": {
"method": "deleteMembership",
"group": "memberships",
- "weight": 233,
+ "weight": 234,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30623,7 +30731,7 @@
"x-appwrite": {
"method": "updateMembershipStatus",
"group": "memberships",
- "weight": 232,
+ "weight": 233,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30716,7 +30824,7 @@
"x-appwrite": {
"method": "getPrefs",
"group": "teams",
- "weight": 224,
+ "weight": 225,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30776,7 +30884,7 @@
"x-appwrite": {
"method": "updatePrefs",
"group": "teams",
- "weight": 226,
+ "weight": 227,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30854,7 +30962,7 @@
"x-appwrite": {
"method": "list",
"group": "files",
- "weight": 438,
+ "weight": 439,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30922,7 +31030,7 @@
"tags": [
"tokens"
],
- "description": "Create a new token. A token is linked to a file. Token can be passed as a header or request get parameter.",
+ "description": "Create a new token. A token is linked to a file. Token can be passed as a request URL search parameter.",
"responses": {
"201": {
"description": "ResourceToken",
@@ -30934,12 +31042,12 @@
"x-appwrite": {
"method": "createFileToken",
"group": "files",
- "weight": 436,
+ "weight": 437,
"cookies": false,
"type": "",
"deprecated": false,
"demo": "tokens\/create-file-token.md",
- "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new token. A token is linked to a file. Token can be passed as a header or request get parameter.",
+ "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new token. A token is linked to a file. Token can be passed as a request URL search parameter.",
"rate-limit": 60,
"rate-time": 60,
"rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}",
@@ -31018,7 +31126,7 @@
"x-appwrite": {
"method": "get",
"group": "tokens",
- "weight": 437,
+ "weight": 438,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31078,7 +31186,7 @@
"x-appwrite": {
"method": "update",
"group": "tokens",
- "weight": 439,
+ "weight": 440,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31149,7 +31257,7 @@
"x-appwrite": {
"method": "delete",
"group": "tokens",
- "weight": 440,
+ "weight": 441,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31209,7 +31317,7 @@
"x-appwrite": {
"method": "list",
"group": "users",
- "weight": 244,
+ "weight": 245,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31281,7 +31389,7 @@
"x-appwrite": {
"method": "create",
"group": "users",
- "weight": 235,
+ "weight": 236,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31376,7 +31484,7 @@
"x-appwrite": {
"method": "createArgon2User",
"group": "users",
- "weight": 238,
+ "weight": 239,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31467,7 +31575,7 @@
"x-appwrite": {
"method": "createBcryptUser",
"group": "users",
- "weight": 236,
+ "weight": 237,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31556,7 +31664,7 @@
"x-appwrite": {
"method": "listIdentities",
"group": "identities",
- "weight": 252,
+ "weight": 253,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31625,7 +31733,7 @@
"x-appwrite": {
"method": "deleteIdentity",
"group": "identities",
- "weight": 275,
+ "weight": 276,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31686,7 +31794,7 @@
"x-appwrite": {
"method": "createMD5User",
"group": "users",
- "weight": 237,
+ "weight": 238,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31777,7 +31885,7 @@
"x-appwrite": {
"method": "createPHPassUser",
"group": "users",
- "weight": 240,
+ "weight": 241,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31868,7 +31976,7 @@
"x-appwrite": {
"method": "createScryptUser",
"group": "users",
- "weight": 241,
+ "weight": 242,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31994,7 +32102,7 @@
"x-appwrite": {
"method": "createScryptModifiedUser",
"group": "users",
- "weight": 242,
+ "weight": 243,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32106,7 +32214,7 @@
"x-appwrite": {
"method": "createSHAUser",
"group": "users",
- "weight": 239,
+ "weight": 240,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32216,7 +32324,7 @@
"x-appwrite": {
"method": "getUsage",
"group": null,
- "weight": 277,
+ "weight": 278,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32286,7 +32394,7 @@
"x-appwrite": {
"method": "get",
"group": "users",
- "weight": 245,
+ "weight": 246,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32340,7 +32448,7 @@
"x-appwrite": {
"method": "delete",
"group": "users",
- "weight": 273,
+ "weight": 274,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32401,7 +32509,7 @@
"x-appwrite": {
"method": "updateEmail",
"group": "users",
- "weight": 258,
+ "weight": 259,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32480,7 +32588,7 @@
"x-appwrite": {
"method": "createJWT",
"group": "sessions",
- "weight": 276,
+ "weight": 277,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32562,7 +32670,7 @@
"x-appwrite": {
"method": "updateLabels",
"group": "users",
- "weight": 254,
+ "weight": 255,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32642,7 +32750,7 @@
"x-appwrite": {
"method": "listLogs",
"group": "logs",
- "weight": 250,
+ "weight": 251,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32713,7 +32821,7 @@
"x-appwrite": {
"method": "listMemberships",
"group": "memberships",
- "weight": 249,
+ "weight": 250,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32795,7 +32903,7 @@
"x-appwrite": {
"method": "updateMfa",
"group": "users",
- "weight": 263,
+ "weight": 264,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32869,7 +32977,7 @@
"x-appwrite": {
"method": "deleteMfaAuthenticator",
"group": "mfa",
- "weight": 268,
+ "weight": 269,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32941,7 +33049,7 @@
"x-appwrite": {
"method": "listMfaFactors",
"group": "mfa",
- "weight": 264,
+ "weight": 265,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33000,7 +33108,7 @@
"x-appwrite": {
"method": "getMfaRecoveryCodes",
"group": "mfa",
- "weight": 265,
+ "weight": 266,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33059,7 +33167,7 @@
"x-appwrite": {
"method": "updateMfaRecoveryCodes",
"group": "mfa",
- "weight": 267,
+ "weight": 268,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33118,7 +33226,7 @@
"x-appwrite": {
"method": "createMfaRecoveryCodes",
"group": "mfa",
- "weight": 266,
+ "weight": 267,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33179,7 +33287,7 @@
"x-appwrite": {
"method": "updateName",
"group": "users",
- "weight": 256,
+ "weight": 257,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33258,7 +33366,7 @@
"x-appwrite": {
"method": "updatePassword",
"group": "users",
- "weight": 257,
+ "weight": 258,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33337,7 +33445,7 @@
"x-appwrite": {
"method": "updatePhone",
"group": "users",
- "weight": 259,
+ "weight": 260,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33414,7 +33522,7 @@
"x-appwrite": {
"method": "getPrefs",
"group": "users",
- "weight": 246,
+ "weight": 247,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33473,7 +33581,7 @@
"x-appwrite": {
"method": "updatePrefs",
"group": "users",
- "weight": 261,
+ "weight": 262,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33550,7 +33658,7 @@
"x-appwrite": {
"method": "listSessions",
"group": "sessions",
- "weight": 248,
+ "weight": 249,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33609,7 +33717,7 @@
"x-appwrite": {
"method": "createSession",
"group": "sessions",
- "weight": 269,
+ "weight": 270,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33663,7 +33771,7 @@
"x-appwrite": {
"method": "deleteSessions",
"group": "sessions",
- "weight": 272,
+ "weight": 273,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33719,7 +33827,7 @@
"x-appwrite": {
"method": "deleteSession",
"group": "sessions",
- "weight": 271,
+ "weight": 272,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33788,7 +33896,7 @@
"x-appwrite": {
"method": "updateStatus",
"group": "users",
- "weight": 253,
+ "weight": 254,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33865,7 +33973,7 @@
"x-appwrite": {
"method": "listTargets",
"group": "targets",
- "weight": 251,
+ "weight": 252,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33937,7 +34045,7 @@
"x-appwrite": {
"method": "createTarget",
"group": "targets",
- "weight": 243,
+ "weight": 244,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34048,7 +34156,7 @@
"x-appwrite": {
"method": "getTarget",
"group": "targets",
- "weight": 247,
+ "weight": 248,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34116,7 +34224,7 @@
"x-appwrite": {
"method": "updateTarget",
"group": "targets",
- "weight": 262,
+ "weight": 263,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34206,7 +34314,7 @@
"x-appwrite": {
"method": "deleteTarget",
"group": "targets",
- "weight": 274,
+ "weight": 275,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34276,7 +34384,7 @@
"x-appwrite": {
"method": "createToken",
"group": "sessions",
- "weight": 270,
+ "weight": 271,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34358,7 +34466,7 @@
"x-appwrite": {
"method": "updateEmailVerification",
"group": "users",
- "weight": 260,
+ "weight": 261,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34437,7 +34545,7 @@
"x-appwrite": {
"method": "updatePhoneVerification",
"group": "users",
- "weight": 255,
+ "weight": 256,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34516,7 +34624,7 @@
"x-appwrite": {
"method": "createRepositoryDetection",
"group": "repositories",
- "weight": 281,
+ "weight": 282,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34611,7 +34719,7 @@
"x-appwrite": {
"method": "listRepositories",
"group": "repositories",
- "weight": 282,
+ "weight": 283,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34692,7 +34800,7 @@
"x-appwrite": {
"method": "createRepository",
"group": "repositories",
- "weight": 283,
+ "weight": 284,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34775,7 +34883,7 @@
"x-appwrite": {
"method": "getRepository",
"group": "repositories",
- "weight": 284,
+ "weight": 285,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34841,7 +34949,7 @@
"x-appwrite": {
"method": "listRepositoryBranches",
"group": "repositories",
- "weight": 285,
+ "weight": 286,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34907,7 +35015,7 @@
"x-appwrite": {
"method": "getRepositoryContents",
"group": "repositories",
- "weight": 280,
+ "weight": 281,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34981,7 +35089,7 @@
"x-appwrite": {
"method": "updateExternalDeployments",
"group": "repositories",
- "weight": 290,
+ "weight": 291,
"cookies": false,
"type": "",
"deprecated": false,
@@ -35065,7 +35173,7 @@
"x-appwrite": {
"method": "listInstallations",
"group": "installations",
- "weight": 287,
+ "weight": 288,
"cookies": false,
"type": "",
"deprecated": false,
@@ -35136,7 +35244,7 @@
"x-appwrite": {
"method": "getInstallation",
"group": "installations",
- "weight": 288,
+ "weight": 289,
"cookies": false,
"type": "",
"deprecated": false,
@@ -35189,7 +35297,7 @@
"x-appwrite": {
"method": "deleteInstallation",
"group": "installations",
- "weight": 289,
+ "weight": 290,
"cookies": false,
"type": "",
"deprecated": false,
diff --git a/app/config/specs/swagger2-1.7.x-server.json b/app/config/specs/swagger2-1.7.x-server.json
index d2924041c0e..083290bcc05 100644
--- a/app/config/specs/swagger2-1.7.x-server.json
+++ b/app/config/specs/swagger2-1.7.x-server.json
@@ -1,7 +1,7 @@
{
"swagger": "2.0",
"info": {
- "version": "1.7.0",
+ "version": "1.7.4",
"title": "Appwrite",
"description": "Appwrite backend as a service cuts up to 70% of the time and costs required for building a modern application. We abstract and simplify common development tasks behind a REST APIs, to help you develop your app in a fast and secure way. For full API documentation and tutorials go to [https:\/\/appwrite.io\/docs](https:\/\/appwrite.io\/docs)",
"termsOfService": "https:\/\/appwrite.io\/policy\/terms",
@@ -7769,7 +7769,7 @@
"x-appwrite": {
"method": "upsertDocuments",
"group": "documents",
- "weight": 115,
+ "weight": 116,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7820,13 +7820,16 @@
"documents": {
"type": "array",
"description": "Array of document data as JSON objects. May contain partial documents.",
- "default": [],
+ "default": null,
"x-example": null,
"items": {
"type": "object"
}
}
- }
+ },
+ "required": [
+ "documents"
+ ]
}
}
]
@@ -7855,7 +7858,7 @@
"x-appwrite": {
"method": "updateDocuments",
"group": "documents",
- "weight": 114,
+ "weight": 115,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7947,7 +7950,7 @@
"x-appwrite": {
"method": "deleteDocuments",
"group": "documents",
- "weight": 117,
+ "weight": 118,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8101,6 +8104,113 @@
}
]
},
+ "put": {
+ "summary": "Upsert document",
+ "operationId": "databasesUpsertDocument",
+ "consumes": [
+ "application\/json"
+ ],
+ "produces": [
+ "application\/json"
+ ],
+ "tags": [
+ "databases"
+ ],
+ "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
+ "responses": {
+ "200": {
+ "description": "Document",
+ "schema": {
+ "$ref": "#\/definitions\/document"
+ }
+ }
+ },
+ "x-appwrite": {
+ "method": "upsertDocument",
+ "group": "documents",
+ "weight": 114,
+ "cookies": false,
+ "type": "",
+ "deprecated": false,
+ "demo": "databases\/upsert-document.md",
+ "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md",
+ "rate-limit": 120,
+ "rate-time": 60,
+ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}",
+ "scope": "documents.write",
+ "platforms": [
+ "client",
+ "server",
+ "server"
+ ],
+ "packaging": false,
+ "auth": {
+ "Project": [],
+ "Session": []
+ }
+ },
+ "security": [
+ {
+ "Project": [],
+ "Session": [],
+ "Key": [],
+ "JWT": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "databaseId",
+ "description": "Database ID.",
+ "required": true,
+ "type": "string",
+ "x-example": "",
+ "in": "path"
+ },
+ {
+ "name": "collectionId",
+ "description": "Collection ID.",
+ "required": true,
+ "type": "string",
+ "x-example": "",
+ "in": "path"
+ },
+ {
+ "name": "documentId",
+ "description": "Document ID.",
+ "required": true,
+ "type": "string",
+ "x-example": "",
+ "in": "path"
+ },
+ {
+ "name": "payload",
+ "in": "body",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "data": {
+ "type": "object",
+ "description": "Document data as JSON object. Include all required attributes of the document to be created or updated.",
+ "default": {},
+ "x-example": "{}"
+ },
+ "permissions": {
+ "type": "array",
+ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).",
+ "default": null,
+ "x-example": "[\"read(\"any\")\"]",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "data"
+ ]
+ }
+ }
+ ]
+ },
"patch": {
"summary": "Update document",
"operationId": "databasesUpdateDocument",
@@ -8224,7 +8334,7 @@
"x-appwrite": {
"method": "deleteDocument",
"group": "documents",
- "weight": 116,
+ "weight": 117,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8657,7 +8767,7 @@
"x-appwrite": {
"method": "list",
"group": "functions",
- "weight": 375,
+ "weight": 376,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8730,7 +8840,7 @@
"x-appwrite": {
"method": "create",
"group": "functions",
- "weight": 372,
+ "weight": 373,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8980,7 +9090,7 @@
"x-appwrite": {
"method": "listRuntimes",
"group": "runtimes",
- "weight": 377,
+ "weight": 378,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9030,7 +9140,7 @@
"x-appwrite": {
"method": "listSpecifications",
"group": "runtimes",
- "weight": 378,
+ "weight": 379,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9081,7 +9191,7 @@
"x-appwrite": {
"method": "get",
"group": "functions",
- "weight": 373,
+ "weight": 374,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9141,7 +9251,7 @@
"x-appwrite": {
"method": "update",
"group": "functions",
- "weight": 374,
+ "weight": 375,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9387,7 +9497,7 @@
"x-appwrite": {
"method": "delete",
"group": "functions",
- "weight": 376,
+ "weight": 377,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9449,7 +9559,7 @@
"x-appwrite": {
"method": "updateFunctionDeployment",
"group": "functions",
- "weight": 381,
+ "weight": 382,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9527,7 +9637,7 @@
"x-appwrite": {
"method": "listDeployments",
"group": "deployments",
- "weight": 382,
+ "weight": 383,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9608,7 +9718,7 @@
"x-appwrite": {
"method": "createDeployment",
"group": "deployments",
- "weight": 379,
+ "weight": 380,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -9701,7 +9811,7 @@
"x-appwrite": {
"method": "createDuplicateDeployment",
"group": "deployments",
- "weight": 387,
+ "weight": 388,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9787,7 +9897,7 @@
"x-appwrite": {
"method": "createTemplateDeployment",
"group": "deployments",
- "weight": 384,
+ "weight": 385,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9894,7 +10004,7 @@
"x-appwrite": {
"method": "createVcsDeployment",
"group": "deployments",
- "weight": 385,
+ "weight": 386,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9991,7 +10101,7 @@
"x-appwrite": {
"method": "getDeployment",
"group": "deployments",
- "weight": 380,
+ "weight": 381,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10054,7 +10164,7 @@
"x-appwrite": {
"method": "deleteDeployment",
"group": "deployments",
- "weight": 383,
+ "weight": 384,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10122,7 +10232,7 @@
"x-appwrite": {
"method": "getDeploymentDownload",
"group": "deployments",
- "weight": 386,
+ "weight": 387,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -10209,7 +10319,7 @@
"x-appwrite": {
"method": "updateDeploymentStatus",
"group": "deployments",
- "weight": 388,
+ "weight": 389,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10277,7 +10387,7 @@
"x-appwrite": {
"method": "listExecutions",
"group": "executions",
- "weight": 391,
+ "weight": 392,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10353,7 +10463,7 @@
"x-appwrite": {
"method": "createExecution",
"group": "executions",
- "weight": 389,
+ "weight": 390,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10472,7 +10582,7 @@
"x-appwrite": {
"method": "getExecution",
"group": "executions",
- "weight": 390,
+ "weight": 391,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10539,7 +10649,7 @@
"x-appwrite": {
"method": "deleteExecution",
"group": "executions",
- "weight": 392,
+ "weight": 393,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10607,7 +10717,7 @@
"x-appwrite": {
"method": "listVariables",
"group": "variables",
- "weight": 397,
+ "weight": 398,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10667,7 +10777,7 @@
"x-appwrite": {
"method": "createVariable",
"group": "variables",
- "weight": 395,
+ "weight": 396,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10758,7 +10868,7 @@
"x-appwrite": {
"method": "getVariable",
"group": "variables",
- "weight": 396,
+ "weight": 397,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10826,7 +10936,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": "variables",
- "weight": 398,
+ "weight": 399,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10919,7 +11029,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": "variables",
- "weight": 399,
+ "weight": 400,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10989,7 +11099,7 @@
"x-appwrite": {
"method": "query",
"group": "graphql",
- "weight": 305,
+ "weight": 306,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -11065,7 +11175,7 @@
"x-appwrite": {
"method": "mutation",
"group": "graphql",
- "weight": 304,
+ "weight": 305,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -11139,7 +11249,7 @@
"x-appwrite": {
"method": "get",
"group": "health",
- "weight": 129,
+ "weight": 130,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11189,7 +11299,7 @@
"x-appwrite": {
"method": "getAntivirus",
"group": "health",
- "weight": 150,
+ "weight": 151,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11239,7 +11349,7 @@
"x-appwrite": {
"method": "getCache",
"group": "health",
- "weight": 132,
+ "weight": 133,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11289,7 +11399,7 @@
"x-appwrite": {
"method": "getCertificate",
"group": "health",
- "weight": 137,
+ "weight": 138,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11348,7 +11458,7 @@
"x-appwrite": {
"method": "getDB",
"group": "health",
- "weight": 131,
+ "weight": 132,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11398,7 +11508,7 @@
"x-appwrite": {
"method": "getPubSub",
"group": "health",
- "weight": 133,
+ "weight": 134,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11448,7 +11558,7 @@
"x-appwrite": {
"method": "getQueueBuilds",
"group": "queue",
- "weight": 139,
+ "weight": 140,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11509,7 +11619,7 @@
"x-appwrite": {
"method": "getQueueCertificates",
"group": "queue",
- "weight": 138,
+ "weight": 139,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11570,7 +11680,7 @@
"x-appwrite": {
"method": "getQueueDatabases",
"group": "queue",
- "weight": 140,
+ "weight": 141,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11640,7 +11750,7 @@
"x-appwrite": {
"method": "getQueueDeletes",
"group": "queue",
- "weight": 141,
+ "weight": 142,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11701,7 +11811,7 @@
"x-appwrite": {
"method": "getFailedJobs",
"group": "queue",
- "weight": 151,
+ "weight": 152,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11786,7 +11896,7 @@
"x-appwrite": {
"method": "getQueueFunctions",
"group": "queue",
- "weight": 145,
+ "weight": 146,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11847,7 +11957,7 @@
"x-appwrite": {
"method": "getQueueLogs",
"group": "queue",
- "weight": 136,
+ "weight": 137,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11908,7 +12018,7 @@
"x-appwrite": {
"method": "getQueueMails",
"group": "queue",
- "weight": 142,
+ "weight": 143,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11969,7 +12079,7 @@
"x-appwrite": {
"method": "getQueueMessaging",
"group": "queue",
- "weight": 143,
+ "weight": 144,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12030,7 +12140,7 @@
"x-appwrite": {
"method": "getQueueMigrations",
"group": "queue",
- "weight": 144,
+ "weight": 145,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12091,7 +12201,7 @@
"x-appwrite": {
"method": "getQueueStatsResources",
"group": "queue",
- "weight": 146,
+ "weight": 147,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12152,7 +12262,7 @@
"x-appwrite": {
"method": "getQueueUsage",
"group": "queue",
- "weight": 147,
+ "weight": 148,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12213,7 +12323,7 @@
"x-appwrite": {
"method": "getQueueWebhooks",
"group": "queue",
- "weight": 135,
+ "weight": 136,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12274,7 +12384,7 @@
"x-appwrite": {
"method": "getStorage",
"group": "storage",
- "weight": 149,
+ "weight": 150,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12324,7 +12434,7 @@
"x-appwrite": {
"method": "getStorageLocal",
"group": "storage",
- "weight": 148,
+ "weight": 149,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12374,7 +12484,7 @@
"x-appwrite": {
"method": "getTime",
"group": "health",
- "weight": 134,
+ "weight": 135,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12424,7 +12534,7 @@
"x-appwrite": {
"method": "get",
"group": null,
- "weight": 121,
+ "weight": 122,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12478,7 +12588,7 @@
"x-appwrite": {
"method": "listCodes",
"group": null,
- "weight": 122,
+ "weight": 123,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12532,7 +12642,7 @@
"x-appwrite": {
"method": "listContinents",
"group": null,
- "weight": 126,
+ "weight": 127,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12586,7 +12696,7 @@
"x-appwrite": {
"method": "listCountries",
"group": null,
- "weight": 123,
+ "weight": 124,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12640,7 +12750,7 @@
"x-appwrite": {
"method": "listCountriesEU",
"group": null,
- "weight": 124,
+ "weight": 125,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12694,7 +12804,7 @@
"x-appwrite": {
"method": "listCountriesPhones",
"group": null,
- "weight": 125,
+ "weight": 126,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12748,7 +12858,7 @@
"x-appwrite": {
"method": "listCurrencies",
"group": null,
- "weight": 127,
+ "weight": 128,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12802,7 +12912,7 @@
"x-appwrite": {
"method": "listLanguages",
"group": null,
- "weight": 128,
+ "weight": 129,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12856,7 +12966,7 @@
"x-appwrite": {
"method": "listMessages",
"group": "messages",
- "weight": 359,
+ "weight": 360,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12932,7 +13042,7 @@
"x-appwrite": {
"method": "createEmail",
"group": "messages",
- "weight": 356,
+ "weight": 357,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13091,7 +13201,7 @@
"x-appwrite": {
"method": "updateEmail",
"group": "messages",
- "weight": 363,
+ "weight": 364,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13247,7 +13357,7 @@
"x-appwrite": {
"method": "createPush",
"group": "messages",
- "weight": 358,
+ "weight": 359,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13443,7 +13553,7 @@
"x-appwrite": {
"method": "updatePush",
"group": "messages",
- "weight": 365,
+ "weight": 366,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13638,7 +13748,7 @@
"x-appwrite": {
"method": "createSms",
"group": "messages",
- "weight": 357,
+ "weight": 358,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13757,7 +13867,7 @@
"x-appwrite": {
"method": "updateSms",
"group": "messages",
- "weight": 364,
+ "weight": 365,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13872,7 +13982,7 @@
"x-appwrite": {
"method": "getMessage",
"group": "messages",
- "weight": 362,
+ "weight": 363,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13928,7 +14038,7 @@
"x-appwrite": {
"method": "delete",
"group": "messages",
- "weight": 366,
+ "weight": 367,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13989,7 +14099,7 @@
"x-appwrite": {
"method": "listMessageLogs",
"group": "logs",
- "weight": 360,
+ "weight": 361,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14062,7 +14172,7 @@
"x-appwrite": {
"method": "listTargets",
"group": "messages",
- "weight": 361,
+ "weight": 362,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14135,7 +14245,7 @@
"x-appwrite": {
"method": "listProviders",
"group": "providers",
- "weight": 331,
+ "weight": 332,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14211,7 +14321,7 @@
"x-appwrite": {
"method": "createApnsProvider",
"group": "providers",
- "weight": 330,
+ "weight": 331,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14327,7 +14437,7 @@
"x-appwrite": {
"method": "updateApnsProvider",
"group": "providers",
- "weight": 343,
+ "weight": 344,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14441,7 +14551,7 @@
"x-appwrite": {
"method": "createFcmProvider",
"group": "providers",
- "weight": 329,
+ "weight": 330,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14533,7 +14643,7 @@
"x-appwrite": {
"method": "updateFcmProvider",
"group": "providers",
- "weight": 342,
+ "weight": 343,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14623,7 +14733,7 @@
"x-appwrite": {
"method": "createMailgunProvider",
"group": "providers",
- "weight": 321,
+ "weight": 322,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14751,7 +14861,7 @@
"x-appwrite": {
"method": "updateMailgunProvider",
"group": "providers",
- "weight": 334,
+ "weight": 335,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14877,7 +14987,7 @@
"x-appwrite": {
"method": "createMsg91Provider",
"group": "providers",
- "weight": 324,
+ "weight": 325,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14981,7 +15091,7 @@
"x-appwrite": {
"method": "updateMsg91Provider",
"group": "providers",
- "weight": 337,
+ "weight": 338,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15083,7 +15193,7 @@
"x-appwrite": {
"method": "createSendgridProvider",
"group": "providers",
- "weight": 322,
+ "weight": 323,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15199,7 +15309,7 @@
"x-appwrite": {
"method": "updateSendgridProvider",
"group": "providers",
- "weight": 335,
+ "weight": 336,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15313,7 +15423,7 @@
"x-appwrite": {
"method": "createSmtpProvider",
"group": "providers",
- "weight": 323,
+ "weight": 324,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15473,7 +15583,7 @@
"x-appwrite": {
"method": "updateSmtpProvider",
"group": "providers",
- "weight": 336,
+ "weight": 337,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15630,7 +15740,7 @@
"x-appwrite": {
"method": "createTelesignProvider",
"group": "providers",
- "weight": 325,
+ "weight": 326,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15734,7 +15844,7 @@
"x-appwrite": {
"method": "updateTelesignProvider",
"group": "providers",
- "weight": 338,
+ "weight": 339,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15836,7 +15946,7 @@
"x-appwrite": {
"method": "createTextmagicProvider",
"group": "providers",
- "weight": 326,
+ "weight": 327,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15940,7 +16050,7 @@
"x-appwrite": {
"method": "updateTextmagicProvider",
"group": "providers",
- "weight": 339,
+ "weight": 340,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16042,7 +16152,7 @@
"x-appwrite": {
"method": "createTwilioProvider",
"group": "providers",
- "weight": 327,
+ "weight": 328,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16146,7 +16256,7 @@
"x-appwrite": {
"method": "updateTwilioProvider",
"group": "providers",
- "weight": 340,
+ "weight": 341,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16248,7 +16358,7 @@
"x-appwrite": {
"method": "createVonageProvider",
"group": "providers",
- "weight": 328,
+ "weight": 329,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16352,7 +16462,7 @@
"x-appwrite": {
"method": "updateVonageProvider",
"group": "providers",
- "weight": 341,
+ "weight": 342,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16452,7 +16562,7 @@
"x-appwrite": {
"method": "getProvider",
"group": "providers",
- "weight": 333,
+ "weight": 334,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16508,7 +16618,7 @@
"x-appwrite": {
"method": "deleteProvider",
"group": "providers",
- "weight": 344,
+ "weight": 345,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16569,7 +16679,7 @@
"x-appwrite": {
"method": "listProviderLogs",
"group": "providers",
- "weight": 332,
+ "weight": 333,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16642,7 +16752,7 @@
"x-appwrite": {
"method": "listSubscriberLogs",
"group": "subscribers",
- "weight": 353,
+ "weight": 354,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16715,7 +16825,7 @@
"x-appwrite": {
"method": "listTopics",
"group": "topics",
- "weight": 346,
+ "weight": 347,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16789,7 +16899,7 @@
"x-appwrite": {
"method": "createTopic",
"group": "topics",
- "weight": 345,
+ "weight": 346,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16878,7 +16988,7 @@
"x-appwrite": {
"method": "getTopic",
"group": "topics",
- "weight": 348,
+ "weight": 349,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16939,7 +17049,7 @@
"x-appwrite": {
"method": "updateTopic",
"group": "topics",
- "weight": 349,
+ "weight": 350,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17019,7 +17129,7 @@
"x-appwrite": {
"method": "deleteTopic",
"group": "topics",
- "weight": 350,
+ "weight": 351,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17080,7 +17190,7 @@
"x-appwrite": {
"method": "listTopicLogs",
"group": "topics",
- "weight": 347,
+ "weight": 348,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17153,7 +17263,7 @@
"x-appwrite": {
"method": "listSubscribers",
"group": "subscribers",
- "weight": 352,
+ "weight": 353,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17235,7 +17345,7 @@
"x-appwrite": {
"method": "createSubscriber",
"group": "subscribers",
- "weight": 351,
+ "weight": 352,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17325,7 +17435,7 @@
"x-appwrite": {
"method": "getSubscriber",
"group": "subscribers",
- "weight": 354,
+ "weight": 355,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17389,7 +17499,7 @@
"x-appwrite": {
"method": "deleteSubscriber",
"group": "subscribers",
- "weight": 355,
+ "weight": 356,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17462,7 +17572,7 @@
"x-appwrite": {
"method": "list",
"group": "sites",
- "weight": 404,
+ "weight": 405,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17535,7 +17645,7 @@
"x-appwrite": {
"method": "create",
"group": "sites",
- "weight": 402,
+ "weight": 403,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17801,7 +17911,7 @@
"x-appwrite": {
"method": "listFrameworks",
"group": "frameworks",
- "weight": 407,
+ "weight": 408,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17851,7 +17961,7 @@
"x-appwrite": {
"method": "listSpecifications",
"group": "frameworks",
- "weight": 430,
+ "weight": 431,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17902,7 +18012,7 @@
"x-appwrite": {
"method": "get",
"group": "sites",
- "weight": 403,
+ "weight": 404,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17962,7 +18072,7 @@
"x-appwrite": {
"method": "update",
"group": "sites",
- "weight": 405,
+ "weight": 406,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18223,7 +18333,7 @@
"x-appwrite": {
"method": "delete",
"group": "sites",
- "weight": 406,
+ "weight": 407,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18285,7 +18395,7 @@
"x-appwrite": {
"method": "updateSiteDeployment",
"group": "sites",
- "weight": 413,
+ "weight": 414,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18363,7 +18473,7 @@
"x-appwrite": {
"method": "listDeployments",
"group": "deployments",
- "weight": 412,
+ "weight": 413,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18444,7 +18554,7 @@
"x-appwrite": {
"method": "createDeployment",
"group": "deployments",
- "weight": 408,
+ "weight": 409,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -18545,7 +18655,7 @@
"x-appwrite": {
"method": "createDuplicateDeployment",
"group": "deployments",
- "weight": 416,
+ "weight": 417,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18625,7 +18735,7 @@
"x-appwrite": {
"method": "createTemplateDeployment",
"group": "deployments",
- "weight": 409,
+ "weight": 410,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18732,7 +18842,7 @@
"x-appwrite": {
"method": "createVcsDeployment",
"group": "deployments",
- "weight": 410,
+ "weight": 411,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18830,7 +18940,7 @@
"x-appwrite": {
"method": "getDeployment",
"group": "deployments",
- "weight": 411,
+ "weight": 412,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18893,7 +19003,7 @@
"x-appwrite": {
"method": "deleteDeployment",
"group": "deployments",
- "weight": 414,
+ "weight": 415,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18961,7 +19071,7 @@
"x-appwrite": {
"method": "getDeploymentDownload",
"group": "deployments",
- "weight": 415,
+ "weight": 416,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -19048,7 +19158,7 @@
"x-appwrite": {
"method": "updateDeploymentStatus",
"group": "deployments",
- "weight": 417,
+ "weight": 418,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19116,7 +19226,7 @@
"x-appwrite": {
"method": "listLogs",
"group": "logs",
- "weight": 419,
+ "weight": 420,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19188,7 +19298,7 @@
"x-appwrite": {
"method": "getLog",
"group": "logs",
- "weight": 418,
+ "weight": 419,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19253,7 +19363,7 @@
"x-appwrite": {
"method": "deleteLog",
"group": "logs",
- "weight": 420,
+ "weight": 421,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19321,7 +19431,7 @@
"x-appwrite": {
"method": "listVariables",
"group": "variables",
- "weight": 423,
+ "weight": 424,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19381,7 +19491,7 @@
"x-appwrite": {
"method": "createVariable",
"group": "variables",
- "weight": 421,
+ "weight": 422,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19472,7 +19582,7 @@
"x-appwrite": {
"method": "getVariable",
"group": "variables",
- "weight": 422,
+ "weight": 423,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19540,7 +19650,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": "variables",
- "weight": 424,
+ "weight": 425,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19633,7 +19743,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": "variables",
- "weight": 425,
+ "weight": 426,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19701,7 +19811,7 @@
"x-appwrite": {
"method": "listBuckets",
"group": "buckets",
- "weight": 206,
+ "weight": 207,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19774,7 +19884,7 @@
"x-appwrite": {
"method": "createBucket",
"group": "buckets",
- "weight": 205,
+ "weight": 206,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19912,7 +20022,7 @@
"x-appwrite": {
"method": "getBucket",
"group": "buckets",
- "weight": 207,
+ "weight": 208,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19972,7 +20082,7 @@
"x-appwrite": {
"method": "updateBucket",
"group": "buckets",
- "weight": 208,
+ "weight": 209,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20106,7 +20216,7 @@
"x-appwrite": {
"method": "deleteBucket",
"group": "buckets",
- "weight": 209,
+ "weight": 210,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20166,7 +20276,7 @@
"x-appwrite": {
"method": "listFiles",
"group": "files",
- "weight": 211,
+ "weight": 212,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20251,7 +20361,7 @@
"x-appwrite": {
"method": "createFile",
"group": "files",
- "weight": 210,
+ "weight": 211,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -20343,7 +20453,7 @@
"x-appwrite": {
"method": "getFile",
"group": "files",
- "weight": 212,
+ "weight": 213,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20415,7 +20525,7 @@
"x-appwrite": {
"method": "updateFile",
"group": "files",
- "weight": 217,
+ "weight": 218,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20506,7 +20616,7 @@
"x-appwrite": {
"method": "deleteFile",
"group": "files",
- "weight": 218,
+ "weight": 219,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20578,7 +20688,7 @@
"x-appwrite": {
"method": "getFileDownload",
"group": "files",
- "weight": 214,
+ "weight": 215,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -20659,7 +20769,7 @@
"x-appwrite": {
"method": "getFilePreview",
"group": "files",
- "weight": 213,
+ "weight": 214,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -20867,7 +20977,7 @@
"x-appwrite": {
"method": "getFileView",
"group": "files",
- "weight": 215,
+ "weight": 216,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -20948,7 +21058,7 @@
"x-appwrite": {
"method": "list",
"group": "teams",
- "weight": 222,
+ "weight": 223,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21025,7 +21135,7 @@
"x-appwrite": {
"method": "create",
"group": "teams",
- "weight": 221,
+ "weight": 222,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21117,7 +21227,7 @@
"x-appwrite": {
"method": "get",
"group": "teams",
- "weight": 223,
+ "weight": 224,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21181,7 +21291,7 @@
"x-appwrite": {
"method": "updateName",
"group": "teams",
- "weight": 225,
+ "weight": 226,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21258,7 +21368,7 @@
"x-appwrite": {
"method": "delete",
"group": "teams",
- "weight": 227,
+ "weight": 228,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21322,7 +21432,7 @@
"x-appwrite": {
"method": "listMemberships",
"group": "memberships",
- "weight": 229,
+ "weight": 230,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21407,7 +21517,7 @@
"x-appwrite": {
"method": "createMembership",
"group": "memberships",
- "weight": 228,
+ "weight": 229,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21522,7 +21632,7 @@
"x-appwrite": {
"method": "getMembership",
"group": "memberships",
- "weight": 230,
+ "weight": 231,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21594,7 +21704,7 @@
"x-appwrite": {
"method": "updateMembership",
"group": "memberships",
- "weight": 231,
+ "weight": 232,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21682,7 +21792,7 @@
"x-appwrite": {
"method": "deleteMembership",
"group": "memberships",
- "weight": 233,
+ "weight": 234,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21756,7 +21866,7 @@
"x-appwrite": {
"method": "updateMembershipStatus",
"group": "memberships",
- "weight": 232,
+ "weight": 233,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21851,7 +21961,7 @@
"x-appwrite": {
"method": "getPrefs",
"group": "teams",
- "weight": 224,
+ "weight": 225,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21913,7 +22023,7 @@
"x-appwrite": {
"method": "updatePrefs",
"group": "teams",
- "weight": 226,
+ "weight": 227,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21993,7 +22103,7 @@
"x-appwrite": {
"method": "list",
"group": "files",
- "weight": 438,
+ "weight": 439,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22062,7 +22172,7 @@
"tags": [
"tokens"
],
- "description": "Create a new token. A token is linked to a file. Token can be passed as a header or request get parameter.",
+ "description": "Create a new token. A token is linked to a file. Token can be passed as a request URL search parameter.",
"responses": {
"201": {
"description": "ResourceToken",
@@ -22074,12 +22184,12 @@
"x-appwrite": {
"method": "createFileToken",
"group": "files",
- "weight": 436,
+ "weight": 437,
"cookies": false,
"type": "",
"deprecated": false,
"demo": "tokens\/create-file-token.md",
- "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new token. A token is linked to a file. Token can be passed as a header or request get parameter.",
+ "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new token. A token is linked to a file. Token can be passed as a request URL search parameter.",
"rate-limit": 60,
"rate-time": 60,
"rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}",
@@ -22159,7 +22269,7 @@
"x-appwrite": {
"method": "get",
"group": "tokens",
- "weight": 437,
+ "weight": 438,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22220,7 +22330,7 @@
"x-appwrite": {
"method": "update",
"group": "tokens",
- "weight": 439,
+ "weight": 440,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22292,7 +22402,7 @@
"x-appwrite": {
"method": "delete",
"group": "tokens",
- "weight": 440,
+ "weight": 441,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22353,7 +22463,7 @@
"x-appwrite": {
"method": "list",
"group": "users",
- "weight": 244,
+ "weight": 245,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22426,7 +22536,7 @@
"x-appwrite": {
"method": "create",
"group": "users",
- "weight": 235,
+ "weight": 236,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22522,7 +22632,7 @@
"x-appwrite": {
"method": "createArgon2User",
"group": "users",
- "weight": 238,
+ "weight": 239,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22614,7 +22724,7 @@
"x-appwrite": {
"method": "createBcryptUser",
"group": "users",
- "weight": 236,
+ "weight": 237,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22704,7 +22814,7 @@
"x-appwrite": {
"method": "listIdentities",
"group": "identities",
- "weight": 252,
+ "weight": 253,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22774,7 +22884,7 @@
"x-appwrite": {
"method": "deleteIdentity",
"group": "identities",
- "weight": 275,
+ "weight": 276,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22836,7 +22946,7 @@
"x-appwrite": {
"method": "createMD5User",
"group": "users",
- "weight": 237,
+ "weight": 238,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22928,7 +23038,7 @@
"x-appwrite": {
"method": "createPHPassUser",
"group": "users",
- "weight": 240,
+ "weight": 241,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23020,7 +23130,7 @@
"x-appwrite": {
"method": "createScryptUser",
"group": "users",
- "weight": 241,
+ "weight": 242,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23147,7 +23257,7 @@
"x-appwrite": {
"method": "createScryptModifiedUser",
"group": "users",
- "weight": 242,
+ "weight": 243,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23260,7 +23370,7 @@
"x-appwrite": {
"method": "createSHAUser",
"group": "users",
- "weight": 239,
+ "weight": 240,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23371,7 +23481,7 @@
"x-appwrite": {
"method": "get",
"group": "users",
- "weight": 245,
+ "weight": 246,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23426,7 +23536,7 @@
"x-appwrite": {
"method": "delete",
"group": "users",
- "weight": 273,
+ "weight": 274,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23488,7 +23598,7 @@
"x-appwrite": {
"method": "updateEmail",
"group": "users",
- "weight": 258,
+ "weight": 259,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23568,7 +23678,7 @@
"x-appwrite": {
"method": "createJWT",
"group": "sessions",
- "weight": 276,
+ "weight": 277,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23651,7 +23761,7 @@
"x-appwrite": {
"method": "updateLabels",
"group": "users",
- "weight": 254,
+ "weight": 255,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23732,7 +23842,7 @@
"x-appwrite": {
"method": "listLogs",
"group": "logs",
- "weight": 250,
+ "weight": 251,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23804,7 +23914,7 @@
"x-appwrite": {
"method": "listMemberships",
"group": "memberships",
- "weight": 249,
+ "weight": 250,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23887,7 +23997,7 @@
"x-appwrite": {
"method": "updateMfa",
"group": "users",
- "weight": 263,
+ "weight": 264,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23962,7 +24072,7 @@
"x-appwrite": {
"method": "deleteMfaAuthenticator",
"group": "mfa",
- "weight": 268,
+ "weight": 269,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24035,7 +24145,7 @@
"x-appwrite": {
"method": "listMfaFactors",
"group": "mfa",
- "weight": 264,
+ "weight": 265,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24095,7 +24205,7 @@
"x-appwrite": {
"method": "getMfaRecoveryCodes",
"group": "mfa",
- "weight": 265,
+ "weight": 266,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24155,7 +24265,7 @@
"x-appwrite": {
"method": "updateMfaRecoveryCodes",
"group": "mfa",
- "weight": 267,
+ "weight": 268,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24215,7 +24325,7 @@
"x-appwrite": {
"method": "createMfaRecoveryCodes",
"group": "mfa",
- "weight": 266,
+ "weight": 267,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24277,7 +24387,7 @@
"x-appwrite": {
"method": "updateName",
"group": "users",
- "weight": 256,
+ "weight": 257,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24357,7 +24467,7 @@
"x-appwrite": {
"method": "updatePassword",
"group": "users",
- "weight": 257,
+ "weight": 258,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24437,7 +24547,7 @@
"x-appwrite": {
"method": "updatePhone",
"group": "users",
- "weight": 259,
+ "weight": 260,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24515,7 +24625,7 @@
"x-appwrite": {
"method": "getPrefs",
"group": "users",
- "weight": 246,
+ "weight": 247,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24575,7 +24685,7 @@
"x-appwrite": {
"method": "updatePrefs",
"group": "users",
- "weight": 261,
+ "weight": 262,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24653,7 +24763,7 @@
"x-appwrite": {
"method": "listSessions",
"group": "sessions",
- "weight": 248,
+ "weight": 249,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24713,7 +24823,7 @@
"x-appwrite": {
"method": "createSession",
"group": "sessions",
- "weight": 269,
+ "weight": 270,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24768,7 +24878,7 @@
"x-appwrite": {
"method": "deleteSessions",
"group": "sessions",
- "weight": 272,
+ "weight": 273,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24825,7 +24935,7 @@
"x-appwrite": {
"method": "deleteSession",
"group": "sessions",
- "weight": 271,
+ "weight": 272,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24895,7 +25005,7 @@
"x-appwrite": {
"method": "updateStatus",
"group": "users",
- "weight": 253,
+ "weight": 254,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24973,7 +25083,7 @@
"x-appwrite": {
"method": "listTargets",
"group": "targets",
- "weight": 251,
+ "weight": 252,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25046,7 +25156,7 @@
"x-appwrite": {
"method": "createTarget",
"group": "targets",
- "weight": 243,
+ "weight": 244,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25158,7 +25268,7 @@
"x-appwrite": {
"method": "getTarget",
"group": "targets",
- "weight": 247,
+ "weight": 248,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25227,7 +25337,7 @@
"x-appwrite": {
"method": "updateTarget",
"group": "targets",
- "weight": 262,
+ "weight": 263,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25318,7 +25428,7 @@
"x-appwrite": {
"method": "deleteTarget",
"group": "targets",
- "weight": 274,
+ "weight": 275,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25389,7 +25499,7 @@
"x-appwrite": {
"method": "createToken",
"group": "sessions",
- "weight": 270,
+ "weight": 271,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25472,7 +25582,7 @@
"x-appwrite": {
"method": "updateEmailVerification",
"group": "users",
- "weight": 260,
+ "weight": 261,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25552,7 +25662,7 @@
"x-appwrite": {
"method": "updatePhoneVerification",
"group": "users",
- "weight": 255,
+ "weight": 256,
"cookies": false,
"type": "",
"deprecated": false,
diff --git a/app/config/specs/swagger2-latest-client.json b/app/config/specs/swagger2-latest-client.json
index 9bfe261df1c..92132151b43 100644
--- a/app/config/specs/swagger2-latest-client.json
+++ b/app/config/specs/swagger2-latest-client.json
@@ -1,7 +1,7 @@
{
"swagger": "2.0",
"info": {
- "version": "1.7.0",
+ "version": "1.7.4",
"title": "Appwrite",
"description": "Appwrite backend as a service cuts up to 70% of the time and costs required for building a modern application. We abstract and simplify common development tasks behind a REST APIs, to help you develop your app in a fast and secure way. For full API documentation and tutorials go to [https:\/\/appwrite.io\/docs](https:\/\/appwrite.io\/docs)",
"termsOfService": "https:\/\/appwrite.io\/policy\/terms",
@@ -61,6 +61,12 @@
"name": "X-Appwrite-Session",
"description": "The user session to authenticate with",
"in": "header"
+ },
+ "DevKey": {
+ "type": "apiKey",
+ "name": "X-Appwrite-Dev-Key",
+ "description": "Your secret dev API key",
+ "in": "header"
}
},
"paths": {
@@ -4791,6 +4797,111 @@
}
]
},
+ "put": {
+ "summary": "Upsert document",
+ "operationId": "databasesUpsertDocument",
+ "consumes": [
+ "application\/json"
+ ],
+ "produces": [
+ "application\/json"
+ ],
+ "tags": [
+ "databases"
+ ],
+ "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
+ "responses": {
+ "200": {
+ "description": "Document",
+ "schema": {
+ "$ref": "#\/definitions\/document"
+ }
+ }
+ },
+ "x-appwrite": {
+ "method": "upsertDocument",
+ "group": "documents",
+ "weight": 114,
+ "cookies": false,
+ "type": "",
+ "deprecated": false,
+ "demo": "databases\/upsert-document.md",
+ "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md",
+ "rate-limit": 120,
+ "rate-time": 60,
+ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}",
+ "scope": "documents.write",
+ "platforms": [
+ "client",
+ "server",
+ "server"
+ ],
+ "packaging": false,
+ "auth": {
+ "Project": []
+ }
+ },
+ "security": [
+ {
+ "Project": [],
+ "Session": [],
+ "JWT": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "databaseId",
+ "description": "Database ID.",
+ "required": true,
+ "type": "string",
+ "x-example": "",
+ "in": "path"
+ },
+ {
+ "name": "collectionId",
+ "description": "Collection ID.",
+ "required": true,
+ "type": "string",
+ "x-example": "",
+ "in": "path"
+ },
+ {
+ "name": "documentId",
+ "description": "Document ID.",
+ "required": true,
+ "type": "string",
+ "x-example": "",
+ "in": "path"
+ },
+ {
+ "name": "payload",
+ "in": "body",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "data": {
+ "type": "object",
+ "description": "Document data as JSON object. Include all required attributes of the document to be created or updated.",
+ "default": {},
+ "x-example": "{}"
+ },
+ "permissions": {
+ "type": "array",
+ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).",
+ "default": null,
+ "x-example": "[\"read(\"any\")\"]",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "data"
+ ]
+ }
+ }
+ ]
+ },
"patch": {
"summary": "Update document",
"operationId": "databasesUpdateDocument",
@@ -4912,7 +5023,7 @@
"x-appwrite": {
"method": "deleteDocument",
"group": "documents",
- "weight": 116,
+ "weight": 117,
"cookies": false,
"type": "",
"deprecated": false,
@@ -4990,7 +5101,7 @@
"x-appwrite": {
"method": "listExecutions",
"group": "executions",
- "weight": 391,
+ "weight": 392,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5064,7 +5175,7 @@
"x-appwrite": {
"method": "createExecution",
"group": "executions",
- "weight": 389,
+ "weight": 390,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5181,7 +5292,7 @@
"x-appwrite": {
"method": "getExecution",
"group": "executions",
- "weight": 390,
+ "weight": 391,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5253,7 +5364,7 @@
"x-appwrite": {
"method": "query",
"group": "graphql",
- "weight": 305,
+ "weight": 306,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -5327,7 +5438,7 @@
"x-appwrite": {
"method": "mutation",
"group": "graphql",
- "weight": 304,
+ "weight": 305,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -5399,7 +5510,7 @@
"x-appwrite": {
"method": "get",
"group": null,
- "weight": 121,
+ "weight": 122,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5451,7 +5562,7 @@
"x-appwrite": {
"method": "listCodes",
"group": null,
- "weight": 122,
+ "weight": 123,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5503,7 +5614,7 @@
"x-appwrite": {
"method": "listContinents",
"group": null,
- "weight": 126,
+ "weight": 127,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5555,7 +5666,7 @@
"x-appwrite": {
"method": "listCountries",
"group": null,
- "weight": 123,
+ "weight": 124,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5607,7 +5718,7 @@
"x-appwrite": {
"method": "listCountriesEU",
"group": null,
- "weight": 124,
+ "weight": 125,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5659,7 +5770,7 @@
"x-appwrite": {
"method": "listCountriesPhones",
"group": null,
- "weight": 125,
+ "weight": 126,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5711,7 +5822,7 @@
"x-appwrite": {
"method": "listCurrencies",
"group": null,
- "weight": 127,
+ "weight": 128,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5763,7 +5874,7 @@
"x-appwrite": {
"method": "listLanguages",
"group": null,
- "weight": 128,
+ "weight": 129,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5817,7 +5928,7 @@
"x-appwrite": {
"method": "createSubscriber",
"group": "subscribers",
- "weight": 351,
+ "weight": 352,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5902,7 +6013,7 @@
"x-appwrite": {
"method": "deleteSubscriber",
"group": "subscribers",
- "weight": 355,
+ "weight": 356,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5973,7 +6084,7 @@
"x-appwrite": {
"method": "listFiles",
"group": "files",
- "weight": 211,
+ "weight": 212,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6056,7 +6167,7 @@
"x-appwrite": {
"method": "createFile",
"group": "files",
- "weight": 210,
+ "weight": 211,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -6146,7 +6257,7 @@
"x-appwrite": {
"method": "getFile",
"group": "files",
- "weight": 212,
+ "weight": 213,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6216,7 +6327,7 @@
"x-appwrite": {
"method": "updateFile",
"group": "files",
- "weight": 217,
+ "weight": 218,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6305,7 +6416,7 @@
"x-appwrite": {
"method": "deleteFile",
"group": "files",
- "weight": 218,
+ "weight": 219,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6375,7 +6486,7 @@
"x-appwrite": {
"method": "getFileDownload",
"group": "files",
- "weight": 214,
+ "weight": 215,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -6454,7 +6565,7 @@
"x-appwrite": {
"method": "getFilePreview",
"group": "files",
- "weight": 213,
+ "weight": 214,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -6660,7 +6771,7 @@
"x-appwrite": {
"method": "getFileView",
"group": "files",
- "weight": 215,
+ "weight": 216,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -6739,7 +6850,7 @@
"x-appwrite": {
"method": "list",
"group": "teams",
- "weight": 222,
+ "weight": 223,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6814,7 +6925,7 @@
"x-appwrite": {
"method": "create",
"group": "teams",
- "weight": 221,
+ "weight": 222,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6904,7 +7015,7 @@
"x-appwrite": {
"method": "get",
"group": "teams",
- "weight": 223,
+ "weight": 224,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6966,7 +7077,7 @@
"x-appwrite": {
"method": "updateName",
"group": "teams",
- "weight": 225,
+ "weight": 226,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7041,7 +7152,7 @@
"x-appwrite": {
"method": "delete",
"group": "teams",
- "weight": 227,
+ "weight": 228,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7103,7 +7214,7 @@
"x-appwrite": {
"method": "listMemberships",
"group": "memberships",
- "weight": 229,
+ "weight": 230,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7186,7 +7297,7 @@
"x-appwrite": {
"method": "createMembership",
"group": "memberships",
- "weight": 228,
+ "weight": 229,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7299,7 +7410,7 @@
"x-appwrite": {
"method": "getMembership",
"group": "memberships",
- "weight": 230,
+ "weight": 231,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7369,7 +7480,7 @@
"x-appwrite": {
"method": "updateMembership",
"group": "memberships",
- "weight": 231,
+ "weight": 232,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7455,7 +7566,7 @@
"x-appwrite": {
"method": "deleteMembership",
"group": "memberships",
- "weight": 233,
+ "weight": 234,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7527,7 +7638,7 @@
"x-appwrite": {
"method": "updateMembershipStatus",
"group": "memberships",
- "weight": 232,
+ "weight": 233,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7621,7 +7732,7 @@
"x-appwrite": {
"method": "getPrefs",
"group": "teams",
- "weight": 224,
+ "weight": 225,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7682,7 +7793,7 @@
"x-appwrite": {
"method": "updatePrefs",
"group": "teams",
- "weight": 226,
+ "weight": 227,
"cookies": false,
"type": "",
"deprecated": false,
diff --git a/app/config/specs/swagger2-latest-console.json b/app/config/specs/swagger2-latest-console.json
index d7f8a4c9d15..e53a0dfb0bc 100644
--- a/app/config/specs/swagger2-latest-console.json
+++ b/app/config/specs/swagger2-latest-console.json
@@ -1,7 +1,7 @@
{
"swagger": "2.0",
"info": {
- "version": "1.7.0",
+ "version": "1.7.4",
"title": "Appwrite",
"description": "Appwrite backend as a service cuts up to 70% of the time and costs required for building a modern application. We abstract and simplify common development tasks behind a REST APIs, to help you develop your app in a fast and secure way. For full API documentation and tutorials go to [https:\/\/appwrite.io\/docs](https:\/\/appwrite.io\/docs)",
"termsOfService": "https:\/\/appwrite.io\/policy\/terms",
@@ -4527,7 +4527,7 @@
"x-appwrite": {
"method": "chat",
"group": "console",
- "weight": 307,
+ "weight": 308,
"cookies": false,
"type": "",
"deprecated": false,
@@ -4590,7 +4590,7 @@
"x-appwrite": {
"method": "getResource",
"group": null,
- "weight": 431,
+ "weight": 432,
"cookies": false,
"type": "",
"deprecated": false,
@@ -4661,7 +4661,7 @@
"x-appwrite": {
"method": "variables",
"group": "console",
- "weight": 306,
+ "weight": 307,
"cookies": false,
"type": "",
"deprecated": false,
@@ -4863,7 +4863,7 @@
"x-appwrite": {
"method": "getUsage",
"group": null,
- "weight": 118,
+ "weight": 119,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8296,7 +8296,7 @@
"x-appwrite": {
"method": "upsertDocuments",
"group": "documents",
- "weight": 115,
+ "weight": 116,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8346,13 +8346,16 @@
"documents": {
"type": "array",
"description": "Array of document data as JSON objects. May contain partial documents.",
- "default": [],
+ "default": null,
"x-example": null,
"items": {
"type": "object"
}
}
- }
+ },
+ "required": [
+ "documents"
+ ]
}
}
]
@@ -8381,7 +8384,7 @@
"x-appwrite": {
"method": "updateDocuments",
"group": "documents",
- "weight": 114,
+ "weight": 115,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8472,7 +8475,7 @@
"x-appwrite": {
"method": "deleteDocuments",
"group": "documents",
- "weight": 117,
+ "weight": 118,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8623,6 +8626,111 @@
}
]
},
+ "put": {
+ "summary": "Upsert document",
+ "operationId": "databasesUpsertDocument",
+ "consumes": [
+ "application\/json"
+ ],
+ "produces": [
+ "application\/json"
+ ],
+ "tags": [
+ "databases"
+ ],
+ "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
+ "responses": {
+ "200": {
+ "description": "Document",
+ "schema": {
+ "$ref": "#\/definitions\/document"
+ }
+ }
+ },
+ "x-appwrite": {
+ "method": "upsertDocument",
+ "group": "documents",
+ "weight": 114,
+ "cookies": false,
+ "type": "",
+ "deprecated": false,
+ "demo": "databases\/upsert-document.md",
+ "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md",
+ "rate-limit": 120,
+ "rate-time": 60,
+ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}",
+ "scope": "documents.write",
+ "platforms": [
+ "client",
+ "server",
+ "server"
+ ],
+ "packaging": false,
+ "auth": {
+ "Project": []
+ }
+ },
+ "security": [
+ {
+ "Project": [],
+ "Key": [],
+ "JWT": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "databaseId",
+ "description": "Database ID.",
+ "required": true,
+ "type": "string",
+ "x-example": "",
+ "in": "path"
+ },
+ {
+ "name": "collectionId",
+ "description": "Collection ID.",
+ "required": true,
+ "type": "string",
+ "x-example": "",
+ "in": "path"
+ },
+ {
+ "name": "documentId",
+ "description": "Document ID.",
+ "required": true,
+ "type": "string",
+ "x-example": "",
+ "in": "path"
+ },
+ {
+ "name": "payload",
+ "in": "body",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "data": {
+ "type": "object",
+ "description": "Document data as JSON object. Include all required attributes of the document to be created or updated.",
+ "default": {},
+ "x-example": "{}"
+ },
+ "permissions": {
+ "type": "array",
+ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).",
+ "default": null,
+ "x-example": "[\"read(\"any\")\"]",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "data"
+ ]
+ }
+ }
+ ]
+ },
"patch": {
"summary": "Update document",
"operationId": "databasesUpdateDocument",
@@ -8744,7 +8852,7 @@
"x-appwrite": {
"method": "deleteDocument",
"group": "documents",
- "weight": 116,
+ "weight": 117,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9335,7 +9443,7 @@
"x-appwrite": {
"method": "getCollectionUsage",
"group": null,
- "weight": 120,
+ "weight": 121,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9491,7 +9599,7 @@
"x-appwrite": {
"method": "getDatabaseUsage",
"group": null,
- "weight": 119,
+ "weight": 120,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9569,7 +9677,7 @@
"x-appwrite": {
"method": "list",
"group": "functions",
- "weight": 375,
+ "weight": 376,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9641,7 +9749,7 @@
"x-appwrite": {
"method": "create",
"group": "functions",
- "weight": 372,
+ "weight": 373,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9890,7 +9998,7 @@
"x-appwrite": {
"method": "listRuntimes",
"group": "runtimes",
- "weight": 377,
+ "weight": 378,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9939,7 +10047,7 @@
"x-appwrite": {
"method": "listSpecifications",
"group": "runtimes",
- "weight": 378,
+ "weight": 379,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9989,7 +10097,7 @@
"x-appwrite": {
"method": "listTemplates",
"group": "templates",
- "weight": 401,
+ "weight": 402,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10083,7 +10191,7 @@
"x-appwrite": {
"method": "getTemplate",
"group": "templates",
- "weight": 400,
+ "weight": 401,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10141,7 +10249,7 @@
"x-appwrite": {
"method": "listUsage",
"group": null,
- "weight": 394,
+ "weight": 395,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10211,7 +10319,7 @@
"x-appwrite": {
"method": "get",
"group": "functions",
- "weight": 373,
+ "weight": 374,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10270,7 +10378,7 @@
"x-appwrite": {
"method": "update",
"group": "functions",
- "weight": 374,
+ "weight": 375,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10515,7 +10623,7 @@
"x-appwrite": {
"method": "delete",
"group": "functions",
- "weight": 376,
+ "weight": 377,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10576,7 +10684,7 @@
"x-appwrite": {
"method": "updateFunctionDeployment",
"group": "functions",
- "weight": 381,
+ "weight": 382,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10653,7 +10761,7 @@
"x-appwrite": {
"method": "listDeployments",
"group": "deployments",
- "weight": 382,
+ "weight": 383,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10733,7 +10841,7 @@
"x-appwrite": {
"method": "createDeployment",
"group": "deployments",
- "weight": 379,
+ "weight": 380,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -10825,7 +10933,7 @@
"x-appwrite": {
"method": "createDuplicateDeployment",
"group": "deployments",
- "weight": 387,
+ "weight": 388,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10910,7 +11018,7 @@
"x-appwrite": {
"method": "createTemplateDeployment",
"group": "deployments",
- "weight": 384,
+ "weight": 385,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11016,7 +11124,7 @@
"x-appwrite": {
"method": "createVcsDeployment",
"group": "deployments",
- "weight": 385,
+ "weight": 386,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11112,7 +11220,7 @@
"x-appwrite": {
"method": "getDeployment",
"group": "deployments",
- "weight": 380,
+ "weight": 381,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11174,7 +11282,7 @@
"x-appwrite": {
"method": "deleteDeployment",
"group": "deployments",
- "weight": 383,
+ "weight": 384,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11241,7 +11349,7 @@
"x-appwrite": {
"method": "getDeploymentDownload",
"group": "deployments",
- "weight": 386,
+ "weight": 387,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -11327,7 +11435,7 @@
"x-appwrite": {
"method": "updateDeploymentStatus",
"group": "deployments",
- "weight": 388,
+ "weight": 389,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11394,7 +11502,7 @@
"x-appwrite": {
"method": "listExecutions",
"group": "executions",
- "weight": 391,
+ "weight": 392,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11468,7 +11576,7 @@
"x-appwrite": {
"method": "createExecution",
"group": "executions",
- "weight": 389,
+ "weight": 390,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11585,7 +11693,7 @@
"x-appwrite": {
"method": "getExecution",
"group": "executions",
- "weight": 390,
+ "weight": 391,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11650,7 +11758,7 @@
"x-appwrite": {
"method": "deleteExecution",
"group": "executions",
- "weight": 392,
+ "weight": 393,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11717,7 +11825,7 @@
"x-appwrite": {
"method": "getUsage",
"group": null,
- "weight": 393,
+ "weight": 394,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11795,7 +11903,7 @@
"x-appwrite": {
"method": "listVariables",
"group": "variables",
- "weight": 397,
+ "weight": 398,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11854,7 +11962,7 @@
"x-appwrite": {
"method": "createVariable",
"group": "variables",
- "weight": 395,
+ "weight": 396,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11944,7 +12052,7 @@
"x-appwrite": {
"method": "getVariable",
"group": "variables",
- "weight": 396,
+ "weight": 397,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12011,7 +12119,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": "variables",
- "weight": 398,
+ "weight": 399,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12103,7 +12211,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": "variables",
- "weight": 399,
+ "weight": 400,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12172,7 +12280,7 @@
"x-appwrite": {
"method": "query",
"group": "graphql",
- "weight": 305,
+ "weight": 306,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -12246,7 +12354,7 @@
"x-appwrite": {
"method": "mutation",
"group": "graphql",
- "weight": 304,
+ "weight": 305,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -12318,7 +12426,7 @@
"x-appwrite": {
"method": "get",
"group": "health",
- "weight": 129,
+ "weight": 130,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12367,7 +12475,7 @@
"x-appwrite": {
"method": "getAntivirus",
"group": "health",
- "weight": 150,
+ "weight": 151,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12416,7 +12524,7 @@
"x-appwrite": {
"method": "getCache",
"group": "health",
- "weight": 132,
+ "weight": 133,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12465,7 +12573,7 @@
"x-appwrite": {
"method": "getCertificate",
"group": "health",
- "weight": 137,
+ "weight": 138,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12523,7 +12631,7 @@
"x-appwrite": {
"method": "getDB",
"group": "health",
- "weight": 131,
+ "weight": 132,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12572,7 +12680,7 @@
"x-appwrite": {
"method": "getPubSub",
"group": "health",
- "weight": 133,
+ "weight": 134,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12621,7 +12729,7 @@
"x-appwrite": {
"method": "getQueueBuilds",
"group": "queue",
- "weight": 139,
+ "weight": 140,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12681,7 +12789,7 @@
"x-appwrite": {
"method": "getQueueCertificates",
"group": "queue",
- "weight": 138,
+ "weight": 139,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12741,7 +12849,7 @@
"x-appwrite": {
"method": "getQueueDatabases",
"group": "queue",
- "weight": 140,
+ "weight": 141,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12810,7 +12918,7 @@
"x-appwrite": {
"method": "getQueueDeletes",
"group": "queue",
- "weight": 141,
+ "weight": 142,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12870,7 +12978,7 @@
"x-appwrite": {
"method": "getFailedJobs",
"group": "queue",
- "weight": 151,
+ "weight": 152,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12954,7 +13062,7 @@
"x-appwrite": {
"method": "getQueueFunctions",
"group": "queue",
- "weight": 145,
+ "weight": 146,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13014,7 +13122,7 @@
"x-appwrite": {
"method": "getQueueLogs",
"group": "queue",
- "weight": 136,
+ "weight": 137,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13074,7 +13182,7 @@
"x-appwrite": {
"method": "getQueueMails",
"group": "queue",
- "weight": 142,
+ "weight": 143,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13134,7 +13242,7 @@
"x-appwrite": {
"method": "getQueueMessaging",
"group": "queue",
- "weight": 143,
+ "weight": 144,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13194,7 +13302,7 @@
"x-appwrite": {
"method": "getQueueMigrations",
"group": "queue",
- "weight": 144,
+ "weight": 145,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13254,7 +13362,7 @@
"x-appwrite": {
"method": "getQueueStatsResources",
"group": "queue",
- "weight": 146,
+ "weight": 147,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13314,7 +13422,7 @@
"x-appwrite": {
"method": "getQueueUsage",
"group": "queue",
- "weight": 147,
+ "weight": 148,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13374,7 +13482,7 @@
"x-appwrite": {
"method": "getQueueWebhooks",
"group": "queue",
- "weight": 135,
+ "weight": 136,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13434,7 +13542,7 @@
"x-appwrite": {
"method": "getStorage",
"group": "storage",
- "weight": 149,
+ "weight": 150,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13483,7 +13591,7 @@
"x-appwrite": {
"method": "getStorageLocal",
"group": "storage",
- "weight": 148,
+ "weight": 149,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13532,7 +13640,7 @@
"x-appwrite": {
"method": "getTime",
"group": "health",
- "weight": 134,
+ "weight": 135,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13581,7 +13689,7 @@
"x-appwrite": {
"method": "get",
"group": null,
- "weight": 121,
+ "weight": 122,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13633,7 +13741,7 @@
"x-appwrite": {
"method": "listCodes",
"group": null,
- "weight": 122,
+ "weight": 123,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13685,7 +13793,7 @@
"x-appwrite": {
"method": "listContinents",
"group": null,
- "weight": 126,
+ "weight": 127,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13737,7 +13845,7 @@
"x-appwrite": {
"method": "listCountries",
"group": null,
- "weight": 123,
+ "weight": 124,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13789,7 +13897,7 @@
"x-appwrite": {
"method": "listCountriesEU",
"group": null,
- "weight": 124,
+ "weight": 125,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13841,7 +13949,7 @@
"x-appwrite": {
"method": "listCountriesPhones",
"group": null,
- "weight": 125,
+ "weight": 126,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13893,7 +14001,7 @@
"x-appwrite": {
"method": "listCurrencies",
"group": null,
- "weight": 127,
+ "weight": 128,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13945,7 +14053,7 @@
"x-appwrite": {
"method": "listLanguages",
"group": null,
- "weight": 128,
+ "weight": 129,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13997,7 +14105,7 @@
"x-appwrite": {
"method": "listMessages",
"group": "messages",
- "weight": 359,
+ "weight": 360,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14072,7 +14180,7 @@
"x-appwrite": {
"method": "createEmail",
"group": "messages",
- "weight": 356,
+ "weight": 357,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14230,7 +14338,7 @@
"x-appwrite": {
"method": "updateEmail",
"group": "messages",
- "weight": 363,
+ "weight": 364,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14385,7 +14493,7 @@
"x-appwrite": {
"method": "createPush",
"group": "messages",
- "weight": 358,
+ "weight": 359,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14580,7 +14688,7 @@
"x-appwrite": {
"method": "updatePush",
"group": "messages",
- "weight": 365,
+ "weight": 366,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14774,7 +14882,7 @@
"x-appwrite": {
"method": "createSms",
"group": "messages",
- "weight": 357,
+ "weight": 358,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14892,7 +15000,7 @@
"x-appwrite": {
"method": "updateSms",
"group": "messages",
- "weight": 364,
+ "weight": 365,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15006,7 +15114,7 @@
"x-appwrite": {
"method": "getMessage",
"group": "messages",
- "weight": 362,
+ "weight": 363,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15061,7 +15169,7 @@
"x-appwrite": {
"method": "delete",
"group": "messages",
- "weight": 366,
+ "weight": 367,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15121,7 +15229,7 @@
"x-appwrite": {
"method": "listMessageLogs",
"group": "logs",
- "weight": 360,
+ "weight": 361,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15193,7 +15301,7 @@
"x-appwrite": {
"method": "listTargets",
"group": "messages",
- "weight": 361,
+ "weight": 362,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15265,7 +15373,7 @@
"x-appwrite": {
"method": "listProviders",
"group": "providers",
- "weight": 331,
+ "weight": 332,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15340,7 +15448,7 @@
"x-appwrite": {
"method": "createApnsProvider",
"group": "providers",
- "weight": 330,
+ "weight": 331,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15455,7 +15563,7 @@
"x-appwrite": {
"method": "updateApnsProvider",
"group": "providers",
- "weight": 343,
+ "weight": 344,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15568,7 +15676,7 @@
"x-appwrite": {
"method": "createFcmProvider",
"group": "providers",
- "weight": 329,
+ "weight": 330,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15659,7 +15767,7 @@
"x-appwrite": {
"method": "updateFcmProvider",
"group": "providers",
- "weight": 342,
+ "weight": 343,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15748,7 +15856,7 @@
"x-appwrite": {
"method": "createMailgunProvider",
"group": "providers",
- "weight": 321,
+ "weight": 322,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15875,7 +15983,7 @@
"x-appwrite": {
"method": "updateMailgunProvider",
"group": "providers",
- "weight": 334,
+ "weight": 335,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16000,7 +16108,7 @@
"x-appwrite": {
"method": "createMsg91Provider",
"group": "providers",
- "weight": 324,
+ "weight": 325,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16103,7 +16211,7 @@
"x-appwrite": {
"method": "updateMsg91Provider",
"group": "providers",
- "weight": 337,
+ "weight": 338,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16204,7 +16312,7 @@
"x-appwrite": {
"method": "createSendgridProvider",
"group": "providers",
- "weight": 322,
+ "weight": 323,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16319,7 +16427,7 @@
"x-appwrite": {
"method": "updateSendgridProvider",
"group": "providers",
- "weight": 335,
+ "weight": 336,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16432,7 +16540,7 @@
"x-appwrite": {
"method": "createSmtpProvider",
"group": "providers",
- "weight": 323,
+ "weight": 324,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16591,7 +16699,7 @@
"x-appwrite": {
"method": "updateSmtpProvider",
"group": "providers",
- "weight": 336,
+ "weight": 337,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16747,7 +16855,7 @@
"x-appwrite": {
"method": "createTelesignProvider",
"group": "providers",
- "weight": 325,
+ "weight": 326,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16850,7 +16958,7 @@
"x-appwrite": {
"method": "updateTelesignProvider",
"group": "providers",
- "weight": 338,
+ "weight": 339,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16951,7 +17059,7 @@
"x-appwrite": {
"method": "createTextmagicProvider",
"group": "providers",
- "weight": 326,
+ "weight": 327,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17054,7 +17162,7 @@
"x-appwrite": {
"method": "updateTextmagicProvider",
"group": "providers",
- "weight": 339,
+ "weight": 340,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17155,7 +17263,7 @@
"x-appwrite": {
"method": "createTwilioProvider",
"group": "providers",
- "weight": 327,
+ "weight": 328,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17258,7 +17366,7 @@
"x-appwrite": {
"method": "updateTwilioProvider",
"group": "providers",
- "weight": 340,
+ "weight": 341,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17359,7 +17467,7 @@
"x-appwrite": {
"method": "createVonageProvider",
"group": "providers",
- "weight": 328,
+ "weight": 329,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17462,7 +17570,7 @@
"x-appwrite": {
"method": "updateVonageProvider",
"group": "providers",
- "weight": 341,
+ "weight": 342,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17561,7 +17669,7 @@
"x-appwrite": {
"method": "getProvider",
"group": "providers",
- "weight": 333,
+ "weight": 334,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17616,7 +17724,7 @@
"x-appwrite": {
"method": "deleteProvider",
"group": "providers",
- "weight": 344,
+ "weight": 345,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17676,7 +17784,7 @@
"x-appwrite": {
"method": "listProviderLogs",
"group": "providers",
- "weight": 332,
+ "weight": 333,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17748,7 +17856,7 @@
"x-appwrite": {
"method": "listSubscriberLogs",
"group": "subscribers",
- "weight": 353,
+ "weight": 354,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17820,7 +17928,7 @@
"x-appwrite": {
"method": "listTopics",
"group": "topics",
- "weight": 346,
+ "weight": 347,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17893,7 +18001,7 @@
"x-appwrite": {
"method": "createTopic",
"group": "topics",
- "weight": 345,
+ "weight": 346,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17981,7 +18089,7 @@
"x-appwrite": {
"method": "getTopic",
"group": "topics",
- "weight": 348,
+ "weight": 349,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18041,7 +18149,7 @@
"x-appwrite": {
"method": "updateTopic",
"group": "topics",
- "weight": 349,
+ "weight": 350,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18120,7 +18228,7 @@
"x-appwrite": {
"method": "deleteTopic",
"group": "topics",
- "weight": 350,
+ "weight": 351,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18180,7 +18288,7 @@
"x-appwrite": {
"method": "listTopicLogs",
"group": "topics",
- "weight": 347,
+ "weight": 348,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18252,7 +18360,7 @@
"x-appwrite": {
"method": "listSubscribers",
"group": "subscribers",
- "weight": 352,
+ "weight": 353,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18333,7 +18441,7 @@
"x-appwrite": {
"method": "createSubscriber",
"group": "subscribers",
- "weight": 351,
+ "weight": 352,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18421,7 +18529,7 @@
"x-appwrite": {
"method": "getSubscriber",
"group": "subscribers",
- "weight": 354,
+ "weight": 355,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18484,7 +18592,7 @@
"x-appwrite": {
"method": "deleteSubscriber",
"group": "subscribers",
- "weight": 355,
+ "weight": 356,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18555,7 +18663,7 @@
"x-appwrite": {
"method": "list",
"group": null,
- "weight": 313,
+ "weight": 314,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18628,7 +18736,7 @@
"x-appwrite": {
"method": "createAppwriteMigration",
"group": null,
- "weight": 308,
+ "weight": 309,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18720,7 +18828,7 @@
"x-appwrite": {
"method": "getAppwriteReport",
"group": null,
- "weight": 315,
+ "weight": 316,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18808,7 +18916,7 @@
"x-appwrite": {
"method": "createCsvMigration",
"group": null,
- "weight": 312,
+ "weight": 313,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18892,7 +19000,7 @@
"x-appwrite": {
"method": "createFirebaseMigration",
"group": null,
- "weight": 309,
+ "weight": 310,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18970,7 +19078,7 @@
"x-appwrite": {
"method": "getFirebaseReport",
"group": null,
- "weight": 316,
+ "weight": 317,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19041,7 +19149,7 @@
"x-appwrite": {
"method": "createNHostMigration",
"group": null,
- "weight": 311,
+ "weight": 312,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19160,7 +19268,7 @@
"x-appwrite": {
"method": "getNHostReport",
"group": null,
- "weight": 318,
+ "weight": 319,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19280,7 +19388,7 @@
"x-appwrite": {
"method": "createSupabaseMigration",
"group": null,
- "weight": 310,
+ "weight": 311,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19392,7 +19500,7 @@
"x-appwrite": {
"method": "getSupabaseReport",
"group": null,
- "weight": 317,
+ "weight": 318,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19503,7 +19611,7 @@
"x-appwrite": {
"method": "get",
"group": null,
- "weight": 314,
+ "weight": 315,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19561,7 +19669,7 @@
"x-appwrite": {
"method": "retry",
"group": null,
- "weight": 319,
+ "weight": 320,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19614,7 +19722,7 @@
"x-appwrite": {
"method": "delete",
"group": null,
- "weight": 320,
+ "weight": 321,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19672,7 +19780,7 @@
"x-appwrite": {
"method": "getUsage",
"group": null,
- "weight": 199,
+ "weight": 200,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19754,7 +19862,7 @@
"x-appwrite": {
"method": "listVariables",
"group": null,
- "weight": 201,
+ "weight": 202,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19802,7 +19910,7 @@
"x-appwrite": {
"method": "createVariable",
"group": null,
- "weight": 200,
+ "weight": 201,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19883,7 +19991,7 @@
"x-appwrite": {
"method": "getVariable",
"group": null,
- "weight": 202,
+ "weight": 203,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19941,7 +20049,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": null,
- "weight": 203,
+ "weight": 204,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20024,7 +20132,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": null,
- "weight": 204,
+ "weight": 205,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20082,7 +20190,7 @@
"x-appwrite": {
"method": "list",
"group": "projects",
- "weight": 154,
+ "weight": 155,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20153,7 +20261,7 @@
"x-appwrite": {
"method": "create",
"group": "projects",
- "weight": 153,
+ "weight": 154,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20300,7 +20408,7 @@
"x-appwrite": {
"method": "get",
"group": "projects",
- "weight": 155,
+ "weight": 156,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20358,7 +20466,7 @@
"x-appwrite": {
"method": "update",
"group": "projects",
- "weight": 156,
+ "weight": 157,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20483,7 +20591,7 @@
"x-appwrite": {
"method": "delete",
"group": "projects",
- "weight": 173,
+ "weight": 174,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20543,7 +20651,7 @@
"x-appwrite": {
"method": "updateApiStatus",
"group": "projects",
- "weight": 160,
+ "weight": 161,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20635,7 +20743,7 @@
"x-appwrite": {
"method": "updateApiStatusAll",
"group": "projects",
- "weight": 161,
+ "weight": 162,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20713,7 +20821,7 @@
"x-appwrite": {
"method": "updateAuthDuration",
"group": "auth",
- "weight": 166,
+ "weight": 167,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20791,7 +20899,7 @@
"x-appwrite": {
"method": "updateAuthLimit",
"group": "auth",
- "weight": 165,
+ "weight": 166,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20869,7 +20977,7 @@
"x-appwrite": {
"method": "updateAuthSessionsLimit",
"group": "auth",
- "weight": 171,
+ "weight": 172,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20947,7 +21055,7 @@
"x-appwrite": {
"method": "updateMembershipsPrivacy",
"group": "auth",
- "weight": 164,
+ "weight": 165,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21039,7 +21147,7 @@
"x-appwrite": {
"method": "updateMockNumbers",
"group": "auth",
- "weight": 172,
+ "weight": 173,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21120,7 +21228,7 @@
"x-appwrite": {
"method": "updateAuthPasswordDictionary",
"group": "auth",
- "weight": 169,
+ "weight": 170,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21198,7 +21306,7 @@
"x-appwrite": {
"method": "updateAuthPasswordHistory",
"group": "auth",
- "weight": 168,
+ "weight": 169,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21276,7 +21384,7 @@
"x-appwrite": {
"method": "updatePersonalDataCheck",
"group": "auth",
- "weight": 170,
+ "weight": 171,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21354,7 +21462,7 @@
"x-appwrite": {
"method": "updateSessionAlerts",
"group": "auth",
- "weight": 163,
+ "weight": 164,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21432,7 +21540,7 @@
"x-appwrite": {
"method": "updateAuthStatus",
"group": "auth",
- "weight": 167,
+ "weight": 168,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21527,7 +21635,7 @@
"x-appwrite": {
"method": "listDevKeys",
"group": "devKeys",
- "weight": 370,
+ "weight": 371,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21597,7 +21705,7 @@
"x-appwrite": {
"method": "createDevKey",
"group": "devKeys",
- "weight": 367,
+ "weight": 368,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21680,7 +21788,7 @@
"x-appwrite": {
"method": "getDevKey",
"group": "devKeys",
- "weight": 369,
+ "weight": 370,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21746,7 +21854,7 @@
"x-appwrite": {
"method": "updateDevKey",
"group": "devKeys",
- "weight": 368,
+ "weight": 369,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21832,7 +21940,7 @@
"x-appwrite": {
"method": "deleteDevKey",
"group": "devKeys",
- "weight": 371,
+ "weight": 372,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21900,7 +22008,7 @@
"x-appwrite": {
"method": "createJWT",
"group": "auth",
- "weight": 185,
+ "weight": 186,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21985,7 +22093,7 @@
"x-appwrite": {
"method": "listKeys",
"group": "keys",
- "weight": 181,
+ "weight": 182,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22043,7 +22151,7 @@
"x-appwrite": {
"method": "createKey",
"group": "keys",
- "weight": 180,
+ "weight": 181,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22135,7 +22243,7 @@
"x-appwrite": {
"method": "getKey",
"group": "keys",
- "weight": 182,
+ "weight": 183,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22201,7 +22309,7 @@
"x-appwrite": {
"method": "updateKey",
"group": "keys",
- "weight": 183,
+ "weight": 184,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22296,7 +22404,7 @@
"x-appwrite": {
"method": "deleteKey",
"group": "keys",
- "weight": 184,
+ "weight": 185,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22364,7 +22472,7 @@
"x-appwrite": {
"method": "updateOAuth2",
"group": "auth",
- "weight": 162,
+ "weight": 163,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22502,7 +22610,7 @@
"x-appwrite": {
"method": "listPlatforms",
"group": "platforms",
- "weight": 187,
+ "weight": 188,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22560,7 +22668,7 @@
"x-appwrite": {
"method": "createPlatform",
"group": "platforms",
- "weight": 186,
+ "weight": 187,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22680,7 +22788,7 @@
"x-appwrite": {
"method": "getPlatform",
"group": "platforms",
- "weight": 188,
+ "weight": 189,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22746,7 +22854,7 @@
"x-appwrite": {
"method": "updatePlatform",
"group": "platforms",
- "weight": 189,
+ "weight": 190,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22843,7 +22951,7 @@
"x-appwrite": {
"method": "deletePlatform",
"group": "platforms",
- "weight": 190,
+ "weight": 191,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22911,7 +23019,7 @@
"x-appwrite": {
"method": "updateServiceStatus",
"group": "projects",
- "weight": 158,
+ "weight": 159,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23012,7 +23120,7 @@
"x-appwrite": {
"method": "updateServiceStatusAll",
"group": "projects",
- "weight": 159,
+ "weight": 160,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23090,7 +23198,7 @@
"x-appwrite": {
"method": "updateSmtp",
"group": "templates",
- "weight": 191,
+ "weight": 192,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23219,7 +23327,7 @@
"x-appwrite": {
"method": "createSmtpTest",
"group": "templates",
- "weight": 192,
+ "weight": 193,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23357,7 +23465,7 @@
"x-appwrite": {
"method": "updateTeam",
"group": "projects",
- "weight": 157,
+ "weight": 158,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23433,7 +23541,7 @@
"x-appwrite": {
"method": "getEmailTemplate",
"group": "templates",
- "weight": 194,
+ "weight": 195,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23653,7 +23761,7 @@
"x-appwrite": {
"method": "updateEmailTemplate",
"group": "templates",
- "weight": 196,
+ "weight": 197,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23916,7 +24024,7 @@
"x-appwrite": {
"method": "deleteEmailTemplate",
"group": "templates",
- "weight": 198,
+ "weight": 199,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24136,7 +24244,7 @@
"x-appwrite": {
"method": "getSmsTemplate",
"group": "templates",
- "weight": 193,
+ "weight": 194,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24353,7 +24461,7 @@
"x-appwrite": {
"method": "updateSmsTemplate",
"group": "templates",
- "weight": 195,
+ "weight": 196,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24588,7 +24696,7 @@
"x-appwrite": {
"method": "deleteSmsTemplate",
"group": "templates",
- "weight": 197,
+ "weight": 198,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24805,7 +24913,7 @@
"x-appwrite": {
"method": "listWebhooks",
"group": "webhooks",
- "weight": 175,
+ "weight": 176,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24863,7 +24971,7 @@
"x-appwrite": {
"method": "createWebhook",
"group": "webhooks",
- "weight": 174,
+ "weight": 175,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24981,7 +25089,7 @@
"x-appwrite": {
"method": "getWebhook",
"group": "webhooks",
- "weight": 176,
+ "weight": 177,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25047,7 +25155,7 @@
"x-appwrite": {
"method": "updateWebhook",
"group": "webhooks",
- "weight": 177,
+ "weight": 178,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25168,7 +25276,7 @@
"x-appwrite": {
"method": "deleteWebhook",
"group": "webhooks",
- "weight": 179,
+ "weight": 180,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25236,7 +25344,7 @@
"x-appwrite": {
"method": "updateWebhookSignature",
"group": "webhooks",
- "weight": 178,
+ "weight": 179,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25302,7 +25410,7 @@
"x-appwrite": {
"method": "listRules",
"group": null,
- "weight": 291,
+ "weight": 292,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25375,7 +25483,7 @@
"x-appwrite": {
"method": "createAPIRule",
"group": null,
- "weight": 432,
+ "weight": 433,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25445,7 +25553,7 @@
"x-appwrite": {
"method": "createFunctionRule",
"group": null,
- "weight": 434,
+ "weight": 435,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25528,7 +25636,7 @@
"x-appwrite": {
"method": "createRedirectRule",
"group": null,
- "weight": 435,
+ "weight": 436,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25625,7 +25733,7 @@
"x-appwrite": {
"method": "createSiteRule",
"group": null,
- "weight": 433,
+ "weight": 434,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25706,7 +25814,7 @@
"x-appwrite": {
"method": "getRule",
"group": null,
- "weight": 292,
+ "weight": 293,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25759,7 +25867,7 @@
"x-appwrite": {
"method": "deleteRule",
"group": null,
- "weight": 293,
+ "weight": 294,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25819,7 +25927,7 @@
"x-appwrite": {
"method": "updateRuleVerification",
"group": null,
- "weight": 294,
+ "weight": 295,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25877,7 +25985,7 @@
"x-appwrite": {
"method": "list",
"group": "sites",
- "weight": 404,
+ "weight": 405,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25949,7 +26057,7 @@
"x-appwrite": {
"method": "create",
"group": "sites",
- "weight": 402,
+ "weight": 403,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26214,7 +26322,7 @@
"x-appwrite": {
"method": "listFrameworks",
"group": "frameworks",
- "weight": 407,
+ "weight": 408,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26263,7 +26371,7 @@
"x-appwrite": {
"method": "listSpecifications",
"group": "frameworks",
- "weight": 430,
+ "weight": 431,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26313,7 +26421,7 @@
"x-appwrite": {
"method": "listTemplates",
"group": "templates",
- "weight": 426,
+ "weight": 427,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26407,7 +26515,7 @@
"x-appwrite": {
"method": "getTemplate",
"group": "templates",
- "weight": 427,
+ "weight": 428,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26465,7 +26573,7 @@
"x-appwrite": {
"method": "listUsage",
"group": null,
- "weight": 428,
+ "weight": 429,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26535,7 +26643,7 @@
"x-appwrite": {
"method": "get",
"group": "sites",
- "weight": 403,
+ "weight": 404,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26594,7 +26702,7 @@
"x-appwrite": {
"method": "update",
"group": "sites",
- "weight": 405,
+ "weight": 406,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26854,7 +26962,7 @@
"x-appwrite": {
"method": "delete",
"group": "sites",
- "weight": 406,
+ "weight": 407,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26915,7 +27023,7 @@
"x-appwrite": {
"method": "updateSiteDeployment",
"group": "sites",
- "weight": 413,
+ "weight": 414,
"cookies": false,
"type": "",
"deprecated": false,
@@ -26992,7 +27100,7 @@
"x-appwrite": {
"method": "listDeployments",
"group": "deployments",
- "weight": 412,
+ "weight": 413,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27072,7 +27180,7 @@
"x-appwrite": {
"method": "createDeployment",
"group": "deployments",
- "weight": 408,
+ "weight": 409,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -27172,7 +27280,7 @@
"x-appwrite": {
"method": "createDuplicateDeployment",
"group": "deployments",
- "weight": 416,
+ "weight": 417,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27251,7 +27359,7 @@
"x-appwrite": {
"method": "createTemplateDeployment",
"group": "deployments",
- "weight": 409,
+ "weight": 410,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27357,7 +27465,7 @@
"x-appwrite": {
"method": "createVcsDeployment",
"group": "deployments",
- "weight": 410,
+ "weight": 411,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27454,7 +27562,7 @@
"x-appwrite": {
"method": "getDeployment",
"group": "deployments",
- "weight": 411,
+ "weight": 412,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27516,7 +27624,7 @@
"x-appwrite": {
"method": "deleteDeployment",
"group": "deployments",
- "weight": 414,
+ "weight": 415,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27583,7 +27691,7 @@
"x-appwrite": {
"method": "getDeploymentDownload",
"group": "deployments",
- "weight": 415,
+ "weight": 416,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -27669,7 +27777,7 @@
"x-appwrite": {
"method": "updateDeploymentStatus",
"group": "deployments",
- "weight": 417,
+ "weight": 418,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27736,7 +27844,7 @@
"x-appwrite": {
"method": "listLogs",
"group": "logs",
- "weight": 419,
+ "weight": 420,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27807,7 +27915,7 @@
"x-appwrite": {
"method": "getLog",
"group": "logs",
- "weight": 418,
+ "weight": 419,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27871,7 +27979,7 @@
"x-appwrite": {
"method": "deleteLog",
"group": "logs",
- "weight": 420,
+ "weight": 421,
"cookies": false,
"type": "",
"deprecated": false,
@@ -27938,7 +28046,7 @@
"x-appwrite": {
"method": "getUsage",
"group": null,
- "weight": 429,
+ "weight": 430,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28016,7 +28124,7 @@
"x-appwrite": {
"method": "listVariables",
"group": "variables",
- "weight": 423,
+ "weight": 424,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28075,7 +28183,7 @@
"x-appwrite": {
"method": "createVariable",
"group": "variables",
- "weight": 421,
+ "weight": 422,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28165,7 +28273,7 @@
"x-appwrite": {
"method": "getVariable",
"group": "variables",
- "weight": 422,
+ "weight": 423,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28232,7 +28340,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": "variables",
- "weight": 424,
+ "weight": 425,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28324,7 +28432,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": "variables",
- "weight": 425,
+ "weight": 426,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28391,7 +28499,7 @@
"x-appwrite": {
"method": "listBuckets",
"group": "buckets",
- "weight": 206,
+ "weight": 207,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28463,7 +28571,7 @@
"x-appwrite": {
"method": "createBucket",
"group": "buckets",
- "weight": 205,
+ "weight": 206,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28600,7 +28708,7 @@
"x-appwrite": {
"method": "getBucket",
"group": "buckets",
- "weight": 207,
+ "weight": 208,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28659,7 +28767,7 @@
"x-appwrite": {
"method": "updateBucket",
"group": "buckets",
- "weight": 208,
+ "weight": 209,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28792,7 +28900,7 @@
"x-appwrite": {
"method": "deleteBucket",
"group": "buckets",
- "weight": 209,
+ "weight": 210,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28851,7 +28959,7 @@
"x-appwrite": {
"method": "listFiles",
"group": "files",
- "weight": 211,
+ "weight": 212,
"cookies": false,
"type": "",
"deprecated": false,
@@ -28934,7 +29042,7 @@
"x-appwrite": {
"method": "createFile",
"group": "files",
- "weight": 210,
+ "weight": 211,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -29024,7 +29132,7 @@
"x-appwrite": {
"method": "getFile",
"group": "files",
- "weight": 212,
+ "weight": 213,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29094,7 +29202,7 @@
"x-appwrite": {
"method": "updateFile",
"group": "files",
- "weight": 217,
+ "weight": 218,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29183,7 +29291,7 @@
"x-appwrite": {
"method": "deleteFile",
"group": "files",
- "weight": 218,
+ "weight": 219,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29253,7 +29361,7 @@
"x-appwrite": {
"method": "getFileDownload",
"group": "files",
- "weight": 214,
+ "weight": 215,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -29332,7 +29440,7 @@
"x-appwrite": {
"method": "getFilePreview",
"group": "files",
- "weight": 213,
+ "weight": 214,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -29538,7 +29646,7 @@
"x-appwrite": {
"method": "getFileView",
"group": "files",
- "weight": 215,
+ "weight": 216,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -29617,7 +29725,7 @@
"x-appwrite": {
"method": "getUsage",
"group": null,
- "weight": 219,
+ "weight": 220,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29687,7 +29795,7 @@
"x-appwrite": {
"method": "getBucketUsage",
"group": null,
- "weight": 220,
+ "weight": 221,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29765,7 +29873,7 @@
"x-appwrite": {
"method": "list",
"group": "teams",
- "weight": 222,
+ "weight": 223,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29840,7 +29948,7 @@
"x-appwrite": {
"method": "create",
"group": "teams",
- "weight": 221,
+ "weight": 222,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29930,7 +30038,7 @@
"x-appwrite": {
"method": "get",
"group": "teams",
- "weight": 223,
+ "weight": 224,
"cookies": false,
"type": "",
"deprecated": false,
@@ -29992,7 +30100,7 @@
"x-appwrite": {
"method": "updateName",
"group": "teams",
- "weight": 225,
+ "weight": 226,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30067,7 +30175,7 @@
"x-appwrite": {
"method": "delete",
"group": "teams",
- "weight": 227,
+ "weight": 228,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30129,7 +30237,7 @@
"x-appwrite": {
"method": "listLogs",
"group": "logs",
- "weight": 234,
+ "weight": 235,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30199,7 +30307,7 @@
"x-appwrite": {
"method": "listMemberships",
"group": "memberships",
- "weight": 229,
+ "weight": 230,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30282,7 +30390,7 @@
"x-appwrite": {
"method": "createMembership",
"group": "memberships",
- "weight": 228,
+ "weight": 229,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30395,7 +30503,7 @@
"x-appwrite": {
"method": "getMembership",
"group": "memberships",
- "weight": 230,
+ "weight": 231,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30465,7 +30573,7 @@
"x-appwrite": {
"method": "updateMembership",
"group": "memberships",
- "weight": 231,
+ "weight": 232,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30551,7 +30659,7 @@
"x-appwrite": {
"method": "deleteMembership",
"group": "memberships",
- "weight": 233,
+ "weight": 234,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30623,7 +30731,7 @@
"x-appwrite": {
"method": "updateMembershipStatus",
"group": "memberships",
- "weight": 232,
+ "weight": 233,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30716,7 +30824,7 @@
"x-appwrite": {
"method": "getPrefs",
"group": "teams",
- "weight": 224,
+ "weight": 225,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30776,7 +30884,7 @@
"x-appwrite": {
"method": "updatePrefs",
"group": "teams",
- "weight": 226,
+ "weight": 227,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30854,7 +30962,7 @@
"x-appwrite": {
"method": "list",
"group": "files",
- "weight": 438,
+ "weight": 439,
"cookies": false,
"type": "",
"deprecated": false,
@@ -30922,7 +31030,7 @@
"tags": [
"tokens"
],
- "description": "Create a new token. A token is linked to a file. Token can be passed as a header or request get parameter.",
+ "description": "Create a new token. A token is linked to a file. Token can be passed as a request URL search parameter.",
"responses": {
"201": {
"description": "ResourceToken",
@@ -30934,12 +31042,12 @@
"x-appwrite": {
"method": "createFileToken",
"group": "files",
- "weight": 436,
+ "weight": 437,
"cookies": false,
"type": "",
"deprecated": false,
"demo": "tokens\/create-file-token.md",
- "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new token. A token is linked to a file. Token can be passed as a header or request get parameter.",
+ "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new token. A token is linked to a file. Token can be passed as a request URL search parameter.",
"rate-limit": 60,
"rate-time": 60,
"rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}",
@@ -31018,7 +31126,7 @@
"x-appwrite": {
"method": "get",
"group": "tokens",
- "weight": 437,
+ "weight": 438,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31078,7 +31186,7 @@
"x-appwrite": {
"method": "update",
"group": "tokens",
- "weight": 439,
+ "weight": 440,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31149,7 +31257,7 @@
"x-appwrite": {
"method": "delete",
"group": "tokens",
- "weight": 440,
+ "weight": 441,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31209,7 +31317,7 @@
"x-appwrite": {
"method": "list",
"group": "users",
- "weight": 244,
+ "weight": 245,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31281,7 +31389,7 @@
"x-appwrite": {
"method": "create",
"group": "users",
- "weight": 235,
+ "weight": 236,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31376,7 +31484,7 @@
"x-appwrite": {
"method": "createArgon2User",
"group": "users",
- "weight": 238,
+ "weight": 239,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31467,7 +31575,7 @@
"x-appwrite": {
"method": "createBcryptUser",
"group": "users",
- "weight": 236,
+ "weight": 237,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31556,7 +31664,7 @@
"x-appwrite": {
"method": "listIdentities",
"group": "identities",
- "weight": 252,
+ "weight": 253,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31625,7 +31733,7 @@
"x-appwrite": {
"method": "deleteIdentity",
"group": "identities",
- "weight": 275,
+ "weight": 276,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31686,7 +31794,7 @@
"x-appwrite": {
"method": "createMD5User",
"group": "users",
- "weight": 237,
+ "weight": 238,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31777,7 +31885,7 @@
"x-appwrite": {
"method": "createPHPassUser",
"group": "users",
- "weight": 240,
+ "weight": 241,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31868,7 +31976,7 @@
"x-appwrite": {
"method": "createScryptUser",
"group": "users",
- "weight": 241,
+ "weight": 242,
"cookies": false,
"type": "",
"deprecated": false,
@@ -31994,7 +32102,7 @@
"x-appwrite": {
"method": "createScryptModifiedUser",
"group": "users",
- "weight": 242,
+ "weight": 243,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32106,7 +32214,7 @@
"x-appwrite": {
"method": "createSHAUser",
"group": "users",
- "weight": 239,
+ "weight": 240,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32216,7 +32324,7 @@
"x-appwrite": {
"method": "getUsage",
"group": null,
- "weight": 277,
+ "weight": 278,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32286,7 +32394,7 @@
"x-appwrite": {
"method": "get",
"group": "users",
- "weight": 245,
+ "weight": 246,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32340,7 +32448,7 @@
"x-appwrite": {
"method": "delete",
"group": "users",
- "weight": 273,
+ "weight": 274,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32401,7 +32509,7 @@
"x-appwrite": {
"method": "updateEmail",
"group": "users",
- "weight": 258,
+ "weight": 259,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32480,7 +32588,7 @@
"x-appwrite": {
"method": "createJWT",
"group": "sessions",
- "weight": 276,
+ "weight": 277,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32562,7 +32670,7 @@
"x-appwrite": {
"method": "updateLabels",
"group": "users",
- "weight": 254,
+ "weight": 255,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32642,7 +32750,7 @@
"x-appwrite": {
"method": "listLogs",
"group": "logs",
- "weight": 250,
+ "weight": 251,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32713,7 +32821,7 @@
"x-appwrite": {
"method": "listMemberships",
"group": "memberships",
- "weight": 249,
+ "weight": 250,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32795,7 +32903,7 @@
"x-appwrite": {
"method": "updateMfa",
"group": "users",
- "weight": 263,
+ "weight": 264,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32869,7 +32977,7 @@
"x-appwrite": {
"method": "deleteMfaAuthenticator",
"group": "mfa",
- "weight": 268,
+ "weight": 269,
"cookies": false,
"type": "",
"deprecated": false,
@@ -32941,7 +33049,7 @@
"x-appwrite": {
"method": "listMfaFactors",
"group": "mfa",
- "weight": 264,
+ "weight": 265,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33000,7 +33108,7 @@
"x-appwrite": {
"method": "getMfaRecoveryCodes",
"group": "mfa",
- "weight": 265,
+ "weight": 266,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33059,7 +33167,7 @@
"x-appwrite": {
"method": "updateMfaRecoveryCodes",
"group": "mfa",
- "weight": 267,
+ "weight": 268,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33118,7 +33226,7 @@
"x-appwrite": {
"method": "createMfaRecoveryCodes",
"group": "mfa",
- "weight": 266,
+ "weight": 267,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33179,7 +33287,7 @@
"x-appwrite": {
"method": "updateName",
"group": "users",
- "weight": 256,
+ "weight": 257,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33258,7 +33366,7 @@
"x-appwrite": {
"method": "updatePassword",
"group": "users",
- "weight": 257,
+ "weight": 258,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33337,7 +33445,7 @@
"x-appwrite": {
"method": "updatePhone",
"group": "users",
- "weight": 259,
+ "weight": 260,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33414,7 +33522,7 @@
"x-appwrite": {
"method": "getPrefs",
"group": "users",
- "weight": 246,
+ "weight": 247,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33473,7 +33581,7 @@
"x-appwrite": {
"method": "updatePrefs",
"group": "users",
- "weight": 261,
+ "weight": 262,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33550,7 +33658,7 @@
"x-appwrite": {
"method": "listSessions",
"group": "sessions",
- "weight": 248,
+ "weight": 249,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33609,7 +33717,7 @@
"x-appwrite": {
"method": "createSession",
"group": "sessions",
- "weight": 269,
+ "weight": 270,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33663,7 +33771,7 @@
"x-appwrite": {
"method": "deleteSessions",
"group": "sessions",
- "weight": 272,
+ "weight": 273,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33719,7 +33827,7 @@
"x-appwrite": {
"method": "deleteSession",
"group": "sessions",
- "weight": 271,
+ "weight": 272,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33788,7 +33896,7 @@
"x-appwrite": {
"method": "updateStatus",
"group": "users",
- "weight": 253,
+ "weight": 254,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33865,7 +33973,7 @@
"x-appwrite": {
"method": "listTargets",
"group": "targets",
- "weight": 251,
+ "weight": 252,
"cookies": false,
"type": "",
"deprecated": false,
@@ -33937,7 +34045,7 @@
"x-appwrite": {
"method": "createTarget",
"group": "targets",
- "weight": 243,
+ "weight": 244,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34048,7 +34156,7 @@
"x-appwrite": {
"method": "getTarget",
"group": "targets",
- "weight": 247,
+ "weight": 248,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34116,7 +34224,7 @@
"x-appwrite": {
"method": "updateTarget",
"group": "targets",
- "weight": 262,
+ "weight": 263,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34206,7 +34314,7 @@
"x-appwrite": {
"method": "deleteTarget",
"group": "targets",
- "weight": 274,
+ "weight": 275,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34276,7 +34384,7 @@
"x-appwrite": {
"method": "createToken",
"group": "sessions",
- "weight": 270,
+ "weight": 271,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34358,7 +34466,7 @@
"x-appwrite": {
"method": "updateEmailVerification",
"group": "users",
- "weight": 260,
+ "weight": 261,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34437,7 +34545,7 @@
"x-appwrite": {
"method": "updatePhoneVerification",
"group": "users",
- "weight": 255,
+ "weight": 256,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34516,7 +34624,7 @@
"x-appwrite": {
"method": "createRepositoryDetection",
"group": "repositories",
- "weight": 281,
+ "weight": 282,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34611,7 +34719,7 @@
"x-appwrite": {
"method": "listRepositories",
"group": "repositories",
- "weight": 282,
+ "weight": 283,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34692,7 +34800,7 @@
"x-appwrite": {
"method": "createRepository",
"group": "repositories",
- "weight": 283,
+ "weight": 284,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34775,7 +34883,7 @@
"x-appwrite": {
"method": "getRepository",
"group": "repositories",
- "weight": 284,
+ "weight": 285,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34841,7 +34949,7 @@
"x-appwrite": {
"method": "listRepositoryBranches",
"group": "repositories",
- "weight": 285,
+ "weight": 286,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34907,7 +35015,7 @@
"x-appwrite": {
"method": "getRepositoryContents",
"group": "repositories",
- "weight": 280,
+ "weight": 281,
"cookies": false,
"type": "",
"deprecated": false,
@@ -34981,7 +35089,7 @@
"x-appwrite": {
"method": "updateExternalDeployments",
"group": "repositories",
- "weight": 290,
+ "weight": 291,
"cookies": false,
"type": "",
"deprecated": false,
@@ -35065,7 +35173,7 @@
"x-appwrite": {
"method": "listInstallations",
"group": "installations",
- "weight": 287,
+ "weight": 288,
"cookies": false,
"type": "",
"deprecated": false,
@@ -35136,7 +35244,7 @@
"x-appwrite": {
"method": "getInstallation",
"group": "installations",
- "weight": 288,
+ "weight": 289,
"cookies": false,
"type": "",
"deprecated": false,
@@ -35189,7 +35297,7 @@
"x-appwrite": {
"method": "deleteInstallation",
"group": "installations",
- "weight": 289,
+ "weight": 290,
"cookies": false,
"type": "",
"deprecated": false,
diff --git a/app/config/specs/swagger2-latest-server.json b/app/config/specs/swagger2-latest-server.json
index d2924041c0e..083290bcc05 100644
--- a/app/config/specs/swagger2-latest-server.json
+++ b/app/config/specs/swagger2-latest-server.json
@@ -1,7 +1,7 @@
{
"swagger": "2.0",
"info": {
- "version": "1.7.0",
+ "version": "1.7.4",
"title": "Appwrite",
"description": "Appwrite backend as a service cuts up to 70% of the time and costs required for building a modern application. We abstract and simplify common development tasks behind a REST APIs, to help you develop your app in a fast and secure way. For full API documentation and tutorials go to [https:\/\/appwrite.io\/docs](https:\/\/appwrite.io\/docs)",
"termsOfService": "https:\/\/appwrite.io\/policy\/terms",
@@ -7769,7 +7769,7 @@
"x-appwrite": {
"method": "upsertDocuments",
"group": "documents",
- "weight": 115,
+ "weight": 116,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7820,13 +7820,16 @@
"documents": {
"type": "array",
"description": "Array of document data as JSON objects. May contain partial documents.",
- "default": [],
+ "default": null,
"x-example": null,
"items": {
"type": "object"
}
}
- }
+ },
+ "required": [
+ "documents"
+ ]
}
}
]
@@ -7855,7 +7858,7 @@
"x-appwrite": {
"method": "updateDocuments",
"group": "documents",
- "weight": 114,
+ "weight": 115,
"cookies": false,
"type": "",
"deprecated": false,
@@ -7947,7 +7950,7 @@
"x-appwrite": {
"method": "deleteDocuments",
"group": "documents",
- "weight": 117,
+ "weight": 118,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8101,6 +8104,113 @@
}
]
},
+ "put": {
+ "summary": "Upsert document",
+ "operationId": "databasesUpsertDocument",
+ "consumes": [
+ "application\/json"
+ ],
+ "produces": [
+ "application\/json"
+ ],
+ "tags": [
+ "databases"
+ ],
+ "description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
+ "responses": {
+ "200": {
+ "description": "Document",
+ "schema": {
+ "$ref": "#\/definitions\/document"
+ }
+ }
+ },
+ "x-appwrite": {
+ "method": "upsertDocument",
+ "group": "documents",
+ "weight": 114,
+ "cookies": false,
+ "type": "",
+ "deprecated": false,
+ "demo": "databases\/upsert-document.md",
+ "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md",
+ "rate-limit": 120,
+ "rate-time": 60,
+ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}",
+ "scope": "documents.write",
+ "platforms": [
+ "client",
+ "server",
+ "server"
+ ],
+ "packaging": false,
+ "auth": {
+ "Project": [],
+ "Session": []
+ }
+ },
+ "security": [
+ {
+ "Project": [],
+ "Session": [],
+ "Key": [],
+ "JWT": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "databaseId",
+ "description": "Database ID.",
+ "required": true,
+ "type": "string",
+ "x-example": "",
+ "in": "path"
+ },
+ {
+ "name": "collectionId",
+ "description": "Collection ID.",
+ "required": true,
+ "type": "string",
+ "x-example": "",
+ "in": "path"
+ },
+ {
+ "name": "documentId",
+ "description": "Document ID.",
+ "required": true,
+ "type": "string",
+ "x-example": "",
+ "in": "path"
+ },
+ {
+ "name": "payload",
+ "in": "body",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "data": {
+ "type": "object",
+ "description": "Document data as JSON object. Include all required attributes of the document to be created or updated.",
+ "default": {},
+ "x-example": "{}"
+ },
+ "permissions": {
+ "type": "array",
+ "description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).",
+ "default": null,
+ "x-example": "[\"read(\"any\")\"]",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "data"
+ ]
+ }
+ }
+ ]
+ },
"patch": {
"summary": "Update document",
"operationId": "databasesUpdateDocument",
@@ -8224,7 +8334,7 @@
"x-appwrite": {
"method": "deleteDocument",
"group": "documents",
- "weight": 116,
+ "weight": 117,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8657,7 +8767,7 @@
"x-appwrite": {
"method": "list",
"group": "functions",
- "weight": 375,
+ "weight": 376,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8730,7 +8840,7 @@
"x-appwrite": {
"method": "create",
"group": "functions",
- "weight": 372,
+ "weight": 373,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8980,7 +9090,7 @@
"x-appwrite": {
"method": "listRuntimes",
"group": "runtimes",
- "weight": 377,
+ "weight": 378,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9030,7 +9140,7 @@
"x-appwrite": {
"method": "listSpecifications",
"group": "runtimes",
- "weight": 378,
+ "weight": 379,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9081,7 +9191,7 @@
"x-appwrite": {
"method": "get",
"group": "functions",
- "weight": 373,
+ "weight": 374,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9141,7 +9251,7 @@
"x-appwrite": {
"method": "update",
"group": "functions",
- "weight": 374,
+ "weight": 375,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9387,7 +9497,7 @@
"x-appwrite": {
"method": "delete",
"group": "functions",
- "weight": 376,
+ "weight": 377,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9449,7 +9559,7 @@
"x-appwrite": {
"method": "updateFunctionDeployment",
"group": "functions",
- "weight": 381,
+ "weight": 382,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9527,7 +9637,7 @@
"x-appwrite": {
"method": "listDeployments",
"group": "deployments",
- "weight": 382,
+ "weight": 383,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9608,7 +9718,7 @@
"x-appwrite": {
"method": "createDeployment",
"group": "deployments",
- "weight": 379,
+ "weight": 380,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -9701,7 +9811,7 @@
"x-appwrite": {
"method": "createDuplicateDeployment",
"group": "deployments",
- "weight": 387,
+ "weight": 388,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9787,7 +9897,7 @@
"x-appwrite": {
"method": "createTemplateDeployment",
"group": "deployments",
- "weight": 384,
+ "weight": 385,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9894,7 +10004,7 @@
"x-appwrite": {
"method": "createVcsDeployment",
"group": "deployments",
- "weight": 385,
+ "weight": 386,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9991,7 +10101,7 @@
"x-appwrite": {
"method": "getDeployment",
"group": "deployments",
- "weight": 380,
+ "weight": 381,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10054,7 +10164,7 @@
"x-appwrite": {
"method": "deleteDeployment",
"group": "deployments",
- "weight": 383,
+ "weight": 384,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10122,7 +10232,7 @@
"x-appwrite": {
"method": "getDeploymentDownload",
"group": "deployments",
- "weight": 386,
+ "weight": 387,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -10209,7 +10319,7 @@
"x-appwrite": {
"method": "updateDeploymentStatus",
"group": "deployments",
- "weight": 388,
+ "weight": 389,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10277,7 +10387,7 @@
"x-appwrite": {
"method": "listExecutions",
"group": "executions",
- "weight": 391,
+ "weight": 392,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10353,7 +10463,7 @@
"x-appwrite": {
"method": "createExecution",
"group": "executions",
- "weight": 389,
+ "weight": 390,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10472,7 +10582,7 @@
"x-appwrite": {
"method": "getExecution",
"group": "executions",
- "weight": 390,
+ "weight": 391,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10539,7 +10649,7 @@
"x-appwrite": {
"method": "deleteExecution",
"group": "executions",
- "weight": 392,
+ "weight": 393,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10607,7 +10717,7 @@
"x-appwrite": {
"method": "listVariables",
"group": "variables",
- "weight": 397,
+ "weight": 398,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10667,7 +10777,7 @@
"x-appwrite": {
"method": "createVariable",
"group": "variables",
- "weight": 395,
+ "weight": 396,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10758,7 +10868,7 @@
"x-appwrite": {
"method": "getVariable",
"group": "variables",
- "weight": 396,
+ "weight": 397,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10826,7 +10936,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": "variables",
- "weight": 398,
+ "weight": 399,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10919,7 +11029,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": "variables",
- "weight": 399,
+ "weight": 400,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10989,7 +11099,7 @@
"x-appwrite": {
"method": "query",
"group": "graphql",
- "weight": 305,
+ "weight": 306,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -11065,7 +11175,7 @@
"x-appwrite": {
"method": "mutation",
"group": "graphql",
- "weight": 304,
+ "weight": 305,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -11139,7 +11249,7 @@
"x-appwrite": {
"method": "get",
"group": "health",
- "weight": 129,
+ "weight": 130,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11189,7 +11299,7 @@
"x-appwrite": {
"method": "getAntivirus",
"group": "health",
- "weight": 150,
+ "weight": 151,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11239,7 +11349,7 @@
"x-appwrite": {
"method": "getCache",
"group": "health",
- "weight": 132,
+ "weight": 133,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11289,7 +11399,7 @@
"x-appwrite": {
"method": "getCertificate",
"group": "health",
- "weight": 137,
+ "weight": 138,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11348,7 +11458,7 @@
"x-appwrite": {
"method": "getDB",
"group": "health",
- "weight": 131,
+ "weight": 132,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11398,7 +11508,7 @@
"x-appwrite": {
"method": "getPubSub",
"group": "health",
- "weight": 133,
+ "weight": 134,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11448,7 +11558,7 @@
"x-appwrite": {
"method": "getQueueBuilds",
"group": "queue",
- "weight": 139,
+ "weight": 140,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11509,7 +11619,7 @@
"x-appwrite": {
"method": "getQueueCertificates",
"group": "queue",
- "weight": 138,
+ "weight": 139,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11570,7 +11680,7 @@
"x-appwrite": {
"method": "getQueueDatabases",
"group": "queue",
- "weight": 140,
+ "weight": 141,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11640,7 +11750,7 @@
"x-appwrite": {
"method": "getQueueDeletes",
"group": "queue",
- "weight": 141,
+ "weight": 142,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11701,7 +11811,7 @@
"x-appwrite": {
"method": "getFailedJobs",
"group": "queue",
- "weight": 151,
+ "weight": 152,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11786,7 +11896,7 @@
"x-appwrite": {
"method": "getQueueFunctions",
"group": "queue",
- "weight": 145,
+ "weight": 146,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11847,7 +11957,7 @@
"x-appwrite": {
"method": "getQueueLogs",
"group": "queue",
- "weight": 136,
+ "weight": 137,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11908,7 +12018,7 @@
"x-appwrite": {
"method": "getQueueMails",
"group": "queue",
- "weight": 142,
+ "weight": 143,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11969,7 +12079,7 @@
"x-appwrite": {
"method": "getQueueMessaging",
"group": "queue",
- "weight": 143,
+ "weight": 144,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12030,7 +12140,7 @@
"x-appwrite": {
"method": "getQueueMigrations",
"group": "queue",
- "weight": 144,
+ "weight": 145,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12091,7 +12201,7 @@
"x-appwrite": {
"method": "getQueueStatsResources",
"group": "queue",
- "weight": 146,
+ "weight": 147,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12152,7 +12262,7 @@
"x-appwrite": {
"method": "getQueueUsage",
"group": "queue",
- "weight": 147,
+ "weight": 148,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12213,7 +12323,7 @@
"x-appwrite": {
"method": "getQueueWebhooks",
"group": "queue",
- "weight": 135,
+ "weight": 136,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12274,7 +12384,7 @@
"x-appwrite": {
"method": "getStorage",
"group": "storage",
- "weight": 149,
+ "weight": 150,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12324,7 +12434,7 @@
"x-appwrite": {
"method": "getStorageLocal",
"group": "storage",
- "weight": 148,
+ "weight": 149,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12374,7 +12484,7 @@
"x-appwrite": {
"method": "getTime",
"group": "health",
- "weight": 134,
+ "weight": 135,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12424,7 +12534,7 @@
"x-appwrite": {
"method": "get",
"group": null,
- "weight": 121,
+ "weight": 122,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12478,7 +12588,7 @@
"x-appwrite": {
"method": "listCodes",
"group": null,
- "weight": 122,
+ "weight": 123,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12532,7 +12642,7 @@
"x-appwrite": {
"method": "listContinents",
"group": null,
- "weight": 126,
+ "weight": 127,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12586,7 +12696,7 @@
"x-appwrite": {
"method": "listCountries",
"group": null,
- "weight": 123,
+ "weight": 124,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12640,7 +12750,7 @@
"x-appwrite": {
"method": "listCountriesEU",
"group": null,
- "weight": 124,
+ "weight": 125,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12694,7 +12804,7 @@
"x-appwrite": {
"method": "listCountriesPhones",
"group": null,
- "weight": 125,
+ "weight": 126,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12748,7 +12858,7 @@
"x-appwrite": {
"method": "listCurrencies",
"group": null,
- "weight": 127,
+ "weight": 128,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12802,7 +12912,7 @@
"x-appwrite": {
"method": "listLanguages",
"group": null,
- "weight": 128,
+ "weight": 129,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12856,7 +12966,7 @@
"x-appwrite": {
"method": "listMessages",
"group": "messages",
- "weight": 359,
+ "weight": 360,
"cookies": false,
"type": "",
"deprecated": false,
@@ -12932,7 +13042,7 @@
"x-appwrite": {
"method": "createEmail",
"group": "messages",
- "weight": 356,
+ "weight": 357,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13091,7 +13201,7 @@
"x-appwrite": {
"method": "updateEmail",
"group": "messages",
- "weight": 363,
+ "weight": 364,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13247,7 +13357,7 @@
"x-appwrite": {
"method": "createPush",
"group": "messages",
- "weight": 358,
+ "weight": 359,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13443,7 +13553,7 @@
"x-appwrite": {
"method": "updatePush",
"group": "messages",
- "weight": 365,
+ "weight": 366,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13638,7 +13748,7 @@
"x-appwrite": {
"method": "createSms",
"group": "messages",
- "weight": 357,
+ "weight": 358,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13757,7 +13867,7 @@
"x-appwrite": {
"method": "updateSms",
"group": "messages",
- "weight": 364,
+ "weight": 365,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13872,7 +13982,7 @@
"x-appwrite": {
"method": "getMessage",
"group": "messages",
- "weight": 362,
+ "weight": 363,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13928,7 +14038,7 @@
"x-appwrite": {
"method": "delete",
"group": "messages",
- "weight": 366,
+ "weight": 367,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13989,7 +14099,7 @@
"x-appwrite": {
"method": "listMessageLogs",
"group": "logs",
- "weight": 360,
+ "weight": 361,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14062,7 +14172,7 @@
"x-appwrite": {
"method": "listTargets",
"group": "messages",
- "weight": 361,
+ "weight": 362,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14135,7 +14245,7 @@
"x-appwrite": {
"method": "listProviders",
"group": "providers",
- "weight": 331,
+ "weight": 332,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14211,7 +14321,7 @@
"x-appwrite": {
"method": "createApnsProvider",
"group": "providers",
- "weight": 330,
+ "weight": 331,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14327,7 +14437,7 @@
"x-appwrite": {
"method": "updateApnsProvider",
"group": "providers",
- "weight": 343,
+ "weight": 344,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14441,7 +14551,7 @@
"x-appwrite": {
"method": "createFcmProvider",
"group": "providers",
- "weight": 329,
+ "weight": 330,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14533,7 +14643,7 @@
"x-appwrite": {
"method": "updateFcmProvider",
"group": "providers",
- "weight": 342,
+ "weight": 343,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14623,7 +14733,7 @@
"x-appwrite": {
"method": "createMailgunProvider",
"group": "providers",
- "weight": 321,
+ "weight": 322,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14751,7 +14861,7 @@
"x-appwrite": {
"method": "updateMailgunProvider",
"group": "providers",
- "weight": 334,
+ "weight": 335,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14877,7 +14987,7 @@
"x-appwrite": {
"method": "createMsg91Provider",
"group": "providers",
- "weight": 324,
+ "weight": 325,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14981,7 +15091,7 @@
"x-appwrite": {
"method": "updateMsg91Provider",
"group": "providers",
- "weight": 337,
+ "weight": 338,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15083,7 +15193,7 @@
"x-appwrite": {
"method": "createSendgridProvider",
"group": "providers",
- "weight": 322,
+ "weight": 323,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15199,7 +15309,7 @@
"x-appwrite": {
"method": "updateSendgridProvider",
"group": "providers",
- "weight": 335,
+ "weight": 336,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15313,7 +15423,7 @@
"x-appwrite": {
"method": "createSmtpProvider",
"group": "providers",
- "weight": 323,
+ "weight": 324,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15473,7 +15583,7 @@
"x-appwrite": {
"method": "updateSmtpProvider",
"group": "providers",
- "weight": 336,
+ "weight": 337,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15630,7 +15740,7 @@
"x-appwrite": {
"method": "createTelesignProvider",
"group": "providers",
- "weight": 325,
+ "weight": 326,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15734,7 +15844,7 @@
"x-appwrite": {
"method": "updateTelesignProvider",
"group": "providers",
- "weight": 338,
+ "weight": 339,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15836,7 +15946,7 @@
"x-appwrite": {
"method": "createTextmagicProvider",
"group": "providers",
- "weight": 326,
+ "weight": 327,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15940,7 +16050,7 @@
"x-appwrite": {
"method": "updateTextmagicProvider",
"group": "providers",
- "weight": 339,
+ "weight": 340,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16042,7 +16152,7 @@
"x-appwrite": {
"method": "createTwilioProvider",
"group": "providers",
- "weight": 327,
+ "weight": 328,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16146,7 +16256,7 @@
"x-appwrite": {
"method": "updateTwilioProvider",
"group": "providers",
- "weight": 340,
+ "weight": 341,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16248,7 +16358,7 @@
"x-appwrite": {
"method": "createVonageProvider",
"group": "providers",
- "weight": 328,
+ "weight": 329,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16352,7 +16462,7 @@
"x-appwrite": {
"method": "updateVonageProvider",
"group": "providers",
- "weight": 341,
+ "weight": 342,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16452,7 +16562,7 @@
"x-appwrite": {
"method": "getProvider",
"group": "providers",
- "weight": 333,
+ "weight": 334,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16508,7 +16618,7 @@
"x-appwrite": {
"method": "deleteProvider",
"group": "providers",
- "weight": 344,
+ "weight": 345,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16569,7 +16679,7 @@
"x-appwrite": {
"method": "listProviderLogs",
"group": "providers",
- "weight": 332,
+ "weight": 333,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16642,7 +16752,7 @@
"x-appwrite": {
"method": "listSubscriberLogs",
"group": "subscribers",
- "weight": 353,
+ "weight": 354,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16715,7 +16825,7 @@
"x-appwrite": {
"method": "listTopics",
"group": "topics",
- "weight": 346,
+ "weight": 347,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16789,7 +16899,7 @@
"x-appwrite": {
"method": "createTopic",
"group": "topics",
- "weight": 345,
+ "weight": 346,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16878,7 +16988,7 @@
"x-appwrite": {
"method": "getTopic",
"group": "topics",
- "weight": 348,
+ "weight": 349,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16939,7 +17049,7 @@
"x-appwrite": {
"method": "updateTopic",
"group": "topics",
- "weight": 349,
+ "weight": 350,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17019,7 +17129,7 @@
"x-appwrite": {
"method": "deleteTopic",
"group": "topics",
- "weight": 350,
+ "weight": 351,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17080,7 +17190,7 @@
"x-appwrite": {
"method": "listTopicLogs",
"group": "topics",
- "weight": 347,
+ "weight": 348,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17153,7 +17263,7 @@
"x-appwrite": {
"method": "listSubscribers",
"group": "subscribers",
- "weight": 352,
+ "weight": 353,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17235,7 +17345,7 @@
"x-appwrite": {
"method": "createSubscriber",
"group": "subscribers",
- "weight": 351,
+ "weight": 352,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17325,7 +17435,7 @@
"x-appwrite": {
"method": "getSubscriber",
"group": "subscribers",
- "weight": 354,
+ "weight": 355,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17389,7 +17499,7 @@
"x-appwrite": {
"method": "deleteSubscriber",
"group": "subscribers",
- "weight": 355,
+ "weight": 356,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17462,7 +17572,7 @@
"x-appwrite": {
"method": "list",
"group": "sites",
- "weight": 404,
+ "weight": 405,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17535,7 +17645,7 @@
"x-appwrite": {
"method": "create",
"group": "sites",
- "weight": 402,
+ "weight": 403,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17801,7 +17911,7 @@
"x-appwrite": {
"method": "listFrameworks",
"group": "frameworks",
- "weight": 407,
+ "weight": 408,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17851,7 +17961,7 @@
"x-appwrite": {
"method": "listSpecifications",
"group": "frameworks",
- "weight": 430,
+ "weight": 431,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17902,7 +18012,7 @@
"x-appwrite": {
"method": "get",
"group": "sites",
- "weight": 403,
+ "weight": 404,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17962,7 +18072,7 @@
"x-appwrite": {
"method": "update",
"group": "sites",
- "weight": 405,
+ "weight": 406,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18223,7 +18333,7 @@
"x-appwrite": {
"method": "delete",
"group": "sites",
- "weight": 406,
+ "weight": 407,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18285,7 +18395,7 @@
"x-appwrite": {
"method": "updateSiteDeployment",
"group": "sites",
- "weight": 413,
+ "weight": 414,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18363,7 +18473,7 @@
"x-appwrite": {
"method": "listDeployments",
"group": "deployments",
- "weight": 412,
+ "weight": 413,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18444,7 +18554,7 @@
"x-appwrite": {
"method": "createDeployment",
"group": "deployments",
- "weight": 408,
+ "weight": 409,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -18545,7 +18655,7 @@
"x-appwrite": {
"method": "createDuplicateDeployment",
"group": "deployments",
- "weight": 416,
+ "weight": 417,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18625,7 +18735,7 @@
"x-appwrite": {
"method": "createTemplateDeployment",
"group": "deployments",
- "weight": 409,
+ "weight": 410,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18732,7 +18842,7 @@
"x-appwrite": {
"method": "createVcsDeployment",
"group": "deployments",
- "weight": 410,
+ "weight": 411,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18830,7 +18940,7 @@
"x-appwrite": {
"method": "getDeployment",
"group": "deployments",
- "weight": 411,
+ "weight": 412,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18893,7 +19003,7 @@
"x-appwrite": {
"method": "deleteDeployment",
"group": "deployments",
- "weight": 414,
+ "weight": 415,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18961,7 +19071,7 @@
"x-appwrite": {
"method": "getDeploymentDownload",
"group": "deployments",
- "weight": 415,
+ "weight": 416,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -19048,7 +19158,7 @@
"x-appwrite": {
"method": "updateDeploymentStatus",
"group": "deployments",
- "weight": 417,
+ "weight": 418,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19116,7 +19226,7 @@
"x-appwrite": {
"method": "listLogs",
"group": "logs",
- "weight": 419,
+ "weight": 420,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19188,7 +19298,7 @@
"x-appwrite": {
"method": "getLog",
"group": "logs",
- "weight": 418,
+ "weight": 419,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19253,7 +19363,7 @@
"x-appwrite": {
"method": "deleteLog",
"group": "logs",
- "weight": 420,
+ "weight": 421,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19321,7 +19431,7 @@
"x-appwrite": {
"method": "listVariables",
"group": "variables",
- "weight": 423,
+ "weight": 424,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19381,7 +19491,7 @@
"x-appwrite": {
"method": "createVariable",
"group": "variables",
- "weight": 421,
+ "weight": 422,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19472,7 +19582,7 @@
"x-appwrite": {
"method": "getVariable",
"group": "variables",
- "weight": 422,
+ "weight": 423,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19540,7 +19650,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": "variables",
- "weight": 424,
+ "weight": 425,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19633,7 +19743,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": "variables",
- "weight": 425,
+ "weight": 426,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19701,7 +19811,7 @@
"x-appwrite": {
"method": "listBuckets",
"group": "buckets",
- "weight": 206,
+ "weight": 207,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19774,7 +19884,7 @@
"x-appwrite": {
"method": "createBucket",
"group": "buckets",
- "weight": 205,
+ "weight": 206,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19912,7 +20022,7 @@
"x-appwrite": {
"method": "getBucket",
"group": "buckets",
- "weight": 207,
+ "weight": 208,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19972,7 +20082,7 @@
"x-appwrite": {
"method": "updateBucket",
"group": "buckets",
- "weight": 208,
+ "weight": 209,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20106,7 +20216,7 @@
"x-appwrite": {
"method": "deleteBucket",
"group": "buckets",
- "weight": 209,
+ "weight": 210,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20166,7 +20276,7 @@
"x-appwrite": {
"method": "listFiles",
"group": "files",
- "weight": 211,
+ "weight": 212,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20251,7 +20361,7 @@
"x-appwrite": {
"method": "createFile",
"group": "files",
- "weight": 210,
+ "weight": 211,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -20343,7 +20453,7 @@
"x-appwrite": {
"method": "getFile",
"group": "files",
- "weight": 212,
+ "weight": 213,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20415,7 +20525,7 @@
"x-appwrite": {
"method": "updateFile",
"group": "files",
- "weight": 217,
+ "weight": 218,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20506,7 +20616,7 @@
"x-appwrite": {
"method": "deleteFile",
"group": "files",
- "weight": 218,
+ "weight": 219,
"cookies": false,
"type": "",
"deprecated": false,
@@ -20578,7 +20688,7 @@
"x-appwrite": {
"method": "getFileDownload",
"group": "files",
- "weight": 214,
+ "weight": 215,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -20659,7 +20769,7 @@
"x-appwrite": {
"method": "getFilePreview",
"group": "files",
- "weight": 213,
+ "weight": 214,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -20867,7 +20977,7 @@
"x-appwrite": {
"method": "getFileView",
"group": "files",
- "weight": 215,
+ "weight": 216,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -20948,7 +21058,7 @@
"x-appwrite": {
"method": "list",
"group": "teams",
- "weight": 222,
+ "weight": 223,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21025,7 +21135,7 @@
"x-appwrite": {
"method": "create",
"group": "teams",
- "weight": 221,
+ "weight": 222,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21117,7 +21227,7 @@
"x-appwrite": {
"method": "get",
"group": "teams",
- "weight": 223,
+ "weight": 224,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21181,7 +21291,7 @@
"x-appwrite": {
"method": "updateName",
"group": "teams",
- "weight": 225,
+ "weight": 226,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21258,7 +21368,7 @@
"x-appwrite": {
"method": "delete",
"group": "teams",
- "weight": 227,
+ "weight": 228,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21322,7 +21432,7 @@
"x-appwrite": {
"method": "listMemberships",
"group": "memberships",
- "weight": 229,
+ "weight": 230,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21407,7 +21517,7 @@
"x-appwrite": {
"method": "createMembership",
"group": "memberships",
- "weight": 228,
+ "weight": 229,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21522,7 +21632,7 @@
"x-appwrite": {
"method": "getMembership",
"group": "memberships",
- "weight": 230,
+ "weight": 231,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21594,7 +21704,7 @@
"x-appwrite": {
"method": "updateMembership",
"group": "memberships",
- "weight": 231,
+ "weight": 232,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21682,7 +21792,7 @@
"x-appwrite": {
"method": "deleteMembership",
"group": "memberships",
- "weight": 233,
+ "weight": 234,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21756,7 +21866,7 @@
"x-appwrite": {
"method": "updateMembershipStatus",
"group": "memberships",
- "weight": 232,
+ "weight": 233,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21851,7 +21961,7 @@
"x-appwrite": {
"method": "getPrefs",
"group": "teams",
- "weight": 224,
+ "weight": 225,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21913,7 +22023,7 @@
"x-appwrite": {
"method": "updatePrefs",
"group": "teams",
- "weight": 226,
+ "weight": 227,
"cookies": false,
"type": "",
"deprecated": false,
@@ -21993,7 +22103,7 @@
"x-appwrite": {
"method": "list",
"group": "files",
- "weight": 438,
+ "weight": 439,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22062,7 +22172,7 @@
"tags": [
"tokens"
],
- "description": "Create a new token. A token is linked to a file. Token can be passed as a header or request get parameter.",
+ "description": "Create a new token. A token is linked to a file. Token can be passed as a request URL search parameter.",
"responses": {
"201": {
"description": "ResourceToken",
@@ -22074,12 +22184,12 @@
"x-appwrite": {
"method": "createFileToken",
"group": "files",
- "weight": 436,
+ "weight": 437,
"cookies": false,
"type": "",
"deprecated": false,
"demo": "tokens\/create-file-token.md",
- "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new token. A token is linked to a file. Token can be passed as a header or request get parameter.",
+ "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new token. A token is linked to a file. Token can be passed as a request URL search parameter.",
"rate-limit": 60,
"rate-time": 60,
"rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}",
@@ -22159,7 +22269,7 @@
"x-appwrite": {
"method": "get",
"group": "tokens",
- "weight": 437,
+ "weight": 438,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22220,7 +22330,7 @@
"x-appwrite": {
"method": "update",
"group": "tokens",
- "weight": 439,
+ "weight": 440,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22292,7 +22402,7 @@
"x-appwrite": {
"method": "delete",
"group": "tokens",
- "weight": 440,
+ "weight": 441,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22353,7 +22463,7 @@
"x-appwrite": {
"method": "list",
"group": "users",
- "weight": 244,
+ "weight": 245,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22426,7 +22536,7 @@
"x-appwrite": {
"method": "create",
"group": "users",
- "weight": 235,
+ "weight": 236,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22522,7 +22632,7 @@
"x-appwrite": {
"method": "createArgon2User",
"group": "users",
- "weight": 238,
+ "weight": 239,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22614,7 +22724,7 @@
"x-appwrite": {
"method": "createBcryptUser",
"group": "users",
- "weight": 236,
+ "weight": 237,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22704,7 +22814,7 @@
"x-appwrite": {
"method": "listIdentities",
"group": "identities",
- "weight": 252,
+ "weight": 253,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22774,7 +22884,7 @@
"x-appwrite": {
"method": "deleteIdentity",
"group": "identities",
- "weight": 275,
+ "weight": 276,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22836,7 +22946,7 @@
"x-appwrite": {
"method": "createMD5User",
"group": "users",
- "weight": 237,
+ "weight": 238,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22928,7 +23038,7 @@
"x-appwrite": {
"method": "createPHPassUser",
"group": "users",
- "weight": 240,
+ "weight": 241,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23020,7 +23130,7 @@
"x-appwrite": {
"method": "createScryptUser",
"group": "users",
- "weight": 241,
+ "weight": 242,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23147,7 +23257,7 @@
"x-appwrite": {
"method": "createScryptModifiedUser",
"group": "users",
- "weight": 242,
+ "weight": 243,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23260,7 +23370,7 @@
"x-appwrite": {
"method": "createSHAUser",
"group": "users",
- "weight": 239,
+ "weight": 240,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23371,7 +23481,7 @@
"x-appwrite": {
"method": "get",
"group": "users",
- "weight": 245,
+ "weight": 246,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23426,7 +23536,7 @@
"x-appwrite": {
"method": "delete",
"group": "users",
- "weight": 273,
+ "weight": 274,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23488,7 +23598,7 @@
"x-appwrite": {
"method": "updateEmail",
"group": "users",
- "weight": 258,
+ "weight": 259,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23568,7 +23678,7 @@
"x-appwrite": {
"method": "createJWT",
"group": "sessions",
- "weight": 276,
+ "weight": 277,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23651,7 +23761,7 @@
"x-appwrite": {
"method": "updateLabels",
"group": "users",
- "weight": 254,
+ "weight": 255,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23732,7 +23842,7 @@
"x-appwrite": {
"method": "listLogs",
"group": "logs",
- "weight": 250,
+ "weight": 251,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23804,7 +23914,7 @@
"x-appwrite": {
"method": "listMemberships",
"group": "memberships",
- "weight": 249,
+ "weight": 250,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23887,7 +23997,7 @@
"x-appwrite": {
"method": "updateMfa",
"group": "users",
- "weight": 263,
+ "weight": 264,
"cookies": false,
"type": "",
"deprecated": false,
@@ -23962,7 +24072,7 @@
"x-appwrite": {
"method": "deleteMfaAuthenticator",
"group": "mfa",
- "weight": 268,
+ "weight": 269,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24035,7 +24145,7 @@
"x-appwrite": {
"method": "listMfaFactors",
"group": "mfa",
- "weight": 264,
+ "weight": 265,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24095,7 +24205,7 @@
"x-appwrite": {
"method": "getMfaRecoveryCodes",
"group": "mfa",
- "weight": 265,
+ "weight": 266,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24155,7 +24265,7 @@
"x-appwrite": {
"method": "updateMfaRecoveryCodes",
"group": "mfa",
- "weight": 267,
+ "weight": 268,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24215,7 +24325,7 @@
"x-appwrite": {
"method": "createMfaRecoveryCodes",
"group": "mfa",
- "weight": 266,
+ "weight": 267,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24277,7 +24387,7 @@
"x-appwrite": {
"method": "updateName",
"group": "users",
- "weight": 256,
+ "weight": 257,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24357,7 +24467,7 @@
"x-appwrite": {
"method": "updatePassword",
"group": "users",
- "weight": 257,
+ "weight": 258,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24437,7 +24547,7 @@
"x-appwrite": {
"method": "updatePhone",
"group": "users",
- "weight": 259,
+ "weight": 260,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24515,7 +24625,7 @@
"x-appwrite": {
"method": "getPrefs",
"group": "users",
- "weight": 246,
+ "weight": 247,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24575,7 +24685,7 @@
"x-appwrite": {
"method": "updatePrefs",
"group": "users",
- "weight": 261,
+ "weight": 262,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24653,7 +24763,7 @@
"x-appwrite": {
"method": "listSessions",
"group": "sessions",
- "weight": 248,
+ "weight": 249,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24713,7 +24823,7 @@
"x-appwrite": {
"method": "createSession",
"group": "sessions",
- "weight": 269,
+ "weight": 270,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24768,7 +24878,7 @@
"x-appwrite": {
"method": "deleteSessions",
"group": "sessions",
- "weight": 272,
+ "weight": 273,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24825,7 +24935,7 @@
"x-appwrite": {
"method": "deleteSession",
"group": "sessions",
- "weight": 271,
+ "weight": 272,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24895,7 +25005,7 @@
"x-appwrite": {
"method": "updateStatus",
"group": "users",
- "weight": 253,
+ "weight": 254,
"cookies": false,
"type": "",
"deprecated": false,
@@ -24973,7 +25083,7 @@
"x-appwrite": {
"method": "listTargets",
"group": "targets",
- "weight": 251,
+ "weight": 252,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25046,7 +25156,7 @@
"x-appwrite": {
"method": "createTarget",
"group": "targets",
- "weight": 243,
+ "weight": 244,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25158,7 +25268,7 @@
"x-appwrite": {
"method": "getTarget",
"group": "targets",
- "weight": 247,
+ "weight": 248,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25227,7 +25337,7 @@
"x-appwrite": {
"method": "updateTarget",
"group": "targets",
- "weight": 262,
+ "weight": 263,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25318,7 +25428,7 @@
"x-appwrite": {
"method": "deleteTarget",
"group": "targets",
- "weight": 274,
+ "weight": 275,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25389,7 +25499,7 @@
"x-appwrite": {
"method": "createToken",
"group": "sessions",
- "weight": 270,
+ "weight": 271,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25472,7 +25582,7 @@
"x-appwrite": {
"method": "updateEmailVerification",
"group": "users",
- "weight": 260,
+ "weight": 261,
"cookies": false,
"type": "",
"deprecated": false,
@@ -25552,7 +25662,7 @@
"x-appwrite": {
"method": "updatePhoneVerification",
"group": "users",
- "weight": 255,
+ "weight": 256,
"cookies": false,
"type": "",
"deprecated": false,
diff --git a/app/config/template-runtimes.php b/app/config/template-runtimes.php
index 8f1c0198c2c..d1bb1a5b6ac 100644
--- a/app/config/template-runtimes.php
+++ b/app/config/template-runtimes.php
@@ -14,7 +14,7 @@
],
'DART' => [
'name' => 'dart',
- 'versions' => ['3.5', '3.3', '3.1', '3.0', '2.19', '2.18', '2.17', '2.16']
+ 'versions' => ['3.8', '3.5', '3.3', '3.1', '3.0', '2.19', '2.18', '2.17', '2.16']
],
'GO' => [
'name' => 'go',
@@ -38,6 +38,6 @@
],
'FLUTTER' => [
'name' => 'flutter',
- 'versions' => ['3.24']
+ 'versions' => ['3.32', '3.24']
],
];
diff --git a/app/config/templates/site.php b/app/config/templates/site.php
index ab6d5c4d4d9..a853955a971 100644
--- a/app/config/templates/site.php
+++ b/app/config/templates/site.php
@@ -1351,4 +1351,23 @@ function getFramework(string $frameworkEnum, array $overrides)
'providerVersion' => '0.3.*',
'variables' => [],
],
+ [
+ 'key' => 'gallery-for-lynx',
+ 'name' => 'Lynx gallery',
+ 'tagline' => 'A Lynx website showcasing gallery with smooth animations.',
+ 'score' => 1, // 0 to 10 based on looks of screenshot (avoid 1,2,3,8,9,10 if possible)
+ 'useCases' => [UseCases::STARTER],
+ 'screenshotDark' => $url . '/images/sites/templates/gallery-for-lynx-dark.png',
+ 'screenshotLight' => $url . '/images/sites/templates/gallery-for-lynx-light.png',
+ 'frameworks' => [
+ getFramework('LYNX', [
+ 'providerRootDirectory' => './lynx/gallery',
+ ]),
+ ],
+ 'vcsProvider' => 'github',
+ 'providerRepositoryId' => 'templates-for-sites',
+ 'providerOwner' => 'appwrite',
+ 'providerVersion' => '0.3.*',
+ 'variables' => []
+ ],
];
diff --git a/app/config/variables.php b/app/config/variables.php
index da41666845c..2f9a5ab41af 100644
--- a/app/config/variables.php
+++ b/app/config/variables.php
@@ -106,6 +106,15 @@
'question' => '',
'filter' => ''
],
+ [
+ 'name' => '_APP_DOMAIN_SITES',
+ 'description' => 'A domain to use for site preview URLs.',
+ 'introduction' => '',
+ 'default' => 'sites.localhost',
+ 'required' => false,
+ 'question' => '',
+ 'filter' => ''
+ ],
[
'name' => '_APP_DOMAIN_TARGET',
'description' => 'Deprecated since 1.7.0. A DNS A record hostname to serve as a CNAME target for your Appwrite custom domains. You can use the same value as used for the Appwrite \'_APP_DOMAIN\' variable. The default value is \'localhost\'.',
diff --git a/app/controllers/api/databases.php b/app/controllers/api/databases.php
index 62ddd41daac..dcf547b6885 100644
--- a/app/controllers/api/databases.php
+++ b/app/controllers/api/databases.php
@@ -3785,7 +3785,12 @@ function updateAttribute(
throw new Exception(Exception::GENERAL_QUERY_INVALID, $e->getMessage());
}
- $document = $dbForProject->getDocument('database_' . $database->getInternalId() . '_collection_' . $collection->getInternalId(), $documentId, $queries);
+ try {
+ $document = $dbForProject->getDocument('database_' . $database->getInternalId() . '_collection_' . $collection->getInternalId(), $documentId, $queries);
+ } catch (QueryException $e) {
+ throw new Exception(Exception::GENERAL_QUERY_INVALID, $e->getMessage());
+ }
+
if ($document->isEmpty()) {
throw new Exception(Exception::DOCUMENT_NOT_FOUND);
}
@@ -4202,6 +4207,244 @@ function updateAttribute(
$response->dynamic($document, Response::MODEL_DOCUMENT);
});
+App::put('/v1/databases/:databaseId/collections/:collectionId/documents/:documentId')
+ ->desc('Upsert document')
+ ->groups(['api', 'database'])
+ ->label('event', 'databases.[databaseId].collections.[collectionId].documents.[documentId].upsert')
+ ->label('scope', 'documents.write')
+ ->label('resourceType', RESOURCE_TYPE_DATABASES)
+ ->label('audits.event', 'document.upsert')
+ ->label('audits.resource', 'database/{request.databaseId}/collection/{request.collectionId}/document/{response.$id}')
+ ->label('abuse-key', 'ip:{ip},method:{method},url:{url},userId:{userId}')
+ ->label('abuse-limit', APP_LIMIT_WRITE_RATE_DEFAULT * 2)
+ ->label('abuse-time', APP_LIMIT_WRITE_RATE_PERIOD_DEFAULT)
+ ->label('sdk', new Method(
+ namespace: 'databases',
+ group: 'documents',
+ name: 'upsertDocument',
+ description: '/docs/references/databases/upsert-document.md',
+ auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT],
+ responses: [
+ new SDKResponse(
+ code: Response::STATUS_CODE_OK,
+ model: Response::MODEL_DOCUMENT,
+ )
+ ],
+ contentType: ContentType::JSON
+ ))
+ ->param('databaseId', '', new UID(), 'Database ID.')
+ ->param('collectionId', '', new UID(), 'Collection ID.')
+ ->param('documentId', '', new CustomId(), 'Document ID.')
+ ->param('data', [], new JSON(), 'Document data as JSON object. Include all required attributes of the document to be created or updated.')
+ ->param('permissions', null, new Permissions(APP_LIMIT_ARRAY_PARAMS_SIZE, [Database::PERMISSION_READ, Database::PERMISSION_UPDATE, Database::PERMISSION_DELETE, Database::PERMISSION_WRITE]), 'An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions).', true)
+ ->inject('requestTimestamp')
+ ->inject('response')
+ ->inject('dbForProject')
+ ->inject('queueForEvents')
+ ->inject('queueForStatsUsage')
+ ->action(function (string $databaseId, string $collectionId, string $documentId, string|array $data, ?array $permissions, ?\DateTime $requestTimestamp, Response $response, Database $dbForProject, Event $queueForEvents, StatsUsage $queueForStatsUsage) {
+ $data = (\is_string($data)) ? \json_decode($data, true) : $data; // Cast to JSON array
+
+ if (empty($data) && \is_null($permissions)) {
+ throw new Exception(Exception::DOCUMENT_MISSING_PAYLOAD);
+ }
+
+ $isAPIKey = Auth::isAppUser(Authorization::getRoles());
+ $isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles());
+
+ $database = Authorization::skip(fn () => $dbForProject->getDocument('databases', $databaseId));
+ if ($database->isEmpty() || (!$database->getAttribute('enabled', false) && !$isAPIKey && !$isPrivilegedUser)) {
+ throw new Exception(Exception::DATABASE_NOT_FOUND);
+ }
+
+ $collection = Authorization::skip(fn () => $dbForProject->getDocument('database_' . $database->getInternalId(), $collectionId));
+ if ($collection->isEmpty() || (!$collection->getAttribute('enabled', false) && !$isAPIKey && !$isPrivilegedUser)) {
+ throw new Exception(Exception::COLLECTION_NOT_FOUND);
+ }
+
+ // Map aggregate permissions into the multiple permissions they represent.
+ $permissions = Permission::aggregate($permissions, [
+ Database::PERMISSION_READ,
+ Database::PERMISSION_UPDATE,
+ Database::PERMISSION_DELETE,
+ ]);
+
+ // Users can only manage their own roles, API keys and Admin users can manage any
+ $roles = Authorization::getRoles();
+ if (!$isAPIKey && !$isPrivilegedUser && !\is_null($permissions)) {
+ foreach (Database::PERMISSIONS as $type) {
+ foreach ($permissions as $permission) {
+ $permission = Permission::parse($permission);
+ if ($permission->getPermission() != $type) {
+ continue;
+ }
+ $role = (new Role(
+ $permission->getRole(),
+ $permission->getIdentifier(),
+ $permission->getDimension()
+ ))->toString();
+ if (!Authorization::isRole($role)) {
+ throw new Exception(Exception::USER_UNAUTHORIZED, 'Permissions must be one of: (' . \implode(', ', $roles) . ')');
+ }
+ }
+ }
+ }
+
+ $data['$id'] = $documentId;
+ $data['$permissions'] = $permissions;
+ $newDocument = new Document($data);
+
+ $operations = 0;
+
+ $setCollection = (function (Document $collection, Document $document) use (&$setCollection, $dbForProject, $database, &$operations) {
+
+ $operations++;
+
+ $relationships = \array_filter(
+ $collection->getAttribute('attributes', []),
+ fn ($attribute) => $attribute->getAttribute('type') === Database::VAR_RELATIONSHIP
+ );
+
+ foreach ($relationships as $relationship) {
+ $related = $document->getAttribute($relationship->getAttribute('key'));
+
+ if (empty($related)) {
+ continue;
+ }
+
+ $isList = \is_array($related) && \array_values($related) === $related;
+
+ if ($isList) {
+ $relations = $related;
+ } else {
+ $relations = [$related];
+ }
+
+ $relatedCollectionId = $relationship->getAttribute('relatedCollection');
+ $relatedCollection = Authorization::skip(
+ fn () => $dbForProject->getDocument('database_' . $database->getInternalId(), $relatedCollectionId)
+ );
+
+ foreach ($relations as &$relation) {
+ // If the relation is an array it can be either update or create a child document.
+ if (
+ \is_array($relation)
+ && \array_values($relation) !== $relation
+ && !isset($relation['$id'])
+ ) {
+ $relation['$id'] = ID::unique();
+ $relation = new Document($relation);
+ }
+ if ($relation instanceof Document) {
+ $oldDocument = Authorization::skip(fn () => $dbForProject->getDocument(
+ 'database_' . $database->getInternalId() . '_collection_' . $relatedCollection->getInternalId(),
+ $relation->getId()
+ ));
+ $relation->removeAttribute('$collectionId');
+ $relation->removeAttribute('$databaseId');
+ // Attribute $collection is required for Utopia.
+ $relation->setAttribute(
+ '$collection',
+ 'database_' . $database->getInternalId() . '_collection_' . $relatedCollection->getInternalId()
+ );
+
+ if ($oldDocument->isEmpty()) {
+ if (isset($relation['$id']) && $relation['$id'] === 'unique()') {
+ $relation['$id'] = ID::unique();
+ }
+ }
+ $setCollection($relatedCollection, $relation);
+ }
+ }
+
+ if ($isList) {
+ $document->setAttribute($relationship->getAttribute('key'), \array_values($relations));
+ } else {
+ $document->setAttribute($relationship->getAttribute('key'), \reset($relations));
+ }
+ }
+ });
+
+ $setCollection($collection, $newDocument);
+
+ $queueForStatsUsage
+ ->addMetric(METRIC_DATABASES_OPERATIONS_WRITES, \max(1, $operations))
+ ->addMetric(str_replace('{databaseInternalId}', $database->getInternalId(), METRIC_DATABASE_ID_OPERATIONS_WRITES), \max(1, $operations));
+
+ $upserted = [];
+ try {
+ $modified = $dbForProject->createOrUpdateDocuments(
+ 'database_' . $database->getInternalId() . '_collection_' . $collection->getInternalId(),
+ [$newDocument],
+ onNext: function (Document $document) use (&$upserted) {
+ $upserted[] = $document;
+ },
+ );
+ } catch (ConflictException) {
+ throw new Exception(Exception::DOCUMENT_UPDATE_CONFLICT);
+ } catch (DuplicateException) {
+ throw new Exception(Exception::DOCUMENT_ALREADY_EXISTS);
+ } catch (RelationshipException $e) {
+ throw new Exception(Exception::RELATIONSHIP_VALUE_INVALID, $e->getMessage());
+ } catch (StructureException $e) {
+ throw new Exception(Exception::DOCUMENT_INVALID_STRUCTURE, $e->getMessage());
+ }
+
+ $document = $upserted[0];
+ // Add $collectionId and $databaseId for all documents
+ $processDocument = function (Document $collection, Document $document) use (&$processDocument, $dbForProject, $database) {
+ $document->setAttribute('$databaseId', $database->getId());
+ $document->setAttribute('$collectionId', $collection->getId());
+
+ $relationships = \array_filter(
+ $collection->getAttribute('attributes', []),
+ fn ($attribute) => $attribute->getAttribute('type') === Database::VAR_RELATIONSHIP
+ );
+
+ foreach ($relationships as $relationship) {
+ $related = $document->getAttribute($relationship->getAttribute('key'));
+
+ if (empty($related)) {
+ continue;
+ }
+ if (!\is_array($related)) {
+ $related = [$related];
+ }
+
+ $relatedCollectionId = $relationship->getAttribute('relatedCollection');
+ $relatedCollection = Authorization::skip(
+ fn () => $dbForProject->getDocument('database_' . $database->getInternalId(), $relatedCollectionId)
+ );
+
+ foreach ($related as $relation) {
+ if ($relation instanceof Document) {
+ $processDocument($relatedCollection, $relation);
+ }
+ }
+ }
+ };
+
+ $processDocument($collection, $document);
+
+ $relationships = \array_map(
+ fn ($document) => $document->getAttribute('key'),
+ \array_filter(
+ $collection->getAttribute('attributes', []),
+ fn ($attribute) => $attribute->getAttribute('type') === Database::VAR_RELATIONSHIP
+ )
+ );
+
+ $queueForEvents
+ ->setParam('databaseId', $databaseId)
+ ->setParam('collectionId', $collection->getId())
+ ->setParam('documentId', $document->getId())
+ ->setContext('collection', $collection)
+ ->setContext('database', $database)
+ ->setPayload($response->getPayload(), sensitive: $relationships);
+
+ $response->dynamic($document, Response::MODEL_DOCUMENT);
+ });
+
App::patch('/v1/databases/:databaseId/collections/:collectionId/documents')
->desc('Update documents')
->groups(['api', 'database'])
@@ -4338,7 +4581,7 @@ function updateAttribute(
))
->param('databaseId', '', new UID(), 'Database ID.')
->param('collectionId', '', new UID(), 'Collection ID.')
- ->param('documents', [], fn (array $plan) => new ArrayList(new JSON(), $plan['databasesBatchSize'] ?? APP_LIMIT_DATABASE_BATCH), 'Array of document data as JSON objects. May contain partial documents.', true, ['plan'])
+ ->param('documents', [], fn (array $plan) => new ArrayList(new JSON(), $plan['databasesBatchSize'] ?? APP_LIMIT_DATABASE_BATCH), 'Array of document data as JSON objects. May contain partial documents.', false, ['plan'])
->inject('response')
->inject('dbForProject')
->inject('queueForStatsUsage')
diff --git a/app/controllers/api/health.php b/app/controllers/api/health.php
index 11fc4cc244b..b95eb432a18 100644
--- a/app/controllers/api/health.php
+++ b/app/controllers/api/health.php
@@ -3,13 +3,16 @@
use Appwrite\ClamAV\Network;
use Appwrite\Event\Event;
use Appwrite\Extend\Exception;
+use Appwrite\PubSub\Adapter\Pool as PubSubPool;
use Appwrite\SDK\AuthType;
use Appwrite\SDK\ContentType;
use Appwrite\SDK\Method;
use Appwrite\SDK\Response as SDKResponse;
use Appwrite\Utopia\Response;
use Utopia\App;
+use Utopia\Cache\Adapter\Pool as CachePool;
use Utopia\Config\Config;
+use Utopia\Database\Adapter\Pool as DatabasePool;
use Utopia\Database\Document;
use Utopia\Domains\Validator\PublicDomain;
use Utopia\Pools\Group;
@@ -34,8 +37,8 @@
namespace: 'health',
group: 'health',
name: 'get',
- auth: [AuthType::KEY],
description: '/docs/references/health/get.md',
+ auth: [AuthType::KEY],
responses: [
new SDKResponse(
code: Response::STATUS_CODE_OK,
@@ -70,11 +73,11 @@
->groups(['api', 'health'])
->label('scope', 'health.read')
->label('sdk', new Method(
- auth: [AuthType::KEY],
namespace: 'health',
group: 'health',
name: 'getDB',
description: '/docs/references/health/get-db.md',
+ auth: [AuthType::KEY],
responses: [
new SDKResponse(
code: Response::STATUS_CODE_OK,
@@ -86,8 +89,8 @@
->inject('response')
->inject('pools')
->action(function (Response $response, Group $pools) {
-
$output = [];
+ $failures = [];
$configs = [
'Console.DB' => Config::getParam('pools-console'),
@@ -97,7 +100,7 @@
foreach ($configs as $key => $config) {
foreach ($config as $database) {
try {
- $adapter = $pools->get($database)->pop()->getResource();
+ $adapter = new DatabasePool($pools->get($database));
$checkStart = \microtime(true);
@@ -108,16 +111,16 @@
'ping' => \round((\microtime(true) - $checkStart) / 1000)
]);
} else {
- $failure[] = $database;
+ $failures[] = $database;
}
- } catch (\Throwable $th) {
- $failure[] = $database;
+ } catch (\Throwable) {
+ $failures[] = $database;
}
}
}
- if (!empty($failure)) {
- throw new Exception(Exception::GENERAL_SERVER_ERROR, 'DB failure on: ' . implode(", ", $failure));
+ if (!empty($failures)) {
+ throw new Exception(Exception::GENERAL_SERVER_ERROR, 'DB failure on: ' . implode(", ", $failures));
}
$response->dynamic(new Document([
@@ -131,11 +134,11 @@
->groups(['api', 'health'])
->label('scope', 'health.read')
->label('sdk', new Method(
- auth: [AuthType::KEY],
namespace: 'health',
group: 'health',
name: 'getCache',
description: '/docs/references/health/get-cache.md',
+ auth: [AuthType::KEY],
responses: [
new SDKResponse(
code: Response::STATUS_CODE_OK,
@@ -147,44 +150,39 @@
->inject('response')
->inject('pools')
->action(function (Response $response, Group $pools) {
-
$output = [];
+ $failures = [];
$configs = [
'Cache' => Config::getParam('pools-cache'),
];
foreach ($configs as $key => $config) {
- foreach ($config as $database) {
+ foreach ($config as $cache) {
try {
- /** @var \Utopia\Cache\Adapter $adapter */
- $adapter = $pools->get($database)->pop()->getResource();
+ $adapter = new CachePool($pools->get($cache));
$checkStart = \microtime(true);
if ($adapter->ping()) {
$output[] = new Document([
- 'name' => $key . " ($database)",
+ 'name' => $key . " ($cache)",
'status' => 'pass',
'ping' => \round((\microtime(true) - $checkStart) / 1000)
]);
} else {
- $output[] = new Document([
- 'name' => $key . " ($database)",
- 'status' => 'fail',
- 'ping' => \round((\microtime(true) - $checkStart) / 1000)
- ]);
+ $failures[] = $cache;
}
- } catch (\Throwable $th) {
- $output[] = new Document([
- 'name' => $key . " ($database)",
- 'status' => 'fail',
- 'ping' => \round((\microtime(true) - $checkStart) / 1000)
- ]);
+ } catch (\Throwable) {
+ $failures[] = $cache;
}
}
}
+ if (!empty($failures)) {
+ throw new Exception(Exception::GENERAL_SERVER_ERROR, 'Cache failure on: ' . implode(", ", $failures));
+ }
+
$response->dynamic(new Document([
'statuses' => $output,
'total' => count($output),
@@ -196,11 +194,11 @@
->groups(['api', 'health'])
->label('scope', 'health.read')
->label('sdk', new Method(
- auth: [AuthType::KEY],
namespace: 'health',
group: 'health',
name: 'getPubSub',
description: '/docs/references/health/get-pubsub.md',
+ auth: [AuthType::KEY],
responses: [
new SDKResponse(
code: Response::STATUS_CODE_OK,
@@ -212,44 +210,39 @@
->inject('response')
->inject('pools')
->action(function (Response $response, Group $pools) {
-
$output = [];
+ $failures = [];
$configs = [
'PubSub' => Config::getParam('pools-pubsub'),
];
foreach ($configs as $key => $config) {
- foreach ($config as $database) {
+ foreach ($config as $pubsub) {
try {
- /** @var \Appwrite\PubSub\Adapter $adapter */
- $adapter = $pools->get($database)->pop()->getResource();
+ $adapter = new PubSubPool($pools->get($pubsub));
$checkStart = \microtime(true);
if ($adapter->ping()) {
$output[] = new Document([
- 'name' => $key . " ($database)",
+ 'name' => $key . " ($pubsub)",
'status' => 'pass',
'ping' => \round((\microtime(true) - $checkStart) / 1000)
]);
} else {
- $output[] = new Document([
- 'name' => $key . " ($database)",
- 'status' => 'fail',
- 'ping' => \round((\microtime(true) - $checkStart) / 1000)
- ]);
+ $failures[] = $pubsub;
}
- } catch (\Throwable $th) {
- $output[] = new Document([
- 'name' => $key . " ($database)",
- 'status' => 'fail',
- 'ping' => \round((\microtime(true) - $checkStart) / 1000)
- ]);
+ } catch (\Throwable) {
+ $failures[] = $pubsub;
}
}
}
+ if (!empty($failures)) {
+ throw new Exception(Exception::GENERAL_SERVER_ERROR, 'Pubsub failure on: ' . implode(", ", $failures));
+ }
+
$response->dynamic(new Document([
'statuses' => $output,
'total' => count($output),
@@ -261,11 +254,11 @@
->groups(['api', 'health'])
->label('scope', 'health.read')
->label('sdk', new Method(
- auth: [AuthType::KEY],
namespace: 'health',
group: 'health',
name: 'getTime',
description: '/docs/references/health/get-time.md',
+ auth: [AuthType::KEY],
responses: [
new SDKResponse(
code: Response::STATUS_CODE_OK,
@@ -325,11 +318,11 @@
->groups(['api', 'health'])
->label('scope', 'health.read')
->label('sdk', new Method(
- auth: [AuthType::KEY],
namespace: 'health',
group: 'queue',
name: 'getQueueWebhooks',
description: '/docs/references/health/get-queue-webhooks.md',
+ auth: [AuthType::KEY],
responses: [
new SDKResponse(
code: Response::STATUS_CODE_OK,
@@ -351,18 +344,18 @@
}
$response->dynamic(new Document([ 'size' => $size ]), Response::MODEL_HEALTH_QUEUE);
- }, ['response']);
+ });
App::get('/v1/health/queue/logs')
->desc('Get logs queue')
->groups(['api', 'health'])
->label('scope', 'health.read')
->label('sdk', new Method(
- auth: [AuthType::KEY],
namespace: 'health',
group: 'queue',
name: 'getQueueLogs',
description: '/docs/references/health/get-queue-logs.md',
+ auth: [AuthType::KEY],
responses: [
new SDKResponse(
code: Response::STATUS_CODE_OK,
@@ -384,18 +377,18 @@
}
$response->dynamic(new Document([ 'size' => $size ]), Response::MODEL_HEALTH_QUEUE);
- }, ['response']);
+ });
App::get('/v1/health/certificate')
->desc('Get the SSL certificate for a domain')
->groups(['api', 'health'])
->label('scope', 'health.read')
->label('sdk', new Method(
- auth: [AuthType::KEY],
namespace: 'health',
group: 'health',
name: 'getCertificate',
description: '/docs/references/health/get-certificate.md',
+ auth: [AuthType::KEY],
responses: [
new SDKResponse(
code: Response::STATUS_CODE_OK,
@@ -441,18 +434,18 @@
'validTo' => $certificatePayload['validTo_time_t'],
'signatureTypeSN' => $certificatePayload['signatureTypeSN'],
]), Response::MODEL_HEALTH_CERTIFICATE);
- }, ['response']);
+ });
App::get('/v1/health/queue/certificates')
->desc('Get certificates queue')
->groups(['api', 'health'])
->label('scope', 'health.read')
->label('sdk', new Method(
- auth: [AuthType::KEY],
namespace: 'health',
group: 'queue',
name: 'getQueueCertificates',
description: '/docs/references/health/get-queue-certificates.md',
+ auth: [AuthType::KEY],
responses: [
new SDKResponse(
code: Response::STATUS_CODE_OK,
@@ -474,18 +467,18 @@
}
$response->dynamic(new Document([ 'size' => $size ]), Response::MODEL_HEALTH_QUEUE);
- }, ['response']);
+ });
App::get('/v1/health/queue/builds')
->desc('Get builds queue')
->groups(['api', 'health'])
->label('scope', 'health.read')
->label('sdk', new Method(
- auth: [AuthType::KEY],
namespace: 'health',
group: 'queue',
name: 'getQueueBuilds',
description: '/docs/references/health/get-queue-builds.md',
+ auth: [AuthType::KEY],
responses: [
new SDKResponse(
code: Response::STATUS_CODE_OK,
@@ -507,18 +500,18 @@
}
$response->dynamic(new Document([ 'size' => $size ]), Response::MODEL_HEALTH_QUEUE);
- }, ['response']);
+ });
App::get('/v1/health/queue/databases')
->desc('Get databases queue')
->groups(['api', 'health'])
->label('scope', 'health.read')
->label('sdk', new Method(
- auth: [AuthType::KEY],
namespace: 'health',
group: 'queue',
name: 'getQueueDatabases',
description: '/docs/references/health/get-queue-databases.md',
+ auth: [AuthType::KEY],
responses: [
new SDKResponse(
code: Response::STATUS_CODE_OK,
@@ -541,18 +534,18 @@
}
$response->dynamic(new Document([ 'size' => $size ]), Response::MODEL_HEALTH_QUEUE);
- }, ['response']);
+ });
App::get('/v1/health/queue/deletes')
->desc('Get deletes queue')
->groups(['api', 'health'])
->label('scope', 'health.read')
->label('sdk', new Method(
- auth: [AuthType::KEY],
namespace: 'health',
group: 'queue',
name: 'getQueueDeletes',
description: '/docs/references/health/get-queue-deletes.md',
+ auth: [AuthType::KEY],
responses: [
new SDKResponse(
code: Response::STATUS_CODE_OK,
@@ -574,18 +567,18 @@
}
$response->dynamic(new Document([ 'size' => $size ]), Response::MODEL_HEALTH_QUEUE);
- }, ['response']);
+ });
App::get('/v1/health/queue/mails')
->desc('Get mails queue')
->groups(['api', 'health'])
->label('scope', 'health.read')
->label('sdk', new Method(
- auth: [AuthType::KEY],
namespace: 'health',
group: 'queue',
name: 'getQueueMails',
description: '/docs/references/health/get-queue-mails.md',
+ auth: [AuthType::KEY],
responses: [
new SDKResponse(
code: Response::STATUS_CODE_OK,
@@ -607,18 +600,18 @@
}
$response->dynamic(new Document([ 'size' => $size ]), Response::MODEL_HEALTH_QUEUE);
- }, ['response']);
+ });
App::get('/v1/health/queue/messaging')
->desc('Get messaging queue')
->groups(['api', 'health'])
->label('scope', 'health.read')
->label('sdk', new Method(
- auth: [AuthType::KEY],
namespace: 'health',
group: 'queue',
name: 'getQueueMessaging',
description: '/docs/references/health/get-queue-messaging.md',
+ auth: [AuthType::KEY],
responses: [
new SDKResponse(
code: Response::STATUS_CODE_OK,
@@ -640,18 +633,18 @@
}
$response->dynamic(new Document([ 'size' => $size ]), Response::MODEL_HEALTH_QUEUE);
- }, ['response']);
+ });
App::get('/v1/health/queue/migrations')
->desc('Get migrations queue')
->groups(['api', 'health'])
->label('scope', 'health.read')
->label('sdk', new Method(
- auth: [AuthType::KEY],
namespace: 'health',
group: 'queue',
name: 'getQueueMigrations',
description: '/docs/references/health/get-queue-migrations.md',
+ auth: [AuthType::KEY],
responses: [
new SDKResponse(
code: Response::STATUS_CODE_OK,
@@ -673,18 +666,18 @@
}
$response->dynamic(new Document([ 'size' => $size ]), Response::MODEL_HEALTH_QUEUE);
- }, ['response']);
+ });
App::get('/v1/health/queue/functions')
->desc('Get functions queue')
->groups(['api', 'health'])
->label('scope', 'health.read')
->label('sdk', new Method(
- auth: [AuthType::KEY],
namespace: 'health',
group: 'queue',
name: 'getQueueFunctions',
description: '/docs/references/health/get-queue-functions.md',
+ auth: [AuthType::KEY],
responses: [
new SDKResponse(
code: Response::STATUS_CODE_OK,
@@ -706,18 +699,18 @@
}
$response->dynamic(new Document([ 'size' => $size ]), Response::MODEL_HEALTH_QUEUE);
- }, ['response']);
+ });
App::get('/v1/health/queue/stats-resources')
->desc('Get stats resources queue')
->groups(['api', 'health'])
->label('scope', 'health.read')
->label('sdk', new Method(
- auth: [AuthType::KEY],
namespace: 'health',
group: 'queue',
name: 'getQueueStatsResources',
description: '/docs/references/health/get-queue-stats-resources.md',
+ auth: [AuthType::KEY],
responses: [
new SDKResponse(
code: Response::STATUS_CODE_OK,
@@ -746,11 +739,11 @@
->groups(['api', 'health'])
->label('scope', 'health.read')
->label('sdk', new Method(
- auth: [AuthType::KEY],
namespace: 'health',
group: 'queue',
name: 'getQueueUsage',
description: '/docs/references/health/get-queue-stats-usage.md',
+ auth: [AuthType::KEY],
responses: [
new SDKResponse(
code: Response::STATUS_CODE_OK,
@@ -779,11 +772,11 @@
->groups(['api', 'health'])
->label('scope', 'health.read')
->label('sdk', new Method(
- auth: [AuthType::KEY],
namespace: 'health',
group: 'storage',
name: 'getStorageLocal',
description: '/docs/references/health/get-storage-local.md',
+ auth: [AuthType::KEY],
responses: [
new SDKResponse(
code: Response::STATUS_CODE_OK,
@@ -829,11 +822,11 @@
->groups(['api', 'health'])
->label('scope', 'health.read')
->label('sdk', new Method(
- auth: [AuthType::KEY],
namespace: 'health',
group: 'storage',
name: 'getStorage',
description: '/docs/references/health/get-storage.md',
+ auth: [AuthType::KEY],
responses: [
new SDKResponse(
code: Response::STATUS_CODE_OK,
@@ -878,11 +871,11 @@
->groups(['api', 'health'])
->label('scope', 'health.read')
->label('sdk', new Method(
- auth: [AuthType::KEY],
namespace: 'health',
group: 'health',
name: 'getAntivirus',
description: '/docs/references/health/get-storage-anti-virus.md',
+ auth: [AuthType::KEY],
responses: [
new SDKResponse(
code: Response::STATUS_CODE_OK,
@@ -924,11 +917,11 @@
->groups(['api', 'health'])
->label('scope', 'health.read')
->label('sdk', new Method(
- auth: [AuthType::KEY],
namespace: 'health',
group: 'queue',
name: 'getFailedJobs',
description: '/docs/references/health/get-failed-queue-jobs.md',
+ auth: [AuthType::KEY],
responses: [
new SDKResponse(
code: Response::STATUS_CODE_OK,
diff --git a/app/controllers/api/projects.php b/app/controllers/api/projects.php
index e158cf52fb9..5eda8e9a0e6 100644
--- a/app/controllers/api/projects.php
+++ b/app/controllers/api/projects.php
@@ -24,6 +24,7 @@
use Utopia\Audit\Audit;
use Utopia\Cache\Cache;
use Utopia\Config\Config;
+use Utopia\Database\Adapter\Pool as DatabasePool;
use Utopia\Database\Database;
use Utopia\Database\DateTime;
use Utopia\Database\Document;
@@ -223,7 +224,7 @@
$sharedTables = $sharedTablesV1 || $sharedTablesV2;
if (!$sharedTablesV2) {
- $adapter = $pools->get($dsn->getHost())->pop()->getResource();
+ $adapter = new DatabasePool($pools->get($dsn->getHost()));
$dbForProject = new Database($adapter, $cache);
if ($sharedTables) {
diff --git a/app/controllers/api/proxy.php b/app/controllers/api/proxy.php
index a2757382467..c1c8d8e4a08 100644
--- a/app/controllers/api/proxy.php
+++ b/app/controllers/api/proxy.php
@@ -214,11 +214,42 @@
throw new Exception(Exception::RULE_NOT_FOUND);
}
+ $targetCNAME = null;
+ switch ($rule->getAttribute('type', '')) {
+ case 'api':
+ // For example: fra.cloud.appwrite.io
+ $targetCNAME = new Domain(System::getEnv('_APP_DOMAIN_TARGET_CNAME', ''));
+ break;
+ case 'redirect':
+ // For example: appwrite.network
+ $targetCNAME = new Domain(System::getEnv('_APP_DOMAIN_SITES', ''));
+ break;
+ case 'deployment':
+ switch ($rule->getAttribute('deploymentResourceType', '')) {
+ case 'function':
+ // For example: fra.appwrite.run
+ $targetCNAME = new Domain(System::getEnv('_APP_DOMAIN_FUNCTIONS', ''));
+ break;
+ case 'site':
+ // For example: appwrite.network
+ $targetCNAME = new Domain(System::getEnv('_APP_DOMAIN_SITES', ''));
+ break;
+ default:
+ break;
+ }
+ // no break
+ default:
+ break;
+ }
+
$validators = [];
- $targetCNAME = new Domain(System::getEnv('_APP_DOMAIN_TARGET_CNAME', ''));
- if (!$targetCNAME->isKnown() || $targetCNAME->isTest()) {
- $validators[] = new DNS($targetCNAME->get(), DNS::RECORD_CNAME);
+
+ if (!is_null($targetCNAME)) {
+ if ($targetCNAME->isKnown() && !$targetCNAME->isTest()) {
+ $validators[] = new DNS($targetCNAME->get(), DNS::RECORD_CNAME);
+ }
}
+
if ((new IP(IP::V4))->isValid(System::getEnv('_APP_DOMAIN_TARGET_A', ''))) {
$validators[] = new DNS(System::getEnv('_APP_DOMAIN_TARGET_A', ''), DNS::RECORD_A);
}
@@ -260,7 +291,8 @@
// Issue a TLS certificate when domain is verified
$queueForCertificates
->setDomain(new Document([
- 'domain' => $rule->getAttribute('domain')
+ 'domain' => $rule->getAttribute('domain'),
+ 'domainType' => $rule->getAttribute('deploymentResourceType', $rule->getAttribute('type')),
]))
->trigger();
diff --git a/app/controllers/api/storage.php b/app/controllers/api/storage.php
index ee6279c3bc8..d2edf476f60 100644
--- a/app/controllers/api/storage.php
+++ b/app/controllers/api/storage.php
@@ -1004,7 +1004,7 @@
$algorithm = $file->getAttribute('algorithm', Compression::NONE);
$cipher = $file->getAttribute('openSSLCipher');
$mime = $file->getAttribute('mimeType');
- if (!\in_array($mime, $inputs) || $file->getAttribute('sizeActual') > (int) System::getEnv('_APP_STORAGE_PREVIEW_LIMIT', 20000000)) {
+ if (!\in_array($mime, $inputs) || $file->getAttribute('sizeActual') > (int) System::getEnv('_APP_STORAGE_PREVIEW_LIMIT', APP_STORAGE_READ_BUFFER)) {
if (!\in_array($mime, $inputs)) {
$path = (\array_key_exists($mime, $fileLogos)) ? $fileLogos[$mime] : $fileLogos['default'];
} else {
@@ -1178,13 +1178,6 @@
throw new Exception(Exception::STORAGE_FILE_NOT_FOUND, 'File not found in ' . $path);
}
- $response
- ->setContentType($file->getAttribute('mimeType'))
- ->addHeader('Cache-Control', 'private, max-age=3888000') // 45 days
- ->addHeader('X-Peak', \memory_get_peak_usage())
- ->addHeader('Content-Disposition', 'attachment; filename="' . $file->getAttribute('name', '') . '"')
- ;
-
$size = $file->getAttribute('sizeOriginal', 0);
$rangeHeader = $request->getHeader('range');
@@ -1193,7 +1186,7 @@
$end = $request->getRangeEnd();
$unit = $request->getRangeUnit();
- if ($end === null) {
+ if ($end === null || $end - $start > APP_STORAGE_READ_BUFFER) {
$end = min(($start + MAX_OUTPUT_CHUNK_SIZE - 1), ($size - 1));
}
@@ -1208,6 +1201,13 @@
->setStatusCode(Response::STATUS_CODE_PARTIALCONTENT);
}
+ $response
+ ->setContentType($file->getAttribute('mimeType'))
+ ->addHeader('Cache-Control', 'private, max-age=3888000') // 45 days
+ ->addHeader('X-Peak', \memory_get_peak_usage())
+ ->addHeader('Content-Disposition', 'attachment; filename="' . $file->getAttribute('name', '') . '"')
+ ;
+
$source = '';
if (!empty($file->getAttribute('openSSLCipher'))) { // Decrypt
$source = $deviceForFiles->read($path);
@@ -1241,12 +1241,15 @@
if (!empty($source)) {
if (!empty($rangeHeader)) {
$response->send(substr($source, $start, ($end - $start + 1)));
+ return;
}
$response->send($source);
+ return;
}
if (!empty($rangeHeader)) {
$response->send($deviceForFiles->read($path, $start, ($end - $start + 1)));
+ return;
}
if ($size > APP_STORAGE_READ_BUFFER) {
@@ -1342,15 +1345,6 @@
$contentType = $file->getAttribute('mimeType');
}
- $response
- ->setContentType($contentType)
- ->addHeader('Content-Security-Policy', 'script-src none;')
- ->addHeader('X-Content-Type-Options', 'nosniff')
- ->addHeader('Content-Disposition', 'inline; filename="' . $file->getAttribute('name', '') . '"')
- ->addHeader('Cache-Control', 'private, max-age=3888000') // 45 days
- ->addHeader('X-Peak', \memory_get_peak_usage())
- ;
-
$size = $file->getAttribute('sizeOriginal', 0);
$rangeHeader = $request->getHeader('range');
@@ -1359,8 +1353,8 @@
$end = $request->getRangeEnd();
$unit = $request->getRangeUnit();
- if ($end === null) {
- $end = min(($start + 2000000 - 1), ($size - 1));
+ if ($end === null || $end - $start > APP_STORAGE_READ_BUFFER) {
+ $end = min(($start + APP_STORAGE_READ_BUFFER - 1), ($size - 1));
}
if ($unit != 'bytes' || $start >= $end || $end >= $size) {
@@ -1374,6 +1368,15 @@
->setStatusCode(Response::STATUS_CODE_PARTIALCONTENT);
}
+ $response
+ ->setContentType($contentType)
+ ->addHeader('Content-Security-Policy', 'script-src none;')
+ ->addHeader('X-Content-Type-Options', 'nosniff')
+ ->addHeader('Content-Disposition', 'inline; filename="' . $file->getAttribute('name', '') . '"')
+ ->addHeader('Cache-Control', 'private, max-age=3888000') // 45 days
+ ->addHeader('X-Peak', \memory_get_peak_usage())
+ ;
+
$source = '';
if (!empty($file->getAttribute('openSSLCipher'))) { // Decrypt
$source = $deviceForFiles->read($path);
@@ -1407,6 +1410,7 @@
if (!empty($source)) {
if (!empty($rangeHeader)) {
$response->send(substr($source, $start, ($end - $start + 1)));
+ return;
}
$response->send($source);
return;
@@ -1494,14 +1498,6 @@
$contentType = $file->getAttribute('mimeType');
}
- $response
- ->setContentType($contentType)
- ->addHeader('Content-Security-Policy', 'script-src none;')
- ->addHeader('X-Content-Type-Options', 'nosniff')
- ->addHeader('Content-Disposition', 'inline; filename="' . $file->getAttribute('name', '') . '"')
- ->addHeader('Cache-Control', 'private, max-age=3888000') // 45 days
- ->addHeader('X-Peak', \memory_get_peak_usage());
-
$size = $file->getAttribute('sizeOriginal', 0);
$rangeHeader = $request->getHeader('range');
@@ -1510,8 +1506,8 @@
$end = $request->getRangeEnd();
$unit = $request->getRangeUnit();
- if ($end === null) {
- $end = min(($start + 2000000 - 1), ($size - 1));
+ if ($end === null || $end - $start > APP_STORAGE_READ_BUFFER) {
+ $end = min(($start + APP_STORAGE_READ_BUFFER - 1), ($size - 1));
}
if ($unit != 'bytes' || $start >= $end || $end >= $size) {
@@ -1525,6 +1521,14 @@
->setStatusCode(Response::STATUS_CODE_PARTIALCONTENT);
}
+ $response
+ ->setContentType($contentType)
+ ->addHeader('Content-Security-Policy', 'script-src none;')
+ ->addHeader('X-Content-Type-Options', 'nosniff')
+ ->addHeader('Content-Disposition', 'inline; filename="' . $file->getAttribute('name', '') . '"')
+ ->addHeader('Cache-Control', 'private, max-age=3888000') // 45 days
+ ->addHeader('X-Peak', \memory_get_peak_usage());
+
$source = '';
if (!empty($file->getAttribute('openSSLCipher'))) { // Decrypt
$source = $deviceForFiles->read($path);
@@ -1558,6 +1562,7 @@
if (!empty($source)) {
if (!empty($rangeHeader)) {
$response->send(substr($source, $start, ($end - $start + 1)));
+ return;
}
$response->send($source);
return;
diff --git a/app/controllers/api/teams.php b/app/controllers/api/teams.php
index 49d9005c54f..7e52b169119 100644
--- a/app/controllers/api/teams.php
+++ b/app/controllers/api/teams.php
@@ -1097,10 +1097,13 @@
max: 2
);
+ // Is the role change being requested by the user on their own membership?
+ $isCurrentUserAnOwner = $user->getInternalId() === $membership->getAttribute('userInternalId');
+
// Prevent role change if there's only one owner left,
- // the requester is that owner, and the new `$roles` no longer include 'owner'!
- if ($ownersCount === 1 && $isOwner && !\in_array('owner', $roles)) {
- throw new Exception(Exception::GENERAL_ARGUMENT_INVALID, 'There must be at least one owner in the organization.');
+ // the requester is that owner, and the new `$roles` no longer include 'owner'
+ if ($ownersCount === 1 && $isOwner && $isCurrentUserAnOwner && !\in_array('owner', $roles)) {
+ throw new Exception(Exception::MEMBERSHIP_DOWNGRADE_PROHIBITED, 'There must be at least one owner in the organization.');
}
}
@@ -1315,10 +1318,12 @@
))
->param('teamId', '', new UID(), 'Team ID.')
->param('membershipId', '', new UID(), 'Membership ID.')
+ ->inject('user')
+ ->inject('project')
->inject('response')
->inject('dbForProject')
->inject('queueForEvents')
- ->action(function (string $teamId, string $membershipId, Response $response, Database $dbForProject, Event $queueForEvents) {
+ ->action(function (string $teamId, string $membershipId, Document $user, Document $project, Response $response, Database $dbForProject, Event $queueForEvents) {
$membership = $dbForProject->getDocument('memberships', $membershipId);
@@ -1326,9 +1331,9 @@
throw new Exception(Exception::TEAM_INVITE_NOT_FOUND);
}
- $user = $dbForProject->getDocument('users', $membership->getAttribute('userId'));
+ $profile = $dbForProject->getDocument('users', $membership->getAttribute('userId'));
- if ($user->isEmpty()) {
+ if ($profile->isEmpty()) {
throw new Exception(Exception::USER_NOT_FOUND);
}
@@ -1342,6 +1347,29 @@
throw new Exception(Exception::TEAM_MEMBERSHIP_MISMATCH);
}
+ if ($project->getId() === 'console') {
+ // Quick check:
+ // fetch up to 2 owners to determine if only one exists
+ $ownersCount = $dbForProject->count(
+ collection: 'memberships',
+ queries: [
+ Query::contains('roles', ['owner']),
+ Query::equal('teamInternalId', [$team->getInternalId()])
+ ],
+ max: 2
+ );
+
+ // Is the deletion being requested by the user on their own membership and they are also the owner?
+ $isSelfOwner =
+ in_array('owner', $membership->getAttribute('roles')) &&
+ $membership->getAttribute('userInternalId') === $user->getInternalId();
+
+ if ($ownersCount === 1 && $isSelfOwner) {
+ /* Prevent removal if the user is the only owner. */
+ throw new Exception(Exception::MEMBERSHIP_DELETION_PROHIBITED, 'There must be at least one owner in the organization.');
+ }
+ }
+
try {
$dbForProject->deleteDocument('memberships', $membership->getId());
} catch (AuthorizationException $exception) {
@@ -1350,15 +1378,15 @@
throw new Exception(Exception::GENERAL_SERVER_ERROR, 'Failed to remove membership from DB');
}
- $dbForProject->purgeCachedDocument('users', $user->getId());
+ $dbForProject->purgeCachedDocument('users', $profile->getId());
if ($membership->getAttribute('confirm')) { // Count only confirmed members
Authorization::skip(fn () => $dbForProject->decreaseDocumentAttribute('teams', $team->getId(), 'total', 1, 0));
}
$queueForEvents
- ->setParam('userId', $user->getId())
->setParam('teamId', $team->getId())
+ ->setParam('userId', $profile->getId())
->setParam('membershipId', $membership->getId())
->setPayload($response->output($membership, Response::MODEL_MEMBERSHIP))
;
diff --git a/app/controllers/api/vcs.php b/app/controllers/api/vcs.php
index 6211faf90ed..588ca417cf9 100644
--- a/app/controllers/api/vcs.php
+++ b/app/controllers/api/vcs.php
@@ -252,7 +252,6 @@
'providerCommitUrl' => $providerCommitUrl,
'providerCommentId' => \strval($latestCommentId),
'providerBranch' => $providerBranch,
- 'search' => implode(' ', [$deploymentId, $resource->getAttribute('entrypoint', '')]),
'activate' => $activate,
])));
@@ -294,7 +293,13 @@
// VCS branch preview
if (!empty($providerBranch)) {
- $domain = "branch-{$providerBranch}-{$resource->getId()}-{$project->getId()}.{$sitesDomain}";
+ $branchPrefix = substr($providerBranch, 0, 16);
+ if (strlen($providerBranch) > 16) {
+ $remainingChars = substr($providerBranch, 16);
+ $branchPrefix .= '-' . substr(hash('sha256', $remainingChars), 0, 7);
+ }
+ $resourceProjectHash = substr(hash('sha256', $resource->getId() . $project->getId()), 0, 7);
+ $domain = "branch-{$branchPrefix}-{$resourceProjectHash}.{$sitesDomain}";
$ruleId = md5($domain);
try {
Authorization::skip(
@@ -325,7 +330,7 @@
// VCS commit preview
if (!empty($providerCommitHash)) {
- $domain = "commit-{$providerCommitHash}-{$resource->getId()}-{$project->getId()}.{$sitesDomain}";
+ $domain = "commit-" . substr($providerCommitHash, 0, 16) . ".{$sitesDomain}";
$ruleId = md5($domain);
try {
Authorization::skip(
diff --git a/app/controllers/general.php b/app/controllers/general.php
index 13433b98c8d..bff701792e4 100644
--- a/app/controllers/general.php
+++ b/app/controllers/general.php
@@ -452,16 +452,33 @@ function router(App $utopia, Database $dbForPlatform, callable $getProjectDB, Sw
$endpoint = $protocol . '://' . $hostname . "/v1";
// Appwrite vars
+ if ($type === 'function') {
+ $vars = \array_merge($vars, [
+ 'APPWRITE_FUNCTION_API_ENDPOINT' => $endpoint,
+ 'APPWRITE_FUNCTION_ID' => $resource->getId(),
+ 'APPWRITE_FUNCTION_NAME' => $resource->getAttribute('name'),
+ 'APPWRITE_FUNCTION_DEPLOYMENT' => $deployment->getId(),
+ 'APPWRITE_FUNCTION_PROJECT_ID' => $project->getId(),
+ 'APPWRITE_FUNCTION_RUNTIME_NAME' => $runtime['name'] ?? '',
+ 'APPWRITE_FUNCTION_RUNTIME_VERSION' => $runtime['version'] ?? '',
+ 'APPWRITE_FUNCTION_CPUS' => $spec['cpus'] ?? APP_COMPUTE_CPUS_DEFAULT,
+ 'APPWRITE_FUNCTION_MEMORY' => $spec['memory'] ?? APP_COMPUTE_MEMORY_DEFAULT,
+ ]);
+ } elseif ($type === 'site') {
+ $vars = \array_merge($vars, [
+ 'APPWRITE_SITE_API_ENDPOINT' => $endpoint,
+ 'APPWRITE_SITE_ID' => $resource->getId(),
+ 'APPWRITE_SITE_NAME' => $resource->getAttribute('name'),
+ 'APPWRITE_SITE_DEPLOYMENT' => $deployment->getId(),
+ 'APPWRITE_SITE_PROJECT_ID' => $project->getId(),
+ 'APPWRITE_SITE_RUNTIME_NAME' => $runtime['name'] ?? '',
+ 'APPWRITE_SITE_RUNTIME_VERSION' => $runtime['version'] ?? '',
+ 'APPWRITE_SITE_CPUS' => $spec['cpus'] ?? APP_COMPUTE_CPUS_DEFAULT,
+ 'APPWRITE_SITE_MEMORY' => $spec['memory'] ?? APP_COMPUTE_MEMORY_DEFAULT,
+ ]);
+ }
+
$vars = \array_merge($vars, [
- 'APPWRITE_FUNCTION_API_ENDPOINT' => $endpoint,
- 'APPWRITE_FUNCTION_ID' => $resource->getId(),
- 'APPWRITE_FUNCTION_NAME' => $resource->getAttribute('name'),
- 'APPWRITE_FUNCTION_DEPLOYMENT' => $deployment->getId(),
- 'APPWRITE_FUNCTION_PROJECT_ID' => $project->getId(),
- 'APPWRITE_FUNCTION_RUNTIME_NAME' => $runtime['name'] ?? '',
- 'APPWRITE_FUNCTION_RUNTIME_VERSION' => $runtime['version'] ?? '',
- 'APPWRITE_FUNCTION_CPUS' => $spec['cpus'] ?? APP_COMPUTE_CPUS_DEFAULT,
- 'APPWRITE_FUNCTION_MEMORY' => $spec['memory'] ?? APP_COMPUTE_MEMORY_DEFAULT,
'APPWRITE_VERSION' => APP_VERSION_STABLE,
'APPWRITE_REGION' => $project->getAttribute('region'),
'APPWRITE_DEPLOYMENT_TYPE' => $deployment->getAttribute('type', ''),
@@ -1030,7 +1047,7 @@ function router(App $utopia, Database $dbForPlatform, callable $getProjectDB, Sw
->addHeader('Server', 'Appwrite')
->addHeader('X-Content-Type-Options', 'nosniff')
->addHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE')
- ->addHeader('Access-Control-Allow-Headers', 'Origin, Cookie, Set-Cookie, X-Requested-With, Content-Type, Access-Control-Allow-Origin, Access-Control-Request-Headers, Accept, X-Appwrite-Project, X-Appwrite-Key, X-Appwrite-Locale, X-Appwrite-Mode, X-Appwrite-JWT, X-Appwrite-Response-Format, X-Appwrite-Timeout, X-SDK-Version, X-SDK-Name, X-SDK-Language, X-SDK-Platform, X-SDK-GraphQL, X-Appwrite-ID, X-Appwrite-Timestamp, Content-Range, Range, Cache-Control, Expires, Pragma, X-Forwarded-For, X-Forwarded-User-Agent')
+ ->addHeader('Access-Control-Allow-Headers', 'Origin, Cookie, Set-Cookie, X-Requested-With, Content-Type, Access-Control-Allow-Origin, Access-Control-Request-Headers, Accept, X-Appwrite-Project, X-Appwrite-Key, X-Appwrite-Dev-Key, X-Appwrite-Locale, X-Appwrite-Mode, X-Appwrite-JWT, X-Appwrite-Response-Format, X-Appwrite-Timeout, X-SDK-Version, X-SDK-Name, X-SDK-Language, X-SDK-Platform, X-SDK-GraphQL, X-Appwrite-ID, X-Appwrite-Timestamp, Content-Range, Range, Cache-Control, Expires, Pragma, X-Forwarded-For, X-Forwarded-User-Agent')
->addHeader('Access-Control-Expose-Headers', 'X-Appwrite-Session, X-Fallback-Cookies')
->addHeader('Access-Control-Allow-Origin', $refDomain)
->addHeader('Access-Control-Allow-Credentials', 'true');
@@ -1093,7 +1110,7 @@ function router(App $utopia, Database $dbForPlatform, callable $getProjectDB, Sw
$response
->addHeader('Server', 'Appwrite')
->addHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE')
- ->addHeader('Access-Control-Allow-Headers', 'Origin, Cookie, Set-Cookie, X-Requested-With, Content-Type, Access-Control-Allow-Origin, Access-Control-Request-Headers, Accept, X-Appwrite-Project, X-Appwrite-Key, X-Appwrite-Locale, X-Appwrite-Mode, X-Appwrite-JWT, X-Appwrite-Response-Format, X-Appwrite-Timeout, X-SDK-Version, X-SDK-Name, X-SDK-Language, X-SDK-Platform, X-SDK-GraphQL, X-Appwrite-ID, X-Appwrite-Timestamp, Content-Range, Range, Cache-Control, Expires, Pragma, X-Appwrite-Session, X-Fallback-Cookies, X-Forwarded-For, X-Forwarded-User-Agent')
+ ->addHeader('Access-Control-Allow-Headers', 'Origin, Cookie, Set-Cookie, X-Requested-With, Content-Type, Access-Control-Allow-Origin, Access-Control-Request-Headers, Accept, X-Appwrite-Project, X-Appwrite-Key, X-Appwrite-Dev-Key, X-Appwrite-Locale, X-Appwrite-Mode, X-Appwrite-JWT, X-Appwrite-Response-Format, X-Appwrite-Timeout, X-SDK-Version, X-SDK-Name, X-SDK-Language, X-SDK-Platform, X-SDK-GraphQL, X-Appwrite-ID, X-Appwrite-Timestamp, Content-Range, Range, Cache-Control, Expires, Pragma, X-Appwrite-Session, X-Fallback-Cookies, X-Forwarded-For, X-Forwarded-User-Agent')
->addHeader('Access-Control-Expose-Headers', 'X-Appwrite-Session, X-Fallback-Cookies')
->addHeader('Access-Control-Allow-Origin', $origin)
->addHeader('Access-Control-Allow-Credentials', 'true')
diff --git a/app/http.php b/app/http.php
index e413c5d248e..6064dfdd4cc 100644
--- a/app/http.php
+++ b/app/http.php
@@ -15,9 +15,11 @@
use Utopia\CLI\Console;
use Utopia\Compression\Compression;
use Utopia\Config\Config;
+use Utopia\Database\Adapter\Pool as DatabasePool;
use Utopia\Database\Database;
use Utopia\Database\DateTime;
use Utopia\Database\Document;
+use Utopia\Database\Exception\Duplicate as DuplicateException;
use Utopia\Database\Helpers\ID;
use Utopia\Database\Helpers\Permission;
use Utopia\Database\Helpers\Role;
@@ -170,7 +172,7 @@ function createDatabase(App $app, string $resourceKey, string $dbName, array $co
$sleep = 1;
$attempts = 0;
- do {
+ while (true) {
try {
$attempts++;
$resource = $app->getResource($resourceKey);
@@ -179,13 +181,12 @@ function createDatabase(App $app, string $resourceKey, string $dbName, array $co
break; // exit loop on success
} catch (\Exception $e) {
Console::warning(" └── Database not ready. Retrying connection ({$attempts})...");
- $pools->reclaim();
if ($attempts >= $max) {
throw new \Exception(' └── Failed to connect to database: ' . $e->getMessage());
}
sleep($sleep);
}
- } while ($attempts < $max);
+ }
Console::success("[Setup] - $dbName database init started...");
@@ -368,11 +369,7 @@ function createDatabase(App $app, string $resourceKey, string $dbName, array $co
$cache = $app->getResource('cache');
foreach ($sharedTablesV2 as $hostname) {
- $adapter = $pools
- ->get($hostname)
- ->pop()
- ->getResource();
-
+ $adapter = new DatabasePool($pools->get($hostname));
$dbForProject = (new Database($adapter, $cache))
->setDatabase('appwrite')
->setSharedTables(true)
@@ -382,7 +379,7 @@ function createDatabase(App $app, string $resourceKey, string $dbName, array $co
try {
Console::success('[Setup] - Creating project database: ' . $hostname . '...');
$dbForProject->create();
- } catch (Duplicate) {
+ } catch (DuplicateException) {
Console::success('[Setup] - Skip: metadata table already exists');
}
@@ -408,7 +405,6 @@ function createDatabase(App $app, string $resourceKey, string $dbName, array $co
}
}
- $pools->reclaim();
Console::success('[Setup] - Server database init completed...');
});
@@ -523,6 +519,7 @@ function createDatabase(App $app, string $resourceKey, string $dbName, array $co
Console::error('[Error] Message: ' . $th->getMessage());
Console::error('[Error] File: ' . $th->getFile());
Console::error('[Error] Line: ' . $th->getLine());
+ Console::error('[Error] Trace: ' . $th->getTraceAsString());
$swooleResponse->setStatusCode(500);
@@ -540,8 +537,6 @@ function createDatabase(App $app, string $resourceKey, string $dbName, array $co
];
$swooleResponse->end(\json_encode($output));
- } finally {
- $pools->reclaim();
}
});
diff --git a/app/init/constants.php b/app/init/constants.php
index 0de441cb7c6..99881a43817 100644
--- a/app/init/constants.php
+++ b/app/init/constants.php
@@ -37,8 +37,8 @@
const APP_RESOURCE_TOKEN_ACCESS = 24 * 60 * 60; // 24 hours
const APP_FILE_ACCESS = 24 * 60 * 60; // 24 hours
const APP_CACHE_UPDATE = 24 * 60 * 60; // 24 hours
-const APP_CACHE_BUSTER = 4318;
-const APP_VERSION_STABLE = '1.7.0-RC1';
+const APP_CACHE_BUSTER = 4320;
+const APP_VERSION_STABLE = '1.7.4';
const APP_DATABASE_ATTRIBUTE_EMAIL = 'email';
const APP_DATABASE_ATTRIBUTE_ENUM = 'enum';
const APP_DATABASE_ATTRIBUTE_IP = 'ip';
diff --git a/app/init/registers.php b/app/init/registers.php
index 1adaaf35cee..415730f9368 100644
--- a/app/init/registers.php
+++ b/app/init/registers.php
@@ -216,13 +216,13 @@
'mysql',
'mariadb' => function () use ($dsnHost, $dsnPort, $dsnUser, $dsnPass, $dsnDatabase) {
return new PDOProxy(function () use ($dsnHost, $dsnPort, $dsnUser, $dsnPass, $dsnDatabase) {
- return new PDO("mysql:host={$dsnHost};port={$dsnPort};dbname={$dsnDatabase};charset=utf8mb4", $dsnUser, $dsnPass, array(
+ return new PDO("mysql:host={$dsnHost};port={$dsnPort};dbname={$dsnDatabase};charset=utf8mb4", $dsnUser, $dsnPass, [
\PDO::ATTR_TIMEOUT => 3, // Seconds
\PDO::ATTR_PERSISTENT => false,
\PDO::ATTR_DEFAULT_FETCH_MODE => \PDO::FETCH_ASSOC,
\PDO::ATTR_EMULATE_PREPARES => true,
\PDO::ATTR_STRINGIFY_FETCHES => true
- ));
+ ]);
});
},
'redis' => function () use ($dsnHost, $dsnPort, $dsnPass) {
diff --git a/app/init/resources.php b/app/init/resources.php
index 2f7c17ab7fa..c75df2a3620 100644
--- a/app/init/resources.php
+++ b/app/init/resources.php
@@ -24,10 +24,12 @@
use Executor\Executor;
use Utopia\Abuse\Adapters\TimeLimit\Redis as TimeLimitRedis;
use Utopia\App;
+use Utopia\Cache\Adapter\Pool as CachePool;
use Utopia\Cache\Adapter\Sharding;
use Utopia\Cache\Cache;
use Utopia\CLI\Console;
use Utopia\Config\Config;
+use Utopia\Database\Adapter\Pool as DatabasePool;
use Utopia\Database\Database;
use Utopia\Database\DateTime as DatabaseDateTime;
use Utopia\Database\Document;
@@ -38,6 +40,7 @@
use Utopia\Locale\Locale;
use Utopia\Logger\Log;
use Utopia\Pools\Group;
+use Utopia\Queue\Broker\Pool as BrokerPool;
use Utopia\Queue\Publisher;
use Utopia\Storage\Device;
use Utopia\Storage\Device\AWS;
@@ -49,7 +52,6 @@
use Utopia\Storage\Device\Wasabi;
use Utopia\Storage\Storage;
use Utopia\System\System;
-use Utopia\Telemetry\Adapter as Telemetry;
use Utopia\Telemetry\Adapter\None as NoTelemetry;
use Utopia\Validator\Hostname;
use Utopia\Validator\WhiteList;
@@ -74,10 +76,10 @@
// Queues
App::setResource('publisher', function (Group $pools) {
- return $pools->get('publisher')->pop()->getResource();
+ return new BrokerPool(publisher: $pools->get('publisher'));
}, ['pools']);
App::setResource('consumer', function (Group $pools) {
- return $pools->get('consumer')->pop()->getResource();
+ return new BrokerPool(consumer: $pools->get('consumer'));
}, ['pools']);
App::setResource('queueForMessaging', function (Publisher $publisher) {
return new Messaging($publisher);
@@ -331,12 +333,8 @@
$dsn = new DSN('mysql://' . $project->getAttribute('database'));
}
- $dbAdapter = $pools
- ->get($dsn->getHost())
- ->pop()
- ->getResource();
-
- $database = new Database($dbAdapter, $cache);
+ $adapter = new DatabasePool($pools->get($dsn->getHost()));
+ $database = new Database($adapter, $cache);
$database
->setMetadata('host', \gethostname())
@@ -362,12 +360,8 @@
}, ['pools', 'dbForPlatform', 'cache', 'project']);
App::setResource('dbForPlatform', function (Group $pools, Cache $cache) {
- $dbAdapter = $pools
- ->get('console')
- ->pop()
- ->getResource();
-
- $database = new Database($dbAdapter, $cache);
+ $adapter = new DatabasePool($pools->get('console'));
+ $database = new Database($adapter, $cache);
$database
->setNamespace('_console')
@@ -380,7 +374,7 @@
}, ['pools', 'cache']);
App::setResource('getProjectDB', function (Group $pools, Database $dbForPlatform, $cache) {
- $databases = []; // TODO: @Meldiron This should probably be responsibility of utopia-php/pools
+ $databases = [];
return function (Document $project) use ($pools, $dbForPlatform, $cache, &$databases) {
if ($project->isEmpty() || $project->getId() === 'console') {
@@ -422,12 +416,8 @@
return $database;
}
- $dbAdapter = $pools
- ->get($dsn->getHost())
- ->pop()
- ->getResource();
-
- $database = new Database($dbAdapter, $cache);
+ $adapter = new DatabasePool($pools->get($dsn->getHost()));
+ $database = new Database($adapter, $cache);
$databases[$dsn->getHost()] = $database;
$configure($database);
@@ -437,21 +427,15 @@
App::setResource('getLogsDB', function (Group $pools, Cache $cache) {
$database = null;
- return function (?Document $project = null) use ($pools, $cache, $database) {
+
+ return function (?Document $project = null) use ($pools, $cache, &$database) {
if ($database !== null && $project !== null && !$project->isEmpty() && $project->getId() !== 'console') {
$database->setTenant($project->getInternalId());
return $database;
}
- $dbAdapter = $pools
- ->get('logs')
- ->pop()
- ->getResource();
-
- $database = new Database(
- $dbAdapter,
- $cache
- );
+ $adapter = new DatabasePool($pools->get('logs'));
+ $database = new Database($adapter, $cache);
$database
->setSharedTables(true)
@@ -470,23 +454,16 @@
App::setResource('telemetry', fn () => new NoTelemetry());
-App::setResource('cache', function (Group $pools, Telemetry $telemetry) {
+App::setResource('cache', function (Group $pools) {
$list = Config::getParam('pools-cache', []);
$adapters = [];
foreach ($list as $value) {
- $adapters[] = $pools
- ->get($value)
- ->pop()
- ->getResource();
+ $adapters[] = new CachePool($pools->get($value));
}
- $cache = new Cache(new Sharding($adapters));
-
- $cache->setTelemetry($telemetry);
-
- return $cache;
-}, ['pools', 'telemetry']);
+ return new Cache(new Sharding($adapters));
+}, ['pools']);
App::setResource('redis', function () {
$host = System::getEnv('_APP_REDIS_HOST', 'localhost');
@@ -509,25 +486,24 @@
};
}, ['redis']);
-App::setResource('deviceForLocal', function (Telemetry $telemetry) {
- return new Device\Telemetry($telemetry, new Local());
-}, ['telemetry']);
-
-App::setResource('deviceForFiles', function ($project, Telemetry $telemetry) {
- return new Device\Telemetry($telemetry, getDevice(APP_STORAGE_UPLOADS . '/app-' . $project->getId()));
-}, ['project', 'telemetry']);
-App::setResource('deviceForSites', function ($project, Telemetry $telemetry) {
- return new Device\Telemetry($telemetry, getDevice(APP_STORAGE_SITES . '/app-' . $project->getId()));
-}, ['project', 'telemetry']);
-App::setResource('deviceForImports', function ($project, Telemetry $telemetry) {
- return new Device\Telemetry($telemetry, getDevice(APP_STORAGE_IMPORTS . '/app-' . $project->getId()));
-}, ['project', 'telemetry']);
-App::setResource('deviceForFunctions', function ($project, Telemetry $telemetry) {
- return new Device\Telemetry($telemetry, getDevice(APP_STORAGE_FUNCTIONS . '/app-' . $project->getId()));
-}, ['project', 'telemetry']);
-App::setResource('deviceForBuilds', function ($project, Telemetry $telemetry) {
- return new Device\Telemetry($telemetry, getDevice(APP_STORAGE_BUILDS . '/app-' . $project->getId()));
-}, ['project', 'telemetry']);
+App::setResource('deviceForLocal', function () {
+ return new Local();
+});
+App::setResource('deviceForFiles', function ($project) {
+ return getDevice(APP_STORAGE_UPLOADS . '/app-' . $project->getId());
+}, ['project']);
+App::setResource('deviceForSites', function ($project) {
+ return getDevice(APP_STORAGE_SITES . '/app-' . $project->getId());
+}, ['project']);
+App::setResource('deviceForImports', function ($project) {
+ return getDevice(APP_STORAGE_IMPORTS . '/app-' . $project->getId());
+}, ['project']);
+App::setResource('deviceForFunctions', function ($project) {
+ return getDevice(APP_STORAGE_FUNCTIONS . '/app-' . $project->getId());
+}, ['project']);
+App::setResource('deviceForBuilds', function ($project) {
+ return getDevice(APP_STORAGE_BUILDS . '/app-' . $project->getId());
+}, ['project']);
function getDevice(string $root, string $connection = ''): Device
{
@@ -556,7 +532,8 @@ function getDevice(string $root, string $connection = ''): Device
switch ($device) {
case Storage::DEVICE_S3:
if (!empty($url)) {
- return new S3($root, $accessKey, $accessSecret, $url, $region, $acl);
+ $bucketRoot = (!empty($bucket) ? $bucket . '/' : '') . \ltrim($root, '/');
+ return new S3($bucketRoot, $accessKey, $accessSecret, $url, $region, $acl);
} else {
return new AWS($root, $accessKey, $accessSecret, $bucket, $region, $acl);
}
@@ -588,7 +565,8 @@ function getDevice(string $root, string $connection = ''): Device
$s3Acl = 'private';
$s3EndpointUrl = System::getEnv('_APP_STORAGE_S3_ENDPOINT', '');
if (!empty($s3EndpointUrl)) {
- return new S3($root, $s3AccessKey, $s3SecretKey, $s3EndpointUrl, $s3Region, $s3Acl);
+ $bucketRoot = (!empty($s3Bucket) ? $s3Bucket . '/' : '') . \ltrim($root, '/');
+ return new S3($bucketRoot, $s3AccessKey, $s3SecretKey, $s3EndpointUrl, $s3Region, $s3Acl);
} else {
return new AWS($root, $s3AccessKey, $s3SecretKey, $s3Bucket, $s3Region, $s3Acl);
}
@@ -819,7 +797,7 @@ function getDevice(string $root, string $connection = ''): Device
// add sdk to key
$sdkValidator = new WhiteList($servers, true);
- $sdk = $request->getHeader('x-sdk-name', 'UNKNOWN');
+ $sdk = \strtolower($request->getHeader('x-sdk-name', 'UNKNOWN'));
if ($sdk !== 'UNKNOWN' && $sdkValidator->isValid($sdk)) {
$sdks = $key->getAttribute('sdks', []);
@@ -905,7 +883,7 @@ function getDevice(string $root, string $connection = ''): Device
$tokenJWT = $request->getParam('token');
if (!empty($tokenJWT) && !$project->isEmpty()) { // JWT authentication
- $jwt = new JWT(App::getEnv('_APP_OPENSSL_KEY_V1'), 'HS256', 900, 10); // Instantiate with key, algo, maxAge and leeway.
+ $jwt = new JWT(System::getEnv('_APP_OPENSSL_KEY_V1'), 'HS256', 900, 10); // Instantiate with key, algo, maxAge and leeway.
try {
$payload = $jwt->decode($tokenJWT);
diff --git a/app/realtime.php b/app/realtime.php
index 86f9c85fdd0..7e6fc0e311c 100644
--- a/app/realtime.php
+++ b/app/realtime.php
@@ -5,6 +5,7 @@
use Appwrite\Extend\Exception as AppwriteException;
use Appwrite\Messaging\Adapter\Realtime;
use Appwrite\Network\Validator\Origin;
+use Appwrite\PubSub\Adapter\Pool as PubSubPool;
use Appwrite\Utopia\Request;
use Appwrite\Utopia\Response;
use Swoole\Http\Request as SwooleRequest;
@@ -15,10 +16,12 @@
use Utopia\Abuse\Abuse;
use Utopia\Abuse\Adapters\TimeLimit\Redis as TimeLimitRedis;
use Utopia\App;
+use Utopia\Cache\Adapter\Pool as CachePool;
use Utopia\Cache\Adapter\Sharding;
use Utopia\Cache\Cache;
use Utopia\CLI\Console;
use Utopia\Config\Config;
+use Utopia\Database\Adapter\Pool as DatabasePool;
use Utopia\Database\Database;
use Utopia\Database\DateTime;
use Utopia\Database\Document;
@@ -28,13 +31,15 @@
use Utopia\Database\Validator\Authorization;
use Utopia\DSN\DSN;
use Utopia\Logger\Log;
+use Utopia\Pools\Group;
+use Utopia\Registry\Registry;
use Utopia\System\System;
use Utopia\Telemetry\Adapter\None as NoTelemetry;
use Utopia\WebSocket\Adapter;
use Utopia\WebSocket\Server;
/**
- * @var \Utopia\Registry\Registry $register
+ * @var Registry $register
*/
require_once __DIR__ . '/init.php';
@@ -46,17 +51,17 @@ function getConsoleDB(): Database
{
global $register;
- /** @var \Utopia\Pools\Group $pools */
- $pools = $register->get('pools');
+ static $database = null;
- $dbAdapter = $pools
- ->get('console')
- ->pop()
- ->getResource()
- ;
+ if ($database !== null) {
+ return $database;
+ }
- $database = new Database($dbAdapter, getCache());
+ /** @var Group $pools */
+ $pools = $register->get('pools');
+ $adapter = new DatabasePool($pools->get('console'));
+ $database = new Database($adapter, getCache());
$database
->setNamespace('_console')
->setMetadata('host', \gethostname())
@@ -72,7 +77,13 @@ function getProjectDB(Document $project): Database
{
global $register;
- /** @var \Utopia\Pools\Group $pools */
+ static $databases = [];
+
+ if (isset($databases[$project->getInternalId()])) {
+ return $databases[$project->getInternalId()];
+ }
+
+ /** @var Group $pools */
$pools = $register->get('pools');
if ($project->isEmpty() || $project->getId() === 'console') {
@@ -86,11 +97,7 @@ function getProjectDB(Document $project): Database
$dsn = new DSN('mysql://' . $project->getAttribute('database'));
}
- $adapter = $pools
- ->get($dsn->getHost())
- ->pop()
- ->getResource();
-
+ $adapter = new DatabasePool($pools->get($dsn->getHost()));
$database = new Database($adapter, getCache());
$sharedTables = \explode(',', System::getEnv('_APP_DATABASE_SHARED_TABLES', ''));
@@ -111,7 +118,7 @@ function getProjectDB(Document $project): Database
->setMetadata('host', \gethostname())
->setMetadata('project', $project->getId());
- return $database;
+ return $databases[$project->getInternalId()] = $database;
}
}
@@ -121,20 +128,22 @@ function getCache(): Cache
{
global $register;
- $pools = $register->get('pools'); /** @var \Utopia\Pools\Group $pools */
+ static $cache = null;
+
+ if ($cache !== null) {
+ return $cache;
+ }
+
+ $pools = $register->get('pools'); /** @var Group $pools */
$list = Config::getParam('pools-cache', []);
$adapters = [];
foreach ($list as $value) {
- $adapters[] = $pools
- ->get($value)
- ->pop()
- ->getResource()
- ;
+ $adapters[] = new CachePool($pools->get($value));
}
- return new Cache(new Sharding($adapters));
+ return $cache = new Cache(new Sharding($adapters));
}
}
@@ -142,6 +151,12 @@ function getCache(): Cache
if (!function_exists('getRedis')) {
function getRedis(): \Redis
{
+ static $redis = null;
+
+ if ($redis !== null) {
+ return $redis;
+ }
+
$host = System::getEnv('_APP_REDIS_HOST', 'localhost');
$port = System::getEnv('_APP_REDIS_PORT', 6379);
$pass = System::getEnv('_APP_REDIS_PASS', '');
@@ -160,21 +175,39 @@ function getRedis(): \Redis
if (!function_exists('getTimelimit')) {
function getTimelimit(): TimeLimitRedis
{
- return new TimeLimitRedis("", 0, 1, getRedis());
+ static $timelimit = null;
+
+ if ($timelimit !== null) {
+ return $timelimit;
+ }
+
+ return $timelimit = new TimeLimitRedis("", 0, 1, getRedis());
}
}
if (!function_exists('getRealtime')) {
function getRealtime(): Realtime
{
- return new Realtime();
+ static $realtime = null;
+
+ if ($realtime !== null) {
+ return $realtime;
+ }
+
+ return $realtime = new Realtime();
}
}
if (!function_exists('getTelemetry')) {
function getTelemetry(int $workerId): Utopia\Telemetry\Adapter
{
- return new NoTelemetry();
+ static $telemetry = null;
+
+ if ($telemetry !== null) {
+ return $telemetry;
+ }
+
+ return $telemetry = new NoTelemetry();
}
}
@@ -273,7 +306,6 @@ function getTelemetry(int $workerId): Utopia\Telemetry\Adapter
sleep(DATABASE_RECONNECT_SLEEP);
}
} while (true);
- $register->get('pools')->reclaim();
});
/**
@@ -299,9 +331,7 @@ function getTelemetry(int $workerId): Utopia\Telemetry\Adapter
Authorization::skip(fn () => $database->updateDocument('realtime', $statsDocument->getId(), $statsDocument));
} catch (Throwable $th) {
- call_user_func($logError, $th, "updateWorkerDocument");
- } finally {
- $register->get('pools')->reclaim();
+ $logError($th, "updateWorkerDocument");
}
});
}
@@ -370,8 +400,6 @@ function getTelemetry(int $workerId): Utopia\Telemetry\Adapter
'data' => $event['data']
]));
}
-
- $register->get('pools')->reclaim();
}
}
/**
@@ -407,8 +435,8 @@ function getTelemetry(int $workerId): Utopia\Telemetry\Adapter
}
$start = time();
- /** @var \Appwrite\PubSub\Adapter $pubsub */
- $pubsub = $register->get('pools')->get('pubsub')->pop()->getResource();
+ $pubsub = new PubSubPool($register->get('pools')->get('pubsub'));
+
if ($pubsub->ping(true)) {
$attempts = 0;
Console::success('Pub/sub connection established (worker: ' . $workerId . ')');
@@ -436,8 +464,6 @@ function getTelemetry(int $workerId): Utopia\Telemetry\Adapter
$realtime->unsubscribe($connection);
$realtime->subscribe($projectId, $connection, $roles, $channels);
-
- $register->get('pools')->reclaim();
}
}
@@ -463,14 +489,12 @@ function getTelemetry(int $workerId): Utopia\Telemetry\Adapter
}
});
} catch (Throwable $th) {
- call_user_func($logError, $th, "pubSubConnection");
+ $logError($th, "pubSubConnection");
Console::error('Pub/sub error: ' . $th->getMessage());
$attempts++;
sleep(DATABASE_RECONNECT_SLEEP);
continue;
- } finally {
- $register->get('pools')->reclaim();
}
}
@@ -572,7 +596,7 @@ function getTelemetry(int $workerId): Utopia\Telemetry\Adapter
$stats->incr($project->getId(), 'connections');
$stats->incr($project->getId(), 'connectionsTotal');
} catch (Throwable $th) {
- call_user_func($logError, $th, "initServer");
+ $logError($th, "initServer");
// Handle SQL error code is 'HY000'
$code = $th->getCode();
@@ -596,8 +620,6 @@ function getTelemetry(int $workerId): Utopia\Telemetry\Adapter
Console::error('[Error] Code: ' . $response['data']['code']);
Console::error('[Error] Message: ' . $response['data']['message']);
}
- } finally {
- $register->get('pools')->reclaim();
}
});
@@ -696,8 +718,6 @@ function getTelemetry(int $workerId): Utopia\Telemetry\Adapter
if ($th->getCode() === 1008) {
$server->close($connection, $th->getCode());
}
- } finally {
- $register->get('pools')->reclaim();
}
});
diff --git a/app/views/general/404.phtml b/app/views/general/404.phtml
index 5e63344c8a8..2a9ff7f3125 100644
--- a/app/views/general/404.phtml
+++ b/app/views/general/404.phtml
@@ -151,37 +151,6 @@
-
-
-
Powered by
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-