diff --git a/examples/1.9.x/client-android/java/avatars/get-browser.md b/examples/1.9.x/client-android/java/avatars/get-browser.md index e06252ca8..f107aee61 100644 --- a/examples/1.9.x/client-android/java/avatars/get-browser.md +++ b/examples/1.9.x/client-android/java/avatars/get-browser.md @@ -6,8 +6,7 @@ import io.appwrite.enums.Browser; Client client = new Client(context) .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint - .setProject("") // Your project ID - .setImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(""); // Your project ID Avatars avatars = new Avatars(client); diff --git a/examples/1.9.x/client-android/java/avatars/get-credit-card.md b/examples/1.9.x/client-android/java/avatars/get-credit-card.md index 6b9165235..40fb5660e 100644 --- a/examples/1.9.x/client-android/java/avatars/get-credit-card.md +++ b/examples/1.9.x/client-android/java/avatars/get-credit-card.md @@ -6,8 +6,7 @@ import io.appwrite.enums.CreditCard; Client client = new Client(context) .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint - .setProject("") // Your project ID - .setImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(""); // Your project ID Avatars avatars = new Avatars(client); diff --git a/examples/1.9.x/client-android/java/avatars/get-favicon.md b/examples/1.9.x/client-android/java/avatars/get-favicon.md index e4f9cbfe1..3427b59d3 100644 --- a/examples/1.9.x/client-android/java/avatars/get-favicon.md +++ b/examples/1.9.x/client-android/java/avatars/get-favicon.md @@ -5,8 +5,7 @@ import io.appwrite.services.Avatars; Client client = new Client(context) .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint - .setProject("") // Your project ID - .setImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(""); // Your project ID Avatars avatars = new Avatars(client); diff --git a/examples/1.9.x/client-android/java/avatars/get-flag.md b/examples/1.9.x/client-android/java/avatars/get-flag.md index f02c715ed..812282ff7 100644 --- a/examples/1.9.x/client-android/java/avatars/get-flag.md +++ b/examples/1.9.x/client-android/java/avatars/get-flag.md @@ -6,8 +6,7 @@ import io.appwrite.enums.Flag; Client client = new Client(context) .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint - .setProject("") // Your project ID - .setImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(""); // Your project ID Avatars avatars = new Avatars(client); diff --git a/examples/1.9.x/client-android/java/avatars/get-image.md b/examples/1.9.x/client-android/java/avatars/get-image.md index b5f7786f7..1289ec1f6 100644 --- a/examples/1.9.x/client-android/java/avatars/get-image.md +++ b/examples/1.9.x/client-android/java/avatars/get-image.md @@ -5,8 +5,7 @@ import io.appwrite.services.Avatars; Client client = new Client(context) .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint - .setProject("") // Your project ID - .setImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(""); // Your project ID Avatars avatars = new Avatars(client); diff --git a/examples/1.9.x/client-android/java/avatars/get-initials.md b/examples/1.9.x/client-android/java/avatars/get-initials.md index b4aeb0daa..419ca5e5d 100644 --- a/examples/1.9.x/client-android/java/avatars/get-initials.md +++ b/examples/1.9.x/client-android/java/avatars/get-initials.md @@ -5,8 +5,7 @@ import io.appwrite.services.Avatars; Client client = new Client(context) .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint - .setProject("") // Your project ID - .setImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(""); // Your project ID Avatars avatars = new Avatars(client); diff --git a/examples/1.9.x/client-android/java/avatars/get-qr.md b/examples/1.9.x/client-android/java/avatars/get-qr.md index 3e6d2a14f..be4d11c37 100644 --- a/examples/1.9.x/client-android/java/avatars/get-qr.md +++ b/examples/1.9.x/client-android/java/avatars/get-qr.md @@ -5,8 +5,7 @@ import io.appwrite.services.Avatars; Client client = new Client(context) .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint - .setProject("") // Your project ID - .setImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(""); // Your project ID Avatars avatars = new Avatars(client); diff --git a/examples/1.9.x/client-android/java/avatars/get-screenshot.md b/examples/1.9.x/client-android/java/avatars/get-screenshot.md index f8ad8f152..c016ea5f6 100644 --- a/examples/1.9.x/client-android/java/avatars/get-screenshot.md +++ b/examples/1.9.x/client-android/java/avatars/get-screenshot.md @@ -9,8 +9,7 @@ import io.appwrite.enums.ImageFormat; Client client = new Client(context) .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint - .setProject("") // Your project ID - .setImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(""); // Your project ID Avatars avatars = new Avatars(client); diff --git a/examples/1.9.x/client-android/java/storage/get-file-download.md b/examples/1.9.x/client-android/java/storage/get-file-download.md index be52602cc..91d91b7d0 100644 --- a/examples/1.9.x/client-android/java/storage/get-file-download.md +++ b/examples/1.9.x/client-android/java/storage/get-file-download.md @@ -5,8 +5,7 @@ import io.appwrite.services.Storage; Client client = new Client(context) .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint - .setProject("") // Your project ID - .setImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(""); // Your project ID Storage storage = new Storage(client); diff --git a/examples/1.9.x/client-android/java/storage/get-file-preview.md b/examples/1.9.x/client-android/java/storage/get-file-preview.md index dac0f318b..9355dc68a 100644 --- a/examples/1.9.x/client-android/java/storage/get-file-preview.md +++ b/examples/1.9.x/client-android/java/storage/get-file-preview.md @@ -7,8 +7,7 @@ import io.appwrite.enums.ImageFormat; Client client = new Client(context) .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint - .setProject("") // Your project ID - .setImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(""); // Your project ID Storage storage = new Storage(client); diff --git a/examples/1.9.x/client-android/java/storage/get-file-view.md b/examples/1.9.x/client-android/java/storage/get-file-view.md index af3936dfc..66762c2b6 100644 --- a/examples/1.9.x/client-android/java/storage/get-file-view.md +++ b/examples/1.9.x/client-android/java/storage/get-file-view.md @@ -5,8 +5,7 @@ import io.appwrite.services.Storage; Client client = new Client(context) .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint - .setProject("") // Your project ID - .setImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(""); // Your project ID Storage storage = new Storage(client); diff --git a/examples/1.9.x/client-android/kotlin/avatars/get-browser.md b/examples/1.9.x/client-android/kotlin/avatars/get-browser.md index b8828c291..7c32ad2d9 100644 --- a/examples/1.9.x/client-android/kotlin/avatars/get-browser.md +++ b/examples/1.9.x/client-android/kotlin/avatars/get-browser.md @@ -7,7 +7,6 @@ import io.appwrite.enums.Browser val client = Client(context) .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. val avatars = Avatars(client) diff --git a/examples/1.9.x/client-android/kotlin/avatars/get-credit-card.md b/examples/1.9.x/client-android/kotlin/avatars/get-credit-card.md index 5d2910a14..54244acc9 100644 --- a/examples/1.9.x/client-android/kotlin/avatars/get-credit-card.md +++ b/examples/1.9.x/client-android/kotlin/avatars/get-credit-card.md @@ -7,7 +7,6 @@ import io.appwrite.enums.CreditCard val client = Client(context) .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. val avatars = Avatars(client) diff --git a/examples/1.9.x/client-android/kotlin/avatars/get-favicon.md b/examples/1.9.x/client-android/kotlin/avatars/get-favicon.md index b8c409c3b..d55a0b424 100644 --- a/examples/1.9.x/client-android/kotlin/avatars/get-favicon.md +++ b/examples/1.9.x/client-android/kotlin/avatars/get-favicon.md @@ -6,7 +6,6 @@ import io.appwrite.services.Avatars val client = Client(context) .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. val avatars = Avatars(client) diff --git a/examples/1.9.x/client-android/kotlin/avatars/get-flag.md b/examples/1.9.x/client-android/kotlin/avatars/get-flag.md index 0d994a35d..c03ccb3f9 100644 --- a/examples/1.9.x/client-android/kotlin/avatars/get-flag.md +++ b/examples/1.9.x/client-android/kotlin/avatars/get-flag.md @@ -7,7 +7,6 @@ import io.appwrite.enums.Flag val client = Client(context) .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. val avatars = Avatars(client) diff --git a/examples/1.9.x/client-android/kotlin/avatars/get-image.md b/examples/1.9.x/client-android/kotlin/avatars/get-image.md index 9d4c9a683..4e22185de 100644 --- a/examples/1.9.x/client-android/kotlin/avatars/get-image.md +++ b/examples/1.9.x/client-android/kotlin/avatars/get-image.md @@ -6,7 +6,6 @@ import io.appwrite.services.Avatars val client = Client(context) .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. val avatars = Avatars(client) diff --git a/examples/1.9.x/client-android/kotlin/avatars/get-initials.md b/examples/1.9.x/client-android/kotlin/avatars/get-initials.md index 79a4d3de2..1cb76a185 100644 --- a/examples/1.9.x/client-android/kotlin/avatars/get-initials.md +++ b/examples/1.9.x/client-android/kotlin/avatars/get-initials.md @@ -6,7 +6,6 @@ import io.appwrite.services.Avatars val client = Client(context) .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. val avatars = Avatars(client) diff --git a/examples/1.9.x/client-android/kotlin/avatars/get-qr.md b/examples/1.9.x/client-android/kotlin/avatars/get-qr.md index 6d1381de6..e962ef309 100644 --- a/examples/1.9.x/client-android/kotlin/avatars/get-qr.md +++ b/examples/1.9.x/client-android/kotlin/avatars/get-qr.md @@ -6,7 +6,6 @@ import io.appwrite.services.Avatars val client = Client(context) .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. val avatars = Avatars(client) diff --git a/examples/1.9.x/client-android/kotlin/avatars/get-screenshot.md b/examples/1.9.x/client-android/kotlin/avatars/get-screenshot.md index 292d526db..1093c060f 100644 --- a/examples/1.9.x/client-android/kotlin/avatars/get-screenshot.md +++ b/examples/1.9.x/client-android/kotlin/avatars/get-screenshot.md @@ -10,7 +10,6 @@ import io.appwrite.enums.ImageFormat val client = Client(context) .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. val avatars = Avatars(client) diff --git a/examples/1.9.x/client-android/kotlin/storage/get-file-download.md b/examples/1.9.x/client-android/kotlin/storage/get-file-download.md index 206093f07..d60b5fa4a 100644 --- a/examples/1.9.x/client-android/kotlin/storage/get-file-download.md +++ b/examples/1.9.x/client-android/kotlin/storage/get-file-download.md @@ -6,7 +6,6 @@ import io.appwrite.services.Storage val client = Client(context) .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. val storage = Storage(client) diff --git a/examples/1.9.x/client-android/kotlin/storage/get-file-preview.md b/examples/1.9.x/client-android/kotlin/storage/get-file-preview.md index 739447007..2bb8cffd8 100644 --- a/examples/1.9.x/client-android/kotlin/storage/get-file-preview.md +++ b/examples/1.9.x/client-android/kotlin/storage/get-file-preview.md @@ -8,7 +8,6 @@ import io.appwrite.enums.ImageFormat val client = Client(context) .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. val storage = Storage(client) diff --git a/examples/1.9.x/client-android/kotlin/storage/get-file-view.md b/examples/1.9.x/client-android/kotlin/storage/get-file-view.md index 119c57478..6e6e77f46 100644 --- a/examples/1.9.x/client-android/kotlin/storage/get-file-view.md +++ b/examples/1.9.x/client-android/kotlin/storage/get-file-view.md @@ -6,7 +6,6 @@ import io.appwrite.services.Storage val client = Client(context) .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. val storage = Storage(client) diff --git a/examples/1.9.x/client-apple/examples/avatars/get-browser.md b/examples/1.9.x/client-apple/examples/avatars/get-browser.md index e0c129a68..9825d8804 100644 --- a/examples/1.9.x/client-apple/examples/avatars/get-browser.md +++ b/examples/1.9.x/client-apple/examples/avatars/get-browser.md @@ -5,7 +5,6 @@ import AppwriteEnums let client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let avatars = Avatars(client) diff --git a/examples/1.9.x/client-apple/examples/avatars/get-credit-card.md b/examples/1.9.x/client-apple/examples/avatars/get-credit-card.md index 19f70a820..a294929a6 100644 --- a/examples/1.9.x/client-apple/examples/avatars/get-credit-card.md +++ b/examples/1.9.x/client-apple/examples/avatars/get-credit-card.md @@ -5,7 +5,6 @@ import AppwriteEnums let client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let avatars = Avatars(client) diff --git a/examples/1.9.x/client-apple/examples/avatars/get-favicon.md b/examples/1.9.x/client-apple/examples/avatars/get-favicon.md index ec9b6dd06..0d5435214 100644 --- a/examples/1.9.x/client-apple/examples/avatars/get-favicon.md +++ b/examples/1.9.x/client-apple/examples/avatars/get-favicon.md @@ -4,7 +4,6 @@ import Appwrite let client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let avatars = Avatars(client) diff --git a/examples/1.9.x/client-apple/examples/avatars/get-flag.md b/examples/1.9.x/client-apple/examples/avatars/get-flag.md index 74121bac1..ae4586067 100644 --- a/examples/1.9.x/client-apple/examples/avatars/get-flag.md +++ b/examples/1.9.x/client-apple/examples/avatars/get-flag.md @@ -5,7 +5,6 @@ import AppwriteEnums let client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let avatars = Avatars(client) diff --git a/examples/1.9.x/client-apple/examples/avatars/get-image.md b/examples/1.9.x/client-apple/examples/avatars/get-image.md index 75926fc64..0cbc666ae 100644 --- a/examples/1.9.x/client-apple/examples/avatars/get-image.md +++ b/examples/1.9.x/client-apple/examples/avatars/get-image.md @@ -4,7 +4,6 @@ import Appwrite let client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let avatars = Avatars(client) diff --git a/examples/1.9.x/client-apple/examples/avatars/get-initials.md b/examples/1.9.x/client-apple/examples/avatars/get-initials.md index e265dc257..d1f6d7c2d 100644 --- a/examples/1.9.x/client-apple/examples/avatars/get-initials.md +++ b/examples/1.9.x/client-apple/examples/avatars/get-initials.md @@ -4,7 +4,6 @@ import Appwrite let client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let avatars = Avatars(client) diff --git a/examples/1.9.x/client-apple/examples/avatars/get-qr.md b/examples/1.9.x/client-apple/examples/avatars/get-qr.md index 23817fc4d..86a43fba1 100644 --- a/examples/1.9.x/client-apple/examples/avatars/get-qr.md +++ b/examples/1.9.x/client-apple/examples/avatars/get-qr.md @@ -4,7 +4,6 @@ import Appwrite let client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let avatars = Avatars(client) diff --git a/examples/1.9.x/client-apple/examples/avatars/get-screenshot.md b/examples/1.9.x/client-apple/examples/avatars/get-screenshot.md index 3ccded0f2..7711677f4 100644 --- a/examples/1.9.x/client-apple/examples/avatars/get-screenshot.md +++ b/examples/1.9.x/client-apple/examples/avatars/get-screenshot.md @@ -5,7 +5,6 @@ import AppwriteEnums let client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let avatars = Avatars(client) diff --git a/examples/1.9.x/client-apple/examples/storage/get-file-download.md b/examples/1.9.x/client-apple/examples/storage/get-file-download.md index 7303487dc..c46d0723a 100644 --- a/examples/1.9.x/client-apple/examples/storage/get-file-download.md +++ b/examples/1.9.x/client-apple/examples/storage/get-file-download.md @@ -4,7 +4,6 @@ import Appwrite let client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let storage = Storage(client) diff --git a/examples/1.9.x/client-apple/examples/storage/get-file-preview.md b/examples/1.9.x/client-apple/examples/storage/get-file-preview.md index 26de4918e..5ba403231 100644 --- a/examples/1.9.x/client-apple/examples/storage/get-file-preview.md +++ b/examples/1.9.x/client-apple/examples/storage/get-file-preview.md @@ -5,7 +5,6 @@ import AppwriteEnums let client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let storage = Storage(client) diff --git a/examples/1.9.x/client-apple/examples/storage/get-file-view.md b/examples/1.9.x/client-apple/examples/storage/get-file-view.md index 7026f5af0..1364d8ef6 100644 --- a/examples/1.9.x/client-apple/examples/storage/get-file-view.md +++ b/examples/1.9.x/client-apple/examples/storage/get-file-view.md @@ -4,7 +4,6 @@ import Appwrite let client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let storage = Storage(client) diff --git a/examples/1.9.x/client-flutter/examples/avatars/get-browser.md b/examples/1.9.x/client-flutter/examples/avatars/get-browser.md index 1cdf87b56..19026083e 100644 --- a/examples/1.9.x/client-flutter/examples/avatars/get-browser.md +++ b/examples/1.9.x/client-flutter/examples/avatars/get-browser.md @@ -4,8 +4,7 @@ import 'package:appwrite/enums.dart' as enums; Client client = Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID Avatars avatars = Avatars(client); diff --git a/examples/1.9.x/client-flutter/examples/avatars/get-credit-card.md b/examples/1.9.x/client-flutter/examples/avatars/get-credit-card.md index 7d2d08b75..395608a4b 100644 --- a/examples/1.9.x/client-flutter/examples/avatars/get-credit-card.md +++ b/examples/1.9.x/client-flutter/examples/avatars/get-credit-card.md @@ -4,8 +4,7 @@ import 'package:appwrite/enums.dart' as enums; Client client = Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID Avatars avatars = Avatars(client); diff --git a/examples/1.9.x/client-flutter/examples/avatars/get-favicon.md b/examples/1.9.x/client-flutter/examples/avatars/get-favicon.md index afcbd1e54..fd1d0df70 100644 --- a/examples/1.9.x/client-flutter/examples/avatars/get-favicon.md +++ b/examples/1.9.x/client-flutter/examples/avatars/get-favicon.md @@ -3,8 +3,7 @@ import 'package:appwrite/appwrite.dart'; Client client = Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID Avatars avatars = Avatars(client); diff --git a/examples/1.9.x/client-flutter/examples/avatars/get-flag.md b/examples/1.9.x/client-flutter/examples/avatars/get-flag.md index c43508ffa..a5753f6cf 100644 --- a/examples/1.9.x/client-flutter/examples/avatars/get-flag.md +++ b/examples/1.9.x/client-flutter/examples/avatars/get-flag.md @@ -4,8 +4,7 @@ import 'package:appwrite/enums.dart' as enums; Client client = Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID Avatars avatars = Avatars(client); diff --git a/examples/1.9.x/client-flutter/examples/avatars/get-image.md b/examples/1.9.x/client-flutter/examples/avatars/get-image.md index 5ed8492cd..4e75bc7ea 100644 --- a/examples/1.9.x/client-flutter/examples/avatars/get-image.md +++ b/examples/1.9.x/client-flutter/examples/avatars/get-image.md @@ -3,8 +3,7 @@ import 'package:appwrite/appwrite.dart'; Client client = Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID Avatars avatars = Avatars(client); diff --git a/examples/1.9.x/client-flutter/examples/avatars/get-initials.md b/examples/1.9.x/client-flutter/examples/avatars/get-initials.md index 16c3e510a..3b5bb68ed 100644 --- a/examples/1.9.x/client-flutter/examples/avatars/get-initials.md +++ b/examples/1.9.x/client-flutter/examples/avatars/get-initials.md @@ -3,8 +3,7 @@ import 'package:appwrite/appwrite.dart'; Client client = Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID Avatars avatars = Avatars(client); diff --git a/examples/1.9.x/client-flutter/examples/avatars/get-qr.md b/examples/1.9.x/client-flutter/examples/avatars/get-qr.md index 262d14be9..8a6dc7704 100644 --- a/examples/1.9.x/client-flutter/examples/avatars/get-qr.md +++ b/examples/1.9.x/client-flutter/examples/avatars/get-qr.md @@ -3,8 +3,7 @@ import 'package:appwrite/appwrite.dart'; Client client = Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID Avatars avatars = Avatars(client); diff --git a/examples/1.9.x/client-flutter/examples/avatars/get-screenshot.md b/examples/1.9.x/client-flutter/examples/avatars/get-screenshot.md index 9f7559a88..7de27d7bc 100644 --- a/examples/1.9.x/client-flutter/examples/avatars/get-screenshot.md +++ b/examples/1.9.x/client-flutter/examples/avatars/get-screenshot.md @@ -4,8 +4,7 @@ import 'package:appwrite/enums.dart' as enums; Client client = Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID Avatars avatars = Avatars(client); diff --git a/examples/1.9.x/client-flutter/examples/storage/get-file-download.md b/examples/1.9.x/client-flutter/examples/storage/get-file-download.md index d115831b9..8fc48d152 100644 --- a/examples/1.9.x/client-flutter/examples/storage/get-file-download.md +++ b/examples/1.9.x/client-flutter/examples/storage/get-file-download.md @@ -3,8 +3,7 @@ import 'package:appwrite/appwrite.dart'; Client client = Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID Storage storage = Storage(client); diff --git a/examples/1.9.x/client-flutter/examples/storage/get-file-preview.md b/examples/1.9.x/client-flutter/examples/storage/get-file-preview.md index 6ad484c4a..06e583a39 100644 --- a/examples/1.9.x/client-flutter/examples/storage/get-file-preview.md +++ b/examples/1.9.x/client-flutter/examples/storage/get-file-preview.md @@ -4,8 +4,7 @@ import 'package:appwrite/enums.dart' as enums; Client client = Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID Storage storage = Storage(client); diff --git a/examples/1.9.x/client-flutter/examples/storage/get-file-view.md b/examples/1.9.x/client-flutter/examples/storage/get-file-view.md index 13e51165a..56d2652d2 100644 --- a/examples/1.9.x/client-flutter/examples/storage/get-file-view.md +++ b/examples/1.9.x/client-flutter/examples/storage/get-file-view.md @@ -3,8 +3,7 @@ import 'package:appwrite/appwrite.dart'; Client client = Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID Storage storage = Storage(client); diff --git a/examples/1.9.x/client-react-native/examples/avatars/get-browser.md b/examples/1.9.x/client-react-native/examples/avatars/get-browser.md index 1fa157bae..ff14a8c90 100644 --- a/examples/1.9.x/client-react-native/examples/avatars/get-browser.md +++ b/examples/1.9.x/client-react-native/examples/avatars/get-browser.md @@ -3,8 +3,7 @@ import { Client, Avatars, Browser } from "react-native-appwrite"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const avatars = new Avatars(client); diff --git a/examples/1.9.x/client-react-native/examples/avatars/get-credit-card.md b/examples/1.9.x/client-react-native/examples/avatars/get-credit-card.md index 2ff666179..1c83c95bc 100644 --- a/examples/1.9.x/client-react-native/examples/avatars/get-credit-card.md +++ b/examples/1.9.x/client-react-native/examples/avatars/get-credit-card.md @@ -3,8 +3,7 @@ import { Client, Avatars, CreditCard } from "react-native-appwrite"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const avatars = new Avatars(client); diff --git a/examples/1.9.x/client-react-native/examples/avatars/get-favicon.md b/examples/1.9.x/client-react-native/examples/avatars/get-favicon.md index 2153cafae..c08209219 100644 --- a/examples/1.9.x/client-react-native/examples/avatars/get-favicon.md +++ b/examples/1.9.x/client-react-native/examples/avatars/get-favicon.md @@ -3,8 +3,7 @@ import { Client, Avatars } from "react-native-appwrite"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const avatars = new Avatars(client); diff --git a/examples/1.9.x/client-react-native/examples/avatars/get-flag.md b/examples/1.9.x/client-react-native/examples/avatars/get-flag.md index 35398c995..dd0fb7342 100644 --- a/examples/1.9.x/client-react-native/examples/avatars/get-flag.md +++ b/examples/1.9.x/client-react-native/examples/avatars/get-flag.md @@ -3,8 +3,7 @@ import { Client, Avatars, Flag } from "react-native-appwrite"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const avatars = new Avatars(client); diff --git a/examples/1.9.x/client-react-native/examples/avatars/get-image.md b/examples/1.9.x/client-react-native/examples/avatars/get-image.md index a5cbbf80e..da1074827 100644 --- a/examples/1.9.x/client-react-native/examples/avatars/get-image.md +++ b/examples/1.9.x/client-react-native/examples/avatars/get-image.md @@ -3,8 +3,7 @@ import { Client, Avatars } from "react-native-appwrite"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const avatars = new Avatars(client); diff --git a/examples/1.9.x/client-react-native/examples/avatars/get-initials.md b/examples/1.9.x/client-react-native/examples/avatars/get-initials.md index 8f3f9c4bd..fbcf43ed0 100644 --- a/examples/1.9.x/client-react-native/examples/avatars/get-initials.md +++ b/examples/1.9.x/client-react-native/examples/avatars/get-initials.md @@ -3,8 +3,7 @@ import { Client, Avatars } from "react-native-appwrite"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const avatars = new Avatars(client); diff --git a/examples/1.9.x/client-react-native/examples/avatars/get-qr.md b/examples/1.9.x/client-react-native/examples/avatars/get-qr.md index 746ba446f..b73c62150 100644 --- a/examples/1.9.x/client-react-native/examples/avatars/get-qr.md +++ b/examples/1.9.x/client-react-native/examples/avatars/get-qr.md @@ -3,8 +3,7 @@ import { Client, Avatars } from "react-native-appwrite"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const avatars = new Avatars(client); diff --git a/examples/1.9.x/client-react-native/examples/avatars/get-screenshot.md b/examples/1.9.x/client-react-native/examples/avatars/get-screenshot.md index 00d1f0433..bf88cf2b3 100644 --- a/examples/1.9.x/client-react-native/examples/avatars/get-screenshot.md +++ b/examples/1.9.x/client-react-native/examples/avatars/get-screenshot.md @@ -3,8 +3,7 @@ import { Client, Avatars, BrowserTheme, Timezone, BrowserPermission, ImageFormat const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const avatars = new Avatars(client); diff --git a/examples/1.9.x/client-react-native/examples/storage/get-file-download.md b/examples/1.9.x/client-react-native/examples/storage/get-file-download.md index 5a8e2bd04..52f602b9d 100644 --- a/examples/1.9.x/client-react-native/examples/storage/get-file-download.md +++ b/examples/1.9.x/client-react-native/examples/storage/get-file-download.md @@ -3,8 +3,7 @@ import { Client, Storage } from "react-native-appwrite"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const storage = new Storage(client); diff --git a/examples/1.9.x/client-react-native/examples/storage/get-file-preview.md b/examples/1.9.x/client-react-native/examples/storage/get-file-preview.md index d96cb01fb..d3c944adc 100644 --- a/examples/1.9.x/client-react-native/examples/storage/get-file-preview.md +++ b/examples/1.9.x/client-react-native/examples/storage/get-file-preview.md @@ -3,8 +3,7 @@ import { Client, Storage, ImageGravity, ImageFormat } from "react-native-appwrit const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const storage = new Storage(client); diff --git a/examples/1.9.x/client-react-native/examples/storage/get-file-view.md b/examples/1.9.x/client-react-native/examples/storage/get-file-view.md index f41c60242..28e6e43ab 100644 --- a/examples/1.9.x/client-react-native/examples/storage/get-file-view.md +++ b/examples/1.9.x/client-react-native/examples/storage/get-file-view.md @@ -3,8 +3,7 @@ import { Client, Storage } from "react-native-appwrite"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const storage = new Storage(client); diff --git a/examples/1.9.x/client-web/examples/avatars/get-browser.md b/examples/1.9.x/client-web/examples/avatars/get-browser.md index f08e718bf..d4c1a40fb 100644 --- a/examples/1.9.x/client-web/examples/avatars/get-browser.md +++ b/examples/1.9.x/client-web/examples/avatars/get-browser.md @@ -3,8 +3,7 @@ import { Client, Avatars, Browser } from "appwrite"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const avatars = new Avatars(client); diff --git a/examples/1.9.x/client-web/examples/avatars/get-credit-card.md b/examples/1.9.x/client-web/examples/avatars/get-credit-card.md index ecf804510..57758501a 100644 --- a/examples/1.9.x/client-web/examples/avatars/get-credit-card.md +++ b/examples/1.9.x/client-web/examples/avatars/get-credit-card.md @@ -3,8 +3,7 @@ import { Client, Avatars, CreditCard } from "appwrite"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const avatars = new Avatars(client); diff --git a/examples/1.9.x/client-web/examples/avatars/get-favicon.md b/examples/1.9.x/client-web/examples/avatars/get-favicon.md index 3fb27de0c..8b09f65ff 100644 --- a/examples/1.9.x/client-web/examples/avatars/get-favicon.md +++ b/examples/1.9.x/client-web/examples/avatars/get-favicon.md @@ -3,8 +3,7 @@ import { Client, Avatars } from "appwrite"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const avatars = new Avatars(client); diff --git a/examples/1.9.x/client-web/examples/avatars/get-flag.md b/examples/1.9.x/client-web/examples/avatars/get-flag.md index 1f385c9ae..d24b9b407 100644 --- a/examples/1.9.x/client-web/examples/avatars/get-flag.md +++ b/examples/1.9.x/client-web/examples/avatars/get-flag.md @@ -3,8 +3,7 @@ import { Client, Avatars, Flag } from "appwrite"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const avatars = new Avatars(client); diff --git a/examples/1.9.x/client-web/examples/avatars/get-image.md b/examples/1.9.x/client-web/examples/avatars/get-image.md index fce204490..f8f33731b 100644 --- a/examples/1.9.x/client-web/examples/avatars/get-image.md +++ b/examples/1.9.x/client-web/examples/avatars/get-image.md @@ -3,8 +3,7 @@ import { Client, Avatars } from "appwrite"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const avatars = new Avatars(client); diff --git a/examples/1.9.x/client-web/examples/avatars/get-initials.md b/examples/1.9.x/client-web/examples/avatars/get-initials.md index 42085c717..0722a72df 100644 --- a/examples/1.9.x/client-web/examples/avatars/get-initials.md +++ b/examples/1.9.x/client-web/examples/avatars/get-initials.md @@ -3,8 +3,7 @@ import { Client, Avatars } from "appwrite"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const avatars = new Avatars(client); diff --git a/examples/1.9.x/client-web/examples/avatars/get-qr.md b/examples/1.9.x/client-web/examples/avatars/get-qr.md index f385421a6..829c71214 100644 --- a/examples/1.9.x/client-web/examples/avatars/get-qr.md +++ b/examples/1.9.x/client-web/examples/avatars/get-qr.md @@ -3,8 +3,7 @@ import { Client, Avatars } from "appwrite"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const avatars = new Avatars(client); diff --git a/examples/1.9.x/client-web/examples/avatars/get-screenshot.md b/examples/1.9.x/client-web/examples/avatars/get-screenshot.md index ee50262f9..d45f1e6ec 100644 --- a/examples/1.9.x/client-web/examples/avatars/get-screenshot.md +++ b/examples/1.9.x/client-web/examples/avatars/get-screenshot.md @@ -3,8 +3,7 @@ import { Client, Avatars, BrowserTheme, Timezone, BrowserPermission, ImageFormat const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const avatars = new Avatars(client); diff --git a/examples/1.9.x/client-web/examples/storage/get-file-download.md b/examples/1.9.x/client-web/examples/storage/get-file-download.md index 43b9f8f07..7758c7b49 100644 --- a/examples/1.9.x/client-web/examples/storage/get-file-download.md +++ b/examples/1.9.x/client-web/examples/storage/get-file-download.md @@ -3,8 +3,7 @@ import { Client, Storage } from "appwrite"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const storage = new Storage(client); diff --git a/examples/1.9.x/client-web/examples/storage/get-file-preview.md b/examples/1.9.x/client-web/examples/storage/get-file-preview.md index dc6deccd2..4d01ef0ce 100644 --- a/examples/1.9.x/client-web/examples/storage/get-file-preview.md +++ b/examples/1.9.x/client-web/examples/storage/get-file-preview.md @@ -3,8 +3,7 @@ import { Client, Storage, ImageGravity, ImageFormat } from "appwrite"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const storage = new Storage(client); diff --git a/examples/1.9.x/client-web/examples/storage/get-file-view.md b/examples/1.9.x/client-web/examples/storage/get-file-view.md index b5b4abf9a..682e947c4 100644 --- a/examples/1.9.x/client-web/examples/storage/get-file-view.md +++ b/examples/1.9.x/client-web/examples/storage/get-file-view.md @@ -3,8 +3,7 @@ import { Client, Storage } from "appwrite"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const storage = new Storage(client); diff --git a/examples/1.9.x/console-cli/examples/oauth2/approve.md b/examples/1.9.x/console-cli/examples/oauth2/approve.md new file mode 100644 index 000000000..a5b255f8b --- /dev/null +++ b/examples/1.9.x/console-cli/examples/oauth2/approve.md @@ -0,0 +1,4 @@ +```bash +appwrite oauth-2 approve \ + --grant-_id +``` diff --git a/examples/1.9.x/console-cli/examples/oauth2/authorize.md b/examples/1.9.x/console-cli/examples/oauth2/authorize.md new file mode 100644 index 000000000..e04276438 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/oauth2/authorize.md @@ -0,0 +1,7 @@ +```bash +appwrite oauth-2 authorize \ + --client-_id \ + --redirect-_uri https://example.com \ + --response-_type code \ + --scope +``` diff --git a/examples/1.9.x/console-cli/examples/oauth2/create-device-authorization.md b/examples/1.9.x/console-cli/examples/oauth2/create-device-authorization.md new file mode 100644 index 000000000..81655435f --- /dev/null +++ b/examples/1.9.x/console-cli/examples/oauth2/create-device-authorization.md @@ -0,0 +1,3 @@ +```bash +appwrite oauth-2 create-device-authorization +``` diff --git a/examples/1.9.x/console-cli/examples/oauth2/create-grant.md b/examples/1.9.x/console-cli/examples/oauth2/create-grant.md new file mode 100644 index 000000000..5d2347084 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/oauth2/create-grant.md @@ -0,0 +1,4 @@ +```bash +appwrite oauth-2 create-grant \ + --user-_code +``` diff --git a/examples/1.9.x/console-cli/examples/oauth2/create-token.md b/examples/1.9.x/console-cli/examples/oauth2/create-token.md new file mode 100644 index 000000000..a8fcc0a8e --- /dev/null +++ b/examples/1.9.x/console-cli/examples/oauth2/create-token.md @@ -0,0 +1,4 @@ +```bash +appwrite oauth-2 create-token \ + --grant-_type +``` diff --git a/examples/1.9.x/console-cli/examples/oauth2/get-grant.md b/examples/1.9.x/console-cli/examples/oauth2/get-grant.md new file mode 100644 index 000000000..53ce66354 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/oauth2/get-grant.md @@ -0,0 +1,4 @@ +```bash +appwrite oauth-2 get-grant \ + --grant-_id +``` diff --git a/examples/1.9.x/console-cli/examples/oauth2/logout.md b/examples/1.9.x/console-cli/examples/oauth2/logout.md new file mode 100644 index 000000000..ccb37f268 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/oauth2/logout.md @@ -0,0 +1,3 @@ +```bash +appwrite oauth-2 logout +``` diff --git a/examples/1.9.x/console-cli/examples/oauth2/reject.md b/examples/1.9.x/console-cli/examples/oauth2/reject.md new file mode 100644 index 000000000..941b4815c --- /dev/null +++ b/examples/1.9.x/console-cli/examples/oauth2/reject.md @@ -0,0 +1,4 @@ +```bash +appwrite oauth-2 reject \ + --grant-_id +``` diff --git a/examples/1.9.x/console-cli/examples/oauth2/revoke.md b/examples/1.9.x/console-cli/examples/oauth2/revoke.md new file mode 100644 index 000000000..d83cc9d05 --- /dev/null +++ b/examples/1.9.x/console-cli/examples/oauth2/revoke.md @@ -0,0 +1,4 @@ +```bash +appwrite oauth-2 revoke \ + --token +``` diff --git a/examples/1.9.x/console-cli/examples/project/update-deny-corporate-email-policy.md b/examples/1.9.x/console-cli/examples/project/update-deny-corporate-email-policy.md new file mode 100644 index 000000000..ddbfc636b --- /dev/null +++ b/examples/1.9.x/console-cli/examples/project/update-deny-corporate-email-policy.md @@ -0,0 +1,4 @@ +```bash +appwrite project update-deny-corporate-email-policy \ + --enabled false +``` diff --git a/examples/1.9.x/console-web/examples/apps/create.md b/examples/1.9.x/console-web/examples/apps/create.md index 45a45f6d4..86e839c7b 100644 --- a/examples/1.9.x/console-web/examples/apps/create.md +++ b/examples/1.9.x/console-web/examples/apps/create.md @@ -22,6 +22,7 @@ const result = await apps.create({ images: [], // optional supportUrl: 'https://example.com', // optional dataDeletionUrl: 'https://example.com', // optional + postLogoutRedirectUris: [], // optional enabled: false, // optional type: 'public', // optional deviceFlow: false, // optional diff --git a/examples/1.9.x/console-web/examples/apps/update.md b/examples/1.9.x/console-web/examples/apps/update.md index 2ad209dbf..4ead45645 100644 --- a/examples/1.9.x/console-web/examples/apps/update.md +++ b/examples/1.9.x/console-web/examples/apps/update.md @@ -23,6 +23,7 @@ const result = await apps.update({ dataDeletionUrl: 'https://example.com', // optional enabled: false, // optional redirectUris: [], // optional + postLogoutRedirectUris: [], // optional type: 'public', // optional deviceFlow: false // optional }); diff --git a/examples/1.9.x/console-web/examples/avatars/get-browser.md b/examples/1.9.x/console-web/examples/avatars/get-browser.md index c0c83e4e4..b28ec7d93 100644 --- a/examples/1.9.x/console-web/examples/avatars/get-browser.md +++ b/examples/1.9.x/console-web/examples/avatars/get-browser.md @@ -3,8 +3,7 @@ import { Client, Avatars, Browser } from "@appwrite.io/console"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const avatars = new Avatars(client); diff --git a/examples/1.9.x/console-web/examples/avatars/get-credit-card.md b/examples/1.9.x/console-web/examples/avatars/get-credit-card.md index 291191216..8949b1f4a 100644 --- a/examples/1.9.x/console-web/examples/avatars/get-credit-card.md +++ b/examples/1.9.x/console-web/examples/avatars/get-credit-card.md @@ -3,8 +3,7 @@ import { Client, Avatars, CreditCard } from "@appwrite.io/console"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const avatars = new Avatars(client); diff --git a/examples/1.9.x/console-web/examples/avatars/get-favicon.md b/examples/1.9.x/console-web/examples/avatars/get-favicon.md index afccc9515..0df25533e 100644 --- a/examples/1.9.x/console-web/examples/avatars/get-favicon.md +++ b/examples/1.9.x/console-web/examples/avatars/get-favicon.md @@ -3,8 +3,7 @@ import { Client, Avatars } from "@appwrite.io/console"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const avatars = new Avatars(client); diff --git a/examples/1.9.x/console-web/examples/avatars/get-flag.md b/examples/1.9.x/console-web/examples/avatars/get-flag.md index 5921e5c57..122c988f1 100644 --- a/examples/1.9.x/console-web/examples/avatars/get-flag.md +++ b/examples/1.9.x/console-web/examples/avatars/get-flag.md @@ -3,8 +3,7 @@ import { Client, Avatars, Flag } from "@appwrite.io/console"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const avatars = new Avatars(client); diff --git a/examples/1.9.x/console-web/examples/avatars/get-image.md b/examples/1.9.x/console-web/examples/avatars/get-image.md index d0f1349d0..d24f49efc 100644 --- a/examples/1.9.x/console-web/examples/avatars/get-image.md +++ b/examples/1.9.x/console-web/examples/avatars/get-image.md @@ -3,8 +3,7 @@ import { Client, Avatars } from "@appwrite.io/console"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const avatars = new Avatars(client); diff --git a/examples/1.9.x/console-web/examples/avatars/get-initials.md b/examples/1.9.x/console-web/examples/avatars/get-initials.md index ecac3f543..892497b2b 100644 --- a/examples/1.9.x/console-web/examples/avatars/get-initials.md +++ b/examples/1.9.x/console-web/examples/avatars/get-initials.md @@ -3,8 +3,7 @@ import { Client, Avatars } from "@appwrite.io/console"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const avatars = new Avatars(client); diff --git a/examples/1.9.x/console-web/examples/avatars/get-qr.md b/examples/1.9.x/console-web/examples/avatars/get-qr.md index b42160ddb..f15fa6e97 100644 --- a/examples/1.9.x/console-web/examples/avatars/get-qr.md +++ b/examples/1.9.x/console-web/examples/avatars/get-qr.md @@ -3,8 +3,7 @@ import { Client, Avatars } from "@appwrite.io/console"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const avatars = new Avatars(client); diff --git a/examples/1.9.x/console-web/examples/avatars/get-screenshot.md b/examples/1.9.x/console-web/examples/avatars/get-screenshot.md index 1025b3443..45e3517f3 100644 --- a/examples/1.9.x/console-web/examples/avatars/get-screenshot.md +++ b/examples/1.9.x/console-web/examples/avatars/get-screenshot.md @@ -3,8 +3,7 @@ import { Client, Avatars, BrowserTheme, Timezone, BrowserPermission, ImageFormat const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const avatars = new Avatars(client); diff --git a/examples/1.9.x/console-web/examples/domains/create-record-a.md b/examples/1.9.x/console-web/examples/domains/create-record-a.md index 84f1def6c..e1f86f701 100644 --- a/examples/1.9.x/console-web/examples/domains/create-record-a.md +++ b/examples/1.9.x/console-web/examples/domains/create-record-a.md @@ -9,7 +9,7 @@ const domains = new Domains(client); const result = await domains.createRecordA({ domainId: '', - name: '', + name: '', value: '', ttl: 1, comment: '' // optional diff --git a/examples/1.9.x/console-web/examples/domains/create-record-aaaa.md b/examples/1.9.x/console-web/examples/domains/create-record-aaaa.md index 6b10e0f03..1bb59406e 100644 --- a/examples/1.9.x/console-web/examples/domains/create-record-aaaa.md +++ b/examples/1.9.x/console-web/examples/domains/create-record-aaaa.md @@ -9,7 +9,7 @@ const domains = new Domains(client); const result = await domains.createRecordAAAA({ domainId: '', - name: '', + name: '', value: '', ttl: 1, comment: '' // optional diff --git a/examples/1.9.x/console-web/examples/domains/create-record-alias.md b/examples/1.9.x/console-web/examples/domains/create-record-alias.md index 4226aadfe..8021cb48e 100644 --- a/examples/1.9.x/console-web/examples/domains/create-record-alias.md +++ b/examples/1.9.x/console-web/examples/domains/create-record-alias.md @@ -9,7 +9,7 @@ const domains = new Domains(client); const result = await domains.createRecordAlias({ domainId: '', - name: '', + name: '', value: '', ttl: 1, comment: '' // optional diff --git a/examples/1.9.x/console-web/examples/domains/create-record-cname.md b/examples/1.9.x/console-web/examples/domains/create-record-cname.md index 79330be5b..f9ff80e20 100644 --- a/examples/1.9.x/console-web/examples/domains/create-record-cname.md +++ b/examples/1.9.x/console-web/examples/domains/create-record-cname.md @@ -9,7 +9,7 @@ const domains = new Domains(client); const result = await domains.createRecordCNAME({ domainId: '', - name: '', + name: '', value: '', ttl: 1, comment: '' // optional diff --git a/examples/1.9.x/console-web/examples/domains/create-record-https.md b/examples/1.9.x/console-web/examples/domains/create-record-https.md index 3b6981f63..ea86af0d0 100644 --- a/examples/1.9.x/console-web/examples/domains/create-record-https.md +++ b/examples/1.9.x/console-web/examples/domains/create-record-https.md @@ -9,7 +9,7 @@ const domains = new Domains(client); const result = await domains.createRecordHTTPS({ domainId: '', - name: '', + name: '', value: '', ttl: 1, comment: '' // optional diff --git a/examples/1.9.x/console-web/examples/domains/create-record-mx.md b/examples/1.9.x/console-web/examples/domains/create-record-mx.md index ad116953f..dab869b48 100644 --- a/examples/1.9.x/console-web/examples/domains/create-record-mx.md +++ b/examples/1.9.x/console-web/examples/domains/create-record-mx.md @@ -9,7 +9,7 @@ const domains = new Domains(client); const result = await domains.createRecordMX({ domainId: '', - name: '', + name: '', value: '', ttl: 1, priority: null, diff --git a/examples/1.9.x/console-web/examples/domains/create-record-ns.md b/examples/1.9.x/console-web/examples/domains/create-record-ns.md index bafcb5060..d74987a61 100644 --- a/examples/1.9.x/console-web/examples/domains/create-record-ns.md +++ b/examples/1.9.x/console-web/examples/domains/create-record-ns.md @@ -9,7 +9,7 @@ const domains = new Domains(client); const result = await domains.createRecordNS({ domainId: '', - name: '', + name: '', value: '', ttl: 1, comment: '' // optional diff --git a/examples/1.9.x/console-web/examples/domains/create-record-srv.md b/examples/1.9.x/console-web/examples/domains/create-record-srv.md index 8e48733d5..5ca333fdf 100644 --- a/examples/1.9.x/console-web/examples/domains/create-record-srv.md +++ b/examples/1.9.x/console-web/examples/domains/create-record-srv.md @@ -9,7 +9,7 @@ const domains = new Domains(client); const result = await domains.createRecordSRV({ domainId: '', - name: '', + name: '', value: '', ttl: 1, priority: null, diff --git a/examples/1.9.x/console-web/examples/domains/create-record-txt.md b/examples/1.9.x/console-web/examples/domains/create-record-txt.md index f2614202a..18111a386 100644 --- a/examples/1.9.x/console-web/examples/domains/create-record-txt.md +++ b/examples/1.9.x/console-web/examples/domains/create-record-txt.md @@ -9,7 +9,7 @@ const domains = new Domains(client); const result = await domains.createRecordTXT({ domainId: '', - name: '', + name: '', ttl: 1, value: '', // optional comment: '' // optional diff --git a/examples/1.9.x/console-web/examples/domains/update-record-a.md b/examples/1.9.x/console-web/examples/domains/update-record-a.md index 81b105a8f..c8782ac9e 100644 --- a/examples/1.9.x/console-web/examples/domains/update-record-a.md +++ b/examples/1.9.x/console-web/examples/domains/update-record-a.md @@ -10,7 +10,7 @@ const domains = new Domains(client); const result = await domains.updateRecordA({ domainId: '', recordId: '', - name: '', + name: '', value: '', ttl: 1, comment: '' // optional diff --git a/examples/1.9.x/console-web/examples/domains/update-record-aaaa.md b/examples/1.9.x/console-web/examples/domains/update-record-aaaa.md index 9a41bb323..fa8064d49 100644 --- a/examples/1.9.x/console-web/examples/domains/update-record-aaaa.md +++ b/examples/1.9.x/console-web/examples/domains/update-record-aaaa.md @@ -10,7 +10,7 @@ const domains = new Domains(client); const result = await domains.updateRecordAAAA({ domainId: '', recordId: '', - name: '', + name: '', value: '', ttl: 1, comment: '' // optional diff --git a/examples/1.9.x/console-web/examples/domains/update-record-alias.md b/examples/1.9.x/console-web/examples/domains/update-record-alias.md index 34e05ff22..6f47e7af9 100644 --- a/examples/1.9.x/console-web/examples/domains/update-record-alias.md +++ b/examples/1.9.x/console-web/examples/domains/update-record-alias.md @@ -10,7 +10,7 @@ const domains = new Domains(client); const result = await domains.updateRecordAlias({ domainId: '', recordId: '', - name: '', + name: '', value: '', ttl: 1, comment: '' // optional diff --git a/examples/1.9.x/console-web/examples/domains/update-record-cname.md b/examples/1.9.x/console-web/examples/domains/update-record-cname.md index 59066de29..96bb86d41 100644 --- a/examples/1.9.x/console-web/examples/domains/update-record-cname.md +++ b/examples/1.9.x/console-web/examples/domains/update-record-cname.md @@ -10,7 +10,7 @@ const domains = new Domains(client); const result = await domains.updateRecordCNAME({ domainId: '', recordId: '', - name: '', + name: '', value: '', ttl: 1, comment: '' // optional diff --git a/examples/1.9.x/console-web/examples/domains/update-record-https.md b/examples/1.9.x/console-web/examples/domains/update-record-https.md index abc9e32ca..fd17d4e0b 100644 --- a/examples/1.9.x/console-web/examples/domains/update-record-https.md +++ b/examples/1.9.x/console-web/examples/domains/update-record-https.md @@ -10,7 +10,7 @@ const domains = new Domains(client); const result = await domains.updateRecordHTTPS({ domainId: '', recordId: '', - name: '', + name: '', value: '', ttl: 1, comment: '' // optional diff --git a/examples/1.9.x/console-web/examples/domains/update-record-mx.md b/examples/1.9.x/console-web/examples/domains/update-record-mx.md index 2c8ca7bd9..d6b4157e0 100644 --- a/examples/1.9.x/console-web/examples/domains/update-record-mx.md +++ b/examples/1.9.x/console-web/examples/domains/update-record-mx.md @@ -10,7 +10,7 @@ const domains = new Domains(client); const result = await domains.updateRecordMX({ domainId: '', recordId: '', - name: '', + name: '', value: '', ttl: 1, priority: null, diff --git a/examples/1.9.x/console-web/examples/domains/update-record-ns.md b/examples/1.9.x/console-web/examples/domains/update-record-ns.md index cadc5f1bb..341851007 100644 --- a/examples/1.9.x/console-web/examples/domains/update-record-ns.md +++ b/examples/1.9.x/console-web/examples/domains/update-record-ns.md @@ -10,7 +10,7 @@ const domains = new Domains(client); const result = await domains.updateRecordNS({ domainId: '', recordId: '', - name: '', + name: '', value: '', ttl: 1, comment: '' // optional diff --git a/examples/1.9.x/console-web/examples/domains/update-record-srv.md b/examples/1.9.x/console-web/examples/domains/update-record-srv.md index 11ec6e721..880012be0 100644 --- a/examples/1.9.x/console-web/examples/domains/update-record-srv.md +++ b/examples/1.9.x/console-web/examples/domains/update-record-srv.md @@ -10,7 +10,7 @@ const domains = new Domains(client); const result = await domains.updateRecordSRV({ domainId: '', recordId: '', - name: '', + name: '', value: '', ttl: 1, priority: null, diff --git a/examples/1.9.x/console-web/examples/domains/update-record-txt.md b/examples/1.9.x/console-web/examples/domains/update-record-txt.md index 4bd6d0093..f1fd63ecd 100644 --- a/examples/1.9.x/console-web/examples/domains/update-record-txt.md +++ b/examples/1.9.x/console-web/examples/domains/update-record-txt.md @@ -10,7 +10,7 @@ const domains = new Domains(client); const result = await domains.updateRecordTXT({ domainId: '', recordId: '', - name: '', + name: '', value: '', ttl: 1, comment: '' // optional diff --git a/examples/1.9.x/console-web/examples/functions/get-deployment-download.md b/examples/1.9.x/console-web/examples/functions/get-deployment-download.md index 5b0245634..d6b46f1d7 100644 --- a/examples/1.9.x/console-web/examples/functions/get-deployment-download.md +++ b/examples/1.9.x/console-web/examples/functions/get-deployment-download.md @@ -3,8 +3,7 @@ import { Client, Functions, DeploymentDownloadType } from "@appwrite.io/console" const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const functions = new Functions(client); diff --git a/examples/1.9.x/console-web/examples/oauth2/approve.md b/examples/1.9.x/console-web/examples/oauth2/approve.md new file mode 100644 index 000000000..0395f0483 --- /dev/null +++ b/examples/1.9.x/console-web/examples/oauth2/approve.md @@ -0,0 +1,16 @@ +```javascript +import { Client, Oauth2 } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const oauth2 = new Oauth2(client); + +const result = await oauth2.approve({ + grantId: '', + authorizationDetails: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/oauth2/authorize.md b/examples/1.9.x/console-web/examples/oauth2/authorize.md new file mode 100644 index 000000000..347df6928 --- /dev/null +++ b/examples/1.9.x/console-web/examples/oauth2/authorize.md @@ -0,0 +1,25 @@ +```javascript +import { Client, Oauth2 } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const oauth2 = new Oauth2(client); + +const result = await oauth2.authorize({ + clientId: '', + redirectUri: 'https://example.com', + responseType: 'code', + scope: '', + state: '', // optional + nonce: '', // optional + codeChallenge: '', // optional + codeChallengeMethod: 's256', // optional + prompt: '', // optional + maxAge: 0, // optional + authorizationDetails: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/oauth2/create-device-authorization.md b/examples/1.9.x/console-web/examples/oauth2/create-device-authorization.md new file mode 100644 index 000000000..fa905977b --- /dev/null +++ b/examples/1.9.x/console-web/examples/oauth2/create-device-authorization.md @@ -0,0 +1,17 @@ +```javascript +import { Client, Oauth2 } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const oauth2 = new Oauth2(client); + +const result = await oauth2.createDeviceAuthorization({ + clientId: '', // optional + scope: '', // optional + authorizationDetails: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/oauth2/create-grant.md b/examples/1.9.x/console-web/examples/oauth2/create-grant.md new file mode 100644 index 000000000..0bee97115 --- /dev/null +++ b/examples/1.9.x/console-web/examples/oauth2/create-grant.md @@ -0,0 +1,15 @@ +```javascript +import { Client, Oauth2 } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const oauth2 = new Oauth2(client); + +const result = await oauth2.createGrant({ + userCode: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/oauth2/create-token.md b/examples/1.9.x/console-web/examples/oauth2/create-token.md new file mode 100644 index 000000000..a2c2ef56d --- /dev/null +++ b/examples/1.9.x/console-web/examples/oauth2/create-token.md @@ -0,0 +1,22 @@ +```javascript +import { Client, Oauth2 } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const oauth2 = new Oauth2(client); + +const result = await oauth2.createToken({ + grantType: '', + code: '', // optional + refreshToken: '', // optional + deviceCode: '', // optional + clientId: '', // optional + clientSecret: '', // optional + codeVerifier: '', // optional + redirectUri: 'https://example.com' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/oauth2/get-grant.md b/examples/1.9.x/console-web/examples/oauth2/get-grant.md new file mode 100644 index 000000000..9ad1cd4ef --- /dev/null +++ b/examples/1.9.x/console-web/examples/oauth2/get-grant.md @@ -0,0 +1,15 @@ +```javascript +import { Client, Oauth2 } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const oauth2 = new Oauth2(client); + +const result = await oauth2.getGrant({ + grantId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/oauth2/logout.md b/examples/1.9.x/console-web/examples/oauth2/logout.md new file mode 100644 index 000000000..c7197fb79 --- /dev/null +++ b/examples/1.9.x/console-web/examples/oauth2/logout.md @@ -0,0 +1,20 @@ +```javascript +import { Client, Oauth2 } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const oauth2 = new Oauth2(client); + +const result = await oauth2.logout({ + idTokenHint: '', // optional + logoutHint: '', // optional + clientId: '', // optional + postLogoutRedirectUri: 'https://example.com', // optional + state: '', // optional + uiLocales: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/oauth2/reject.md b/examples/1.9.x/console-web/examples/oauth2/reject.md new file mode 100644 index 000000000..69868561e --- /dev/null +++ b/examples/1.9.x/console-web/examples/oauth2/reject.md @@ -0,0 +1,15 @@ +```javascript +import { Client, Oauth2 } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const oauth2 = new Oauth2(client); + +const result = await oauth2.reject({ + grantId: '' +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/oauth2/revoke.md b/examples/1.9.x/console-web/examples/oauth2/revoke.md new file mode 100644 index 000000000..ee733b14f --- /dev/null +++ b/examples/1.9.x/console-web/examples/oauth2/revoke.md @@ -0,0 +1,18 @@ +```javascript +import { Client, Oauth2 } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const oauth2 = new Oauth2(client); + +const result = await oauth2.revoke({ + token: '', + tokenTypeHint: 'access_token', // optional + clientId: '', // optional + clientSecret: '' // optional +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/organizations/get-invoice-download.md b/examples/1.9.x/console-web/examples/organizations/get-invoice-download.md index e35da2fee..06f074630 100644 --- a/examples/1.9.x/console-web/examples/organizations/get-invoice-download.md +++ b/examples/1.9.x/console-web/examples/organizations/get-invoice-download.md @@ -3,8 +3,7 @@ import { Client, Organizations } from "@appwrite.io/console"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const organizations = new Organizations(client); diff --git a/examples/1.9.x/console-web/examples/organizations/get-invoice-view.md b/examples/1.9.x/console-web/examples/organizations/get-invoice-view.md index 1a5b24252..454dedaf5 100644 --- a/examples/1.9.x/console-web/examples/organizations/get-invoice-view.md +++ b/examples/1.9.x/console-web/examples/organizations/get-invoice-view.md @@ -3,8 +3,7 @@ import { Client, Organizations } from "@appwrite.io/console"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const organizations = new Organizations(client); diff --git a/examples/1.9.x/console-web/examples/project/update-deny-corporate-email-policy.md b/examples/1.9.x/console-web/examples/project/update-deny-corporate-email-policy.md new file mode 100644 index 000000000..f9daed3d8 --- /dev/null +++ b/examples/1.9.x/console-web/examples/project/update-deny-corporate-email-policy.md @@ -0,0 +1,15 @@ +```javascript +import { Client, Project } from "@appwrite.io/console"; + +const client = new Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject(''); // Your project ID + +const project = new Project(client); + +const result = await project.updateDenyCorporateEmailPolicy({ + enabled: false +}); + +console.log(result); +``` diff --git a/examples/1.9.x/console-web/examples/sites/get-deployment-download.md b/examples/1.9.x/console-web/examples/sites/get-deployment-download.md index 288d3f8b8..2645bd510 100644 --- a/examples/1.9.x/console-web/examples/sites/get-deployment-download.md +++ b/examples/1.9.x/console-web/examples/sites/get-deployment-download.md @@ -3,8 +3,7 @@ import { Client, Sites, DeploymentDownloadType } from "@appwrite.io/console"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const sites = new Sites(client); diff --git a/examples/1.9.x/console-web/examples/storage/get-file-download.md b/examples/1.9.x/console-web/examples/storage/get-file-download.md index 227a9c3e4..1e940d16f 100644 --- a/examples/1.9.x/console-web/examples/storage/get-file-download.md +++ b/examples/1.9.x/console-web/examples/storage/get-file-download.md @@ -3,8 +3,7 @@ import { Client, Storage } from "@appwrite.io/console"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const storage = new Storage(client); diff --git a/examples/1.9.x/console-web/examples/storage/get-file-preview.md b/examples/1.9.x/console-web/examples/storage/get-file-preview.md index 0dcbc3251..781c5cc4d 100644 --- a/examples/1.9.x/console-web/examples/storage/get-file-preview.md +++ b/examples/1.9.x/console-web/examples/storage/get-file-preview.md @@ -3,8 +3,7 @@ import { Client, Storage, ImageGravity, ImageFormat } from "@appwrite.io/console const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const storage = new Storage(client); diff --git a/examples/1.9.x/console-web/examples/storage/get-file-view.md b/examples/1.9.x/console-web/examples/storage/get-file-view.md index 4984a010e..800f3f935 100644 --- a/examples/1.9.x/console-web/examples/storage/get-file-view.md +++ b/examples/1.9.x/console-web/examples/storage/get-file-view.md @@ -3,8 +3,7 @@ import { Client, Storage } from "@appwrite.io/console"; const client = new Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint - .setProject('') // Your project ID - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setProject(''); // Your project ID const storage = new Storage(client); diff --git a/examples/1.9.x/console-web/examples/usage/list-events.md b/examples/1.9.x/console-web/examples/usage/list-events.md index c8767f08e..4ece2558f 100644 --- a/examples/1.9.x/console-web/examples/usage/list-events.md +++ b/examples/1.9.x/console-web/examples/usage/list-events.md @@ -8,8 +8,17 @@ const client = new Client() const usage = new Usage(client); const result = await usage.listEvents({ - queries: [], // optional - total: false // optional + metric: '', + resource: '', // optional + resourceId: '', // optional + interval: '1m', // optional + dimensions: [], // optional + startAt: '2020-10-15T06:38:00.000+00:00', // optional + endAt: '2020-10-15T06:38:00.000+00:00', // optional + orderBy: 'time', // optional + orderDir: 'asc', // optional + limit: 1, // optional + offset: 0 // optional }); console.log(result); diff --git a/examples/1.9.x/console-web/examples/usage/list-gauges.md b/examples/1.9.x/console-web/examples/usage/list-gauges.md index fe14dc556..350c4a4ff 100644 --- a/examples/1.9.x/console-web/examples/usage/list-gauges.md +++ b/examples/1.9.x/console-web/examples/usage/list-gauges.md @@ -8,8 +8,17 @@ const client = new Client() const usage = new Usage(client); const result = await usage.listGauges({ - queries: [], // optional - total: false // optional + metric: '', + resourceId: '', // optional + teamId: '', // optional + interval: '1m', // optional + dimensions: [], // optional + startAt: '2020-10-15T06:38:00.000+00:00', // optional + endAt: '2020-10-15T06:38:00.000+00:00', // optional + orderBy: 'time', // optional + orderDir: 'asc', // optional + limit: 1, // optional + offset: 0 // optional }); console.log(result); diff --git a/examples/1.9.x/server-dart/examples/avatars/get-browser.md b/examples/1.9.x/server-dart/examples/avatars/get-browser.md index ab781be69..b4626789b 100644 --- a/examples/1.9.x/server-dart/examples/avatars/get-browser.md +++ b/examples/1.9.x/server-dart/examples/avatars/get-browser.md @@ -5,8 +5,7 @@ import 'package:dart_appwrite/enums.dart' as enums; Client client = Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID - .setSession('') // The user session to authenticate with - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(''); // The user session to authenticate with Avatars avatars = Avatars(client); diff --git a/examples/1.9.x/server-dart/examples/avatars/get-credit-card.md b/examples/1.9.x/server-dart/examples/avatars/get-credit-card.md index c8c5611f1..b5eb4f427 100644 --- a/examples/1.9.x/server-dart/examples/avatars/get-credit-card.md +++ b/examples/1.9.x/server-dart/examples/avatars/get-credit-card.md @@ -5,8 +5,7 @@ import 'package:dart_appwrite/enums.dart' as enums; Client client = Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID - .setSession('') // The user session to authenticate with - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(''); // The user session to authenticate with Avatars avatars = Avatars(client); diff --git a/examples/1.9.x/server-dart/examples/avatars/get-favicon.md b/examples/1.9.x/server-dart/examples/avatars/get-favicon.md index 177eadc9a..1bfa9b721 100644 --- a/examples/1.9.x/server-dart/examples/avatars/get-favicon.md +++ b/examples/1.9.x/server-dart/examples/avatars/get-favicon.md @@ -4,8 +4,7 @@ import 'package:dart_appwrite/dart_appwrite.dart'; Client client = Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID - .setSession('') // The user session to authenticate with - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(''); // The user session to authenticate with Avatars avatars = Avatars(client); diff --git a/examples/1.9.x/server-dart/examples/avatars/get-flag.md b/examples/1.9.x/server-dart/examples/avatars/get-flag.md index 4e360f221..920ccc5d8 100644 --- a/examples/1.9.x/server-dart/examples/avatars/get-flag.md +++ b/examples/1.9.x/server-dart/examples/avatars/get-flag.md @@ -5,8 +5,7 @@ import 'package:dart_appwrite/enums.dart' as enums; Client client = Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID - .setSession('') // The user session to authenticate with - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(''); // The user session to authenticate with Avatars avatars = Avatars(client); diff --git a/examples/1.9.x/server-dart/examples/avatars/get-image.md b/examples/1.9.x/server-dart/examples/avatars/get-image.md index 9c83c246e..c4c347102 100644 --- a/examples/1.9.x/server-dart/examples/avatars/get-image.md +++ b/examples/1.9.x/server-dart/examples/avatars/get-image.md @@ -4,8 +4,7 @@ import 'package:dart_appwrite/dart_appwrite.dart'; Client client = Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID - .setSession('') // The user session to authenticate with - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(''); // The user session to authenticate with Avatars avatars = Avatars(client); diff --git a/examples/1.9.x/server-dart/examples/avatars/get-initials.md b/examples/1.9.x/server-dart/examples/avatars/get-initials.md index 4b0f13b74..65ff5806b 100644 --- a/examples/1.9.x/server-dart/examples/avatars/get-initials.md +++ b/examples/1.9.x/server-dart/examples/avatars/get-initials.md @@ -4,8 +4,7 @@ import 'package:dart_appwrite/dart_appwrite.dart'; Client client = Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID - .setSession('') // The user session to authenticate with - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(''); // The user session to authenticate with Avatars avatars = Avatars(client); diff --git a/examples/1.9.x/server-dart/examples/avatars/get-qr.md b/examples/1.9.x/server-dart/examples/avatars/get-qr.md index f142f2c46..9c470360e 100644 --- a/examples/1.9.x/server-dart/examples/avatars/get-qr.md +++ b/examples/1.9.x/server-dart/examples/avatars/get-qr.md @@ -4,8 +4,7 @@ import 'package:dart_appwrite/dart_appwrite.dart'; Client client = Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID - .setSession('') // The user session to authenticate with - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(''); // The user session to authenticate with Avatars avatars = Avatars(client); diff --git a/examples/1.9.x/server-dart/examples/avatars/get-screenshot.md b/examples/1.9.x/server-dart/examples/avatars/get-screenshot.md index 98054e0a4..b2c005e37 100644 --- a/examples/1.9.x/server-dart/examples/avatars/get-screenshot.md +++ b/examples/1.9.x/server-dart/examples/avatars/get-screenshot.md @@ -5,8 +5,7 @@ import 'package:dart_appwrite/enums.dart' as enums; Client client = Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID - .setSession('') // The user session to authenticate with - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(''); // The user session to authenticate with Avatars avatars = Avatars(client); diff --git a/examples/1.9.x/server-dart/examples/functions/get-deployment-download.md b/examples/1.9.x/server-dart/examples/functions/get-deployment-download.md index e11c80d8c..378a366ad 100644 --- a/examples/1.9.x/server-dart/examples/functions/get-deployment-download.md +++ b/examples/1.9.x/server-dart/examples/functions/get-deployment-download.md @@ -5,8 +5,7 @@ import 'package:dart_appwrite/enums.dart' as enums; Client client = Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID - .setKey('') // Your secret API key - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setKey(''); // Your secret API key Functions functions = Functions(client); diff --git a/examples/1.9.x/server-dart/examples/project/update-deny-corporate-email-policy.md b/examples/1.9.x/server-dart/examples/project/update-deny-corporate-email-policy.md new file mode 100644 index 000000000..450942aef --- /dev/null +++ b/examples/1.9.x/server-dart/examples/project/update-deny-corporate-email-policy.md @@ -0,0 +1,14 @@ +```dart +import 'package:dart_appwrite/dart_appwrite.dart'; + +Client client = Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +Project project = Project(client); + +Project result = await project.updateDenyCorporateEmailPolicy( + enabled: false, +); +``` diff --git a/examples/1.9.x/server-dart/examples/sites/get-deployment-download.md b/examples/1.9.x/server-dart/examples/sites/get-deployment-download.md index d8a5c00d4..b9e4baa1d 100644 --- a/examples/1.9.x/server-dart/examples/sites/get-deployment-download.md +++ b/examples/1.9.x/server-dart/examples/sites/get-deployment-download.md @@ -5,8 +5,7 @@ import 'package:dart_appwrite/enums.dart' as enums; Client client = Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID - .setKey('') // Your secret API key - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setKey(''); // Your secret API key Sites sites = Sites(client); diff --git a/examples/1.9.x/server-dart/examples/storage/get-file-download.md b/examples/1.9.x/server-dart/examples/storage/get-file-download.md index 33b52defb..3eefb650e 100644 --- a/examples/1.9.x/server-dart/examples/storage/get-file-download.md +++ b/examples/1.9.x/server-dart/examples/storage/get-file-download.md @@ -4,8 +4,7 @@ import 'package:dart_appwrite/dart_appwrite.dart'; Client client = Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID - .setSession('') // The user session to authenticate with - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(''); // The user session to authenticate with Storage storage = Storage(client); diff --git a/examples/1.9.x/server-dart/examples/storage/get-file-preview.md b/examples/1.9.x/server-dart/examples/storage/get-file-preview.md index 182ec0ee1..382080fb0 100644 --- a/examples/1.9.x/server-dart/examples/storage/get-file-preview.md +++ b/examples/1.9.x/server-dart/examples/storage/get-file-preview.md @@ -5,8 +5,7 @@ import 'package:dart_appwrite/enums.dart' as enums; Client client = Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID - .setSession('') // The user session to authenticate with - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(''); // The user session to authenticate with Storage storage = Storage(client); diff --git a/examples/1.9.x/server-dart/examples/storage/get-file-view.md b/examples/1.9.x/server-dart/examples/storage/get-file-view.md index d3bc0f817..63cd86995 100644 --- a/examples/1.9.x/server-dart/examples/storage/get-file-view.md +++ b/examples/1.9.x/server-dart/examples/storage/get-file-view.md @@ -4,8 +4,7 @@ import 'package:dart_appwrite/dart_appwrite.dart'; Client client = Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID - .setSession('') // The user session to authenticate with - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(''); // The user session to authenticate with Storage storage = Storage(client); diff --git a/examples/1.9.x/server-dart/examples/usage/list-events.md b/examples/1.9.x/server-dart/examples/usage/list-events.md index c679b764f..6d2b506d1 100644 --- a/examples/1.9.x/server-dart/examples/usage/list-events.md +++ b/examples/1.9.x/server-dart/examples/usage/list-events.md @@ -9,7 +9,16 @@ Client client = Client() Usage usage = Usage(client); UsageEventList result = await usage.listEvents( - queries: [], // (optional) - total: false, // (optional) + metric: '', + resource: '', // (optional) + resourceId: '', // (optional) + interval: '1m', // (optional) + dimensions: [], // (optional) + startAt: '2020-10-15T06:38:00.000+00:00', // (optional) + endAt: '2020-10-15T06:38:00.000+00:00', // (optional) + orderBy: 'time', // (optional) + orderDir: 'asc', // (optional) + limit: 1, // (optional) + offset: 0, // (optional) ); ``` diff --git a/examples/1.9.x/server-dart/examples/usage/list-gauges.md b/examples/1.9.x/server-dart/examples/usage/list-gauges.md index c0c334e49..a776e704c 100644 --- a/examples/1.9.x/server-dart/examples/usage/list-gauges.md +++ b/examples/1.9.x/server-dart/examples/usage/list-gauges.md @@ -9,7 +9,16 @@ Client client = Client() Usage usage = Usage(client); UsageGaugeList result = await usage.listGauges( - queries: [], // (optional) - total: false, // (optional) + metric: '', + resourceId: '', // (optional) + teamId: '', // (optional) + interval: '1m', // (optional) + dimensions: [], // (optional) + startAt: '2020-10-15T06:38:00.000+00:00', // (optional) + endAt: '2020-10-15T06:38:00.000+00:00', // (optional) + orderBy: 'time', // (optional) + orderDir: 'asc', // (optional) + limit: 1, // (optional) + offset: 0, // (optional) ); ``` diff --git a/examples/1.9.x/server-dotnet/examples/avatars/get-browser.md b/examples/1.9.x/server-dotnet/examples/avatars/get-browser.md index b3ca0ee2f..f17be7dd3 100644 --- a/examples/1.9.x/server-dotnet/examples/avatars/get-browser.md +++ b/examples/1.9.x/server-dotnet/examples/avatars/get-browser.md @@ -7,8 +7,7 @@ using Appwrite.Services; Client client = new Client() .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID - .SetSession("") // The user session to authenticate with - .SetImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .SetSession(""); // The user session to authenticate with Avatars avatars = new Avatars(client); diff --git a/examples/1.9.x/server-dotnet/examples/avatars/get-credit-card.md b/examples/1.9.x/server-dotnet/examples/avatars/get-credit-card.md index 41d5088ea..6d1647ee0 100644 --- a/examples/1.9.x/server-dotnet/examples/avatars/get-credit-card.md +++ b/examples/1.9.x/server-dotnet/examples/avatars/get-credit-card.md @@ -7,8 +7,7 @@ using Appwrite.Services; Client client = new Client() .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID - .SetSession("") // The user session to authenticate with - .SetImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .SetSession(""); // The user session to authenticate with Avatars avatars = new Avatars(client); diff --git a/examples/1.9.x/server-dotnet/examples/avatars/get-favicon.md b/examples/1.9.x/server-dotnet/examples/avatars/get-favicon.md index 291215ed1..4443daf46 100644 --- a/examples/1.9.x/server-dotnet/examples/avatars/get-favicon.md +++ b/examples/1.9.x/server-dotnet/examples/avatars/get-favicon.md @@ -6,8 +6,7 @@ using Appwrite.Services; Client client = new Client() .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID - .SetSession("") // The user session to authenticate with - .SetImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .SetSession(""); // The user session to authenticate with Avatars avatars = new Avatars(client); diff --git a/examples/1.9.x/server-dotnet/examples/avatars/get-flag.md b/examples/1.9.x/server-dotnet/examples/avatars/get-flag.md index 048f4e2e3..2242497af 100644 --- a/examples/1.9.x/server-dotnet/examples/avatars/get-flag.md +++ b/examples/1.9.x/server-dotnet/examples/avatars/get-flag.md @@ -7,8 +7,7 @@ using Appwrite.Services; Client client = new Client() .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID - .SetSession("") // The user session to authenticate with - .SetImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .SetSession(""); // The user session to authenticate with Avatars avatars = new Avatars(client); diff --git a/examples/1.9.x/server-dotnet/examples/avatars/get-image.md b/examples/1.9.x/server-dotnet/examples/avatars/get-image.md index 2b7277b14..99518bedd 100644 --- a/examples/1.9.x/server-dotnet/examples/avatars/get-image.md +++ b/examples/1.9.x/server-dotnet/examples/avatars/get-image.md @@ -6,8 +6,7 @@ using Appwrite.Services; Client client = new Client() .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID - .SetSession("") // The user session to authenticate with - .SetImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .SetSession(""); // The user session to authenticate with Avatars avatars = new Avatars(client); diff --git a/examples/1.9.x/server-dotnet/examples/avatars/get-initials.md b/examples/1.9.x/server-dotnet/examples/avatars/get-initials.md index f9497bf5e..8f6f1cd4f 100644 --- a/examples/1.9.x/server-dotnet/examples/avatars/get-initials.md +++ b/examples/1.9.x/server-dotnet/examples/avatars/get-initials.md @@ -6,8 +6,7 @@ using Appwrite.Services; Client client = new Client() .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID - .SetSession("") // The user session to authenticate with - .SetImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .SetSession(""); // The user session to authenticate with Avatars avatars = new Avatars(client); diff --git a/examples/1.9.x/server-dotnet/examples/avatars/get-qr.md b/examples/1.9.x/server-dotnet/examples/avatars/get-qr.md index 02a4de7fb..2414e3d5b 100644 --- a/examples/1.9.x/server-dotnet/examples/avatars/get-qr.md +++ b/examples/1.9.x/server-dotnet/examples/avatars/get-qr.md @@ -6,8 +6,7 @@ using Appwrite.Services; Client client = new Client() .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID - .SetSession("") // The user session to authenticate with - .SetImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .SetSession(""); // The user session to authenticate with Avatars avatars = new Avatars(client); diff --git a/examples/1.9.x/server-dotnet/examples/avatars/get-screenshot.md b/examples/1.9.x/server-dotnet/examples/avatars/get-screenshot.md index c04927bb5..eaa39c8d1 100644 --- a/examples/1.9.x/server-dotnet/examples/avatars/get-screenshot.md +++ b/examples/1.9.x/server-dotnet/examples/avatars/get-screenshot.md @@ -7,8 +7,7 @@ using Appwrite.Services; Client client = new Client() .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID - .SetSession("") // The user session to authenticate with - .SetImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .SetSession(""); // The user session to authenticate with Avatars avatars = new Avatars(client); diff --git a/examples/1.9.x/server-dotnet/examples/functions/get-deployment-download.md b/examples/1.9.x/server-dotnet/examples/functions/get-deployment-download.md index 7ad51429d..d78d52a71 100644 --- a/examples/1.9.x/server-dotnet/examples/functions/get-deployment-download.md +++ b/examples/1.9.x/server-dotnet/examples/functions/get-deployment-download.md @@ -7,8 +7,7 @@ using Appwrite.Services; Client client = new Client() .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID - .SetKey("") // Your secret API key - .SetImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .SetKey(""); // Your secret API key Functions functions = new Functions(client); diff --git a/examples/1.9.x/server-dotnet/examples/project/update-deny-corporate-email-policy.md b/examples/1.9.x/server-dotnet/examples/project/update-deny-corporate-email-policy.md new file mode 100644 index 000000000..99a41b18c --- /dev/null +++ b/examples/1.9.x/server-dotnet/examples/project/update-deny-corporate-email-policy.md @@ -0,0 +1,15 @@ +```csharp +using Appwrite; +using Appwrite.Models; +using Appwrite.Services; + +Client client = new Client() + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .SetProject("") // Your project ID + .SetKey(""); // Your secret API key + +Project project = new Project(client); + +Project result = await project.UpdateDenyCorporateEmailPolicy( + enabled: false +);``` diff --git a/examples/1.9.x/server-dotnet/examples/sites/get-deployment-download.md b/examples/1.9.x/server-dotnet/examples/sites/get-deployment-download.md index c206b15ef..25bc376b4 100644 --- a/examples/1.9.x/server-dotnet/examples/sites/get-deployment-download.md +++ b/examples/1.9.x/server-dotnet/examples/sites/get-deployment-download.md @@ -7,8 +7,7 @@ using Appwrite.Services; Client client = new Client() .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID - .SetKey("") // Your secret API key - .SetImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .SetKey(""); // Your secret API key Sites sites = new Sites(client); diff --git a/examples/1.9.x/server-dotnet/examples/storage/get-file-download.md b/examples/1.9.x/server-dotnet/examples/storage/get-file-download.md index 512d21cd8..02ad30d55 100644 --- a/examples/1.9.x/server-dotnet/examples/storage/get-file-download.md +++ b/examples/1.9.x/server-dotnet/examples/storage/get-file-download.md @@ -6,8 +6,7 @@ using Appwrite.Services; Client client = new Client() .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID - .SetSession("") // The user session to authenticate with - .SetImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .SetSession(""); // The user session to authenticate with Storage storage = new Storage(client); diff --git a/examples/1.9.x/server-dotnet/examples/storage/get-file-preview.md b/examples/1.9.x/server-dotnet/examples/storage/get-file-preview.md index 2160c8a80..cc3d88a8a 100644 --- a/examples/1.9.x/server-dotnet/examples/storage/get-file-preview.md +++ b/examples/1.9.x/server-dotnet/examples/storage/get-file-preview.md @@ -7,8 +7,7 @@ using Appwrite.Services; Client client = new Client() .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID - .SetSession("") // The user session to authenticate with - .SetImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .SetSession(""); // The user session to authenticate with Storage storage = new Storage(client); diff --git a/examples/1.9.x/server-dotnet/examples/storage/get-file-view.md b/examples/1.9.x/server-dotnet/examples/storage/get-file-view.md index 7ef164fcf..b9088d006 100644 --- a/examples/1.9.x/server-dotnet/examples/storage/get-file-view.md +++ b/examples/1.9.x/server-dotnet/examples/storage/get-file-view.md @@ -6,8 +6,7 @@ using Appwrite.Services; Client client = new Client() .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID - .SetSession("") // The user session to authenticate with - .SetImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .SetSession(""); // The user session to authenticate with Storage storage = new Storage(client); diff --git a/examples/1.9.x/server-dotnet/examples/usage/list-events.md b/examples/1.9.x/server-dotnet/examples/usage/list-events.md index 162d1b161..baf4ae4cf 100644 --- a/examples/1.9.x/server-dotnet/examples/usage/list-events.md +++ b/examples/1.9.x/server-dotnet/examples/usage/list-events.md @@ -11,6 +11,15 @@ Client client = new Client() Usage usage = new Usage(client); UsageEventList result = await usage.ListEvents( - queries: new List(), // optional - total: false // optional + metric: "", + resource: "", // optional + resourceId: "", // optional + interval: "1m", // optional + dimensions: new List(), // optional + startAt: "2020-10-15T06:38:00.000+00:00", // optional + endAt: "2020-10-15T06:38:00.000+00:00", // optional + orderBy: "time", // optional + orderDir: "asc", // optional + limit: 1, // optional + offset: 0 // optional );``` diff --git a/examples/1.9.x/server-dotnet/examples/usage/list-gauges.md b/examples/1.9.x/server-dotnet/examples/usage/list-gauges.md index e7ea2a851..3b7628e9a 100644 --- a/examples/1.9.x/server-dotnet/examples/usage/list-gauges.md +++ b/examples/1.9.x/server-dotnet/examples/usage/list-gauges.md @@ -11,6 +11,15 @@ Client client = new Client() Usage usage = new Usage(client); UsageGaugeList result = await usage.ListGauges( - queries: new List(), // optional - total: false // optional + metric: "", + resourceId: "", // optional + teamId: "", // optional + interval: "1m", // optional + dimensions: new List(), // optional + startAt: "2020-10-15T06:38:00.000+00:00", // optional + endAt: "2020-10-15T06:38:00.000+00:00", // optional + orderBy: "time", // optional + orderDir: "asc", // optional + limit: 1, // optional + offset: 0 // optional );``` diff --git a/examples/1.9.x/server-go/examples/avatars/get-browser.md b/examples/1.9.x/server-go/examples/avatars/get-browser.md index bbfd54adf..378e30f72 100644 --- a/examples/1.9.x/server-go/examples/avatars/get-browser.md +++ b/examples/1.9.x/server-go/examples/avatars/get-browser.md @@ -11,7 +11,6 @@ client := client.New( client.WithEndpoint("https://.cloud.appwrite.io/v1") client.WithProject("") client.WithSession("") - client.WithImpersonateUserId("") ) service := avatars.New(client) diff --git a/examples/1.9.x/server-go/examples/avatars/get-credit-card.md b/examples/1.9.x/server-go/examples/avatars/get-credit-card.md index c2474cb6f..f0bd6a8bb 100644 --- a/examples/1.9.x/server-go/examples/avatars/get-credit-card.md +++ b/examples/1.9.x/server-go/examples/avatars/get-credit-card.md @@ -11,7 +11,6 @@ client := client.New( client.WithEndpoint("https://.cloud.appwrite.io/v1") client.WithProject("") client.WithSession("") - client.WithImpersonateUserId("") ) service := avatars.New(client) diff --git a/examples/1.9.x/server-go/examples/avatars/get-favicon.md b/examples/1.9.x/server-go/examples/avatars/get-favicon.md index 6561915bd..f07e7fbd0 100644 --- a/examples/1.9.x/server-go/examples/avatars/get-favicon.md +++ b/examples/1.9.x/server-go/examples/avatars/get-favicon.md @@ -11,7 +11,6 @@ client := client.New( client.WithEndpoint("https://.cloud.appwrite.io/v1") client.WithProject("") client.WithSession("") - client.WithImpersonateUserId("") ) service := avatars.New(client) diff --git a/examples/1.9.x/server-go/examples/avatars/get-flag.md b/examples/1.9.x/server-go/examples/avatars/get-flag.md index 6d3bd7218..eff8c369c 100644 --- a/examples/1.9.x/server-go/examples/avatars/get-flag.md +++ b/examples/1.9.x/server-go/examples/avatars/get-flag.md @@ -11,7 +11,6 @@ client := client.New( client.WithEndpoint("https://.cloud.appwrite.io/v1") client.WithProject("") client.WithSession("") - client.WithImpersonateUserId("") ) service := avatars.New(client) diff --git a/examples/1.9.x/server-go/examples/avatars/get-image.md b/examples/1.9.x/server-go/examples/avatars/get-image.md index 8b16e3dd4..fdd79adce 100644 --- a/examples/1.9.x/server-go/examples/avatars/get-image.md +++ b/examples/1.9.x/server-go/examples/avatars/get-image.md @@ -11,7 +11,6 @@ client := client.New( client.WithEndpoint("https://.cloud.appwrite.io/v1") client.WithProject("") client.WithSession("") - client.WithImpersonateUserId("") ) service := avatars.New(client) diff --git a/examples/1.9.x/server-go/examples/avatars/get-initials.md b/examples/1.9.x/server-go/examples/avatars/get-initials.md index 1b2c47f6d..f3e29b22d 100644 --- a/examples/1.9.x/server-go/examples/avatars/get-initials.md +++ b/examples/1.9.x/server-go/examples/avatars/get-initials.md @@ -11,7 +11,6 @@ client := client.New( client.WithEndpoint("https://.cloud.appwrite.io/v1") client.WithProject("") client.WithSession("") - client.WithImpersonateUserId("") ) service := avatars.New(client) diff --git a/examples/1.9.x/server-go/examples/avatars/get-qr.md b/examples/1.9.x/server-go/examples/avatars/get-qr.md index 55bdd9c3e..bae6f2887 100644 --- a/examples/1.9.x/server-go/examples/avatars/get-qr.md +++ b/examples/1.9.x/server-go/examples/avatars/get-qr.md @@ -11,7 +11,6 @@ client := client.New( client.WithEndpoint("https://.cloud.appwrite.io/v1") client.WithProject("") client.WithSession("") - client.WithImpersonateUserId("") ) service := avatars.New(client) diff --git a/examples/1.9.x/server-go/examples/avatars/get-screenshot.md b/examples/1.9.x/server-go/examples/avatars/get-screenshot.md index 50c3ef72a..3f1c75710 100644 --- a/examples/1.9.x/server-go/examples/avatars/get-screenshot.md +++ b/examples/1.9.x/server-go/examples/avatars/get-screenshot.md @@ -11,7 +11,6 @@ client := client.New( client.WithEndpoint("https://.cloud.appwrite.io/v1") client.WithProject("") client.WithSession("") - client.WithImpersonateUserId("") ) service := avatars.New(client) diff --git a/examples/1.9.x/server-go/examples/functions/get-deployment-download.md b/examples/1.9.x/server-go/examples/functions/get-deployment-download.md index 1f07709a5..965670cf9 100644 --- a/examples/1.9.x/server-go/examples/functions/get-deployment-download.md +++ b/examples/1.9.x/server-go/examples/functions/get-deployment-download.md @@ -11,7 +11,6 @@ client := client.New( client.WithEndpoint("https://.cloud.appwrite.io/v1") client.WithProject("") client.WithKey("") - client.WithImpersonateUserId("") ) service := functions.New(client) diff --git a/examples/1.9.x/server-go/examples/project/update-deny-corporate-email-policy.md b/examples/1.9.x/server-go/examples/project/update-deny-corporate-email-policy.md new file mode 100644 index 000000000..edcc5fd55 --- /dev/null +++ b/examples/1.9.x/server-go/examples/project/update-deny-corporate-email-policy.md @@ -0,0 +1,21 @@ +```go +package main + +import ( + "fmt" + "github.com/appwrite/sdk-for-go/v5/client" + "github.com/appwrite/sdk-for-go/v5/project" +) + +client := client.New( + client.WithEndpoint("https://.cloud.appwrite.io/v1") + client.WithProject("") + client.WithKey("") +) + +service := project.New(client) + +response, error := service.UpdateDenyCorporateEmailPolicy( + false, +) +``` diff --git a/examples/1.9.x/server-go/examples/sites/get-deployment-download.md b/examples/1.9.x/server-go/examples/sites/get-deployment-download.md index 86f1d7d9e..bd6d27c75 100644 --- a/examples/1.9.x/server-go/examples/sites/get-deployment-download.md +++ b/examples/1.9.x/server-go/examples/sites/get-deployment-download.md @@ -11,7 +11,6 @@ client := client.New( client.WithEndpoint("https://.cloud.appwrite.io/v1") client.WithProject("") client.WithKey("") - client.WithImpersonateUserId("") ) service := sites.New(client) diff --git a/examples/1.9.x/server-go/examples/storage/get-file-download.md b/examples/1.9.x/server-go/examples/storage/get-file-download.md index 27b0e932b..164b6fa25 100644 --- a/examples/1.9.x/server-go/examples/storage/get-file-download.md +++ b/examples/1.9.x/server-go/examples/storage/get-file-download.md @@ -11,7 +11,6 @@ client := client.New( client.WithEndpoint("https://.cloud.appwrite.io/v1") client.WithProject("") client.WithSession("") - client.WithImpersonateUserId("") ) service := storage.New(client) diff --git a/examples/1.9.x/server-go/examples/storage/get-file-preview.md b/examples/1.9.x/server-go/examples/storage/get-file-preview.md index 8daee7a6a..d72048736 100644 --- a/examples/1.9.x/server-go/examples/storage/get-file-preview.md +++ b/examples/1.9.x/server-go/examples/storage/get-file-preview.md @@ -11,7 +11,6 @@ client := client.New( client.WithEndpoint("https://.cloud.appwrite.io/v1") client.WithProject("") client.WithSession("") - client.WithImpersonateUserId("") ) service := storage.New(client) diff --git a/examples/1.9.x/server-go/examples/storage/get-file-view.md b/examples/1.9.x/server-go/examples/storage/get-file-view.md index fdb84c08d..e35635b45 100644 --- a/examples/1.9.x/server-go/examples/storage/get-file-view.md +++ b/examples/1.9.x/server-go/examples/storage/get-file-view.md @@ -11,7 +11,6 @@ client := client.New( client.WithEndpoint("https://.cloud.appwrite.io/v1") client.WithProject("") client.WithSession("") - client.WithImpersonateUserId("") ) service := storage.New(client) diff --git a/examples/1.9.x/server-go/examples/usage/list-events.md b/examples/1.9.x/server-go/examples/usage/list-events.md index f685606e8..aebb9642f 100644 --- a/examples/1.9.x/server-go/examples/usage/list-events.md +++ b/examples/1.9.x/server-go/examples/usage/list-events.md @@ -16,7 +16,16 @@ client := client.New( service := usage.New(client) response, error := service.ListEvents( - usage.WithListEventsQueries([]string{}), - usage.WithListEventsTotal(false), + "", + usage.WithListEventsResource(""), + usage.WithListEventsResourceId(""), + usage.WithListEventsInterval("1m"), + usage.WithListEventsDimensions([]string{}), + usage.WithListEventsStartAt("2020-10-15T06:38:00.000+00:00"), + usage.WithListEventsEndAt("2020-10-15T06:38:00.000+00:00"), + usage.WithListEventsOrderBy("time"), + usage.WithListEventsOrderDir("asc"), + usage.WithListEventsLimit(1), + usage.WithListEventsOffset(0), ) ``` diff --git a/examples/1.9.x/server-go/examples/usage/list-gauges.md b/examples/1.9.x/server-go/examples/usage/list-gauges.md index a4d47e188..892f5b434 100644 --- a/examples/1.9.x/server-go/examples/usage/list-gauges.md +++ b/examples/1.9.x/server-go/examples/usage/list-gauges.md @@ -16,7 +16,16 @@ client := client.New( service := usage.New(client) response, error := service.ListGauges( - usage.WithListGaugesQueries([]string{}), - usage.WithListGaugesTotal(false), + "", + usage.WithListGaugesResourceId(""), + usage.WithListGaugesTeamId(""), + usage.WithListGaugesInterval("1m"), + usage.WithListGaugesDimensions([]string{}), + usage.WithListGaugesStartAt("2020-10-15T06:38:00.000+00:00"), + usage.WithListGaugesEndAt("2020-10-15T06:38:00.000+00:00"), + usage.WithListGaugesOrderBy("time"), + usage.WithListGaugesOrderDir("asc"), + usage.WithListGaugesLimit(1), + usage.WithListGaugesOffset(0), ) ``` diff --git a/examples/1.9.x/server-graphql/examples/project/update-deny-corporate-email-policy.md b/examples/1.9.x/server-graphql/examples/project/update-deny-corporate-email-policy.md new file mode 100644 index 000000000..ebb57384d --- /dev/null +++ b/examples/1.9.x/server-graphql/examples/project/update-deny-corporate-email-policy.md @@ -0,0 +1,172 @@ +```graphql +mutation { + projectUpdateDenyCorporateEmailPolicy( + enabled: false + ) { + _id + _createdAt + _updatedAt + name + teamId + region + devKeys { + _id + _createdAt + _updatedAt + name + expire + secret + accessedAt + sdks + } + smtpEnabled + smtpSenderName + smtpSenderEmail + smtpReplyToName + smtpReplyToEmail + smtpHost + smtpPort + smtpUsername + smtpPassword + smtpSecure + pingCount + pingedAt + labels + status + authMethods { + _id + enabled + } + services { + _id + enabled + } + protocols { + _id + enabled + } + blocks { + _createdAt + resourceType + resourceId + reason + expiredAt + projectName + region + organizationName + organizationId + billingPlan + } + consoleAccessedAt + billingLimits { + bandwidth + storage + users + executions + GBHours + imageTransformations + authPhone + budgetLimit + } + oAuth2ServerEnabled + oAuth2ServerAuthorizationUrl + oAuth2ServerScopes + oAuth2ServerAuthorizationDetailsTypes + oAuth2ServerAccessTokenDuration + oAuth2ServerRefreshTokenDuration + oAuth2ServerPublicAccessTokenDuration + oAuth2ServerPublicRefreshTokenDuration + oAuth2ServerConfidentialPkce + oAuth2ServerVerificationUrl + oAuth2ServerUserCodeLength + oAuth2ServerUserCodeFormat + oAuth2ServerDeviceCodeDuration + oAuth2ServerDiscoveryUrl + } +} +mutation { + projectUpdateDenyCorporateEmailPolicy( + enabled: false + ) { + _id + _createdAt + _updatedAt + name + teamId + region + devKeys { + _id + _createdAt + _updatedAt + name + expire + secret + accessedAt + sdks + } + smtpEnabled + smtpSenderName + smtpSenderEmail + smtpReplyToName + smtpReplyToEmail + smtpHost + smtpPort + smtpUsername + smtpPassword + smtpSecure + pingCount + pingedAt + labels + status + authMethods { + _id + enabled + } + services { + _id + enabled + } + protocols { + _id + enabled + } + blocks { + _createdAt + resourceType + resourceId + reason + expiredAt + projectName + region + organizationName + organizationId + billingPlan + } + consoleAccessedAt + billingLimits { + bandwidth + storage + users + executions + GBHours + imageTransformations + authPhone + budgetLimit + } + oAuth2ServerEnabled + oAuth2ServerAuthorizationUrl + oAuth2ServerScopes + oAuth2ServerAuthorizationDetailsTypes + oAuth2ServerAccessTokenDuration + oAuth2ServerRefreshTokenDuration + oAuth2ServerPublicAccessTokenDuration + oAuth2ServerPublicRefreshTokenDuration + oAuth2ServerConfidentialPkce + oAuth2ServerVerificationUrl + oAuth2ServerUserCodeLength + oAuth2ServerUserCodeFormat + oAuth2ServerDeviceCodeDuration + oAuth2ServerDiscoveryUrl + } +} +``` diff --git a/examples/1.9.x/server-graphql/examples/usage/list-events.md b/examples/1.9.x/server-graphql/examples/usage/list-events.md index e1584eef3..29f8ae09d 100644 --- a/examples/1.9.x/server-graphql/examples/usage/list-events.md +++ b/examples/1.9.x/server-graphql/examples/usage/list-events.md @@ -1,21 +1,36 @@ ```graphql query { usageListEvents( - queries: [], - total: false + metric: "", + resource: "", + resourceId: "", + interval: "1m", + dimensions: [], + startAt: "2020-10-15T06:38:00.000+00:00", + endAt: "2020-10-15T06:38:00.000+00:00", + orderBy: "time", + orderDir: "asc", + limit: 1, + offset: 0 ) { - total - events { - metric - value + metric + interval + groups { time + value path method status - resourceType + service + country + region + hostname + osName + clientType + clientName + deviceName + teamId resourceId - countryCode - userAgent } } } diff --git a/examples/1.9.x/server-graphql/examples/usage/list-gauges.md b/examples/1.9.x/server-graphql/examples/usage/list-gauges.md index 2dba37f3f..1259d40ca 100644 --- a/examples/1.9.x/server-graphql/examples/usage/list-gauges.md +++ b/examples/1.9.x/server-graphql/examples/usage/list-gauges.md @@ -1,15 +1,35 @@ ```graphql query { usageListGauges( - queries: [], - total: false + metric: "", + resourceId: "", + teamId: "", + interval: "1m", + dimensions: [], + startAt: "2020-10-15T06:38:00.000+00:00", + endAt: "2020-10-15T06:38:00.000+00:00", + orderBy: "time", + orderDir: "asc", + limit: 1, + offset: 0 ) { - total - gauges { - metric - value + metric + interval + groups { time - resourceType + value + path + method + status + service + country + region + hostname + osName + clientType + clientName + deviceName + teamId resourceId } } diff --git a/examples/1.9.x/server-kotlin/java/avatars/get-browser.md b/examples/1.9.x/server-kotlin/java/avatars/get-browser.md index 5d11658bf..72748afcb 100644 --- a/examples/1.9.x/server-kotlin/java/avatars/get-browser.md +++ b/examples/1.9.x/server-kotlin/java/avatars/get-browser.md @@ -7,8 +7,7 @@ import io.appwrite.enums.Browser; Client client = new Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setSession("") // The user session to authenticate with - .setImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(""); // The user session to authenticate with Avatars avatars = new Avatars(client); diff --git a/examples/1.9.x/server-kotlin/java/avatars/get-credit-card.md b/examples/1.9.x/server-kotlin/java/avatars/get-credit-card.md index 99f09109b..8f93da91a 100644 --- a/examples/1.9.x/server-kotlin/java/avatars/get-credit-card.md +++ b/examples/1.9.x/server-kotlin/java/avatars/get-credit-card.md @@ -7,8 +7,7 @@ import io.appwrite.enums.CreditCard; Client client = new Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setSession("") // The user session to authenticate with - .setImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(""); // The user session to authenticate with Avatars avatars = new Avatars(client); diff --git a/examples/1.9.x/server-kotlin/java/avatars/get-favicon.md b/examples/1.9.x/server-kotlin/java/avatars/get-favicon.md index 4643a068b..6df13f5e8 100644 --- a/examples/1.9.x/server-kotlin/java/avatars/get-favicon.md +++ b/examples/1.9.x/server-kotlin/java/avatars/get-favicon.md @@ -6,8 +6,7 @@ import io.appwrite.services.Avatars; Client client = new Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setSession("") // The user session to authenticate with - .setImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(""); // The user session to authenticate with Avatars avatars = new Avatars(client); diff --git a/examples/1.9.x/server-kotlin/java/avatars/get-flag.md b/examples/1.9.x/server-kotlin/java/avatars/get-flag.md index 02b56fbb3..f66a872d3 100644 --- a/examples/1.9.x/server-kotlin/java/avatars/get-flag.md +++ b/examples/1.9.x/server-kotlin/java/avatars/get-flag.md @@ -7,8 +7,7 @@ import io.appwrite.enums.Flag; Client client = new Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setSession("") // The user session to authenticate with - .setImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(""); // The user session to authenticate with Avatars avatars = new Avatars(client); diff --git a/examples/1.9.x/server-kotlin/java/avatars/get-image.md b/examples/1.9.x/server-kotlin/java/avatars/get-image.md index b76b89aed..7f93b9f9f 100644 --- a/examples/1.9.x/server-kotlin/java/avatars/get-image.md +++ b/examples/1.9.x/server-kotlin/java/avatars/get-image.md @@ -6,8 +6,7 @@ import io.appwrite.services.Avatars; Client client = new Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setSession("") // The user session to authenticate with - .setImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(""); // The user session to authenticate with Avatars avatars = new Avatars(client); diff --git a/examples/1.9.x/server-kotlin/java/avatars/get-initials.md b/examples/1.9.x/server-kotlin/java/avatars/get-initials.md index 1fc135d04..31792b91f 100644 --- a/examples/1.9.x/server-kotlin/java/avatars/get-initials.md +++ b/examples/1.9.x/server-kotlin/java/avatars/get-initials.md @@ -6,8 +6,7 @@ import io.appwrite.services.Avatars; Client client = new Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setSession("") // The user session to authenticate with - .setImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(""); // The user session to authenticate with Avatars avatars = new Avatars(client); diff --git a/examples/1.9.x/server-kotlin/java/avatars/get-qr.md b/examples/1.9.x/server-kotlin/java/avatars/get-qr.md index c6cb569b8..0e22f63f1 100644 --- a/examples/1.9.x/server-kotlin/java/avatars/get-qr.md +++ b/examples/1.9.x/server-kotlin/java/avatars/get-qr.md @@ -6,8 +6,7 @@ import io.appwrite.services.Avatars; Client client = new Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setSession("") // The user session to authenticate with - .setImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(""); // The user session to authenticate with Avatars avatars = new Avatars(client); diff --git a/examples/1.9.x/server-kotlin/java/avatars/get-screenshot.md b/examples/1.9.x/server-kotlin/java/avatars/get-screenshot.md index 6fdd3dd1a..c8b5966fe 100644 --- a/examples/1.9.x/server-kotlin/java/avatars/get-screenshot.md +++ b/examples/1.9.x/server-kotlin/java/avatars/get-screenshot.md @@ -10,8 +10,7 @@ import io.appwrite.enums.ImageFormat; Client client = new Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setSession("") // The user session to authenticate with - .setImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(""); // The user session to authenticate with Avatars avatars = new Avatars(client); diff --git a/examples/1.9.x/server-kotlin/java/functions/get-deployment-download.md b/examples/1.9.x/server-kotlin/java/functions/get-deployment-download.md index b8d9ee66c..59de9f04c 100644 --- a/examples/1.9.x/server-kotlin/java/functions/get-deployment-download.md +++ b/examples/1.9.x/server-kotlin/java/functions/get-deployment-download.md @@ -7,8 +7,7 @@ import io.appwrite.enums.DeploymentDownloadType; Client client = new Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setKey("") // Your secret API key - .setImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setKey(""); // Your secret API key Functions functions = new Functions(client); diff --git a/examples/1.9.x/server-kotlin/java/project/update-deny-corporate-email-policy.md b/examples/1.9.x/server-kotlin/java/project/update-deny-corporate-email-policy.md new file mode 100644 index 000000000..0f361336f --- /dev/null +++ b/examples/1.9.x/server-kotlin/java/project/update-deny-corporate-email-policy.md @@ -0,0 +1,25 @@ +```java +import io.appwrite.Client; +import io.appwrite.coroutines.CoroutineCallback; +import io.appwrite.services.Project; + +Client client = new Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setKey(""); // Your secret API key + +Project project = new Project(client); + +project.updateDenyCorporateEmailPolicy( + false, // enabled + new CoroutineCallback<>((result, error) -> { + if (error != null) { + error.printStackTrace(); + return; + } + + System.out.println(result); + }) +); + +``` diff --git a/examples/1.9.x/server-kotlin/java/sites/get-deployment-download.md b/examples/1.9.x/server-kotlin/java/sites/get-deployment-download.md index c2f8b11ad..3df75ba07 100644 --- a/examples/1.9.x/server-kotlin/java/sites/get-deployment-download.md +++ b/examples/1.9.x/server-kotlin/java/sites/get-deployment-download.md @@ -7,8 +7,7 @@ import io.appwrite.enums.DeploymentDownloadType; Client client = new Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setKey("") // Your secret API key - .setImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setKey(""); // Your secret API key Sites sites = new Sites(client); diff --git a/examples/1.9.x/server-kotlin/java/storage/get-file-download.md b/examples/1.9.x/server-kotlin/java/storage/get-file-download.md index bd64bf5b0..9fa4df864 100644 --- a/examples/1.9.x/server-kotlin/java/storage/get-file-download.md +++ b/examples/1.9.x/server-kotlin/java/storage/get-file-download.md @@ -6,8 +6,7 @@ import io.appwrite.services.Storage; Client client = new Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setSession("") // The user session to authenticate with - .setImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(""); // The user session to authenticate with Storage storage = new Storage(client); diff --git a/examples/1.9.x/server-kotlin/java/storage/get-file-preview.md b/examples/1.9.x/server-kotlin/java/storage/get-file-preview.md index fbb0643bf..18093617c 100644 --- a/examples/1.9.x/server-kotlin/java/storage/get-file-preview.md +++ b/examples/1.9.x/server-kotlin/java/storage/get-file-preview.md @@ -8,8 +8,7 @@ import io.appwrite.enums.ImageFormat; Client client = new Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setSession("") // The user session to authenticate with - .setImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(""); // The user session to authenticate with Storage storage = new Storage(client); diff --git a/examples/1.9.x/server-kotlin/java/storage/get-file-view.md b/examples/1.9.x/server-kotlin/java/storage/get-file-view.md index 23c18c942..106884f0d 100644 --- a/examples/1.9.x/server-kotlin/java/storage/get-file-view.md +++ b/examples/1.9.x/server-kotlin/java/storage/get-file-view.md @@ -6,8 +6,7 @@ import io.appwrite.services.Storage; Client client = new Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID - .setSession("") // The user session to authenticate with - .setImpersonateUserId(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(""); // The user session to authenticate with Storage storage = new Storage(client); diff --git a/examples/1.9.x/server-kotlin/java/usage/list-events.md b/examples/1.9.x/server-kotlin/java/usage/list-events.md index 3c80be062..35f136579 100644 --- a/examples/1.9.x/server-kotlin/java/usage/list-events.md +++ b/examples/1.9.x/server-kotlin/java/usage/list-events.md @@ -11,8 +11,17 @@ Client client = new Client() Usage usage = new Usage(client); usage.listEvents( - List.of(), // queries (optional) - false, // total (optional) + "", // metric + "", // resource (optional) + "", // resourceId (optional) + "1m", // interval (optional) + List.of(), // dimensions (optional) + "2020-10-15T06:38:00.000+00:00", // startAt (optional) + "2020-10-15T06:38:00.000+00:00", // endAt (optional) + "time", // orderBy (optional) + "asc", // orderDir (optional) + 1, // limit (optional) + 0, // offset (optional) new CoroutineCallback<>((result, error) -> { if (error != null) { error.printStackTrace(); diff --git a/examples/1.9.x/server-kotlin/java/usage/list-gauges.md b/examples/1.9.x/server-kotlin/java/usage/list-gauges.md index 71b26c949..2ec5b7b1c 100644 --- a/examples/1.9.x/server-kotlin/java/usage/list-gauges.md +++ b/examples/1.9.x/server-kotlin/java/usage/list-gauges.md @@ -11,8 +11,17 @@ Client client = new Client() Usage usage = new Usage(client); usage.listGauges( - List.of(), // queries (optional) - false, // total (optional) + "", // metric + "", // resourceId (optional) + "", // teamId (optional) + "1m", // interval (optional) + List.of(), // dimensions (optional) + "2020-10-15T06:38:00.000+00:00", // startAt (optional) + "2020-10-15T06:38:00.000+00:00", // endAt (optional) + "time", // orderBy (optional) + "asc", // orderDir (optional) + 1, // limit (optional) + 0, // offset (optional) new CoroutineCallback<>((result, error) -> { if (error != null) { error.printStackTrace(); diff --git a/examples/1.9.x/server-kotlin/kotlin/avatars/get-browser.md b/examples/1.9.x/server-kotlin/kotlin/avatars/get-browser.md index 673bab7f9..2565bd7cf 100644 --- a/examples/1.9.x/server-kotlin/kotlin/avatars/get-browser.md +++ b/examples/1.9.x/server-kotlin/kotlin/avatars/get-browser.md @@ -8,7 +8,6 @@ val client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setSession("") // The user session to authenticate with - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. val avatars = Avatars(client) diff --git a/examples/1.9.x/server-kotlin/kotlin/avatars/get-credit-card.md b/examples/1.9.x/server-kotlin/kotlin/avatars/get-credit-card.md index 81e9190b6..08ce6f06c 100644 --- a/examples/1.9.x/server-kotlin/kotlin/avatars/get-credit-card.md +++ b/examples/1.9.x/server-kotlin/kotlin/avatars/get-credit-card.md @@ -8,7 +8,6 @@ val client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setSession("") // The user session to authenticate with - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. val avatars = Avatars(client) diff --git a/examples/1.9.x/server-kotlin/kotlin/avatars/get-favicon.md b/examples/1.9.x/server-kotlin/kotlin/avatars/get-favicon.md index f78d61162..b19ad3ffc 100644 --- a/examples/1.9.x/server-kotlin/kotlin/avatars/get-favicon.md +++ b/examples/1.9.x/server-kotlin/kotlin/avatars/get-favicon.md @@ -7,7 +7,6 @@ val client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setSession("") // The user session to authenticate with - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. val avatars = Avatars(client) diff --git a/examples/1.9.x/server-kotlin/kotlin/avatars/get-flag.md b/examples/1.9.x/server-kotlin/kotlin/avatars/get-flag.md index ce7ee05c5..3f411c337 100644 --- a/examples/1.9.x/server-kotlin/kotlin/avatars/get-flag.md +++ b/examples/1.9.x/server-kotlin/kotlin/avatars/get-flag.md @@ -8,7 +8,6 @@ val client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setSession("") // The user session to authenticate with - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. val avatars = Avatars(client) diff --git a/examples/1.9.x/server-kotlin/kotlin/avatars/get-image.md b/examples/1.9.x/server-kotlin/kotlin/avatars/get-image.md index 78f64db97..5efffd328 100644 --- a/examples/1.9.x/server-kotlin/kotlin/avatars/get-image.md +++ b/examples/1.9.x/server-kotlin/kotlin/avatars/get-image.md @@ -7,7 +7,6 @@ val client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setSession("") // The user session to authenticate with - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. val avatars = Avatars(client) diff --git a/examples/1.9.x/server-kotlin/kotlin/avatars/get-initials.md b/examples/1.9.x/server-kotlin/kotlin/avatars/get-initials.md index d7d9cd8a1..731aaab41 100644 --- a/examples/1.9.x/server-kotlin/kotlin/avatars/get-initials.md +++ b/examples/1.9.x/server-kotlin/kotlin/avatars/get-initials.md @@ -7,7 +7,6 @@ val client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setSession("") // The user session to authenticate with - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. val avatars = Avatars(client) diff --git a/examples/1.9.x/server-kotlin/kotlin/avatars/get-qr.md b/examples/1.9.x/server-kotlin/kotlin/avatars/get-qr.md index d74d18579..e9419fef5 100644 --- a/examples/1.9.x/server-kotlin/kotlin/avatars/get-qr.md +++ b/examples/1.9.x/server-kotlin/kotlin/avatars/get-qr.md @@ -7,7 +7,6 @@ val client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setSession("") // The user session to authenticate with - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. val avatars = Avatars(client) diff --git a/examples/1.9.x/server-kotlin/kotlin/avatars/get-screenshot.md b/examples/1.9.x/server-kotlin/kotlin/avatars/get-screenshot.md index 5fdb090d6..ea26656a8 100644 --- a/examples/1.9.x/server-kotlin/kotlin/avatars/get-screenshot.md +++ b/examples/1.9.x/server-kotlin/kotlin/avatars/get-screenshot.md @@ -11,7 +11,6 @@ val client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setSession("") // The user session to authenticate with - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. val avatars = Avatars(client) diff --git a/examples/1.9.x/server-kotlin/kotlin/functions/get-deployment-download.md b/examples/1.9.x/server-kotlin/kotlin/functions/get-deployment-download.md index a1909fc9c..d6663d685 100644 --- a/examples/1.9.x/server-kotlin/kotlin/functions/get-deployment-download.md +++ b/examples/1.9.x/server-kotlin/kotlin/functions/get-deployment-download.md @@ -8,7 +8,6 @@ val client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("") // Your secret API key - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. val functions = Functions(client) diff --git a/examples/1.9.x/server-kotlin/kotlin/project/update-deny-corporate-email-policy.md b/examples/1.9.x/server-kotlin/kotlin/project/update-deny-corporate-email-policy.md new file mode 100644 index 000000000..2d8496901 --- /dev/null +++ b/examples/1.9.x/server-kotlin/kotlin/project/update-deny-corporate-email-policy.md @@ -0,0 +1,16 @@ +```kotlin +import io.appwrite.Client +import io.appwrite.coroutines.CoroutineCallback +import io.appwrite.services.Project + +val client = Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setKey("") // Your secret API key + +val project = Project(client) + +val response = project.updateDenyCorporateEmailPolicy( + enabled = false +) +``` diff --git a/examples/1.9.x/server-kotlin/kotlin/sites/get-deployment-download.md b/examples/1.9.x/server-kotlin/kotlin/sites/get-deployment-download.md index 9d3e94f9f..e86ef015c 100644 --- a/examples/1.9.x/server-kotlin/kotlin/sites/get-deployment-download.md +++ b/examples/1.9.x/server-kotlin/kotlin/sites/get-deployment-download.md @@ -8,7 +8,6 @@ val client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("") // Your secret API key - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. val sites = Sites(client) diff --git a/examples/1.9.x/server-kotlin/kotlin/storage/get-file-download.md b/examples/1.9.x/server-kotlin/kotlin/storage/get-file-download.md index 86f9f8aaa..ed3198dde 100644 --- a/examples/1.9.x/server-kotlin/kotlin/storage/get-file-download.md +++ b/examples/1.9.x/server-kotlin/kotlin/storage/get-file-download.md @@ -7,7 +7,6 @@ val client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setSession("") // The user session to authenticate with - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. val storage = Storage(client) diff --git a/examples/1.9.x/server-kotlin/kotlin/storage/get-file-preview.md b/examples/1.9.x/server-kotlin/kotlin/storage/get-file-preview.md index c070c1f18..9f7f29240 100644 --- a/examples/1.9.x/server-kotlin/kotlin/storage/get-file-preview.md +++ b/examples/1.9.x/server-kotlin/kotlin/storage/get-file-preview.md @@ -9,7 +9,6 @@ val client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setSession("") // The user session to authenticate with - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. val storage = Storage(client) diff --git a/examples/1.9.x/server-kotlin/kotlin/storage/get-file-view.md b/examples/1.9.x/server-kotlin/kotlin/storage/get-file-view.md index f7ff66f40..141a8cd4f 100644 --- a/examples/1.9.x/server-kotlin/kotlin/storage/get-file-view.md +++ b/examples/1.9.x/server-kotlin/kotlin/storage/get-file-view.md @@ -7,7 +7,6 @@ val client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setSession("") // The user session to authenticate with - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. val storage = Storage(client) diff --git a/examples/1.9.x/server-kotlin/kotlin/usage/list-events.md b/examples/1.9.x/server-kotlin/kotlin/usage/list-events.md index 055fe1f71..cf0a5f862 100644 --- a/examples/1.9.x/server-kotlin/kotlin/usage/list-events.md +++ b/examples/1.9.x/server-kotlin/kotlin/usage/list-events.md @@ -11,7 +11,16 @@ val client = Client() val usage = Usage(client) val response = usage.listEvents( - queries = listOf(), // optional - total = false // optional + metric = "", + resource = "", // optional + resourceId = "", // optional + interval = "1m", // optional + dimensions = listOf(), // optional + startAt = "2020-10-15T06:38:00.000+00:00", // optional + endAt = "2020-10-15T06:38:00.000+00:00", // optional + orderBy = "time", // optional + orderDir = "asc", // optional + limit = 1, // optional + offset = 0 // optional ) ``` diff --git a/examples/1.9.x/server-kotlin/kotlin/usage/list-gauges.md b/examples/1.9.x/server-kotlin/kotlin/usage/list-gauges.md index 77f13483c..291f60085 100644 --- a/examples/1.9.x/server-kotlin/kotlin/usage/list-gauges.md +++ b/examples/1.9.x/server-kotlin/kotlin/usage/list-gauges.md @@ -11,7 +11,16 @@ val client = Client() val usage = Usage(client) val response = usage.listGauges( - queries = listOf(), // optional - total = false // optional + metric = "", + resourceId = "", // optional + teamId = "", // optional + interval = "1m", // optional + dimensions = listOf(), // optional + startAt = "2020-10-15T06:38:00.000+00:00", // optional + endAt = "2020-10-15T06:38:00.000+00:00", // optional + orderBy = "time", // optional + orderDir = "asc", // optional + limit = 1, // optional + offset = 0 // optional ) ``` diff --git a/examples/1.9.x/server-nodejs/examples/avatars/get-browser.md b/examples/1.9.x/server-nodejs/examples/avatars/get-browser.md index 3559f2444..6ffb388d5 100644 --- a/examples/1.9.x/server-nodejs/examples/avatars/get-browser.md +++ b/examples/1.9.x/server-nodejs/examples/avatars/get-browser.md @@ -4,8 +4,7 @@ const sdk = require('node-appwrite'); const client = new sdk.Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID - .setSession('') // The user session to authenticate with - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(''); // The user session to authenticate with const avatars = new sdk.Avatars(client); diff --git a/examples/1.9.x/server-nodejs/examples/avatars/get-credit-card.md b/examples/1.9.x/server-nodejs/examples/avatars/get-credit-card.md index 67e2c1bee..ea806baff 100644 --- a/examples/1.9.x/server-nodejs/examples/avatars/get-credit-card.md +++ b/examples/1.9.x/server-nodejs/examples/avatars/get-credit-card.md @@ -4,8 +4,7 @@ const sdk = require('node-appwrite'); const client = new sdk.Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID - .setSession('') // The user session to authenticate with - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(''); // The user session to authenticate with const avatars = new sdk.Avatars(client); diff --git a/examples/1.9.x/server-nodejs/examples/avatars/get-favicon.md b/examples/1.9.x/server-nodejs/examples/avatars/get-favicon.md index 83d2423d4..bd9ae2caa 100644 --- a/examples/1.9.x/server-nodejs/examples/avatars/get-favicon.md +++ b/examples/1.9.x/server-nodejs/examples/avatars/get-favicon.md @@ -4,8 +4,7 @@ const sdk = require('node-appwrite'); const client = new sdk.Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID - .setSession('') // The user session to authenticate with - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(''); // The user session to authenticate with const avatars = new sdk.Avatars(client); diff --git a/examples/1.9.x/server-nodejs/examples/avatars/get-flag.md b/examples/1.9.x/server-nodejs/examples/avatars/get-flag.md index 26f2c4f95..d05b666bc 100644 --- a/examples/1.9.x/server-nodejs/examples/avatars/get-flag.md +++ b/examples/1.9.x/server-nodejs/examples/avatars/get-flag.md @@ -4,8 +4,7 @@ const sdk = require('node-appwrite'); const client = new sdk.Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID - .setSession('') // The user session to authenticate with - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(''); // The user session to authenticate with const avatars = new sdk.Avatars(client); diff --git a/examples/1.9.x/server-nodejs/examples/avatars/get-image.md b/examples/1.9.x/server-nodejs/examples/avatars/get-image.md index f51eed1d3..6f013db19 100644 --- a/examples/1.9.x/server-nodejs/examples/avatars/get-image.md +++ b/examples/1.9.x/server-nodejs/examples/avatars/get-image.md @@ -4,8 +4,7 @@ const sdk = require('node-appwrite'); const client = new sdk.Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID - .setSession('') // The user session to authenticate with - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(''); // The user session to authenticate with const avatars = new sdk.Avatars(client); diff --git a/examples/1.9.x/server-nodejs/examples/avatars/get-initials.md b/examples/1.9.x/server-nodejs/examples/avatars/get-initials.md index e86f64580..3d35c6df9 100644 --- a/examples/1.9.x/server-nodejs/examples/avatars/get-initials.md +++ b/examples/1.9.x/server-nodejs/examples/avatars/get-initials.md @@ -4,8 +4,7 @@ const sdk = require('node-appwrite'); const client = new sdk.Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID - .setSession('') // The user session to authenticate with - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(''); // The user session to authenticate with const avatars = new sdk.Avatars(client); diff --git a/examples/1.9.x/server-nodejs/examples/avatars/get-qr.md b/examples/1.9.x/server-nodejs/examples/avatars/get-qr.md index 06cdd1ba9..e4235a38e 100644 --- a/examples/1.9.x/server-nodejs/examples/avatars/get-qr.md +++ b/examples/1.9.x/server-nodejs/examples/avatars/get-qr.md @@ -4,8 +4,7 @@ const sdk = require('node-appwrite'); const client = new sdk.Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID - .setSession('') // The user session to authenticate with - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(''); // The user session to authenticate with const avatars = new sdk.Avatars(client); diff --git a/examples/1.9.x/server-nodejs/examples/avatars/get-screenshot.md b/examples/1.9.x/server-nodejs/examples/avatars/get-screenshot.md index 9ea7564b7..d83f24ab3 100644 --- a/examples/1.9.x/server-nodejs/examples/avatars/get-screenshot.md +++ b/examples/1.9.x/server-nodejs/examples/avatars/get-screenshot.md @@ -4,8 +4,7 @@ const sdk = require('node-appwrite'); const client = new sdk.Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID - .setSession('') // The user session to authenticate with - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(''); // The user session to authenticate with const avatars = new sdk.Avatars(client); diff --git a/examples/1.9.x/server-nodejs/examples/functions/get-deployment-download.md b/examples/1.9.x/server-nodejs/examples/functions/get-deployment-download.md index 81c41a838..5e9a956d0 100644 --- a/examples/1.9.x/server-nodejs/examples/functions/get-deployment-download.md +++ b/examples/1.9.x/server-nodejs/examples/functions/get-deployment-download.md @@ -4,8 +4,7 @@ const sdk = require('node-appwrite'); const client = new sdk.Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID - .setKey('') // Your secret API key - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setKey(''); // Your secret API key const functions = new sdk.Functions(client); diff --git a/examples/1.9.x/server-nodejs/examples/project/update-deny-corporate-email-policy.md b/examples/1.9.x/server-nodejs/examples/project/update-deny-corporate-email-policy.md new file mode 100644 index 000000000..8335b8e98 --- /dev/null +++ b/examples/1.9.x/server-nodejs/examples/project/update-deny-corporate-email-policy.md @@ -0,0 +1,14 @@ +```javascript +const sdk = require('node-appwrite'); + +const client = new sdk.Client() + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID + .setKey(''); // Your secret API key + +const project = new sdk.Project(client); + +const result = await project.updateDenyCorporateEmailPolicy({ + enabled: false +}); +``` diff --git a/examples/1.9.x/server-nodejs/examples/sites/get-deployment-download.md b/examples/1.9.x/server-nodejs/examples/sites/get-deployment-download.md index c4c406491..6e7ee4aa0 100644 --- a/examples/1.9.x/server-nodejs/examples/sites/get-deployment-download.md +++ b/examples/1.9.x/server-nodejs/examples/sites/get-deployment-download.md @@ -4,8 +4,7 @@ const sdk = require('node-appwrite'); const client = new sdk.Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID - .setKey('') // Your secret API key - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setKey(''); // Your secret API key const sites = new sdk.Sites(client); diff --git a/examples/1.9.x/server-nodejs/examples/storage/get-file-download.md b/examples/1.9.x/server-nodejs/examples/storage/get-file-download.md index 3c52437cf..c0a10d967 100644 --- a/examples/1.9.x/server-nodejs/examples/storage/get-file-download.md +++ b/examples/1.9.x/server-nodejs/examples/storage/get-file-download.md @@ -4,8 +4,7 @@ const sdk = require('node-appwrite'); const client = new sdk.Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID - .setSession('') // The user session to authenticate with - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(''); // The user session to authenticate with const storage = new sdk.Storage(client); diff --git a/examples/1.9.x/server-nodejs/examples/storage/get-file-preview.md b/examples/1.9.x/server-nodejs/examples/storage/get-file-preview.md index f1682d37d..984333db6 100644 --- a/examples/1.9.x/server-nodejs/examples/storage/get-file-preview.md +++ b/examples/1.9.x/server-nodejs/examples/storage/get-file-preview.md @@ -4,8 +4,7 @@ const sdk = require('node-appwrite'); const client = new sdk.Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID - .setSession('') // The user session to authenticate with - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(''); // The user session to authenticate with const storage = new sdk.Storage(client); diff --git a/examples/1.9.x/server-nodejs/examples/storage/get-file-view.md b/examples/1.9.x/server-nodejs/examples/storage/get-file-view.md index 14a9af0b7..a20c4ac2b 100644 --- a/examples/1.9.x/server-nodejs/examples/storage/get-file-view.md +++ b/examples/1.9.x/server-nodejs/examples/storage/get-file-view.md @@ -4,8 +4,7 @@ const sdk = require('node-appwrite'); const client = new sdk.Client() .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID - .setSession('') // The user session to authenticate with - .setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + .setSession(''); // The user session to authenticate with const storage = new sdk.Storage(client); diff --git a/examples/1.9.x/server-nodejs/examples/usage/list-events.md b/examples/1.9.x/server-nodejs/examples/usage/list-events.md index 887f98fec..fce0242a4 100644 --- a/examples/1.9.x/server-nodejs/examples/usage/list-events.md +++ b/examples/1.9.x/server-nodejs/examples/usage/list-events.md @@ -9,7 +9,16 @@ const client = new sdk.Client() const usage = new sdk.Usage(client); const result = await usage.listEvents({ - queries: [], // optional - total: false // optional + metric: '', + resource: '', // optional + resourceId: '', // optional + interval: '1m', // optional + dimensions: [], // optional + startAt: '2020-10-15T06:38:00.000+00:00', // optional + endAt: '2020-10-15T06:38:00.000+00:00', // optional + orderBy: 'time', // optional + orderDir: 'asc', // optional + limit: 1, // optional + offset: 0 // optional }); ``` diff --git a/examples/1.9.x/server-nodejs/examples/usage/list-gauges.md b/examples/1.9.x/server-nodejs/examples/usage/list-gauges.md index aa5ba1d8a..7d96e5b5a 100644 --- a/examples/1.9.x/server-nodejs/examples/usage/list-gauges.md +++ b/examples/1.9.x/server-nodejs/examples/usage/list-gauges.md @@ -9,7 +9,16 @@ const client = new sdk.Client() const usage = new sdk.Usage(client); const result = await usage.listGauges({ - queries: [], // optional - total: false // optional + metric: '', + resourceId: '', // optional + teamId: '', // optional + interval: '1m', // optional + dimensions: [], // optional + startAt: '2020-10-15T06:38:00.000+00:00', // optional + endAt: '2020-10-15T06:38:00.000+00:00', // optional + orderBy: 'time', // optional + orderDir: 'asc', // optional + limit: 1, // optional + offset: 0 // optional }); ``` diff --git a/examples/1.9.x/server-php/examples/avatars/get-browser.md b/examples/1.9.x/server-php/examples/avatars/get-browser.md index 1bc216de0..ec2a7599f 100644 --- a/examples/1.9.x/server-php/examples/avatars/get-browser.md +++ b/examples/1.9.x/server-php/examples/avatars/get-browser.md @@ -8,8 +8,7 @@ use Appwrite\Enums\Browser; $client = (new Client()) ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID - ->setSession('') // The user session to authenticate with - ->setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + ->setSession(''); // The user session to authenticate with $avatars = new Avatars($client); diff --git a/examples/1.9.x/server-php/examples/avatars/get-credit-card.md b/examples/1.9.x/server-php/examples/avatars/get-credit-card.md index 875c8f821..05ddc2478 100644 --- a/examples/1.9.x/server-php/examples/avatars/get-credit-card.md +++ b/examples/1.9.x/server-php/examples/avatars/get-credit-card.md @@ -8,8 +8,7 @@ use Appwrite\Enums\CreditCard; $client = (new Client()) ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID - ->setSession('') // The user session to authenticate with - ->setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + ->setSession(''); // The user session to authenticate with $avatars = new Avatars($client); diff --git a/examples/1.9.x/server-php/examples/avatars/get-favicon.md b/examples/1.9.x/server-php/examples/avatars/get-favicon.md index 1b0f61525..424cea84b 100644 --- a/examples/1.9.x/server-php/examples/avatars/get-favicon.md +++ b/examples/1.9.x/server-php/examples/avatars/get-favicon.md @@ -7,8 +7,7 @@ use Appwrite\Services\Avatars; $client = (new Client()) ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID - ->setSession('') // The user session to authenticate with - ->setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + ->setSession(''); // The user session to authenticate with $avatars = new Avatars($client); diff --git a/examples/1.9.x/server-php/examples/avatars/get-flag.md b/examples/1.9.x/server-php/examples/avatars/get-flag.md index 091539662..1a4ef37af 100644 --- a/examples/1.9.x/server-php/examples/avatars/get-flag.md +++ b/examples/1.9.x/server-php/examples/avatars/get-flag.md @@ -8,8 +8,7 @@ use Appwrite\Enums\Flag; $client = (new Client()) ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID - ->setSession('') // The user session to authenticate with - ->setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + ->setSession(''); // The user session to authenticate with $avatars = new Avatars($client); diff --git a/examples/1.9.x/server-php/examples/avatars/get-image.md b/examples/1.9.x/server-php/examples/avatars/get-image.md index cc0f5e9b2..4ceb8d380 100644 --- a/examples/1.9.x/server-php/examples/avatars/get-image.md +++ b/examples/1.9.x/server-php/examples/avatars/get-image.md @@ -7,8 +7,7 @@ use Appwrite\Services\Avatars; $client = (new Client()) ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID - ->setSession('') // The user session to authenticate with - ->setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + ->setSession(''); // The user session to authenticate with $avatars = new Avatars($client); diff --git a/examples/1.9.x/server-php/examples/avatars/get-initials.md b/examples/1.9.x/server-php/examples/avatars/get-initials.md index 344cc2d57..2bd523b51 100644 --- a/examples/1.9.x/server-php/examples/avatars/get-initials.md +++ b/examples/1.9.x/server-php/examples/avatars/get-initials.md @@ -7,8 +7,7 @@ use Appwrite\Services\Avatars; $client = (new Client()) ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID - ->setSession('') // The user session to authenticate with - ->setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + ->setSession(''); // The user session to authenticate with $avatars = new Avatars($client); diff --git a/examples/1.9.x/server-php/examples/avatars/get-qr.md b/examples/1.9.x/server-php/examples/avatars/get-qr.md index 660ff05b8..ad49bf9e6 100644 --- a/examples/1.9.x/server-php/examples/avatars/get-qr.md +++ b/examples/1.9.x/server-php/examples/avatars/get-qr.md @@ -7,8 +7,7 @@ use Appwrite\Services\Avatars; $client = (new Client()) ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID - ->setSession('') // The user session to authenticate with - ->setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + ->setSession(''); // The user session to authenticate with $avatars = new Avatars($client); diff --git a/examples/1.9.x/server-php/examples/avatars/get-screenshot.md b/examples/1.9.x/server-php/examples/avatars/get-screenshot.md index 68ffec1bc..d2381633e 100644 --- a/examples/1.9.x/server-php/examples/avatars/get-screenshot.md +++ b/examples/1.9.x/server-php/examples/avatars/get-screenshot.md @@ -11,8 +11,7 @@ use Appwrite\Enums\ImageFormat; $client = (new Client()) ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID - ->setSession('') // The user session to authenticate with - ->setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + ->setSession(''); // The user session to authenticate with $avatars = new Avatars($client); diff --git a/examples/1.9.x/server-php/examples/functions/get-deployment-download.md b/examples/1.9.x/server-php/examples/functions/get-deployment-download.md index c1667b071..73842f546 100644 --- a/examples/1.9.x/server-php/examples/functions/get-deployment-download.md +++ b/examples/1.9.x/server-php/examples/functions/get-deployment-download.md @@ -8,8 +8,7 @@ use Appwrite\Enums\DeploymentDownloadType; $client = (new Client()) ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID - ->setKey('') // Your secret API key - ->setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + ->setKey(''); // Your secret API key $functions = new Functions($client); diff --git a/examples/1.9.x/server-php/examples/project/update-deny-corporate-email-policy.md b/examples/1.9.x/server-php/examples/project/update-deny-corporate-email-policy.md new file mode 100644 index 000000000..69ed3907a --- /dev/null +++ b/examples/1.9.x/server-php/examples/project/update-deny-corporate-email-policy.md @@ -0,0 +1,16 @@ +```php +setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + ->setProject('') // Your project ID + ->setKey(''); // Your secret API key + +$project = new Project($client); + +$result = $project->updateDenyCorporateEmailPolicy( + enabled: false +);``` diff --git a/examples/1.9.x/server-php/examples/sites/get-deployment-download.md b/examples/1.9.x/server-php/examples/sites/get-deployment-download.md index 0a117b73e..5582e9642 100644 --- a/examples/1.9.x/server-php/examples/sites/get-deployment-download.md +++ b/examples/1.9.x/server-php/examples/sites/get-deployment-download.md @@ -8,8 +8,7 @@ use Appwrite\Enums\DeploymentDownloadType; $client = (new Client()) ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID - ->setKey('') // Your secret API key - ->setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + ->setKey(''); // Your secret API key $sites = new Sites($client); diff --git a/examples/1.9.x/server-php/examples/storage/get-file-download.md b/examples/1.9.x/server-php/examples/storage/get-file-download.md index 4e4c2f0a0..f55376f05 100644 --- a/examples/1.9.x/server-php/examples/storage/get-file-download.md +++ b/examples/1.9.x/server-php/examples/storage/get-file-download.md @@ -7,8 +7,7 @@ use Appwrite\Services\Storage; $client = (new Client()) ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID - ->setSession('') // The user session to authenticate with - ->setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + ->setSession(''); // The user session to authenticate with $storage = new Storage($client); diff --git a/examples/1.9.x/server-php/examples/storage/get-file-preview.md b/examples/1.9.x/server-php/examples/storage/get-file-preview.md index 93d829d2e..8964011b8 100644 --- a/examples/1.9.x/server-php/examples/storage/get-file-preview.md +++ b/examples/1.9.x/server-php/examples/storage/get-file-preview.md @@ -9,8 +9,7 @@ use Appwrite\Enums\ImageFormat; $client = (new Client()) ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID - ->setSession('') // The user session to authenticate with - ->setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + ->setSession(''); // The user session to authenticate with $storage = new Storage($client); diff --git a/examples/1.9.x/server-php/examples/storage/get-file-view.md b/examples/1.9.x/server-php/examples/storage/get-file-view.md index 7ca08b4e3..6a729dc89 100644 --- a/examples/1.9.x/server-php/examples/storage/get-file-view.md +++ b/examples/1.9.x/server-php/examples/storage/get-file-view.md @@ -7,8 +7,7 @@ use Appwrite\Services\Storage; $client = (new Client()) ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID - ->setSession('') // The user session to authenticate with - ->setImpersonateUserId(''); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. + ->setSession(''); // The user session to authenticate with $storage = new Storage($client); diff --git a/examples/1.9.x/server-php/examples/usage/list-events.md b/examples/1.9.x/server-php/examples/usage/list-events.md index 41a62fe49..e7cfe438f 100644 --- a/examples/1.9.x/server-php/examples/usage/list-events.md +++ b/examples/1.9.x/server-php/examples/usage/list-events.md @@ -12,6 +12,15 @@ $client = (new Client()) $usage = new Usage($client); $result = $usage->listEvents( - queries: [], // optional - total: false // optional + metric: '', + resource: '', // optional + resourceId: '', // optional + interval: '1m', // optional + dimensions: [], // optional + startAt: '2020-10-15T06:38:00.000+00:00', // optional + endAt: '2020-10-15T06:38:00.000+00:00', // optional + orderBy: 'time', // optional + orderDir: 'asc', // optional + limit: 1, // optional + offset: 0 // optional );``` diff --git a/examples/1.9.x/server-php/examples/usage/list-gauges.md b/examples/1.9.x/server-php/examples/usage/list-gauges.md index 9dc822bb1..899c052bb 100644 --- a/examples/1.9.x/server-php/examples/usage/list-gauges.md +++ b/examples/1.9.x/server-php/examples/usage/list-gauges.md @@ -12,6 +12,15 @@ $client = (new Client()) $usage = new Usage($client); $result = $usage->listGauges( - queries: [], // optional - total: false // optional + metric: '', + resourceId: '', // optional + teamId: '', // optional + interval: '1m', // optional + dimensions: [], // optional + startAt: '2020-10-15T06:38:00.000+00:00', // optional + endAt: '2020-10-15T06:38:00.000+00:00', // optional + orderBy: 'time', // optional + orderDir: 'asc', // optional + limit: 1, // optional + offset: 0 // optional );``` diff --git a/examples/1.9.x/server-python/examples/avatars/get-browser.md b/examples/1.9.x/server-python/examples/avatars/get-browser.md index 78ecba94d..3c950dbb8 100644 --- a/examples/1.9.x/server-python/examples/avatars/get-browser.md +++ b/examples/1.9.x/server-python/examples/avatars/get-browser.md @@ -7,7 +7,6 @@ client = Client() client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint client.set_project('') # Your project ID client.set_session('') # The user session to authenticate with -client.set_impersonate_user_id('') # Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. avatars = Avatars(client) diff --git a/examples/1.9.x/server-python/examples/avatars/get-credit-card.md b/examples/1.9.x/server-python/examples/avatars/get-credit-card.md index 71846467f..8ef04f635 100644 --- a/examples/1.9.x/server-python/examples/avatars/get-credit-card.md +++ b/examples/1.9.x/server-python/examples/avatars/get-credit-card.md @@ -7,7 +7,6 @@ client = Client() client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint client.set_project('') # Your project ID client.set_session('') # The user session to authenticate with -client.set_impersonate_user_id('') # Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. avatars = Avatars(client) diff --git a/examples/1.9.x/server-python/examples/avatars/get-favicon.md b/examples/1.9.x/server-python/examples/avatars/get-favicon.md index 8c0dfeb77..dd234eafc 100644 --- a/examples/1.9.x/server-python/examples/avatars/get-favicon.md +++ b/examples/1.9.x/server-python/examples/avatars/get-favicon.md @@ -6,7 +6,6 @@ client = Client() client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint client.set_project('') # Your project ID client.set_session('') # The user session to authenticate with -client.set_impersonate_user_id('') # Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. avatars = Avatars(client) diff --git a/examples/1.9.x/server-python/examples/avatars/get-flag.md b/examples/1.9.x/server-python/examples/avatars/get-flag.md index 307349fb4..f97b20dd8 100644 --- a/examples/1.9.x/server-python/examples/avatars/get-flag.md +++ b/examples/1.9.x/server-python/examples/avatars/get-flag.md @@ -7,7 +7,6 @@ client = Client() client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint client.set_project('') # Your project ID client.set_session('') # The user session to authenticate with -client.set_impersonate_user_id('') # Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. avatars = Avatars(client) diff --git a/examples/1.9.x/server-python/examples/avatars/get-image.md b/examples/1.9.x/server-python/examples/avatars/get-image.md index a0b8587be..9beea030e 100644 --- a/examples/1.9.x/server-python/examples/avatars/get-image.md +++ b/examples/1.9.x/server-python/examples/avatars/get-image.md @@ -6,7 +6,6 @@ client = Client() client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint client.set_project('') # Your project ID client.set_session('') # The user session to authenticate with -client.set_impersonate_user_id('') # Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. avatars = Avatars(client) diff --git a/examples/1.9.x/server-python/examples/avatars/get-initials.md b/examples/1.9.x/server-python/examples/avatars/get-initials.md index 31061a81e..30a39a8ec 100644 --- a/examples/1.9.x/server-python/examples/avatars/get-initials.md +++ b/examples/1.9.x/server-python/examples/avatars/get-initials.md @@ -6,7 +6,6 @@ client = Client() client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint client.set_project('') # Your project ID client.set_session('') # The user session to authenticate with -client.set_impersonate_user_id('') # Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. avatars = Avatars(client) diff --git a/examples/1.9.x/server-python/examples/avatars/get-qr.md b/examples/1.9.x/server-python/examples/avatars/get-qr.md index 99ae1c57f..a7968e75c 100644 --- a/examples/1.9.x/server-python/examples/avatars/get-qr.md +++ b/examples/1.9.x/server-python/examples/avatars/get-qr.md @@ -6,7 +6,6 @@ client = Client() client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint client.set_project('') # Your project ID client.set_session('') # The user session to authenticate with -client.set_impersonate_user_id('') # Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. avatars = Avatars(client) diff --git a/examples/1.9.x/server-python/examples/avatars/get-screenshot.md b/examples/1.9.x/server-python/examples/avatars/get-screenshot.md index b3a4cf510..cf7f9a6b4 100644 --- a/examples/1.9.x/server-python/examples/avatars/get-screenshot.md +++ b/examples/1.9.x/server-python/examples/avatars/get-screenshot.md @@ -10,7 +10,6 @@ client = Client() client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint client.set_project('') # Your project ID client.set_session('') # The user session to authenticate with -client.set_impersonate_user_id('') # Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. avatars = Avatars(client) diff --git a/examples/1.9.x/server-python/examples/functions/get-deployment-download.md b/examples/1.9.x/server-python/examples/functions/get-deployment-download.md index 3579d0930..7f6b2f6ba 100644 --- a/examples/1.9.x/server-python/examples/functions/get-deployment-download.md +++ b/examples/1.9.x/server-python/examples/functions/get-deployment-download.md @@ -7,7 +7,6 @@ client = Client() client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint client.set_project('') # Your project ID client.set_key('') # Your secret API key -client.set_impersonate_user_id('') # Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. functions = Functions(client) diff --git a/examples/1.9.x/server-python/examples/project/get-policy.md b/examples/1.9.x/server-python/examples/project/get-policy.md index a26145e1a..f94876691 100644 --- a/examples/1.9.x/server-python/examples/project/get-policy.md +++ b/examples/1.9.x/server-python/examples/project/get-policy.md @@ -14,6 +14,7 @@ from appwrite.models import PolicyMembershipPrivacy from appwrite.models import PolicyDenyAliasedEmail from appwrite.models import PolicyDenyDisposableEmail from appwrite.models import PolicyDenyFreeEmail +from appwrite.models import PolicyDenyCorporateEmail from typing import Union from appwrite.enums import ProjectPolicyId @@ -24,7 +25,7 @@ client.set_key('') # Your secret API key project = Project(client) -result: Union[PolicyPasswordDictionary, PolicyPasswordHistory, PolicyPasswordStrength, PolicyPasswordPersonalData, PolicySessionAlert, PolicySessionDuration, PolicySessionInvalidation, PolicySessionLimit, PolicyUserLimit, PolicyMembershipPrivacy, PolicyDenyAliasedEmail, PolicyDenyDisposableEmail, PolicyDenyFreeEmail] = project.get_policy( +result: Union[PolicyPasswordDictionary, PolicyPasswordHistory, PolicyPasswordStrength, PolicyPasswordPersonalData, PolicySessionAlert, PolicySessionDuration, PolicySessionInvalidation, PolicySessionLimit, PolicyUserLimit, PolicyMembershipPrivacy, PolicyDenyAliasedEmail, PolicyDenyDisposableEmail, PolicyDenyFreeEmail, PolicyDenyCorporateEmail] = project.get_policy( policy_id = ProjectPolicyId.PASSWORD_DICTIONARY ) diff --git a/examples/1.9.x/server-python/examples/project/update-deny-corporate-email-policy.md b/examples/1.9.x/server-python/examples/project/update-deny-corporate-email-policy.md new file mode 100644 index 000000000..21f4f8a69 --- /dev/null +++ b/examples/1.9.x/server-python/examples/project/update-deny-corporate-email-policy.md @@ -0,0 +1,18 @@ +```python +from appwrite.client import Client +from appwrite.services.project import Project +from appwrite.models import Project as ProjectModel + +client = Client() +client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint +client.set_project('') # Your project ID +client.set_key('') # Your secret API key + +project = Project(client) + +result: ProjectModel = project.update_deny_corporate_email_policy( + enabled = False +) + +print(result.model_dump()) +``` diff --git a/examples/1.9.x/server-python/examples/sites/get-deployment-download.md b/examples/1.9.x/server-python/examples/sites/get-deployment-download.md index 174cf760c..eae2543c4 100644 --- a/examples/1.9.x/server-python/examples/sites/get-deployment-download.md +++ b/examples/1.9.x/server-python/examples/sites/get-deployment-download.md @@ -7,7 +7,6 @@ client = Client() client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint client.set_project('') # Your project ID client.set_key('') # Your secret API key -client.set_impersonate_user_id('') # Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. sites = Sites(client) diff --git a/examples/1.9.x/server-python/examples/storage/get-file-download.md b/examples/1.9.x/server-python/examples/storage/get-file-download.md index 275afb974..ac6f9424d 100644 --- a/examples/1.9.x/server-python/examples/storage/get-file-download.md +++ b/examples/1.9.x/server-python/examples/storage/get-file-download.md @@ -6,7 +6,6 @@ client = Client() client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint client.set_project('') # Your project ID client.set_session('') # The user session to authenticate with -client.set_impersonate_user_id('') # Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. storage = Storage(client) diff --git a/examples/1.9.x/server-python/examples/storage/get-file-preview.md b/examples/1.9.x/server-python/examples/storage/get-file-preview.md index c082fd040..4cbc4a586 100644 --- a/examples/1.9.x/server-python/examples/storage/get-file-preview.md +++ b/examples/1.9.x/server-python/examples/storage/get-file-preview.md @@ -8,7 +8,6 @@ client = Client() client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint client.set_project('') # Your project ID client.set_session('') # The user session to authenticate with -client.set_impersonate_user_id('') # Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. storage = Storage(client) diff --git a/examples/1.9.x/server-python/examples/storage/get-file-view.md b/examples/1.9.x/server-python/examples/storage/get-file-view.md index 4971f0c42..5cceef6ff 100644 --- a/examples/1.9.x/server-python/examples/storage/get-file-view.md +++ b/examples/1.9.x/server-python/examples/storage/get-file-view.md @@ -6,7 +6,6 @@ client = Client() client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint client.set_project('') # Your project ID client.set_session('') # The user session to authenticate with -client.set_impersonate_user_id('') # Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. storage = Storage(client) diff --git a/examples/1.9.x/server-python/examples/usage/list-events.md b/examples/1.9.x/server-python/examples/usage/list-events.md index d3ab1d25b..4c8accbf3 100644 --- a/examples/1.9.x/server-python/examples/usage/list-events.md +++ b/examples/1.9.x/server-python/examples/usage/list-events.md @@ -11,8 +11,17 @@ client.set_key('') # Your secret API key usage = Usage(client) result: UsageEventList = usage.list_events( - queries = [], # optional - total = False # optional + metric = '', + resource = '', # optional + resource_id = '', # optional + interval = '1m', # optional + dimensions = [], # optional + start_at = '2020-10-15T06:38:00.000+00:00', # optional + end_at = '2020-10-15T06:38:00.000+00:00', # optional + order_by = 'time', # optional + order_dir = 'asc', # optional + limit = 1, # optional + offset = 0 # optional ) print(result.model_dump()) diff --git a/examples/1.9.x/server-python/examples/usage/list-gauges.md b/examples/1.9.x/server-python/examples/usage/list-gauges.md index 2904b9682..3189025c1 100644 --- a/examples/1.9.x/server-python/examples/usage/list-gauges.md +++ b/examples/1.9.x/server-python/examples/usage/list-gauges.md @@ -11,8 +11,17 @@ client.set_key('') # Your secret API key usage = Usage(client) result: UsageGaugeList = usage.list_gauges( - queries = [], # optional - total = False # optional + metric = '', + resource_id = '', # optional + team_id = '', # optional + interval = '1m', # optional + dimensions = [], # optional + start_at = '2020-10-15T06:38:00.000+00:00', # optional + end_at = '2020-10-15T06:38:00.000+00:00', # optional + order_by = 'time', # optional + order_dir = 'asc', # optional + limit = 1, # optional + offset = 0 # optional ) print(result.model_dump()) diff --git a/examples/1.9.x/server-rest/examples/project/update-deny-corporate-email-policy.md b/examples/1.9.x/server-rest/examples/project/update-deny-corporate-email-policy.md new file mode 100644 index 000000000..0175f2521 --- /dev/null +++ b/examples/1.9.x/server-rest/examples/project/update-deny-corporate-email-policy.md @@ -0,0 +1,16 @@ +```http +PATCH /v1/project/policies/deny-corporate-email HTTP/1.1 +Host: cloud.appwrite.io +Content-Type: application/json +Accept: application/json +X-Appwrite-Response-Format: 1.9.5 +X-Appwrite-Project: + +{ + "enabled": false +} + +{ + "enabled": false +} +``` diff --git a/examples/1.9.x/server-ruby/examples/avatars/get-browser.md b/examples/1.9.x/server-ruby/examples/avatars/get-browser.md index e9a919811..2c9c1272d 100644 --- a/examples/1.9.x/server-ruby/examples/avatars/get-browser.md +++ b/examples/1.9.x/server-ruby/examples/avatars/get-browser.md @@ -8,7 +8,6 @@ client = Client.new .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_session('') # The user session to authenticate with - .set_impersonate_user_id('') # Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. avatars = Avatars.new(client) diff --git a/examples/1.9.x/server-ruby/examples/avatars/get-credit-card.md b/examples/1.9.x/server-ruby/examples/avatars/get-credit-card.md index b82429583..a912b9cd4 100644 --- a/examples/1.9.x/server-ruby/examples/avatars/get-credit-card.md +++ b/examples/1.9.x/server-ruby/examples/avatars/get-credit-card.md @@ -8,7 +8,6 @@ client = Client.new .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_session('') # The user session to authenticate with - .set_impersonate_user_id('') # Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. avatars = Avatars.new(client) diff --git a/examples/1.9.x/server-ruby/examples/avatars/get-favicon.md b/examples/1.9.x/server-ruby/examples/avatars/get-favicon.md index 6e27653c0..a50b91a85 100644 --- a/examples/1.9.x/server-ruby/examples/avatars/get-favicon.md +++ b/examples/1.9.x/server-ruby/examples/avatars/get-favicon.md @@ -7,7 +7,6 @@ client = Client.new .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_session('') # The user session to authenticate with - .set_impersonate_user_id('') # Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. avatars = Avatars.new(client) diff --git a/examples/1.9.x/server-ruby/examples/avatars/get-flag.md b/examples/1.9.x/server-ruby/examples/avatars/get-flag.md index fad03b05b..a2f120672 100644 --- a/examples/1.9.x/server-ruby/examples/avatars/get-flag.md +++ b/examples/1.9.x/server-ruby/examples/avatars/get-flag.md @@ -8,7 +8,6 @@ client = Client.new .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_session('') # The user session to authenticate with - .set_impersonate_user_id('') # Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. avatars = Avatars.new(client) diff --git a/examples/1.9.x/server-ruby/examples/avatars/get-image.md b/examples/1.9.x/server-ruby/examples/avatars/get-image.md index 40da035be..b3bcce331 100644 --- a/examples/1.9.x/server-ruby/examples/avatars/get-image.md +++ b/examples/1.9.x/server-ruby/examples/avatars/get-image.md @@ -7,7 +7,6 @@ client = Client.new .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_session('') # The user session to authenticate with - .set_impersonate_user_id('') # Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. avatars = Avatars.new(client) diff --git a/examples/1.9.x/server-ruby/examples/avatars/get-initials.md b/examples/1.9.x/server-ruby/examples/avatars/get-initials.md index efee39850..695ccf72d 100644 --- a/examples/1.9.x/server-ruby/examples/avatars/get-initials.md +++ b/examples/1.9.x/server-ruby/examples/avatars/get-initials.md @@ -7,7 +7,6 @@ client = Client.new .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_session('') # The user session to authenticate with - .set_impersonate_user_id('') # Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. avatars = Avatars.new(client) diff --git a/examples/1.9.x/server-ruby/examples/avatars/get-qr.md b/examples/1.9.x/server-ruby/examples/avatars/get-qr.md index 2024413ce..2ccde309a 100644 --- a/examples/1.9.x/server-ruby/examples/avatars/get-qr.md +++ b/examples/1.9.x/server-ruby/examples/avatars/get-qr.md @@ -7,7 +7,6 @@ client = Client.new .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_session('') # The user session to authenticate with - .set_impersonate_user_id('') # Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. avatars = Avatars.new(client) diff --git a/examples/1.9.x/server-ruby/examples/avatars/get-screenshot.md b/examples/1.9.x/server-ruby/examples/avatars/get-screenshot.md index 19aa9a702..742c87fd9 100644 --- a/examples/1.9.x/server-ruby/examples/avatars/get-screenshot.md +++ b/examples/1.9.x/server-ruby/examples/avatars/get-screenshot.md @@ -8,7 +8,6 @@ client = Client.new .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_session('') # The user session to authenticate with - .set_impersonate_user_id('') # Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. avatars = Avatars.new(client) diff --git a/examples/1.9.x/server-ruby/examples/functions/get-deployment-download.md b/examples/1.9.x/server-ruby/examples/functions/get-deployment-download.md index 7b6522a26..728cfca6b 100644 --- a/examples/1.9.x/server-ruby/examples/functions/get-deployment-download.md +++ b/examples/1.9.x/server-ruby/examples/functions/get-deployment-download.md @@ -8,7 +8,6 @@ client = Client.new .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('') # Your secret API key - .set_impersonate_user_id('') # Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. functions = Functions.new(client) diff --git a/examples/1.9.x/server-ruby/examples/project/update-deny-corporate-email-policy.md b/examples/1.9.x/server-ruby/examples/project/update-deny-corporate-email-policy.md new file mode 100644 index 000000000..24082514e --- /dev/null +++ b/examples/1.9.x/server-ruby/examples/project/update-deny-corporate-email-policy.md @@ -0,0 +1,16 @@ +```ruby +require 'appwrite' + +include Appwrite + +client = Client.new + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint + .set_project('') # Your project ID + .set_key('') # Your secret API key + +project = Project.new(client) + +result = project.update_deny_corporate_email_policy( + enabled: false +) +``` diff --git a/examples/1.9.x/server-ruby/examples/sites/get-deployment-download.md b/examples/1.9.x/server-ruby/examples/sites/get-deployment-download.md index 4c8694357..0fe19a3c4 100644 --- a/examples/1.9.x/server-ruby/examples/sites/get-deployment-download.md +++ b/examples/1.9.x/server-ruby/examples/sites/get-deployment-download.md @@ -8,7 +8,6 @@ client = Client.new .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('') # Your secret API key - .set_impersonate_user_id('') # Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. sites = Sites.new(client) diff --git a/examples/1.9.x/server-ruby/examples/storage/get-file-download.md b/examples/1.9.x/server-ruby/examples/storage/get-file-download.md index 7ebcbf485..33324990c 100644 --- a/examples/1.9.x/server-ruby/examples/storage/get-file-download.md +++ b/examples/1.9.x/server-ruby/examples/storage/get-file-download.md @@ -7,7 +7,6 @@ client = Client.new .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_session('') # The user session to authenticate with - .set_impersonate_user_id('') # Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. storage = Storage.new(client) diff --git a/examples/1.9.x/server-ruby/examples/storage/get-file-preview.md b/examples/1.9.x/server-ruby/examples/storage/get-file-preview.md index 8469e45c2..8db54e015 100644 --- a/examples/1.9.x/server-ruby/examples/storage/get-file-preview.md +++ b/examples/1.9.x/server-ruby/examples/storage/get-file-preview.md @@ -8,7 +8,6 @@ client = Client.new .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_session('') # The user session to authenticate with - .set_impersonate_user_id('') # Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. storage = Storage.new(client) diff --git a/examples/1.9.x/server-ruby/examples/storage/get-file-view.md b/examples/1.9.x/server-ruby/examples/storage/get-file-view.md index d074f6451..ed3e898e1 100644 --- a/examples/1.9.x/server-ruby/examples/storage/get-file-view.md +++ b/examples/1.9.x/server-ruby/examples/storage/get-file-view.md @@ -7,7 +7,6 @@ client = Client.new .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_session('') # The user session to authenticate with - .set_impersonate_user_id('') # Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. storage = Storage.new(client) diff --git a/examples/1.9.x/server-ruby/examples/usage/list-events.md b/examples/1.9.x/server-ruby/examples/usage/list-events.md index ec26a6dbd..956c53583 100644 --- a/examples/1.9.x/server-ruby/examples/usage/list-events.md +++ b/examples/1.9.x/server-ruby/examples/usage/list-events.md @@ -11,7 +11,16 @@ client = Client.new usage = Usage.new(client) result = usage.list_events( - queries: [], # optional - total: false # optional + metric: '', + resource: '', # optional + resource_id: '', # optional + interval: '1m', # optional + dimensions: [], # optional + start_at: '2020-10-15T06:38:00.000+00:00', # optional + end_at: '2020-10-15T06:38:00.000+00:00', # optional + order_by: 'time', # optional + order_dir: 'asc', # optional + limit: 1, # optional + offset: 0 # optional ) ``` diff --git a/examples/1.9.x/server-ruby/examples/usage/list-gauges.md b/examples/1.9.x/server-ruby/examples/usage/list-gauges.md index ba3061fbe..1abacbb2a 100644 --- a/examples/1.9.x/server-ruby/examples/usage/list-gauges.md +++ b/examples/1.9.x/server-ruby/examples/usage/list-gauges.md @@ -11,7 +11,16 @@ client = Client.new usage = Usage.new(client) result = usage.list_gauges( - queries: [], # optional - total: false # optional + metric: '', + resource_id: '', # optional + team_id: '', # optional + interval: '1m', # optional + dimensions: [], # optional + start_at: '2020-10-15T06:38:00.000+00:00', # optional + end_at: '2020-10-15T06:38:00.000+00:00', # optional + order_by: 'time', # optional + order_dir: 'asc', # optional + limit: 1, # optional + offset: 0 # optional ) ``` diff --git a/examples/1.9.x/server-rust/examples/avatars/get-browser.md b/examples/1.9.x/server-rust/examples/avatars/get-browser.md index ab33367c6..e61031416 100644 --- a/examples/1.9.x/server-rust/examples/avatars/get-browser.md +++ b/examples/1.9.x/server-rust/examples/avatars/get-browser.md @@ -8,7 +8,6 @@ async fn main() -> Result<(), Box> { client.set_endpoint("https://.cloud.appwrite.io/v1"); // Your API Endpoint client.set_project(""); // Your project ID client.set_session(""); // The user session to authenticate with - client.set_impersonate_user_id(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let avatars = Avatars::new(&client); diff --git a/examples/1.9.x/server-rust/examples/avatars/get-credit-card.md b/examples/1.9.x/server-rust/examples/avatars/get-credit-card.md index b21ea21fc..2fb6fef00 100644 --- a/examples/1.9.x/server-rust/examples/avatars/get-credit-card.md +++ b/examples/1.9.x/server-rust/examples/avatars/get-credit-card.md @@ -8,7 +8,6 @@ async fn main() -> Result<(), Box> { client.set_endpoint("https://.cloud.appwrite.io/v1"); // Your API Endpoint client.set_project(""); // Your project ID client.set_session(""); // The user session to authenticate with - client.set_impersonate_user_id(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let avatars = Avatars::new(&client); diff --git a/examples/1.9.x/server-rust/examples/avatars/get-favicon.md b/examples/1.9.x/server-rust/examples/avatars/get-favicon.md index 8fddde9fa..74c33216a 100644 --- a/examples/1.9.x/server-rust/examples/avatars/get-favicon.md +++ b/examples/1.9.x/server-rust/examples/avatars/get-favicon.md @@ -8,7 +8,6 @@ async fn main() -> Result<(), Box> { client.set_endpoint("https://.cloud.appwrite.io/v1"); // Your API Endpoint client.set_project(""); // Your project ID client.set_session(""); // The user session to authenticate with - client.set_impersonate_user_id(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let avatars = Avatars::new(&client); diff --git a/examples/1.9.x/server-rust/examples/avatars/get-flag.md b/examples/1.9.x/server-rust/examples/avatars/get-flag.md index 436d809f8..621d2c13e 100644 --- a/examples/1.9.x/server-rust/examples/avatars/get-flag.md +++ b/examples/1.9.x/server-rust/examples/avatars/get-flag.md @@ -8,7 +8,6 @@ async fn main() -> Result<(), Box> { client.set_endpoint("https://.cloud.appwrite.io/v1"); // Your API Endpoint client.set_project(""); // Your project ID client.set_session(""); // The user session to authenticate with - client.set_impersonate_user_id(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let avatars = Avatars::new(&client); diff --git a/examples/1.9.x/server-rust/examples/avatars/get-image.md b/examples/1.9.x/server-rust/examples/avatars/get-image.md index 13dc99768..b7175c7bf 100644 --- a/examples/1.9.x/server-rust/examples/avatars/get-image.md +++ b/examples/1.9.x/server-rust/examples/avatars/get-image.md @@ -8,7 +8,6 @@ async fn main() -> Result<(), Box> { client.set_endpoint("https://.cloud.appwrite.io/v1"); // Your API Endpoint client.set_project(""); // Your project ID client.set_session(""); // The user session to authenticate with - client.set_impersonate_user_id(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let avatars = Avatars::new(&client); diff --git a/examples/1.9.x/server-rust/examples/avatars/get-initials.md b/examples/1.9.x/server-rust/examples/avatars/get-initials.md index f036f3d79..47209751c 100644 --- a/examples/1.9.x/server-rust/examples/avatars/get-initials.md +++ b/examples/1.9.x/server-rust/examples/avatars/get-initials.md @@ -8,7 +8,6 @@ async fn main() -> Result<(), Box> { client.set_endpoint("https://.cloud.appwrite.io/v1"); // Your API Endpoint client.set_project(""); // Your project ID client.set_session(""); // The user session to authenticate with - client.set_impersonate_user_id(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let avatars = Avatars::new(&client); diff --git a/examples/1.9.x/server-rust/examples/avatars/get-qr.md b/examples/1.9.x/server-rust/examples/avatars/get-qr.md index e4a322260..585f63a04 100644 --- a/examples/1.9.x/server-rust/examples/avatars/get-qr.md +++ b/examples/1.9.x/server-rust/examples/avatars/get-qr.md @@ -8,7 +8,6 @@ async fn main() -> Result<(), Box> { client.set_endpoint("https://.cloud.appwrite.io/v1"); // Your API Endpoint client.set_project(""); // Your project ID client.set_session(""); // The user session to authenticate with - client.set_impersonate_user_id(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let avatars = Avatars::new(&client); diff --git a/examples/1.9.x/server-rust/examples/avatars/get-screenshot.md b/examples/1.9.x/server-rust/examples/avatars/get-screenshot.md index c1a8dc8a9..d21ece0b5 100644 --- a/examples/1.9.x/server-rust/examples/avatars/get-screenshot.md +++ b/examples/1.9.x/server-rust/examples/avatars/get-screenshot.md @@ -8,7 +8,6 @@ async fn main() -> Result<(), Box> { client.set_endpoint("https://.cloud.appwrite.io/v1"); // Your API Endpoint client.set_project(""); // Your project ID client.set_session(""); // The user session to authenticate with - client.set_impersonate_user_id(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let avatars = Avatars::new(&client); diff --git a/examples/1.9.x/server-rust/examples/functions/get-deployment-download.md b/examples/1.9.x/server-rust/examples/functions/get-deployment-download.md index efe8e732c..9ff7cb83e 100644 --- a/examples/1.9.x/server-rust/examples/functions/get-deployment-download.md +++ b/examples/1.9.x/server-rust/examples/functions/get-deployment-download.md @@ -8,7 +8,6 @@ async fn main() -> Result<(), Box> { client.set_endpoint("https://.cloud.appwrite.io/v1"); // Your API Endpoint client.set_project(""); // Your project ID client.set_key(""); // Your secret API key - client.set_impersonate_user_id(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let functions = Functions::new(&client); diff --git a/examples/1.9.x/server-rust/examples/project/update-deny-corporate-email-policy.md b/examples/1.9.x/server-rust/examples/project/update-deny-corporate-email-policy.md new file mode 100644 index 000000000..1701cd547 --- /dev/null +++ b/examples/1.9.x/server-rust/examples/project/update-deny-corporate-email-policy.md @@ -0,0 +1,22 @@ +```rust +use appwrite::Client; +use appwrite::services::Project; + +#[tokio::main] +async fn main() -> Result<(), Box> { + let client = Client::new(); + client.set_endpoint("https://.cloud.appwrite.io/v1"); // Your API Endpoint + client.set_project(""); // Your project ID + client.set_key(""); // Your secret API key + + let project = Project::new(&client); + + let result = project.update_deny_corporate_email_policy( + false + ).await?; + + let _ = result; + + Ok(()) +} +``` diff --git a/examples/1.9.x/server-rust/examples/sites/get-deployment-download.md b/examples/1.9.x/server-rust/examples/sites/get-deployment-download.md index 933d4e52b..da8b45ad4 100644 --- a/examples/1.9.x/server-rust/examples/sites/get-deployment-download.md +++ b/examples/1.9.x/server-rust/examples/sites/get-deployment-download.md @@ -8,7 +8,6 @@ async fn main() -> Result<(), Box> { client.set_endpoint("https://.cloud.appwrite.io/v1"); // Your API Endpoint client.set_project(""); // Your project ID client.set_key(""); // Your secret API key - client.set_impersonate_user_id(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let sites = Sites::new(&client); diff --git a/examples/1.9.x/server-rust/examples/storage/get-file-download.md b/examples/1.9.x/server-rust/examples/storage/get-file-download.md index b85863112..1119b18fe 100644 --- a/examples/1.9.x/server-rust/examples/storage/get-file-download.md +++ b/examples/1.9.x/server-rust/examples/storage/get-file-download.md @@ -8,7 +8,6 @@ async fn main() -> Result<(), Box> { client.set_endpoint("https://.cloud.appwrite.io/v1"); // Your API Endpoint client.set_project(""); // Your project ID client.set_session(""); // The user session to authenticate with - client.set_impersonate_user_id(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let storage = Storage::new(&client); diff --git a/examples/1.9.x/server-rust/examples/storage/get-file-preview.md b/examples/1.9.x/server-rust/examples/storage/get-file-preview.md index f1fb056e1..004702cfe 100644 --- a/examples/1.9.x/server-rust/examples/storage/get-file-preview.md +++ b/examples/1.9.x/server-rust/examples/storage/get-file-preview.md @@ -8,7 +8,6 @@ async fn main() -> Result<(), Box> { client.set_endpoint("https://.cloud.appwrite.io/v1"); // Your API Endpoint client.set_project(""); // Your project ID client.set_session(""); // The user session to authenticate with - client.set_impersonate_user_id(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let storage = Storage::new(&client); diff --git a/examples/1.9.x/server-rust/examples/storage/get-file-view.md b/examples/1.9.x/server-rust/examples/storage/get-file-view.md index aa135ce08..01079108b 100644 --- a/examples/1.9.x/server-rust/examples/storage/get-file-view.md +++ b/examples/1.9.x/server-rust/examples/storage/get-file-view.md @@ -8,7 +8,6 @@ async fn main() -> Result<(), Box> { client.set_endpoint("https://.cloud.appwrite.io/v1"); // Your API Endpoint client.set_project(""); // Your project ID client.set_session(""); // The user session to authenticate with - client.set_impersonate_user_id(""); // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let storage = Storage::new(&client); diff --git a/examples/1.9.x/server-rust/examples/usage/list-events.md b/examples/1.9.x/server-rust/examples/usage/list-events.md index 38c8d6ead..5f527d6d7 100644 --- a/examples/1.9.x/server-rust/examples/usage/list-events.md +++ b/examples/1.9.x/server-rust/examples/usage/list-events.md @@ -12,8 +12,17 @@ async fn main() -> Result<(), Box> { let usage = Usage::new(&client); let result = usage.list_events( + "", + Some(""), // optional + Some(""), // optional + Some("1m"), // optional Some(vec![]), // optional - Some(false) // optional + Some("2020-10-15T06:38:00.000+00:00"), // optional + Some("2020-10-15T06:38:00.000+00:00"), // optional + Some("time"), // optional + Some("asc"), // optional + Some(1), // optional + Some(0) // optional ).await?; let _ = result; diff --git a/examples/1.9.x/server-rust/examples/usage/list-gauges.md b/examples/1.9.x/server-rust/examples/usage/list-gauges.md index c2fa2863e..f7e058108 100644 --- a/examples/1.9.x/server-rust/examples/usage/list-gauges.md +++ b/examples/1.9.x/server-rust/examples/usage/list-gauges.md @@ -12,8 +12,17 @@ async fn main() -> Result<(), Box> { let usage = Usage::new(&client); let result = usage.list_gauges( + "", + Some(""), // optional + Some(""), // optional + Some("1m"), // optional Some(vec![]), // optional - Some(false) // optional + Some("2020-10-15T06:38:00.000+00:00"), // optional + Some("2020-10-15T06:38:00.000+00:00"), // optional + Some("time"), // optional + Some("asc"), // optional + Some(1), // optional + Some(0) // optional ).await?; let _ = result; diff --git a/examples/1.9.x/server-swift/examples/avatars/get-browser.md b/examples/1.9.x/server-swift/examples/avatars/get-browser.md index 7c201a41b..324540b47 100644 --- a/examples/1.9.x/server-swift/examples/avatars/get-browser.md +++ b/examples/1.9.x/server-swift/examples/avatars/get-browser.md @@ -6,7 +6,6 @@ let client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setSession("") // The user session to authenticate with - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let avatars = Avatars(client) diff --git a/examples/1.9.x/server-swift/examples/avatars/get-credit-card.md b/examples/1.9.x/server-swift/examples/avatars/get-credit-card.md index 1f375c3c8..45b7d4bef 100644 --- a/examples/1.9.x/server-swift/examples/avatars/get-credit-card.md +++ b/examples/1.9.x/server-swift/examples/avatars/get-credit-card.md @@ -6,7 +6,6 @@ let client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setSession("") // The user session to authenticate with - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let avatars = Avatars(client) diff --git a/examples/1.9.x/server-swift/examples/avatars/get-favicon.md b/examples/1.9.x/server-swift/examples/avatars/get-favicon.md index f2adb690d..f0945dcaf 100644 --- a/examples/1.9.x/server-swift/examples/avatars/get-favicon.md +++ b/examples/1.9.x/server-swift/examples/avatars/get-favicon.md @@ -5,7 +5,6 @@ let client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setSession("") // The user session to authenticate with - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let avatars = Avatars(client) diff --git a/examples/1.9.x/server-swift/examples/avatars/get-flag.md b/examples/1.9.x/server-swift/examples/avatars/get-flag.md index e75a277ef..d7cc8c6ab 100644 --- a/examples/1.9.x/server-swift/examples/avatars/get-flag.md +++ b/examples/1.9.x/server-swift/examples/avatars/get-flag.md @@ -6,7 +6,6 @@ let client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setSession("") // The user session to authenticate with - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let avatars = Avatars(client) diff --git a/examples/1.9.x/server-swift/examples/avatars/get-image.md b/examples/1.9.x/server-swift/examples/avatars/get-image.md index 2505da805..4f18af5a2 100644 --- a/examples/1.9.x/server-swift/examples/avatars/get-image.md +++ b/examples/1.9.x/server-swift/examples/avatars/get-image.md @@ -5,7 +5,6 @@ let client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setSession("") // The user session to authenticate with - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let avatars = Avatars(client) diff --git a/examples/1.9.x/server-swift/examples/avatars/get-initials.md b/examples/1.9.x/server-swift/examples/avatars/get-initials.md index d44b30e61..aa5e5e980 100644 --- a/examples/1.9.x/server-swift/examples/avatars/get-initials.md +++ b/examples/1.9.x/server-swift/examples/avatars/get-initials.md @@ -5,7 +5,6 @@ let client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setSession("") // The user session to authenticate with - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let avatars = Avatars(client) diff --git a/examples/1.9.x/server-swift/examples/avatars/get-qr.md b/examples/1.9.x/server-swift/examples/avatars/get-qr.md index 1cad864a0..c5bfa168e 100644 --- a/examples/1.9.x/server-swift/examples/avatars/get-qr.md +++ b/examples/1.9.x/server-swift/examples/avatars/get-qr.md @@ -5,7 +5,6 @@ let client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setSession("") // The user session to authenticate with - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let avatars = Avatars(client) diff --git a/examples/1.9.x/server-swift/examples/avatars/get-screenshot.md b/examples/1.9.x/server-swift/examples/avatars/get-screenshot.md index ed5ee8065..482905ea9 100644 --- a/examples/1.9.x/server-swift/examples/avatars/get-screenshot.md +++ b/examples/1.9.x/server-swift/examples/avatars/get-screenshot.md @@ -6,7 +6,6 @@ let client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setSession("") // The user session to authenticate with - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let avatars = Avatars(client) diff --git a/examples/1.9.x/server-swift/examples/functions/get-deployment-download.md b/examples/1.9.x/server-swift/examples/functions/get-deployment-download.md index 40b74d3ac..cbef3a215 100644 --- a/examples/1.9.x/server-swift/examples/functions/get-deployment-download.md +++ b/examples/1.9.x/server-swift/examples/functions/get-deployment-download.md @@ -6,7 +6,6 @@ let client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("") // Your secret API key - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let functions = Functions(client) diff --git a/examples/1.9.x/server-swift/examples/project/update-deny-corporate-email-policy.md b/examples/1.9.x/server-swift/examples/project/update-deny-corporate-email-policy.md new file mode 100644 index 000000000..b1b08fd00 --- /dev/null +++ b/examples/1.9.x/server-swift/examples/project/update-deny-corporate-email-policy.md @@ -0,0 +1,15 @@ +```swift +import Appwrite + +let client = Client() + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .setProject("") // Your project ID + .setKey("") // Your secret API key + +let project = Project(client) + +let project = try await project.updateDenyCorporateEmailPolicy( + enabled: false +) + +``` diff --git a/examples/1.9.x/server-swift/examples/sites/get-deployment-download.md b/examples/1.9.x/server-swift/examples/sites/get-deployment-download.md index 860daf523..4c11b91cc 100644 --- a/examples/1.9.x/server-swift/examples/sites/get-deployment-download.md +++ b/examples/1.9.x/server-swift/examples/sites/get-deployment-download.md @@ -6,7 +6,6 @@ let client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("") // Your secret API key - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let sites = Sites(client) diff --git a/examples/1.9.x/server-swift/examples/storage/get-file-download.md b/examples/1.9.x/server-swift/examples/storage/get-file-download.md index 9e6e01604..2efb755f7 100644 --- a/examples/1.9.x/server-swift/examples/storage/get-file-download.md +++ b/examples/1.9.x/server-swift/examples/storage/get-file-download.md @@ -5,7 +5,6 @@ let client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setSession("") // The user session to authenticate with - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let storage = Storage(client) diff --git a/examples/1.9.x/server-swift/examples/storage/get-file-preview.md b/examples/1.9.x/server-swift/examples/storage/get-file-preview.md index a090acd27..e30e19aa5 100644 --- a/examples/1.9.x/server-swift/examples/storage/get-file-preview.md +++ b/examples/1.9.x/server-swift/examples/storage/get-file-preview.md @@ -6,7 +6,6 @@ let client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setSession("") // The user session to authenticate with - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let storage = Storage(client) diff --git a/examples/1.9.x/server-swift/examples/storage/get-file-view.md b/examples/1.9.x/server-swift/examples/storage/get-file-view.md index e3ea3576d..df514f7e4 100644 --- a/examples/1.9.x/server-swift/examples/storage/get-file-view.md +++ b/examples/1.9.x/server-swift/examples/storage/get-file-view.md @@ -5,7 +5,6 @@ let client = Client() .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setSession("") // The user session to authenticate with - .setImpersonateUserId("") // Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data. let storage = Storage(client) diff --git a/examples/1.9.x/server-swift/examples/usage/list-events.md b/examples/1.9.x/server-swift/examples/usage/list-events.md index ad7b5209e..3e7bba127 100644 --- a/examples/1.9.x/server-swift/examples/usage/list-events.md +++ b/examples/1.9.x/server-swift/examples/usage/list-events.md @@ -9,8 +9,17 @@ let client = Client() let usage = Usage(client) let usageEventList = try await usage.listEvents( - queries: [], // optional - total: false // optional + metric: "", + resource: "", // optional + resourceId: "", // optional + interval: "1m", // optional + dimensions: [], // optional + startAt: "2020-10-15T06:38:00.000+00:00", // optional + endAt: "2020-10-15T06:38:00.000+00:00", // optional + orderBy: "time", // optional + orderDir: "asc", // optional + limit: 1, // optional + offset: 0 // optional ) ``` diff --git a/examples/1.9.x/server-swift/examples/usage/list-gauges.md b/examples/1.9.x/server-swift/examples/usage/list-gauges.md index f68c1e5d1..66bc5cfc8 100644 --- a/examples/1.9.x/server-swift/examples/usage/list-gauges.md +++ b/examples/1.9.x/server-swift/examples/usage/list-gauges.md @@ -9,8 +9,17 @@ let client = Client() let usage = Usage(client) let usageGaugeList = try await usage.listGauges( - queries: [], // optional - total: false // optional + metric: "", + resourceId: "", // optional + teamId: "", // optional + interval: "1m", // optional + dimensions: [], // optional + startAt: "2020-10-15T06:38:00.000+00:00", // optional + endAt: "2020-10-15T06:38:00.000+00:00", // optional + orderBy: "time", // optional + orderDir: "asc", // optional + limit: 1, // optional + offset: 0 // optional ) ``` diff --git a/specs/1.9.x/open-api3-1.9.x-client.json b/specs/1.9.x/open-api3-1.9.x-client.json index 2025def14..7dba7b9ac 100644 --- a/specs/1.9.x/open-api3-1.9.x-client.json +++ b/specs/1.9.x/open-api3-1.9.x-client.json @@ -4385,6 +4385,15 @@ "type": "string" } }, + "postLogoutRedirectUris": { + "type": "array", + "description": "Post-logout redirect URIs for OpenID Connect RP-Initiated Logout (array of valid URLs). After ending the user session, the logout endpoint only redirects to URIs in this list.", + "default": [], + "x-example": null, + "items": { + "type": "string" + } + }, "enabled": { "type": "boolean", "description": "Is application enabled?", @@ -4650,6 +4659,15 @@ "type": "string" } }, + "postLogoutRedirectUris": { + "type": "array", + "description": "Post-logout redirect URIs for OpenID Connect RP-Initiated Logout (array of valid URLs). After ending the user session, the logout endpoint only redirects to URIs in this list.", + "default": [], + "x-example": null, + "items": { + "type": "string" + } + }, "type": { "type": "string", "description": "OAuth2 client type. Use `public` for SPAs, mobile, and native apps that cannot keep a `client_secret` \u2014 PKCE is then required at the token endpoint. Use `confidential` for server-side clients that present a `client_secret`. Defaults to `confidential`.", @@ -11403,6 +11421,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "oauth2.write", "platforms": [ + "console", "client", "server" ], @@ -11490,6 +11509,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -11638,6 +11658,98 @@ ] } }, + "\/oauth2\/{project_id}\/device_authorization": { + "post": { + "summary": "OAuth2 Device Authorization", + "operationId": "oauth2CreateDeviceAuthorization", + "tags": [ + "oauth2" + ], + "description": "Start the OAuth2 Device Authorization Grant. Returns the device code, user code, verification URL, expiration, and polling interval.", + "responses": { + "200": { + "description": "OAuth2 Device Authorization", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/oauth2DeviceAuthorization" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createDeviceAuthorization", + "group": null, + "cookies": false, + "type": "", + "demo": "oauth2\/create-device-authorization.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "public", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "ProjectPath": [] + } + }, + "security": [ + { + "ProjectPath": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "project_id", + "description": "Project ID in which OAuth2 client exists.", + "required": true, + "schema": { + "type": "string", + "x-example": "" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "client_id": { + "type": "string", + "description": "OAuth2 client ID.", + "default": "", + "x-example": "" + }, + "scope": { + "type": "string", + "description": "Space-separated OAuth2 scopes. Can include project scopes, and built-in scopes: `openid`, `email`, `profile`.", + "default": "", + "x-example": "" + }, + "authorization_details": { + "type": "string", + "description": "Rich authorization request. JSON array of objects, each with a `type` and project-defined fields", + "default": "", + "x-example": "" + } + } + } + } + } + } + } + }, "\/oauth2\/{project_id}\/grants": { "post": { "summary": "Create OAuth2 Grant", @@ -11670,18 +11782,19 @@ "rate-key": "ip:{ip},userId:{userId}", "scope": "oauth2.write", "platforms": [ + "console", "client", "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "ProjectPath": [] } }, "security": [ { - "Project": [], + "ProjectPath": [], "Session": [], "JWT": [] } @@ -11751,18 +11864,19 @@ "rate-key": "url:{url},ip:{ip}", "scope": "oauth2.read", "platforms": [ + "console", "client", "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "ProjectPath": [] } }, "security": [ { - "Project": [], + "ProjectPath": [], "Session": [], "JWT": [] } @@ -11791,6 +11905,130 @@ ] } }, + "\/oauth2\/{project_id}\/logout": { + "get": { + "summary": "OAuth2 Logout", + "operationId": "oauth2Logout", + "tags": [ + "oauth2" + ], + "description": "OpenID Connect RP-Initiated Logout. Ends the user session and revokes the tokens issued to the app identified by the `id_token_hint`, then redirects the user to `post_logout_redirect_uri` when it matches a URI registered on the app.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "logout", + "group": null, + "cookies": false, + "type": "", + "demo": "oauth2\/logout.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "public", + "platforms": [ + "console", + "client" + ], + "packaging": false, + "public": true, + "produces": [ + "application\/json" + ], + "auth": { + "ProjectPath": [] + } + }, + "security": [ + { + "ProjectPath": [], + "Session": [] + } + ], + "parameters": [ + { + "name": "project_id", + "description": "Project ID in which OAuth2 client exists.", + "required": true, + "schema": { + "type": "string", + "x-example": "" + }, + "in": "path" + }, + { + "name": "id_token_hint", + "description": "ID Token previously issued to the app, used as proof of the logout request. Required to end the session; signature and issuer are validated while expiry is ignored.", + "required": false, + "schema": { + "type": "string", + "x-example": "", + "default": "" + }, + "in": "query" + }, + { + "name": "logout_hint", + "description": "Hint about the user that is logging out. Accepted for OIDC compatibility.", + "required": false, + "schema": { + "type": "string", + "x-example": "", + "default": "" + }, + "in": "query" + }, + { + "name": "client_id", + "description": "OAuth2 client ID. When both `client_id` and `id_token_hint` are provided, they must identify the same app.", + "required": false, + "schema": { + "type": "string", + "x-example": "", + "default": "" + }, + "in": "query" + }, + { + "name": "post_logout_redirect_uri", + "description": "URI to redirect the user to after logout. Must exactly match a URI registered in the app's `postLogoutRedirectUris`.", + "required": false, + "schema": { + "type": "string", + "format": "url", + "x-example": "https:\/\/example.com", + "default": "" + }, + "in": "query" + }, + { + "name": "state", + "description": "Opaque value passed back unchanged in the `state` query param of the post-logout redirect.", + "required": false, + "schema": { + "type": "string", + "x-example": "", + "default": "" + }, + "in": "query" + }, + { + "name": "ui_locales", + "description": "Preferred languages for any logout UI, as space-separated BCP47 tags. Accepted for OIDC compatibility.", + "required": false, + "schema": { + "type": "string", + "x-example": "", + "default": "" + }, + "in": "query" + } + ] + } + }, "\/oauth2\/{project_id}\/reject": { "post": { "summary": "Reject OAuth2", @@ -11823,6 +12061,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "oauth2.write", "platforms": [ + "console", "client", "server" ], @@ -11872,6 +12111,283 @@ } } }, + "\/oauth2\/{project_id}\/revoke": { + "post": { + "summary": "OAuth2 Revoke", + "operationId": "oauth2Revoke", + "tags": [ + "oauth2" + ], + "description": "Revoke an OAuth2 access token or refresh token.", + "responses": { + "200": { + "description": "File", + "content": { + "application\/json": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "revoke", + "group": null, + "cookies": false, + "type": "", + "demo": "oauth2\/revoke.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "public", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "ProjectPath": [] + } + }, + "security": [ + { + "ProjectPath": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "project_id", + "description": "Project ID in which OAuth2 client exists.", + "required": true, + "schema": { + "type": "string", + "x-example": "" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "token": { + "type": "string", + "description": "The access or refresh token to revoke.", + "x-example": "" + }, + "token_type_hint": { + "type": "string", + "description": "Type of token to revoke (access_token or refresh_token).", + "default": "", + "x-example": "access_token" + }, + "client_id": { + "type": "string", + "description": "OAuth2 client ID.", + "default": "", + "x-example": "" + }, + "client_secret": { + "type": "string", + "description": "OAuth2 client secret. Required for confidential apps; omitted for public apps.", + "default": "", + "x-example": "" + } + }, + "required": [ + "token" + ] + } + } + } + } + } + }, + "\/oauth2\/{project_id}\/token": { + "post": { + "summary": "OAuth2 Token", + "operationId": "oauth2CreateToken", + "tags": [ + "oauth2" + ], + "description": "Exchange an OAuth2 authorization code, refresh token, or device code for access and refresh tokens.", + "responses": { + "200": { + "description": "OAuth2 Token", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/oauth2Token" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createToken", + "group": null, + "cookies": false, + "type": "", + "demo": "oauth2\/create-token.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "public", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "ProjectPath": [] + } + }, + "security": [ + { + "ProjectPath": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "project_id", + "description": "Project ID in which OAuth2 client exists.", + "required": true, + "schema": { + "type": "string", + "x-example": "" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "grant_type": { + "type": "string", + "description": "OAuth2 grant type. Can be one of: `authorization_code`, `refresh_token`, `urn:ietf:params:oauth:grant-type:device_code`.", + "x-example": "" + }, + "code": { + "type": "string", + "description": "Authorization code to be exchanged for access and refresh tokens. Required for `authorization_code` grant type.", + "default": "", + "x-example": "" + }, + "refresh_token": { + "type": "string", + "description": "Refresh token to be exchanged for a new access and refresh tokens. Required for `refresh_token` grant type.", + "default": "", + "x-example": "" + }, + "device_code": { + "type": "string", + "description": "Device code obtained from the device authorization endpoint. Required for `urn:ietf:params:oauth:grant-type:device_code` grant type.", + "default": "", + "x-example": "" + }, + "client_id": { + "type": "string", + "description": "OAuth2 client ID.", + "default": "", + "x-example": "" + }, + "client_secret": { + "type": "string", + "description": "OAuth2 client secret. Required for confidential apps.", + "default": "", + "x-example": "" + }, + "code_verifier": { + "type": "string", + "description": "PKCE code verifier. Required for public apps.", + "default": "", + "x-example": "" + }, + "redirect_uri": { + "type": "string", + "description": "Redirect URI. Required for `authorization_code` grant type.", + "default": "", + "x-example": "https:\/\/example.com", + "format": "url" + } + }, + "required": [ + "grant_type" + ] + } + } + } + } + } + }, + "\/ping": { + "get": { + "summary": "Test the connection between the Appwrite and the SDK.", + "operationId": "pingGet", + "tags": [ + "ping" + ], + "description": "Send a ping to project as part of onboarding.", + "responses": { + "200": { + "description": "Any", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/any" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "get", + "group": null, + "cookies": false, + "type": "", + "demo": "ping\/get.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "global", + "platforms": [ + "console", + "server", + "client" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "JWT": [], + "Session": [] + } + ] + } + }, "\/presences": { "get": { "summary": "List presences", @@ -16950,6 +17466,10 @@ { "name": "messaging", "description": "The Messaging service allows you to send messages to any provider type (SMTP, push notification, SMS, etc.)." + }, + { + "name": "oauth2", + "description": "The OAuth2 service allows you to authorize apps and issue standards-based OAuth2 and OpenID Connect tokens." } ], "components": { @@ -19871,6 +20391,16 @@ "https:\/\/example.com\/callback" ] }, + "postLogoutRedirectUris": { + "type": "array", + "description": "List of authorized post-logout redirect URIs for OpenID Connect RP-Initiated Logout. The logout endpoint only redirects users to URIs in this list after ending their session.", + "items": { + "type": "string" + }, + "x-example": [ + "https:\/\/example.com\/logged-out" + ] + }, "enabled": { "type": "boolean", "description": "Whether the app is enabled or not.", @@ -19922,6 +20452,7 @@ "supportUrl", "dataDeletionUrl", "redirectUris", + "postLogoutRedirectUris", "enabled", "type", "deviceFlow", @@ -19955,6 +20486,9 @@ "redirectUris": [ "https:\/\/example.com\/callback" ], + "postLogoutRedirectUris": [ + "https:\/\/example.com\/logged-out" + ], "enabled": true, "type": "confidential", "deviceFlow": false, @@ -20266,6 +20800,120 @@ "expire": "2020-10-15T06:38:00.000+00:00" } }, + "oauth2DeviceAuthorization": { + "description": "OAuth2 Device Authorization", + "type": "object", + "properties": { + "device_code": { + "type": "string", + "description": "Device verification code used by the client to poll the token endpoint.", + "x-example": "5f3c8d2a1b9e4f7a6c8b2d1e9f4a7b3c5d8e1f2a9b4c7d6e3f5a8b1c4d7e2f9a" + }, + "user_code": { + "type": "string", + "description": "Short code the end user enters on the verification page.", + "x-example": "ABCD-EFGH" + }, + "verification_uri": { + "type": "string", + "description": "URL where the end user enters the user code.", + "x-example": "https:\/\/cloud.appwrite.io\/oauth2\/device" + }, + "verification_uri_complete": { + "type": "string", + "description": "Verification URL with the user code prefilled as a query parameter.", + "x-example": "https:\/\/cloud.appwrite.io\/oauth2\/device?user_code=ABCD-EFGH" + }, + "expires_in": { + "type": "integer", + "description": "Lifetime of the device code and user code in seconds.", + "x-example": 900, + "format": "int32" + }, + "interval": { + "type": "integer", + "description": "Minimum polling interval for the token endpoint in seconds.", + "x-example": 5, + "format": "int32" + } + }, + "required": [ + "device_code", + "user_code", + "verification_uri", + "verification_uri_complete", + "expires_in", + "interval" + ], + "example": { + "device_code": "5f3c8d2a1b9e4f7a6c8b2d1e9f4a7b3c5d8e1f2a9b4c7d6e3f5a8b1c4d7e2f9a", + "user_code": "ABCD-EFGH", + "verification_uri": "https:\/\/cloud.appwrite.io\/oauth2\/device", + "verification_uri_complete": "https:\/\/cloud.appwrite.io\/oauth2\/device?user_code=ABCD-EFGH", + "expires_in": 900, + "interval": 5 + } + }, + "oauth2Token": { + "description": "OAuth2 Token", + "type": "object", + "properties": { + "access_token": { + "type": "string", + "description": "OAuth2 access token.", + "x-example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..." + }, + "token_type": { + "type": "string", + "description": "OAuth2 token type.", + "x-example": "Bearer" + }, + "expires_in": { + "type": "integer", + "description": "Access token lifetime in seconds.", + "x-example": 3600, + "format": "int32" + }, + "refresh_token": { + "type": "string", + "description": "OAuth2 refresh token.", + "x-example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..." + }, + "scope": { + "type": "string", + "description": "Space-separated scopes granted to the access token.", + "x-example": "openid email profile" + }, + "authorization_details": { + "type": "string", + "description": "Granted RFC 9396 authorization details as a JSON string.", + "x-example": "[{\"type\":\"calendar\",\"identifier\":\"primary\",\"actions\":[\"read_events\"]}]", + "nullable": true + }, + "id_token": { + "type": "string", + "description": "OpenID Connect ID token. Returned when the `openid` scope is granted.", + "x-example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...", + "nullable": true + } + }, + "required": [ + "access_token", + "token_type", + "expires_in", + "refresh_token", + "scope" + ], + "example": { + "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...", + "token_type": "Bearer", + "expires_in": 3600, + "refresh_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...", + "scope": "openid email profile", + "authorization_details": "[{\"type\":\"calendar\",\"identifier\":\"primary\",\"actions\":[\"read_events\"]}]", + "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..." + } + }, "appsList": { "description": "Apps list", "type": "object", @@ -20383,20 +21031,29 @@ "ImpersonateUserId": { "type": "apiKey", "name": "X-Appwrite-Impersonate-User-Id", - "description": "Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data.", - "in": "header" + "description": "Impersonate a user by ID", + "in": "header", + "x-appwrite": { + "optional": true + } }, "ImpersonateUserEmail": { "type": "apiKey", "name": "X-Appwrite-Impersonate-User-Email", - "description": "Impersonate a user by email on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data.", - "in": "header" + "description": "Impersonate a user by email", + "in": "header", + "x-appwrite": { + "optional": true + } }, "ImpersonateUserPhone": { "type": "apiKey", "name": "X-Appwrite-Impersonate-User-Phone", - "description": "Impersonate a user by phone on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data.", - "in": "header" + "description": "Impersonate a user by phone", + "in": "header", + "x-appwrite": { + "optional": true + } } } }, diff --git a/specs/1.9.x/open-api3-1.9.x-console.json b/specs/1.9.x/open-api3-1.9.x-console.json index 65a789efb..4ab21a1dc 100644 --- a/specs/1.9.x/open-api3-1.9.x-console.json +++ b/specs/1.9.x/open-api3-1.9.x-console.json @@ -5882,6 +5882,15 @@ "type": "string" } }, + "postLogoutRedirectUris": { + "type": "array", + "description": "Post-logout redirect URIs for OpenID Connect RP-Initiated Logout (array of valid URLs). After ending the user session, the logout endpoint only redirects to URIs in this list.", + "default": [], + "x-example": null, + "items": { + "type": "string" + } + }, "enabled": { "type": "boolean", "description": "Is application enabled?", @@ -6149,6 +6158,15 @@ "type": "string" } }, + "postLogoutRedirectUris": { + "type": "array", + "description": "Post-logout redirect URIs for OpenID Connect RP-Initiated Logout (array of valid URLs). After ending the user session, the logout endpoint only redirects to URIs in this list.", + "default": [], + "x-example": null, + "items": { + "type": "string" + } + }, "type": { "type": "string", "description": "OAuth2 client type. Use `public` for SPAs, mobile, and native apps that cannot keep a `client_secret` \u2014 PKCE is then required at the token endpoint. Use `confidential` for server-side clients that present a `client_secret`. Defaults to `confidential`.", @@ -10138,7 +10156,7 @@ }, "storageClass": { "type": "string", - "description": "Storage class: ssd, nvme, or hdd.", + "description": "Storage class. Allowed values: ssd. DigitalOcean exposes a single block-storage class, so only 'ssd' is offered today.", "default": "ssd", "x-example": "ssd" }, @@ -10246,8 +10264,8 @@ }, "metricsEnabled": { "type": "boolean", - "description": "Enable metrics collection.", - "default": false, + "description": "Enable metrics collection. Enabled by default; pass false to opt out.", + "default": true, "x-example": false }, "poolerEnabled": { @@ -10448,7 +10466,7 @@ }, "status": { "type": "string", - "description": "Database status. Allowed values: ready, paused, inactive. Set to \"paused\" to pause, \"ready\" to resume, or \"inactive\" to spin down a shared-pool database.", + "description": "Database status. Allowed values: ready, paused, inactive. Set to \"paused\" to pause, \"ready\" to resume (also recovers a failed database whose infrastructure is healthy), or \"inactive\" to spin down a shared-pool database.", "x-example": "ready", "x-nullable": true }, @@ -10481,7 +10499,7 @@ }, "storageClass": { "type": "string", - "description": "Storage class. Allowed values: ssd, nvme, hdd.", + "description": "Storage class. Allowed values: ssd.", "x-example": "ssd", "x-nullable": true }, @@ -14309,6 +14327,7 @@ "blocks", "threats", "feedbacks", + "disputes", "sh_installations", "apps", "appsecrets", @@ -14396,6 +14415,7 @@ "blocks", "threats", "feedbacks", + "disputes", "sh_installations", "apps", "app_secrets", @@ -27076,7 +27096,7 @@ "rate-limit": 50, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", - "scope": "domains.read", + "scope": "public", "platforms": [ "console" ], @@ -28490,7 +28510,7 @@ "name": { "type": "string", "description": "Record name (subdomain).", - "x-example": "" + "x-example": null }, "value": { "type": "string", @@ -28597,7 +28617,7 @@ "name": { "type": "string", "description": "Record name (subdomain).", - "x-example": "" + "x-example": null }, "value": { "type": "string", @@ -28694,7 +28714,7 @@ "name": { "type": "string", "description": "Record name (subdomain).", - "x-example": "" + "x-example": null }, "value": { "type": "string", @@ -28801,7 +28821,7 @@ "name": { "type": "string", "description": "Record name (subdomain).", - "x-example": "" + "x-example": null }, "value": { "type": "string", @@ -28898,7 +28918,7 @@ "name": { "type": "string", "description": "Record name.", - "x-example": "" + "x-example": null }, "value": { "type": "string", @@ -29005,7 +29025,7 @@ "name": { "type": "string", "description": "Record name.", - "x-example": "" + "x-example": null }, "value": { "type": "string", @@ -29306,7 +29326,7 @@ "name": { "type": "string", "description": "Record name (subdomain).", - "x-example": "" + "x-example": null }, "value": { "type": "string", @@ -29413,7 +29433,7 @@ "name": { "type": "string", "description": "Record name (subdomain).", - "x-example": "" + "x-example": null }, "value": { "type": "string", @@ -29510,7 +29530,7 @@ "name": { "type": "string", "description": "Record name (subdomain).", - "x-example": "" + "x-example": null }, "value": { "type": "string", @@ -29617,7 +29637,7 @@ "name": { "type": "string", "description": "Record name (subdomain).", - "x-example": "" + "x-example": null }, "value": { "type": "string", @@ -29714,7 +29734,7 @@ "name": { "type": "string", "description": "Record name (subdomain).", - "x-example": "" + "x-example": null }, "value": { "type": "string", @@ -29828,7 +29848,7 @@ "name": { "type": "string", "description": "Record name (subdomain).", - "x-example": "" + "x-example": null }, "value": { "type": "string", @@ -29932,7 +29952,7 @@ "name": { "type": "string", "description": "Record name (subdomain).", - "x-example": "" + "x-example": null }, "value": { "type": "string", @@ -30039,7 +30059,7 @@ "name": { "type": "string", "description": "Record name (subdomain).", - "x-example": "" + "x-example": null }, "value": { "type": "string", @@ -30136,7 +30156,7 @@ "name": { "type": "string", "description": "Record name (service name).", - "x-example": "" + "x-example": null }, "value": { "type": "string", @@ -30264,7 +30284,7 @@ "name": { "type": "string", "description": "Record name (service name).", - "x-example": "" + "x-example": null }, "value": { "type": "string", @@ -30382,7 +30402,7 @@ "name": { "type": "string", "description": "Record name (subdomain) for the TXT record.", - "x-example": "" + "x-example": null }, "value": { "type": "string", @@ -30489,7 +30509,7 @@ "name": { "type": "string", "description": "Record name (subdomain) for the TXT record.", - "x-example": "" + "x-example": null }, "value": { "type": "string", @@ -45154,6 +45174,958 @@ ] } }, + "\/oauth2\/{project_id}\/approve": { + "post": { + "summary": "Approve OAuth2", + "operationId": "oauth2Approve", + "tags": [ + "oauth2" + ], + "description": "Approve an OAuth2 grant after the user gives consent. Returns the `redirectUrl` the end user should be sent to. The consent screen may optionally pass enriched `authorization_details` to record the concrete resources the user selected. You can pass Accept header of `application\/json` to receive a JSON response instead of a redirect.", + "responses": { + "200": { + "description": "OAuth2 Approve", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/oauth2Approve" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "approve", + "group": null, + "cookies": false, + "type": "", + "demo": "oauth2\/approve.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "oauth2.write", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "ProjectPath": [] + } + }, + "security": [ + { + "ProjectPath": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "project_id", + "description": "Project ID in which OAuth2 client exists.", + "required": true, + "schema": { + "type": "string", + "x-example": "" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "grant_id": { + "type": "string", + "description": "Grant ID made during authorization, provided to consent screen in URL search params.", + "x-example": "" + }, + "authorization_details": { + "type": "string", + "description": "Enriched `authorization_details` the user consented to, replacing what the client requested. Each entry must use a `type` the project accepts. Optional; omit to keep the originally requested details.", + "default": "", + "x-example": "" + } + }, + "required": [ + "grant_id" + ] + } + } + } + } + } + }, + "\/oauth2\/{project_id}\/authorize": { + "get": { + "summary": "OAuth2 Authorize", + "operationId": "oauth2Authorize", + "tags": [ + "oauth2" + ], + "description": "Begin the OAuth2 authorization flow. When called without a session, the user is redirected to the consent screen without grant ID. When called with a session, the redirect URL includes param for grant ID. You can pass Accept header of `application\/json` to receive a JSON response instead of a redirect.", + "responses": { + "200": { + "description": "OAuth2 Authorize", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/oauth2Authorize" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "authorize", + "group": null, + "cookies": false, + "type": "", + "demo": "oauth2\/authorize.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "public", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "ProjectPath": [] + } + }, + "security": [ + { + "ProjectPath": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "project_id", + "description": "Project ID in which OAuth2 client exists.", + "required": true, + "schema": { + "type": "string", + "x-example": "" + }, + "in": "path" + }, + { + "name": "client_id", + "description": "OAuth2 client ID.", + "required": true, + "schema": { + "type": "string", + "x-example": "" + }, + "in": "query" + }, + { + "name": "redirect_uri", + "description": "Redirect URI where visitor will be redirected after authorization, whether successful or not.", + "required": true, + "schema": { + "type": "string", + "format": "url", + "x-example": "https:\/\/example.com" + }, + "in": "query" + }, + { + "name": "response_type", + "description": "OAuth2 \/ OIDC response type. One of `code` (Authorization Code Flow), `id_token` (Implicit Flow, OIDC login only), or `code id_token` (Hybrid Flow).", + "required": true, + "schema": { + "type": "string", + "x-example": "code" + }, + "in": "query" + }, + { + "name": "scope", + "description": "Space-separated OAuth2 scopes. Can include project scopes, and built-in scopes: `openid`, `email`, `profile`.", + "required": true, + "schema": { + "type": "string", + "x-example": "" + }, + "in": "query" + }, + { + "name": "state", + "description": "OAuth2 state. You receive this back in the redirect URI.", + "required": false, + "schema": { + "type": "string", + "x-example": "", + "default": "" + }, + "in": "query" + }, + { + "name": "nonce", + "description": "OIDC nonce parameter to prevent replay attacks. Required when response_type includes `id_token`.", + "required": false, + "schema": { + "type": "string", + "x-example": "", + "default": "" + }, + "in": "query" + }, + { + "name": "code_challenge", + "description": "PKCE code challenge. Required when OAuth2 app is public.", + "required": false, + "schema": { + "type": "string", + "x-example": "", + "default": "" + }, + "in": "query" + }, + { + "name": "code_challenge_method", + "description": "PKCE code challenge method. Required when OAuth2 app is public.", + "required": false, + "schema": { + "type": "string", + "x-example": "s256", + "default": "" + }, + "in": "query" + }, + { + "name": "prompt", + "description": "OIDC prompt parameter for customization of consent screen. Space-separated list of: none, login, consent, select_account.", + "required": false, + "schema": { + "type": "string", + "x-example": "", + "default": "" + }, + "in": "query" + }, + { + "name": "max_age", + "description": "OIDC max_age paraleter for customization of consent screen. Maximum allowable elapsed time in seconds since the user last authenticated. If exceeded, re-authentication is required.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "x-example": 0 + }, + "in": "query" + }, + { + "name": "authorization_details", + "description": "Rich authorization request. JSON array of objects, each with a `type` and project-defined fields", + "required": false, + "schema": { + "type": "string", + "x-example": "", + "default": "" + }, + "in": "query" + } + ] + } + }, + "\/oauth2\/{project_id}\/device_authorization": { + "post": { + "summary": "OAuth2 Device Authorization", + "operationId": "oauth2CreateDeviceAuthorization", + "tags": [ + "oauth2" + ], + "description": "Start the OAuth2 Device Authorization Grant. Returns the device code, user code, verification URL, expiration, and polling interval.", + "responses": { + "200": { + "description": "OAuth2 Device Authorization", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/oauth2DeviceAuthorization" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createDeviceAuthorization", + "group": null, + "cookies": false, + "type": "", + "demo": "oauth2\/create-device-authorization.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "public", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "ProjectPath": [] + } + }, + "security": [ + { + "ProjectPath": [], + "Session": [], + "JWT": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "project_id", + "description": "Project ID in which OAuth2 client exists.", + "required": true, + "schema": { + "type": "string", + "x-example": "" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "client_id": { + "type": "string", + "description": "OAuth2 client ID.", + "default": "", + "x-example": "" + }, + "scope": { + "type": "string", + "description": "Space-separated OAuth2 scopes. Can include project scopes, and built-in scopes: `openid`, `email`, `profile`.", + "default": "", + "x-example": "" + }, + "authorization_details": { + "type": "string", + "description": "Rich authorization request. JSON array of objects, each with a `type` and project-defined fields", + "default": "", + "x-example": "" + } + } + } + } + } + } + } + }, + "\/oauth2\/{project_id}\/grants": { + "post": { + "summary": "Create OAuth2 Grant", + "operationId": "oauth2CreateGrant", + "tags": [ + "oauth2" + ], + "description": "Exchange a device flow user code for an OAuth2 grant. The authenticated user is bound to the pending grant. Pass the returned grant ID to the get grant endpoint to render the consent screen, then to the approve or reject endpoint to complete the flow.", + "responses": { + "201": { + "description": "OAuth2 Grant", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/oauth2Grant" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createGrant", + "group": null, + "cookies": false, + "type": "", + "demo": "oauth2\/create-grant.md", + "rate-limit": 10, + "rate-time": 60, + "rate-key": "ip:{ip},userId:{userId}", + "scope": "oauth2.write", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "ProjectPath": [] + } + }, + "security": [ + { + "ProjectPath": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "project_id", + "description": "Project ID in which OAuth2 client exists.", + "required": true, + "schema": { + "type": "string", + "x-example": "" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "user_code": { + "type": "string", + "description": "User code displayed on the device.", + "x-example": "" + } + }, + "required": [ + "user_code" + ] + } + } + } + } + } + }, + "\/oauth2\/{project_id}\/grants\/{grant_id}": { + "get": { + "summary": "Get OAuth2 Grant", + "operationId": "oauth2GetGrant", + "tags": [ + "oauth2" + ], + "description": "Get an OAuth2 grant by its ID. Used by the consent screen to display the details of the authorization the user is being asked to approve. A grant can only be read by the user it belongs to, or by server SDK.", + "responses": { + "200": { + "description": "OAuth2 Grant", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/oauth2Grant" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "getGrant", + "group": null, + "cookies": false, + "type": "", + "demo": "oauth2\/get-grant.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "oauth2.read", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "ProjectPath": [] + } + }, + "security": [ + { + "ProjectPath": [], + "Session": [], + "JWT": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "project_id", + "description": "Project ID in which OAuth2 client that created grant during authorization exists.", + "required": true, + "schema": { + "type": "string", + "x-example": "" + }, + "in": "path" + }, + { + "name": "grant_id", + "description": "Grant ID made during authorization, provided to consent screen in URL search params.", + "required": true, + "schema": { + "type": "string", + "x-example": "" + }, + "in": "path" + } + ] + } + }, + "\/oauth2\/{project_id}\/logout": { + "get": { + "summary": "OAuth2 Logout", + "operationId": "oauth2Logout", + "tags": [ + "oauth2" + ], + "description": "OpenID Connect RP-Initiated Logout. Ends the user session and revokes the tokens issued to the app identified by the `id_token_hint`, then redirects the user to `post_logout_redirect_uri` when it matches a URI registered on the app.", + "responses": { + "204": { + "description": "No content" + } + }, + "deprecated": false, + "x-appwrite": { + "method": "logout", + "group": null, + "cookies": false, + "type": "", + "demo": "oauth2\/logout.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "public", + "platforms": [ + "console", + "client" + ], + "packaging": false, + "public": true, + "produces": [ + "application\/json" + ], + "auth": { + "ProjectPath": [] + } + }, + "security": [ + { + "ProjectPath": [], + "Session": [] + } + ], + "parameters": [ + { + "name": "project_id", + "description": "Project ID in which OAuth2 client exists.", + "required": true, + "schema": { + "type": "string", + "x-example": "" + }, + "in": "path" + }, + { + "name": "id_token_hint", + "description": "ID Token previously issued to the app, used as proof of the logout request. Required to end the session; signature and issuer are validated while expiry is ignored.", + "required": false, + "schema": { + "type": "string", + "x-example": "", + "default": "" + }, + "in": "query" + }, + { + "name": "logout_hint", + "description": "Hint about the user that is logging out. Accepted for OIDC compatibility.", + "required": false, + "schema": { + "type": "string", + "x-example": "", + "default": "" + }, + "in": "query" + }, + { + "name": "client_id", + "description": "OAuth2 client ID. When both `client_id` and `id_token_hint` are provided, they must identify the same app.", + "required": false, + "schema": { + "type": "string", + "x-example": "", + "default": "" + }, + "in": "query" + }, + { + "name": "post_logout_redirect_uri", + "description": "URI to redirect the user to after logout. Must exactly match a URI registered in the app's `postLogoutRedirectUris`.", + "required": false, + "schema": { + "type": "string", + "format": "url", + "x-example": "https:\/\/example.com", + "default": "" + }, + "in": "query" + }, + { + "name": "state", + "description": "Opaque value passed back unchanged in the `state` query param of the post-logout redirect.", + "required": false, + "schema": { + "type": "string", + "x-example": "", + "default": "" + }, + "in": "query" + }, + { + "name": "ui_locales", + "description": "Preferred languages for any logout UI, as space-separated BCP47 tags. Accepted for OIDC compatibility.", + "required": false, + "schema": { + "type": "string", + "x-example": "", + "default": "" + }, + "in": "query" + } + ] + } + }, + "\/oauth2\/{project_id}\/reject": { + "post": { + "summary": "Reject OAuth2", + "operationId": "oauth2Reject", + "tags": [ + "oauth2" + ], + "description": "Reject an OAuth2 grant when the user denies consent. Returns the `redirectUrl` the end user should be sent to with an `access_denied` error. You can pass Accept header of `application\/json` to receive a JSON response instead of a redirect.", + "responses": { + "200": { + "description": "OAuth2 Reject", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/oauth2Reject" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "reject", + "group": null, + "cookies": false, + "type": "", + "demo": "oauth2\/reject.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "oauth2.write", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "ProjectPath": [] + } + }, + "security": [ + { + "ProjectPath": [], + "Session": [], + "JWT": [] + } + ], + "parameters": [ + { + "name": "project_id", + "description": "Project ID in which OAuth2 client exists.", + "required": true, + "schema": { + "type": "string", + "x-example": "" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "grant_id": { + "type": "string", + "description": "Grant ID made during authorization, provided to consent screen in URL search params.", + "x-example": "" + } + }, + "required": [ + "grant_id" + ] + } + } + } + } + } + }, + "\/oauth2\/{project_id}\/revoke": { + "post": { + "summary": "OAuth2 Revoke", + "operationId": "oauth2Revoke", + "tags": [ + "oauth2" + ], + "description": "Revoke an OAuth2 access token or refresh token.", + "responses": { + "200": { + "description": "File", + "content": { + "application\/json": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "revoke", + "group": null, + "cookies": false, + "type": "", + "demo": "oauth2\/revoke.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "public", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "ProjectPath": [] + } + }, + "security": [ + { + "ProjectPath": [], + "Session": [], + "JWT": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "project_id", + "description": "Project ID in which OAuth2 client exists.", + "required": true, + "schema": { + "type": "string", + "x-example": "" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "token": { + "type": "string", + "description": "The access or refresh token to revoke.", + "x-example": "" + }, + "token_type_hint": { + "type": "string", + "description": "Type of token to revoke (access_token or refresh_token).", + "default": "", + "x-example": "access_token" + }, + "client_id": { + "type": "string", + "description": "OAuth2 client ID.", + "default": "", + "x-example": "" + }, + "client_secret": { + "type": "string", + "description": "OAuth2 client secret. Required for confidential apps; omitted for public apps.", + "default": "", + "x-example": "" + } + }, + "required": [ + "token" + ] + } + } + } + } + } + }, + "\/oauth2\/{project_id}\/token": { + "post": { + "summary": "OAuth2 Token", + "operationId": "oauth2CreateToken", + "tags": [ + "oauth2" + ], + "description": "Exchange an OAuth2 authorization code, refresh token, or device code for access and refresh tokens.", + "responses": { + "200": { + "description": "OAuth2 Token", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/oauth2Token" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createToken", + "group": null, + "cookies": false, + "type": "", + "demo": "oauth2\/create-token.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "public", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "ProjectPath": [] + } + }, + "security": [ + { + "ProjectPath": [], + "Session": [], + "JWT": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "project_id", + "description": "Project ID in which OAuth2 client exists.", + "required": true, + "schema": { + "type": "string", + "x-example": "" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "grant_type": { + "type": "string", + "description": "OAuth2 grant type. Can be one of: `authorization_code`, `refresh_token`, `urn:ietf:params:oauth:grant-type:device_code`.", + "x-example": "" + }, + "code": { + "type": "string", + "description": "Authorization code to be exchanged for access and refresh tokens. Required for `authorization_code` grant type.", + "default": "", + "x-example": "" + }, + "refresh_token": { + "type": "string", + "description": "Refresh token to be exchanged for a new access and refresh tokens. Required for `refresh_token` grant type.", + "default": "", + "x-example": "" + }, + "device_code": { + "type": "string", + "description": "Device code obtained from the device authorization endpoint. Required for `urn:ietf:params:oauth:grant-type:device_code` grant type.", + "default": "", + "x-example": "" + }, + "client_id": { + "type": "string", + "description": "OAuth2 client ID.", + "default": "", + "x-example": "" + }, + "client_secret": { + "type": "string", + "description": "OAuth2 client secret. Required for confidential apps.", + "default": "", + "x-example": "" + }, + "code_verifier": { + "type": "string", + "description": "PKCE code verifier. Required for public apps.", + "default": "", + "x-example": "" + }, + "redirect_uri": { + "type": "string", + "description": "Redirect URI. Required for `authorization_code` grant type.", + "default": "", + "x-example": "https:\/\/example.com", + "format": "url" + } + }, + "required": [ + "grant_type" + ] + } + } + } + } + } + }, "\/organization\/keys": { "get": { "summary": "List organization keys", @@ -49293,6 +50265,58 @@ } } }, + "\/ping": { + "get": { + "summary": "Test the connection between the Appwrite and the SDK.", + "operationId": "pingGet", + "tags": [ + "ping" + ], + "description": "Send a ping to project as part of onboarding.", + "responses": { + "200": { + "description": "Any", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/any" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "get", + "group": null, + "cookies": false, + "type": "", + "demo": "ping\/get.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "global", + "platforms": [ + "console", + "server", + "client" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [], + "JWT": [], + "Session": [] + } + ] + } + }, "\/presences": { "get": { "summary": "List presences", @@ -56645,6 +57669,77 @@ } } }, + "\/project\/policies\/deny-corporate-email": { + "patch": { + "summary": "Update deny non-corporate email policy", + "operationId": "projectUpdateDenyCorporateEmailPolicy", + "tags": [ + "project" + ], + "description": "Configures if only corporate email addresses (non-free and non-disposable domains) are allowed during new user sign-ups and email updates.", + "responses": { + "200": { + "description": "Project", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/project" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updateDenyCorporateEmailPolicy", + "group": "policies", + "cookies": false, + "type": "", + "demo": "project\/update-deny-corporate-email-policy.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": [ + "policies.write", + "project.policies.write" + ], + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Set whether or not to restrict sign-ups and email updates to corporate email addresses only.", + "x-example": false + } + }, + "required": [ + "enabled" + ] + } + } + } + } + } + }, "\/project\/policies\/deny-disposable-email": { "patch": { "summary": "Update deny disposable email policy", @@ -57554,7 +58649,7 @@ "description": "Get a policy by its unique ID. This endpoint returns the current configuration for the requested project policy.", "responses": { "200": { - "description": "Policy Password Dictionary, or Policy Password History, or Policy Password Strength, or Policy Password Personal Data, or Policy Session Alert, or Policy Session Duration, or Policy Session Invalidation, or Policy Session Limit, or Policy User Limit, or Policy Membership Privacy, or Policy Deny Aliased Email, or Policy Deny Disposable Email, or Policy Deny Free Email", + "description": "Policy Password Dictionary, or Policy Password History, or Policy Password Strength, or Policy Password Personal Data, or Policy Session Alert, or Policy Session Duration, or Policy Session Invalidation, or Policy Session Limit, or Policy User Limit, or Policy Membership Privacy, or Policy Deny Aliased Email, or Policy Deny Disposable Email, or Policy Deny Free Email, or Policy Deny Corporate Email", "content": { "application\/json": { "schema": { @@ -57597,6 +58692,9 @@ }, { "$ref": "#\/components\/schemas\/policyDenyFreeEmail" + }, + { + "$ref": "#\/components\/schemas\/policyDenyCorporateEmail" } ], "discriminator": { @@ -57614,7 +58712,8 @@ "membership-privacy": "#\/components\/schemas\/policyMembershipPrivacy", "deny-aliased-email": "#\/components\/schemas\/policyDenyAliasedEmail", "deny-disposable-email": "#\/components\/schemas\/policyDenyDisposableEmail", - "deny-free-email": "#\/components\/schemas\/policyDenyFreeEmail" + "deny-free-email": "#\/components\/schemas\/policyDenyFreeEmail", + "deny-corporate-email": "#\/components\/schemas\/policyDenyCorporateEmail" } } } @@ -57655,7 +58754,7 @@ "parameters": [ { "name": "policyId", - "description": "Policy ID. Can be one of: password-dictionary, password-history, password-strength, password-personal-data, session-alert, session-duration, session-invalidation, session-limit, user-limit, membership-privacy, deny-aliased-email, deny-disposable-email, deny-free-email.", + "description": "Policy ID. Can be one of: password-dictionary, password-history, password-strength, password-personal-data, session-alert, session-duration, session-invalidation, session-limit, user-limit, membership-privacy, deny-aliased-email, deny-disposable-email, deny-free-email, deny-corporate-email.", "required": true, "schema": { "type": "string", @@ -57673,7 +58772,8 @@ "membership-privacy", "deny-aliased-email", "deny-disposable-email", - "deny-free-email" + "deny-free-email", + "deny-corporate-email" ], "x-enum-name": "ProjectPolicyId", "x-enum-keys": [ @@ -57689,7 +58789,8 @@ "membership-privacy", "deny-aliased-email", "deny-disposable-email", - "deny-free-email" + "deny-free-email", + "deny-corporate-email" ] }, "in": "path" @@ -57838,7 +58939,7 @@ "parameters": [ { "name": "serviceId", - "description": "Service name. Can be one of: account, avatars, databases, tablesdb, locale, health, project, storage, teams, users, vcs, sites, functions, proxy, graphql, migrations, messaging, advisor", + "description": "Service name. Can be one of: account, avatars, databases, tablesdb, locale, health, project, storage, teams, users, vcs, sites, functions, proxy, graphql, migrations, messaging, advisor, oauth2", "required": true, "schema": { "type": "string", @@ -57861,7 +58962,8 @@ "graphql", "migrations", "messaging", - "advisor" + "advisor", + "oauth2" ], "x-enum-name": "ProjectServiceId", "x-enum-keys": [ @@ -57882,7 +58984,8 @@ "graphql", "migrations", "messaging", - "advisor" + "advisor", + "oauth2" ] }, "in": "path" @@ -75673,10 +76776,10 @@ "tags": [ "usage" ], - "description": "Query usage event metrics from the usage database. Returns individual event rows with full metadata. Pass Query objects as JSON strings to filter, paginate, and order results. Supported query methods: equal, greaterThanEqual, lessThanEqual, orderAsc, orderDesc, limit, offset. Supported filter attributes: metric, path, method, status, resource, resourceId, country, userAgent, time (these match the underlying column names \u2014 note that the response surfaces `resource` as `resourceType` and `country` as `countryCode`). When no time filter is supplied the endpoint defaults to the last 7 days. Default `limit(100)` is applied if none is given; user-supplied limits are capped at 500. The `total` field is capped at 5000 to keep counts predictable \u2014 pass `total=false` to skip the count entirely.", + "description": "Aggregate usage event metrics. `metric` is required.\n\n**Two response shapes**:\n- Omit `interval` for a flat top-N table \u2014 one row per dimension combination, no time axis. Useful for \"top 10 paths by bandwidth in the last 7 days\".\n- Pass `interval` (`1m`, `15m`, `30m`, `1h`, `1d`) for a time series \u2014 one row per (time bucket \u00d7 dimension combination).\n\n`dimensions[]` breaks each row down by one or more attributes (service, path, status, country, \u2026). `resource` and `resourceId` filter the underlying events. `orderBy=value`+`orderDir=desc`+`limit=N` returns the top-N by aggregated value. When `startAt` is omitted, the default window adapts to `interval` (or 7d when interval is omitted).", "responses": { "200": { - "description": "Usage events list", + "description": "usageEventList", "content": { "application\/json": { "schema": { @@ -75715,8 +76818,50 @@ ], "parameters": [ { - "name": "queries", - "description": "Array of query strings as JSON. Supported: equal(\"metric\", [...]), equal(\"path\", [...]), equal(\"method\", [...]), equal(\"status\", [...]), equal(\"resource\", [...]), equal(\"resourceId\", [...]), equal(\"country\", [...]), equal(\"userAgent\", [...]), greaterThanEqual(\"time\", \"...\"), lessThanEqual(\"time\", \"...\"), orderAsc(\"time\"), orderDesc(\"time\"), limit(N), offset(N).", + "name": "metric", + "description": "Metric name (required). Example: executions, network.requests.", + "required": true, + "schema": { + "type": "string", + "x-example": "" + }, + "in": "query" + }, + { + "name": "resource", + "description": "Resource type filter (singular form). Common values: function, site, database, bucket, file, webhook, team, user, project.", + "required": false, + "schema": { + "type": "string", + "x-example": "", + "default": "" + }, + "in": "query" + }, + { + "name": "resourceId", + "description": "Resource id filter.", + "required": false, + "schema": { + "type": "string", + "x-example": "", + "default": "" + }, + "in": "query" + }, + { + "name": "interval", + "description": "Time interval size. Omit (null) for a flat aggregate over the whole window. Allowed: 1m, 15m, 30m, 1h, 1d.", + "required": false, + "schema": { + "type": "string", + "x-example": "1m" + }, + "in": "query" + }, + { + "name": "dimensions", + "description": "Break-down dimensions (max 10). Allowed: path, method, status, service, country, region, hostname, osName, clientType, clientName, deviceName, teamId, resourceId.", "required": false, "schema": { "type": "array", @@ -75728,13 +76873,72 @@ "in": "query" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "name": "startAt", + "description": "Range start in ISO 8601. Defaults adapt to interval (7d for the no-interval aggregate).", "required": false, "schema": { - "type": "boolean", - "x-example": false, - "default": true + "type": "string", + "format": "datetime", + "x-example": "2020-10-15T06:38:00.000+00:00", + "default": "" + }, + "in": "query" + }, + { + "name": "endAt", + "description": "Range end in ISO 8601. Defaults to the current time.", + "required": false, + "schema": { + "type": "string", + "format": "datetime", + "x-example": "2020-10-15T06:38:00.000+00:00", + "default": "" + }, + "in": "query" + }, + { + "name": "orderBy", + "description": "Column to order by. Allowed: time, value. Default time when an interval is set; otherwise value.", + "required": false, + "schema": { + "type": "string", + "x-example": "time", + "default": "time" + }, + "in": "query" + }, + { + "name": "orderDir", + "description": "Sort direction: asc or desc. Default desc \u2014 paired with the default limit, returns the most recent \/ highest-value groups first.", + "required": false, + "schema": { + "type": "string", + "x-example": "asc", + "default": "desc" + }, + "in": "query" + }, + { + "name": "limit", + "description": "Maximum rows to return (1-5000).", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "x-example": 1, + "default": 500 + }, + "in": "query" + }, + { + "name": "offset", + "description": "Pagination offset (0-100000).", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0 }, "in": "query" } @@ -75748,10 +76952,10 @@ "tags": [ "usage" ], - "description": "Query usage gauge metrics (point-in-time resource snapshots) from the usage database. Returns individual gauge snapshots with metric, value, timestamp, resourceType, and resourceId. Pass Query objects as JSON strings to filter, paginate, and order results. Supported query methods: equal, greaterThanEqual, lessThanEqual, orderAsc, orderDesc, limit, offset. Supported filter attributes: metric, time. Use `orderDesc(\"time\"), limit(1)` to fetch the most recent snapshot. When no time filter is supplied the endpoint defaults to the last 7 days. Default `limit(100)` is applied if none is given; user-supplied limits are capped at 500. The `total` field is capped at 5000 to keep counts predictable \u2014 pass `total=false` to skip the count entirely.", + "description": "Aggregate usage gauge snapshots. Gauges are point-in-time values (storage totals, resource counts, \u2026); each group carries the latest snapshot in its interval via `argMax(value, time)`. `metric` is required.\n\n**Two response shapes**:\n- Omit `interval` for a flat top-N table \u2014 `argMax(value, time)` per dimension combination over the whole window, no time axis. Useful for \"top 10 resources by current storage\".\n- Pass `interval` (`1m`, `15m`, `30m`, `1h`, `1d`) for a time series \u2014 one snapshot per (time bucket \u00d7 dimension combination).\n\n`dimensions[]` breaks each row down further \u2014 only `resourceId` and `teamId` are supported on gauges. `resourceId` and `teamId` parameters filter the underlying rows. `orderBy=value`+`orderDir=desc`+`limit=N` returns the top-N. When `startAt` is omitted, the default window adapts to interval (or 7d when interval is omitted).", "responses": { "200": { - "description": "Usage gauges list", + "description": "usageGaugeList", "content": { "application\/json": { "schema": { @@ -75790,8 +76994,50 @@ ], "parameters": [ { - "name": "queries", - "description": "Array of query strings as JSON. Supported: equal(\"metric\", [...]), greaterThanEqual(\"time\", \"...\"), lessThanEqual(\"time\", \"...\"), orderAsc(\"time\"), orderDesc(\"time\"), limit(N), offset(N).", + "name": "metric", + "description": "Metric name (required). Example: files.storage, deployments.storage.", + "required": true, + "schema": { + "type": "string", + "x-example": "" + }, + "in": "query" + }, + { + "name": "resourceId", + "description": "Resource id filter.", + "required": false, + "schema": { + "type": "string", + "x-example": "", + "default": "" + }, + "in": "query" + }, + { + "name": "teamId", + "description": "Team id filter.", + "required": false, + "schema": { + "type": "string", + "x-example": "", + "default": "" + }, + "in": "query" + }, + { + "name": "interval", + "description": "Time interval size. Omit (null) for a flat aggregate over the whole window. Allowed: 1m, 15m, 30m, 1h, 1d.", + "required": false, + "schema": { + "type": "string", + "x-example": "1m" + }, + "in": "query" + }, + { + "name": "dimensions", + "description": "Break-down dimensions. Allowed: resourceId, teamId.", "required": false, "schema": { "type": "array", @@ -75803,13 +77049,72 @@ "in": "query" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "name": "startAt", + "description": "Range start in ISO 8601. Defaults to endAt - 7d.", "required": false, "schema": { - "type": "boolean", - "x-example": false, - "default": true + "type": "string", + "format": "datetime", + "x-example": "2020-10-15T06:38:00.000+00:00", + "default": "" + }, + "in": "query" + }, + { + "name": "endAt", + "description": "Range end in ISO 8601. Defaults to the current time.", + "required": false, + "schema": { + "type": "string", + "format": "datetime", + "x-example": "2020-10-15T06:38:00.000+00:00", + "default": "" + }, + "in": "query" + }, + { + "name": "orderBy", + "description": "Column to order by. Allowed: time, value. Default time.", + "required": false, + "schema": { + "type": "string", + "x-example": "time", + "default": "time" + }, + "in": "query" + }, + { + "name": "orderDir", + "description": "Sort direction: asc or desc. Default desc \u2014 paired with the default limit, this returns the most recent groups first. Pass asc for chronological charting.", + "required": false, + "schema": { + "type": "string", + "x-example": "asc", + "default": "desc" + }, + "in": "query" + }, + { + "name": "limit", + "description": "Maximum rows to return (1-5000).", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "x-example": 1, + "default": 500 + }, + "in": "query" + }, + { + "name": "offset", + "description": "Pagination offset (0-100000).", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0 }, "in": "query" } @@ -84314,6 +85619,10 @@ { "name": "advisor", "description": "The Advisor service surfaces actionable reports about your project resources, with CTA descriptors for one-click remediation in the console." + }, + { + "name": "oauth2", + "description": "The OAuth2 service allows you to authorize apps and issue standards-based OAuth2 and OpenID Connect tokens." } ], "components": { @@ -85511,6 +86820,9 @@ }, { "$ref": "#\/components\/schemas\/policyDenyFreeEmail" + }, + { + "$ref": "#\/components\/schemas\/policyDenyCorporateEmail" } ], "discriminator": { @@ -85528,7 +86840,8 @@ "membership-privacy": "#\/components\/schemas\/policyMembershipPrivacy", "deny-aliased-email": "#\/components\/schemas\/policyDenyAliasedEmail", "deny-disposable-email": "#\/components\/schemas\/policyDenyDisposableEmail", - "deny-free-email": "#\/components\/schemas\/policyDenyFreeEmail" + "deny-free-email": "#\/components\/schemas\/policyDenyFreeEmail", + "deny-corporate-email": "#\/components\/schemas\/policyDenyCorporateEmail" } } }, @@ -104646,6 +105959,11 @@ "description": "Does plan support blocking free email addresses.", "x-example": true }, + "supportsCorporateEmailValidation": { + "type": "boolean", + "description": "Does plan support restricting sign-ups to corporate email addresses only.", + "x-example": true + }, "supportsProjectSpecificRoles": { "type": "boolean", "description": "Does plan support project-specific member roles.", @@ -104781,6 +106099,7 @@ "supportsDisposableEmailValidation", "supportsCanonicalEmailValidation", "supportsFreeEmailValidation", + "supportsCorporateEmailValidation", "supportsProjectSpecificRoles", "backupsEnabled", "usagePerProject", @@ -104845,6 +106164,7 @@ "supportsDisposableEmailValidation": true, "supportsCanonicalEmailValidation": true, "supportsFreeEmailValidation": true, + "supportsCorporateEmailValidation": true, "supportsProjectSpecificRoles": true, "backupsEnabled": true, "usagePerProject": true, @@ -105809,7 +107129,7 @@ }, "storageClass": { "type": "string", - "description": "Storage class: ssd, nvme, or hdd.", + "description": "Storage class. Currently always 'ssd'; DigitalOcean exposes a single block-storage class.", "x-example": "ssd" }, "storageMaxGb": { @@ -105924,7 +107244,7 @@ }, "sqlApiAllowedStatements": { "type": "array", - "description": "Statement types accepted by the SQL API. Defaults to DML only; DDL\/DCL types (CREATE, ALTER, DROP, TRUNCATE, GRANT, REVOKE) are opt-in per database. Allowed values: SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP, TRUNCATE, GRANT, REVOKE.", + "description": "Statement types accepted by the SQL API. Defaults to read\/write DML only; DDL\/DCL types (CREATE, ALTER, DROP, TRUNCATE, GRANT, REVOKE) are opt-in per database. Allowed values: SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP, TRUNCATE, GRANT, REVOKE.", "items": { "type": "string" }, @@ -108430,6 +109750,30 @@ "enabled": true } }, + "policyDenyCorporateEmail": { + "description": "Policy Deny Corporate Email", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Policy ID.", + "x-example": "password-dictionary" + }, + "enabled": { + "type": "boolean", + "description": "Whether the deny non-corporate email policy is enabled.", + "x-example": true + } + }, + "required": [ + "$id", + "enabled" + ], + "example": { + "$id": "password-dictionary", + "enabled": true + } + }, "dedicatedDatabasePooler": { "description": "PoolerConfig", "type": "object", @@ -109324,131 +110668,188 @@ "credits": null } }, - "usageEvent": { - "description": "usageEvent", + "usageGroup": { + "description": "usageGroup", "type": "object", "properties": { - "metric": { + "time": { "type": "string", - "description": "The metric key.", - "x-example": "bandwidth" + "description": "Group start timestamp (ISO 8601).", + "x-example": "2026-04-09T12:00:00.000+00:00" }, "value": { "type": "integer", - "description": "The metric value.", + "description": "Aggregated value for the group.", "x-example": 5000, "format": "int32" }, - "time": { - "type": "string", - "description": "The event timestamp.", - "x-example": "2026-04-09T12:00:00.000+00:00" - }, "path": { "type": "string", - "description": "The API endpoint path.", - "x-example": "\/v1\/storage\/files" + "description": "API endpoint path when broken down by `path`.", + "x-example": "\/v1\/storage\/files", + "nullable": true }, "method": { "type": "string", - "description": "The HTTP method.", - "x-example": "POST" + "description": "HTTP method when broken down by `method`.", + "x-example": "POST", + "nullable": true }, "status": { "type": "string", - "description": "HTTP status code. Stored as string to preserve unset state (empty string = not available).", - "x-example": "201" + "description": "HTTP status code when broken down by `status`.", + "x-example": "201", + "nullable": true }, - "resourceType": { + "service": { "type": "string", - "description": "The resource type.", - "x-example": "bucket" + "description": "API service segment when broken down by `service`.", + "x-example": "storage", + "nullable": true }, - "resourceId": { + "country": { "type": "string", - "description": "The resource ID.", - "x-example": "abc123" + "description": "Country code when broken down by `country`.", + "x-example": "us", + "nullable": true }, - "countryCode": { + "region": { "type": "string", - "description": "Country code in [ISO 3166-1](http:\/\/en.wikipedia.org\/wiki\/ISO_3166-1) two-character format.", - "x-example": "US" + "description": "Appwrite region when broken down by `region`.", + "x-example": "fra", + "nullable": true }, - "userAgent": { + "hostname": { + "type": "string", + "description": "Caller origin hostname when broken down by `hostname`.", + "x-example": "app.example.com", + "nullable": true + }, + "osName": { + "type": "string", + "description": "Operating system name when broken down by `osName`.", + "x-example": "iOS", + "nullable": true + }, + "clientType": { + "type": "string", + "description": "Client type when broken down by `clientType`.", + "x-example": "browser", + "nullable": true + }, + "clientName": { + "type": "string", + "description": "Client name when broken down by `clientName`.", + "x-example": "Chrome", + "nullable": true + }, + "deviceName": { + "type": "string", + "description": "Device classification when broken down by `deviceName`.", + "x-example": "smartphone", + "nullable": true + }, + "teamId": { + "type": "string", + "description": "Owning team ID when broken down by `teamId`.", + "x-example": "team_abc", + "nullable": true + }, + "resourceId": { "type": "string", - "description": "The user agent string.", - "x-example": "AppwriteSDK\/1.0" + "description": "External resource ID when broken down by `resourceId`.", + "x-example": "abc123", + "nullable": true } }, "required": [ - "metric", - "value", "time", - "path", - "method", - "status", - "resourceType", - "resourceId", - "countryCode", - "userAgent" + "value" ], "example": { - "metric": "bandwidth", - "value": 5000, "time": "2026-04-09T12:00:00.000+00:00", + "value": 5000, "path": "\/v1\/storage\/files", "method": "POST", "status": "201", - "resourceType": "bucket", - "resourceId": "abc123", - "countryCode": "US", - "userAgent": "AppwriteSDK\/1.0" + "service": "storage", + "country": "us", + "region": "fra", + "hostname": "app.example.com", + "osName": "iOS", + "clientType": "browser", + "clientName": "Chrome", + "deviceName": "smartphone", + "teamId": "team_abc", + "resourceId": "abc123" } }, - "usageGauge": { - "description": "usageGauge", + "usageEventList": { + "description": "usageEventList", "type": "object", "properties": { "metric": { "type": "string", - "description": "The metric key.", - "x-example": "users" - }, - "value": { - "type": "integer", - "description": "The current snapshot value.", - "x-example": 1500, - "format": "int32" + "description": "Metric key the groups describe.", + "x-example": "executions" }, - "time": { + "interval": { "type": "string", - "description": "The snapshot timestamp.", - "x-example": "2026-04-09T12:00:00.000+00:00" + "description": "Time interval size (1h or 1d).", + "x-example": "1d" }, - "resourceType": { + "groups": { + "type": "array", + "description": "Aggregated groups ordered by time ascending.", + "items": { + "$ref": "#\/components\/schemas\/usageGroup" + }, + "x-example": "" + } + }, + "required": [ + "metric", + "interval", + "groups" + ], + "example": { + "metric": "executions", + "interval": "1d", + "groups": "" + } + }, + "usageGaugeList": { + "description": "usageGaugeList", + "type": "object", + "properties": { + "metric": { "type": "string", - "description": "The resource type.", - "x-example": "dedicatedDatabases" + "description": "Metric key the groups describe.", + "x-example": "files.storage" }, - "resourceId": { + "interval": { "type": "string", - "description": "The resource ID.", - "x-example": "production" + "description": "Time interval size (1h or 1d).", + "x-example": "1d" + }, + "groups": { + "type": "array", + "description": "Aggregated groups ordered by time ascending. Each group carries the latest snapshot in its interval (argMax over time).", + "items": { + "$ref": "#\/components\/schemas\/usageGroup" + }, + "x-example": "" } }, "required": [ "metric", - "value", - "time", - "resourceType", - "resourceId" + "interval", + "groups" ], "example": { - "metric": "users", - "value": 1500, - "time": "2026-04-09T12:00:00.000+00:00", - "resourceType": "dedicatedDatabases", - "resourceId": "production" + "metric": "files.storage", + "interval": "1d", + "groups": "" } }, "usageOrganization": { @@ -110090,6 +111491,16 @@ "https:\/\/example.com\/callback" ] }, + "postLogoutRedirectUris": { + "type": "array", + "description": "List of authorized post-logout redirect URIs for OpenID Connect RP-Initiated Logout. The logout endpoint only redirects users to URIs in this list after ending their session.", + "items": { + "type": "string" + }, + "x-example": [ + "https:\/\/example.com\/logged-out" + ] + }, "enabled": { "type": "boolean", "description": "Whether the app is enabled or not.", @@ -110141,6 +111552,7 @@ "supportUrl", "dataDeletionUrl", "redirectUris", + "postLogoutRedirectUris", "enabled", "type", "deviceFlow", @@ -110174,6 +111586,9 @@ "redirectUris": [ "https:\/\/example.com\/callback" ], + "postLogoutRedirectUris": [ + "https:\/\/example.com\/logged-out" + ], "enabled": true, "type": "confidential", "deviceFlow": false, @@ -110328,6 +111743,277 @@ "lastAccessedAt": "2020-10-15T06:38:00.000+00:00" } }, + "oauth2Authorize": { + "description": "OAuth2 Authorize", + "type": "object", + "properties": { + "grantId": { + "type": "string", + "description": "OAuth2 grant ID. Set when the user must give explicit consent; pass it to the approve or reject endpoint. Empty when a redirect URL is returned instead.", + "x-example": "5e5ea5c16897e" + }, + "redirectUrl": { + "type": "string", + "description": "URL the end user should be redirected to when the flow can complete without consent. Empty when consent is still required.", + "x-example": "https:\/\/example.com\/callback?code=abcde&state=fghij" + } + }, + "required": [ + "grantId", + "redirectUrl" + ], + "example": { + "grantId": "5e5ea5c16897e", + "redirectUrl": "https:\/\/example.com\/callback?code=abcde&state=fghij" + } + }, + "oauth2Approve": { + "description": "OAuth2 Approve", + "type": "object", + "properties": { + "redirectUrl": { + "type": "string", + "description": "URL the end user should be redirected to after the grant is approved, carrying the authorization `code` and\/or `id_token` along with the original `state`.", + "x-example": "https:\/\/example.com\/callback?code=abcde&state=fghij" + } + }, + "required": [ + "redirectUrl" + ], + "example": { + "redirectUrl": "https:\/\/example.com\/callback?code=abcde&state=fghij" + } + }, + "oauth2Reject": { + "description": "OAuth2 Reject", + "type": "object", + "properties": { + "redirectUrl": { + "type": "string", + "description": "URL the end user should be redirected to after the grant is rejected, carrying an `access_denied` error.", + "x-example": "https:\/\/example.com\/callback?error=access_denied&state=fghij" + } + }, + "required": [ + "redirectUrl" + ], + "example": { + "redirectUrl": "https:\/\/example.com\/callback?error=access_denied&state=fghij" + } + }, + "oauth2Grant": { + "description": "OAuth2 Grant", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Grant ID.", + "x-example": "5e5ea5c16897e" + }, + "$createdAt": { + "type": "string", + "description": "Grant creation time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "$updatedAt": { + "type": "string", + "description": "Grant update date in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + }, + "userId": { + "type": "string", + "description": "ID of the user the grant belongs to.", + "x-example": "5e5ea5c16897e" + }, + "appId": { + "type": "string", + "description": "ID of the OAuth2 client (app) the grant was requested for.", + "x-example": "5e5ea5c16897e" + }, + "scopes": { + "type": "array", + "description": "Requested OAuth2 scopes the user is being asked to consent to.", + "items": { + "type": "string" + }, + "x-example": [ + "openid", + "email", + "profile" + ] + }, + "authorizationDetails": { + "type": "string", + "description": "Requested authorization_details the user is being asked to consent to, as a JSON string. Each entry has a `type` plus project-defined fields.", + "x-example": "[{\"type\":\"calendar\",\"identifier\":\"primary\",\"actions\":[\"read_events\",\"create_event\"]}]" + }, + "prompt": { + "type": "string", + "description": "OIDC prompt directive the consent screen should honor. Space-separated list of: login, consent, select_account.", + "x-example": "login" + }, + "redirectUri": { + "type": "string", + "description": "Redirect URI the user will be sent to after the flow completes.", + "x-example": "https:\/\/example.com\/callback" + }, + "authTime": { + "type": "integer", + "description": "Unix timestamp of when the user last authenticated.", + "x-example": 1592981250, + "format": "int32" + }, + "expire": { + "type": "string", + "description": "Grant expiration time in ISO 8601 format.", + "x-example": "2020-10-15T06:38:00.000+00:00" + } + }, + "required": [ + "$id", + "$createdAt", + "$updatedAt", + "userId", + "appId", + "scopes", + "authorizationDetails", + "prompt", + "redirectUri", + "authTime", + "expire" + ], + "example": { + "$id": "5e5ea5c16897e", + "$createdAt": "2020-10-15T06:38:00.000+00:00", + "$updatedAt": "2020-10-15T06:38:00.000+00:00", + "userId": "5e5ea5c16897e", + "appId": "5e5ea5c16897e", + "scopes": [ + "openid", + "email", + "profile" + ], + "authorizationDetails": "[{\"type\":\"calendar\",\"identifier\":\"primary\",\"actions\":[\"read_events\",\"create_event\"]}]", + "prompt": "login", + "redirectUri": "https:\/\/example.com\/callback", + "authTime": 1592981250, + "expire": "2020-10-15T06:38:00.000+00:00" + } + }, + "oauth2DeviceAuthorization": { + "description": "OAuth2 Device Authorization", + "type": "object", + "properties": { + "device_code": { + "type": "string", + "description": "Device verification code used by the client to poll the token endpoint.", + "x-example": "5f3c8d2a1b9e4f7a6c8b2d1e9f4a7b3c5d8e1f2a9b4c7d6e3f5a8b1c4d7e2f9a" + }, + "user_code": { + "type": "string", + "description": "Short code the end user enters on the verification page.", + "x-example": "ABCD-EFGH" + }, + "verification_uri": { + "type": "string", + "description": "URL where the end user enters the user code.", + "x-example": "https:\/\/cloud.appwrite.io\/oauth2\/device" + }, + "verification_uri_complete": { + "type": "string", + "description": "Verification URL with the user code prefilled as a query parameter.", + "x-example": "https:\/\/cloud.appwrite.io\/oauth2\/device?user_code=ABCD-EFGH" + }, + "expires_in": { + "type": "integer", + "description": "Lifetime of the device code and user code in seconds.", + "x-example": 900, + "format": "int32" + }, + "interval": { + "type": "integer", + "description": "Minimum polling interval for the token endpoint in seconds.", + "x-example": 5, + "format": "int32" + } + }, + "required": [ + "device_code", + "user_code", + "verification_uri", + "verification_uri_complete", + "expires_in", + "interval" + ], + "example": { + "device_code": "5f3c8d2a1b9e4f7a6c8b2d1e9f4a7b3c5d8e1f2a9b4c7d6e3f5a8b1c4d7e2f9a", + "user_code": "ABCD-EFGH", + "verification_uri": "https:\/\/cloud.appwrite.io\/oauth2\/device", + "verification_uri_complete": "https:\/\/cloud.appwrite.io\/oauth2\/device?user_code=ABCD-EFGH", + "expires_in": 900, + "interval": 5 + } + }, + "oauth2Token": { + "description": "OAuth2 Token", + "type": "object", + "properties": { + "access_token": { + "type": "string", + "description": "OAuth2 access token.", + "x-example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..." + }, + "token_type": { + "type": "string", + "description": "OAuth2 token type.", + "x-example": "Bearer" + }, + "expires_in": { + "type": "integer", + "description": "Access token lifetime in seconds.", + "x-example": 3600, + "format": "int32" + }, + "refresh_token": { + "type": "string", + "description": "OAuth2 refresh token.", + "x-example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..." + }, + "scope": { + "type": "string", + "description": "Space-separated scopes granted to the access token.", + "x-example": "openid email profile" + }, + "authorization_details": { + "type": "string", + "description": "Granted RFC 9396 authorization details as a JSON string.", + "x-example": "[{\"type\":\"calendar\",\"identifier\":\"primary\",\"actions\":[\"read_events\"]}]", + "nullable": true + }, + "id_token": { + "type": "string", + "description": "OpenID Connect ID token. Returned when the `openid` scope is granted.", + "x-example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...", + "nullable": true + } + }, + "required": [ + "access_token", + "token_type", + "expires_in", + "refresh_token", + "scope" + ], + "example": { + "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...", + "token_type": "Bearer", + "expires_in": 3600, + "refresh_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...", + "scope": "openid email profile", + "authorization_details": "[{\"type\":\"calendar\",\"identifier\":\"primary\",\"actions\":[\"read_events\"]}]", + "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..." + } + }, "activityEventList": { "description": "Activity event list", "type": "object", @@ -110860,62 +112546,6 @@ "regions": "" } }, - "usageEventList": { - "description": "Usage events list", - "type": "object", - "properties": { - "total": { - "type": "integer", - "description": "Total number of events that matched your query.", - "x-example": 5, - "format": "int32" - }, - "events": { - "type": "array", - "description": "List of events.", - "items": { - "$ref": "#\/components\/schemas\/usageEvent" - }, - "x-example": "" - } - }, - "required": [ - "total", - "events" - ], - "example": { - "total": 5, - "events": "" - } - }, - "usageGaugeList": { - "description": "Usage gauges list", - "type": "object", - "properties": { - "total": { - "type": "integer", - "description": "Total number of gauges that matched your query.", - "x-example": 5, - "format": "int32" - }, - "gauges": { - "type": "array", - "description": "List of gauges.", - "items": { - "$ref": "#\/components\/schemas\/usageGauge" - }, - "x-example": "" - } - }, - "required": [ - "total", - "gauges" - ], - "example": { - "total": 5, - "gauges": "" - } - }, "appsList": { "description": "Apps list", "type": "object", @@ -111051,20 +112681,29 @@ "ImpersonateUserId": { "type": "apiKey", "name": "X-Appwrite-Impersonate-User-Id", - "description": "Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data.", - "in": "header" + "description": "Impersonate a user by ID", + "in": "header", + "x-appwrite": { + "optional": true + } }, "ImpersonateUserEmail": { "type": "apiKey", "name": "X-Appwrite-Impersonate-User-Email", - "description": "Impersonate a user by email on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data.", - "in": "header" + "description": "Impersonate a user by email", + "in": "header", + "x-appwrite": { + "optional": true + } }, "ImpersonateUserPhone": { "type": "apiKey", "name": "X-Appwrite-Impersonate-User-Phone", - "description": "Impersonate a user by phone on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data.", - "in": "header" + "description": "Impersonate a user by phone", + "in": "header", + "x-appwrite": { + "optional": true + } }, "Platform": { "type": "apiKey", diff --git a/specs/1.9.x/open-api3-1.9.x-server.json b/specs/1.9.x/open-api3-1.9.x-server.json index d0d801a7f..161fbca3c 100644 --- a/specs/1.9.x/open-api3-1.9.x-server.json +++ b/specs/1.9.x/open-api3-1.9.x-server.json @@ -4169,6 +4169,15 @@ "type": "string" } }, + "postLogoutRedirectUris": { + "type": "array", + "description": "Post-logout redirect URIs for OpenID Connect RP-Initiated Logout (array of valid URLs). After ending the user session, the logout endpoint only redirects to URIs in this list.", + "default": [], + "x-example": null, + "items": { + "type": "string" + } + }, "enabled": { "type": "boolean", "description": "Is application enabled?", @@ -4438,6 +4447,15 @@ "type": "string" } }, + "postLogoutRedirectUris": { + "type": "array", + "description": "Post-logout redirect URIs for OpenID Connect RP-Initiated Logout (array of valid URLs). After ending the user session, the logout endpoint only redirects to URIs in this list.", + "default": [], + "x-example": null, + "items": { + "type": "string" + } + }, "type": { "type": "string", "description": "OAuth2 client type. Use `public` for SPAs, mobile, and native apps that cannot keep a `client_secret` \u2014 PKCE is then required at the token endpoint. Use `confidential` for server-side clients that present a `client_secret`. Defaults to `confidential`.", @@ -30857,6 +30875,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "oauth2.write", "platforms": [ + "console", "client", "server" ], @@ -30945,6 +30964,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -31094,6 +31114,100 @@ ] } }, + "\/oauth2\/{project_id}\/device_authorization": { + "post": { + "summary": "OAuth2 Device Authorization", + "operationId": "oauth2CreateDeviceAuthorization", + "tags": [ + "oauth2" + ], + "description": "Start the OAuth2 Device Authorization Grant. Returns the device code, user code, verification URL, expiration, and polling interval.", + "responses": { + "200": { + "description": "OAuth2 Device Authorization", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/oauth2DeviceAuthorization" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createDeviceAuthorization", + "group": null, + "cookies": false, + "type": "", + "demo": "oauth2\/create-device-authorization.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "public", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "ProjectPath": [], + "Session": [] + } + }, + "security": [ + { + "ProjectPath": [], + "Session": [], + "JWT": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "project_id", + "description": "Project ID in which OAuth2 client exists.", + "required": true, + "schema": { + "type": "string", + "x-example": "" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "client_id": { + "type": "string", + "description": "OAuth2 client ID.", + "default": "", + "x-example": "" + }, + "scope": { + "type": "string", + "description": "Space-separated OAuth2 scopes. Can include project scopes, and built-in scopes: `openid`, `email`, `profile`.", + "default": "", + "x-example": "" + }, + "authorization_details": { + "type": "string", + "description": "Rich authorization request. JSON array of objects, each with a `type` and project-defined fields", + "default": "", + "x-example": "" + } + } + } + } + } + } + } + }, "\/oauth2\/{project_id}\/grants": { "post": { "summary": "Create OAuth2 Grant", @@ -31126,19 +31240,20 @@ "rate-key": "ip:{ip},userId:{userId}", "scope": "oauth2.write", "platforms": [ + "console", "client", "server" ], "packaging": false, "public": true, "auth": { - "Project": [], + "ProjectPath": [], "Session": [] } }, "security": [ { - "Project": [], + "ProjectPath": [], "Session": [], "JWT": [] } @@ -31208,19 +31323,20 @@ "rate-key": "url:{url},ip:{ip}", "scope": "oauth2.read", "platforms": [ + "console", "client", "server" ], "packaging": false, "public": true, "auth": { - "Project": [], + "ProjectPath": [], "Session": [] } }, "security": [ { - "Project": [], + "ProjectPath": [], "Session": [], "JWT": [], "Key": [] @@ -31282,6 +31398,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "oauth2.write", "platforms": [ + "console", "client", "server" ], @@ -31332,6 +31449,236 @@ } } }, + "\/oauth2\/{project_id}\/revoke": { + "post": { + "summary": "OAuth2 Revoke", + "operationId": "oauth2Revoke", + "tags": [ + "oauth2" + ], + "description": "Revoke an OAuth2 access token or refresh token.", + "responses": { + "200": { + "description": "File", + "content": { + "application\/json": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "revoke", + "group": null, + "cookies": false, + "type": "", + "demo": "oauth2\/revoke.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "public", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "ProjectPath": [], + "Session": [] + } + }, + "security": [ + { + "ProjectPath": [], + "Session": [], + "JWT": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "project_id", + "description": "Project ID in which OAuth2 client exists.", + "required": true, + "schema": { + "type": "string", + "x-example": "" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "token": { + "type": "string", + "description": "The access or refresh token to revoke.", + "x-example": "" + }, + "token_type_hint": { + "type": "string", + "description": "Type of token to revoke (access_token or refresh_token).", + "default": "", + "x-example": "access_token" + }, + "client_id": { + "type": "string", + "description": "OAuth2 client ID.", + "default": "", + "x-example": "" + }, + "client_secret": { + "type": "string", + "description": "OAuth2 client secret. Required for confidential apps; omitted for public apps.", + "default": "", + "x-example": "" + } + }, + "required": [ + "token" + ] + } + } + } + } + } + }, + "\/oauth2\/{project_id}\/token": { + "post": { + "summary": "OAuth2 Token", + "operationId": "oauth2CreateToken", + "tags": [ + "oauth2" + ], + "description": "Exchange an OAuth2 authorization code, refresh token, or device code for access and refresh tokens.", + "responses": { + "200": { + "description": "OAuth2 Token", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/oauth2Token" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "createToken", + "group": null, + "cookies": false, + "type": "", + "demo": "oauth2\/create-token.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "public", + "platforms": [ + "console", + "client", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "ProjectPath": [], + "Session": [] + } + }, + "security": [ + { + "ProjectPath": [], + "Session": [], + "JWT": [], + "Key": [] + } + ], + "parameters": [ + { + "name": "project_id", + "description": "Project ID in which OAuth2 client exists.", + "required": true, + "schema": { + "type": "string", + "x-example": "" + }, + "in": "path" + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "grant_type": { + "type": "string", + "description": "OAuth2 grant type. Can be one of: `authorization_code`, `refresh_token`, `urn:ietf:params:oauth:grant-type:device_code`.", + "x-example": "" + }, + "code": { + "type": "string", + "description": "Authorization code to be exchanged for access and refresh tokens. Required for `authorization_code` grant type.", + "default": "", + "x-example": "" + }, + "refresh_token": { + "type": "string", + "description": "Refresh token to be exchanged for a new access and refresh tokens. Required for `refresh_token` grant type.", + "default": "", + "x-example": "" + }, + "device_code": { + "type": "string", + "description": "Device code obtained from the device authorization endpoint. Required for `urn:ietf:params:oauth:grant-type:device_code` grant type.", + "default": "", + "x-example": "" + }, + "client_id": { + "type": "string", + "description": "OAuth2 client ID.", + "default": "", + "x-example": "" + }, + "client_secret": { + "type": "string", + "description": "OAuth2 client secret. Required for confidential apps.", + "default": "", + "x-example": "" + }, + "code_verifier": { + "type": "string", + "description": "PKCE code verifier. Required for public apps.", + "default": "", + "x-example": "" + }, + "redirect_uri": { + "type": "string", + "description": "Redirect URI. Required for `authorization_code` grant type.", + "default": "", + "x-example": "https:\/\/example.com", + "format": "url" + } + }, + "required": [ + "grant_type" + ] + } + } + } + } + } + }, "\/organization\/keys": { "get": { "summary": "List organization keys", @@ -32136,6 +32483,59 @@ ] } }, + "\/ping": { + "get": { + "summary": "Test the connection between the Appwrite and the SDK.", + "operationId": "pingGet", + "tags": [ + "ping" + ], + "description": "Send a ping to project as part of onboarding.", + "responses": { + "200": { + "description": "Any", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/any" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "get", + "group": null, + "cookies": false, + "type": "", + "demo": "ping\/get.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": "global", + "platforms": [ + "console", + "server", + "client" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [], + "Key": [] + } + }, + "security": [ + { + "Project": [], + "Key": [], + "JWT": [], + "Session": [] + } + ] + } + }, "\/presences": { "get": { "summary": "List presences", @@ -39502,6 +39902,78 @@ } } }, + "\/project\/policies\/deny-corporate-email": { + "patch": { + "summary": "Update deny non-corporate email policy", + "operationId": "projectUpdateDenyCorporateEmailPolicy", + "tags": [ + "project" + ], + "description": "Configures if only corporate email addresses (non-free and non-disposable domains) are allowed during new user sign-ups and email updates.", + "responses": { + "200": { + "description": "Project", + "content": { + "application\/json": { + "schema": { + "$ref": "#\/components\/schemas\/project" + } + } + } + } + }, + "deprecated": false, + "x-appwrite": { + "method": "updateDenyCorporateEmailPolicy", + "group": "policies", + "cookies": false, + "type": "", + "demo": "project\/update-deny-corporate-email-policy.md", + "rate-limit": 0, + "rate-time": 3600, + "rate-key": "url:{url},ip:{ip}", + "scope": [ + "policies.write", + "project.policies.write" + ], + "platforms": [ + "console", + "server" + ], + "packaging": false, + "public": true, + "auth": { + "Project": [], + "Key": [] + } + }, + "security": [ + { + "Project": [], + "Key": [] + } + ], + "requestBody": { + "content": { + "application\/json": { + "schema": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Set whether or not to restrict sign-ups and email updates to corporate email addresses only.", + "x-example": false + } + }, + "required": [ + "enabled" + ] + } + } + } + } + } + }, "\/project\/policies\/deny-disposable-email": { "patch": { "summary": "Update deny disposable email policy", @@ -40423,7 +40895,7 @@ "description": "Get a policy by its unique ID. This endpoint returns the current configuration for the requested project policy.", "responses": { "200": { - "description": "Policy Password Dictionary, or Policy Password History, or Policy Password Strength, or Policy Password Personal Data, or Policy Session Alert, or Policy Session Duration, or Policy Session Invalidation, or Policy Session Limit, or Policy User Limit, or Policy Membership Privacy, or Policy Deny Aliased Email, or Policy Deny Disposable Email, or Policy Deny Free Email", + "description": "Policy Password Dictionary, or Policy Password History, or Policy Password Strength, or Policy Password Personal Data, or Policy Session Alert, or Policy Session Duration, or Policy Session Invalidation, or Policy Session Limit, or Policy User Limit, or Policy Membership Privacy, or Policy Deny Aliased Email, or Policy Deny Disposable Email, or Policy Deny Free Email, or Policy Deny Corporate Email", "content": { "application\/json": { "schema": { @@ -40466,6 +40938,9 @@ }, { "$ref": "#\/components\/schemas\/policyDenyFreeEmail" + }, + { + "$ref": "#\/components\/schemas\/policyDenyCorporateEmail" } ], "discriminator": { @@ -40483,7 +40958,8 @@ "membership-privacy": "#\/components\/schemas\/policyMembershipPrivacy", "deny-aliased-email": "#\/components\/schemas\/policyDenyAliasedEmail", "deny-disposable-email": "#\/components\/schemas\/policyDenyDisposableEmail", - "deny-free-email": "#\/components\/schemas\/policyDenyFreeEmail" + "deny-free-email": "#\/components\/schemas\/policyDenyFreeEmail", + "deny-corporate-email": "#\/components\/schemas\/policyDenyCorporateEmail" } } } @@ -40525,7 +41001,7 @@ "parameters": [ { "name": "policyId", - "description": "Policy ID. Can be one of: password-dictionary, password-history, password-strength, password-personal-data, session-alert, session-duration, session-invalidation, session-limit, user-limit, membership-privacy, deny-aliased-email, deny-disposable-email, deny-free-email.", + "description": "Policy ID. Can be one of: password-dictionary, password-history, password-strength, password-personal-data, session-alert, session-duration, session-invalidation, session-limit, user-limit, membership-privacy, deny-aliased-email, deny-disposable-email, deny-free-email, deny-corporate-email.", "required": true, "schema": { "type": "string", @@ -40543,7 +41019,8 @@ "membership-privacy", "deny-aliased-email", "deny-disposable-email", - "deny-free-email" + "deny-free-email", + "deny-corporate-email" ], "x-enum-name": "ProjectPolicyId", "x-enum-keys": [ @@ -40559,7 +41036,8 @@ "membership-privacy", "deny-aliased-email", "deny-disposable-email", - "deny-free-email" + "deny-free-email", + "deny-corporate-email" ] }, "in": "path" @@ -40710,7 +41188,7 @@ "parameters": [ { "name": "serviceId", - "description": "Service name. Can be one of: account, avatars, databases, tablesdb, locale, health, project, storage, teams, users, vcs, sites, functions, proxy, graphql, migrations, messaging, advisor", + "description": "Service name. Can be one of: account, avatars, databases, tablesdb, locale, health, project, storage, teams, users, vcs, sites, functions, proxy, graphql, migrations, messaging, advisor, oauth2", "required": true, "schema": { "type": "string", @@ -40733,7 +41211,8 @@ "graphql", "migrations", "messaging", - "advisor" + "advisor", + "oauth2" ], "x-enum-name": "ProjectServiceId", "x-enum-keys": [ @@ -40754,7 +41233,8 @@ "graphql", "migrations", "messaging", - "advisor" + "advisor", + "oauth2" ] }, "in": "path" @@ -56652,10 +57132,10 @@ "tags": [ "usage" ], - "description": "Query usage event metrics from the usage database. Returns individual event rows with full metadata. Pass Query objects as JSON strings to filter, paginate, and order results. Supported query methods: equal, greaterThanEqual, lessThanEqual, orderAsc, orderDesc, limit, offset. Supported filter attributes: metric, path, method, status, resource, resourceId, country, userAgent, time (these match the underlying column names \u2014 note that the response surfaces `resource` as `resourceType` and `country` as `countryCode`). When no time filter is supplied the endpoint defaults to the last 7 days. Default `limit(100)` is applied if none is given; user-supplied limits are capped at 500. The `total` field is capped at 5000 to keep counts predictable \u2014 pass `total=false` to skip the count entirely.", + "description": "Aggregate usage event metrics. `metric` is required.\n\n**Two response shapes**:\n- Omit `interval` for a flat top-N table \u2014 one row per dimension combination, no time axis. Useful for \"top 10 paths by bandwidth in the last 7 days\".\n- Pass `interval` (`1m`, `15m`, `30m`, `1h`, `1d`) for a time series \u2014 one row per (time bucket \u00d7 dimension combination).\n\n`dimensions[]` breaks each row down by one or more attributes (service, path, status, country, \u2026). `resource` and `resourceId` filter the underlying events. `orderBy=value`+`orderDir=desc`+`limit=N` returns the top-N by aggregated value. When `startAt` is omitted, the default window adapts to `interval` (or 7d when interval is omitted).", "responses": { "200": { - "description": "Usage events list", + "description": "usageEventList", "content": { "application\/json": { "schema": { @@ -56695,8 +57175,50 @@ ], "parameters": [ { - "name": "queries", - "description": "Array of query strings as JSON. Supported: equal(\"metric\", [...]), equal(\"path\", [...]), equal(\"method\", [...]), equal(\"status\", [...]), equal(\"resource\", [...]), equal(\"resourceId\", [...]), equal(\"country\", [...]), equal(\"userAgent\", [...]), greaterThanEqual(\"time\", \"...\"), lessThanEqual(\"time\", \"...\"), orderAsc(\"time\"), orderDesc(\"time\"), limit(N), offset(N).", + "name": "metric", + "description": "Metric name (required). Example: executions, network.requests.", + "required": true, + "schema": { + "type": "string", + "x-example": "" + }, + "in": "query" + }, + { + "name": "resource", + "description": "Resource type filter (singular form). Common values: function, site, database, bucket, file, webhook, team, user, project.", + "required": false, + "schema": { + "type": "string", + "x-example": "", + "default": "" + }, + "in": "query" + }, + { + "name": "resourceId", + "description": "Resource id filter.", + "required": false, + "schema": { + "type": "string", + "x-example": "", + "default": "" + }, + "in": "query" + }, + { + "name": "interval", + "description": "Time interval size. Omit (null) for a flat aggregate over the whole window. Allowed: 1m, 15m, 30m, 1h, 1d.", + "required": false, + "schema": { + "type": "string", + "x-example": "1m" + }, + "in": "query" + }, + { + "name": "dimensions", + "description": "Break-down dimensions (max 10). Allowed: path, method, status, service, country, region, hostname, osName, clientType, clientName, deviceName, teamId, resourceId.", "required": false, "schema": { "type": "array", @@ -56708,13 +57230,72 @@ "in": "query" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "name": "startAt", + "description": "Range start in ISO 8601. Defaults adapt to interval (7d for the no-interval aggregate).", "required": false, "schema": { - "type": "boolean", - "x-example": false, - "default": true + "type": "string", + "format": "datetime", + "x-example": "2020-10-15T06:38:00.000+00:00", + "default": "" + }, + "in": "query" + }, + { + "name": "endAt", + "description": "Range end in ISO 8601. Defaults to the current time.", + "required": false, + "schema": { + "type": "string", + "format": "datetime", + "x-example": "2020-10-15T06:38:00.000+00:00", + "default": "" + }, + "in": "query" + }, + { + "name": "orderBy", + "description": "Column to order by. Allowed: time, value. Default time when an interval is set; otherwise value.", + "required": false, + "schema": { + "type": "string", + "x-example": "time", + "default": "time" + }, + "in": "query" + }, + { + "name": "orderDir", + "description": "Sort direction: asc or desc. Default desc \u2014 paired with the default limit, returns the most recent \/ highest-value groups first.", + "required": false, + "schema": { + "type": "string", + "x-example": "asc", + "default": "desc" + }, + "in": "query" + }, + { + "name": "limit", + "description": "Maximum rows to return (1-5000).", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "x-example": 1, + "default": 500 + }, + "in": "query" + }, + { + "name": "offset", + "description": "Pagination offset (0-100000).", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0 }, "in": "query" } @@ -56728,10 +57309,10 @@ "tags": [ "usage" ], - "description": "Query usage gauge metrics (point-in-time resource snapshots) from the usage database. Returns individual gauge snapshots with metric, value, timestamp, resourceType, and resourceId. Pass Query objects as JSON strings to filter, paginate, and order results. Supported query methods: equal, greaterThanEqual, lessThanEqual, orderAsc, orderDesc, limit, offset. Supported filter attributes: metric, time. Use `orderDesc(\"time\"), limit(1)` to fetch the most recent snapshot. When no time filter is supplied the endpoint defaults to the last 7 days. Default `limit(100)` is applied if none is given; user-supplied limits are capped at 500. The `total` field is capped at 5000 to keep counts predictable \u2014 pass `total=false` to skip the count entirely.", + "description": "Aggregate usage gauge snapshots. Gauges are point-in-time values (storage totals, resource counts, \u2026); each group carries the latest snapshot in its interval via `argMax(value, time)`. `metric` is required.\n\n**Two response shapes**:\n- Omit `interval` for a flat top-N table \u2014 `argMax(value, time)` per dimension combination over the whole window, no time axis. Useful for \"top 10 resources by current storage\".\n- Pass `interval` (`1m`, `15m`, `30m`, `1h`, `1d`) for a time series \u2014 one snapshot per (time bucket \u00d7 dimension combination).\n\n`dimensions[]` breaks each row down further \u2014 only `resourceId` and `teamId` are supported on gauges. `resourceId` and `teamId` parameters filter the underlying rows. `orderBy=value`+`orderDir=desc`+`limit=N` returns the top-N. When `startAt` is omitted, the default window adapts to interval (or 7d when interval is omitted).", "responses": { "200": { - "description": "Usage gauges list", + "description": "usageGaugeList", "content": { "application\/json": { "schema": { @@ -56771,8 +57352,50 @@ ], "parameters": [ { - "name": "queries", - "description": "Array of query strings as JSON. Supported: equal(\"metric\", [...]), greaterThanEqual(\"time\", \"...\"), lessThanEqual(\"time\", \"...\"), orderAsc(\"time\"), orderDesc(\"time\"), limit(N), offset(N).", + "name": "metric", + "description": "Metric name (required). Example: files.storage, deployments.storage.", + "required": true, + "schema": { + "type": "string", + "x-example": "" + }, + "in": "query" + }, + { + "name": "resourceId", + "description": "Resource id filter.", + "required": false, + "schema": { + "type": "string", + "x-example": "", + "default": "" + }, + "in": "query" + }, + { + "name": "teamId", + "description": "Team id filter.", + "required": false, + "schema": { + "type": "string", + "x-example": "", + "default": "" + }, + "in": "query" + }, + { + "name": "interval", + "description": "Time interval size. Omit (null) for a flat aggregate over the whole window. Allowed: 1m, 15m, 30m, 1h, 1d.", + "required": false, + "schema": { + "type": "string", + "x-example": "1m" + }, + "in": "query" + }, + { + "name": "dimensions", + "description": "Break-down dimensions. Allowed: resourceId, teamId.", "required": false, "schema": { "type": "array", @@ -56784,13 +57407,72 @@ "in": "query" }, { - "name": "total", - "description": "When set to false, the total count returned will be 0 and will not be calculated.", + "name": "startAt", + "description": "Range start in ISO 8601. Defaults to endAt - 7d.", "required": false, "schema": { - "type": "boolean", - "x-example": false, - "default": true + "type": "string", + "format": "datetime", + "x-example": "2020-10-15T06:38:00.000+00:00", + "default": "" + }, + "in": "query" + }, + { + "name": "endAt", + "description": "Range end in ISO 8601. Defaults to the current time.", + "required": false, + "schema": { + "type": "string", + "format": "datetime", + "x-example": "2020-10-15T06:38:00.000+00:00", + "default": "" + }, + "in": "query" + }, + { + "name": "orderBy", + "description": "Column to order by. Allowed: time, value. Default time.", + "required": false, + "schema": { + "type": "string", + "x-example": "time", + "default": "time" + }, + "in": "query" + }, + { + "name": "orderDir", + "description": "Sort direction: asc or desc. Default desc \u2014 paired with the default limit, this returns the most recent groups first. Pass asc for chronological charting.", + "required": false, + "schema": { + "type": "string", + "x-example": "asc", + "default": "desc" + }, + "in": "query" + }, + { + "name": "limit", + "description": "Maximum rows to return (1-5000).", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "x-example": 1, + "default": 500 + }, + "in": "query" + }, + { + "name": "offset", + "description": "Pagination offset (0-100000).", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "x-example": 0, + "default": 0 }, "in": "query" } @@ -64173,6 +64855,10 @@ { "name": "advisor", "description": "The Advisor service surfaces actionable reports about your project resources, with CTA descriptors for one-click remediation in the console." + }, + { + "name": "oauth2", + "description": "The OAuth2 service allows you to authorize apps and issue standards-based OAuth2 and OpenID Connect tokens." } ], "components": { @@ -65160,6 +65846,9 @@ }, { "$ref": "#\/components\/schemas\/policyDenyFreeEmail" + }, + { + "$ref": "#\/components\/schemas\/policyDenyCorporateEmail" } ], "discriminator": { @@ -65177,7 +65866,8 @@ "membership-privacy": "#\/components\/schemas\/policyMembershipPrivacy", "deny-aliased-email": "#\/components\/schemas\/policyDenyAliasedEmail", "deny-disposable-email": "#\/components\/schemas\/policyDenyDisposableEmail", - "deny-free-email": "#\/components\/schemas\/policyDenyFreeEmail" + "deny-free-email": "#\/components\/schemas\/policyDenyFreeEmail", + "deny-corporate-email": "#\/components\/schemas\/policyDenyCorporateEmail" } } }, @@ -78918,6 +79608,30 @@ "enabled": true } }, + "policyDenyCorporateEmail": { + "description": "Policy Deny Corporate Email", + "type": "object", + "properties": { + "$id": { + "type": "string", + "description": "Policy ID.", + "x-example": "password-dictionary" + }, + "enabled": { + "type": "boolean", + "description": "Whether the deny non-corporate email policy is enabled.", + "x-example": true + } + }, + "required": [ + "$id", + "enabled" + ], + "example": { + "$id": "password-dictionary", + "enabled": true + } + }, "backupRestoration": { "description": "Restoration", "type": "object", @@ -79011,131 +79725,188 @@ "options": "{databases.database[{oldId, newId, newName}]}" } }, - "usageEvent": { - "description": "usageEvent", + "usageGroup": { + "description": "usageGroup", "type": "object", "properties": { - "metric": { + "time": { "type": "string", - "description": "The metric key.", - "x-example": "bandwidth" + "description": "Group start timestamp (ISO 8601).", + "x-example": "2026-04-09T12:00:00.000+00:00" }, "value": { "type": "integer", - "description": "The metric value.", + "description": "Aggregated value for the group.", "x-example": 5000, "format": "int32" }, - "time": { - "type": "string", - "description": "The event timestamp.", - "x-example": "2026-04-09T12:00:00.000+00:00" - }, "path": { "type": "string", - "description": "The API endpoint path.", - "x-example": "\/v1\/storage\/files" + "description": "API endpoint path when broken down by `path`.", + "x-example": "\/v1\/storage\/files", + "nullable": true }, "method": { "type": "string", - "description": "The HTTP method.", - "x-example": "POST" + "description": "HTTP method when broken down by `method`.", + "x-example": "POST", + "nullable": true }, "status": { "type": "string", - "description": "HTTP status code. Stored as string to preserve unset state (empty string = not available).", - "x-example": "201" + "description": "HTTP status code when broken down by `status`.", + "x-example": "201", + "nullable": true }, - "resourceType": { + "service": { "type": "string", - "description": "The resource type.", - "x-example": "bucket" + "description": "API service segment when broken down by `service`.", + "x-example": "storage", + "nullable": true }, - "resourceId": { + "country": { "type": "string", - "description": "The resource ID.", - "x-example": "abc123" + "description": "Country code when broken down by `country`.", + "x-example": "us", + "nullable": true }, - "countryCode": { + "region": { "type": "string", - "description": "Country code in [ISO 3166-1](http:\/\/en.wikipedia.org\/wiki\/ISO_3166-1) two-character format.", - "x-example": "US" + "description": "Appwrite region when broken down by `region`.", + "x-example": "fra", + "nullable": true }, - "userAgent": { + "hostname": { "type": "string", - "description": "The user agent string.", - "x-example": "AppwriteSDK\/1.0" + "description": "Caller origin hostname when broken down by `hostname`.", + "x-example": "app.example.com", + "nullable": true + }, + "osName": { + "type": "string", + "description": "Operating system name when broken down by `osName`.", + "x-example": "iOS", + "nullable": true + }, + "clientType": { + "type": "string", + "description": "Client type when broken down by `clientType`.", + "x-example": "browser", + "nullable": true + }, + "clientName": { + "type": "string", + "description": "Client name when broken down by `clientName`.", + "x-example": "Chrome", + "nullable": true + }, + "deviceName": { + "type": "string", + "description": "Device classification when broken down by `deviceName`.", + "x-example": "smartphone", + "nullable": true + }, + "teamId": { + "type": "string", + "description": "Owning team ID when broken down by `teamId`.", + "x-example": "team_abc", + "nullable": true + }, + "resourceId": { + "type": "string", + "description": "External resource ID when broken down by `resourceId`.", + "x-example": "abc123", + "nullable": true } }, "required": [ - "metric", - "value", "time", - "path", - "method", - "status", - "resourceType", - "resourceId", - "countryCode", - "userAgent" + "value" ], "example": { - "metric": "bandwidth", - "value": 5000, "time": "2026-04-09T12:00:00.000+00:00", + "value": 5000, "path": "\/v1\/storage\/files", "method": "POST", "status": "201", - "resourceType": "bucket", - "resourceId": "abc123", - "countryCode": "US", - "userAgent": "AppwriteSDK\/1.0" + "service": "storage", + "country": "us", + "region": "fra", + "hostname": "app.example.com", + "osName": "iOS", + "clientType": "browser", + "clientName": "Chrome", + "deviceName": "smartphone", + "teamId": "team_abc", + "resourceId": "abc123" } }, - "usageGauge": { - "description": "usageGauge", + "usageEventList": { + "description": "usageEventList", "type": "object", "properties": { "metric": { "type": "string", - "description": "The metric key.", - "x-example": "users" + "description": "Metric key the groups describe.", + "x-example": "executions" }, - "value": { - "type": "integer", - "description": "The current snapshot value.", - "x-example": 1500, - "format": "int32" - }, - "time": { + "interval": { "type": "string", - "description": "The snapshot timestamp.", - "x-example": "2026-04-09T12:00:00.000+00:00" + "description": "Time interval size (1h or 1d).", + "x-example": "1d" }, - "resourceType": { + "groups": { + "type": "array", + "description": "Aggregated groups ordered by time ascending.", + "items": { + "$ref": "#\/components\/schemas\/usageGroup" + }, + "x-example": "" + } + }, + "required": [ + "metric", + "interval", + "groups" + ], + "example": { + "metric": "executions", + "interval": "1d", + "groups": "" + } + }, + "usageGaugeList": { + "description": "usageGaugeList", + "type": "object", + "properties": { + "metric": { "type": "string", - "description": "The resource type.", - "x-example": "dedicatedDatabases" + "description": "Metric key the groups describe.", + "x-example": "files.storage" }, - "resourceId": { + "interval": { "type": "string", - "description": "The resource ID.", - "x-example": "production" + "description": "Time interval size (1h or 1d).", + "x-example": "1d" + }, + "groups": { + "type": "array", + "description": "Aggregated groups ordered by time ascending. Each group carries the latest snapshot in its interval (argMax over time).", + "items": { + "$ref": "#\/components\/schemas\/usageGroup" + }, + "x-example": "" } }, "required": [ "metric", - "value", - "time", - "resourceType", - "resourceId" + "interval", + "groups" ], "example": { - "metric": "users", - "value": 1500, - "time": "2026-04-09T12:00:00.000+00:00", - "resourceType": "dedicatedDatabases", - "resourceId": "production" + "metric": "files.storage", + "interval": "1d", + "groups": "" } }, "app": { @@ -79243,6 +80014,16 @@ "https:\/\/example.com\/callback" ] }, + "postLogoutRedirectUris": { + "type": "array", + "description": "List of authorized post-logout redirect URIs for OpenID Connect RP-Initiated Logout. The logout endpoint only redirects users to URIs in this list after ending their session.", + "items": { + "type": "string" + }, + "x-example": [ + "https:\/\/example.com\/logged-out" + ] + }, "enabled": { "type": "boolean", "description": "Whether the app is enabled or not.", @@ -79294,6 +80075,7 @@ "supportUrl", "dataDeletionUrl", "redirectUris", + "postLogoutRedirectUris", "enabled", "type", "deviceFlow", @@ -79327,6 +80109,9 @@ "redirectUris": [ "https:\/\/example.com\/callback" ], + "postLogoutRedirectUris": [ + "https:\/\/example.com\/logged-out" + ], "enabled": true, "type": "confidential", "deviceFlow": false, @@ -79638,6 +80423,120 @@ "expire": "2020-10-15T06:38:00.000+00:00" } }, + "oauth2DeviceAuthorization": { + "description": "OAuth2 Device Authorization", + "type": "object", + "properties": { + "device_code": { + "type": "string", + "description": "Device verification code used by the client to poll the token endpoint.", + "x-example": "5f3c8d2a1b9e4f7a6c8b2d1e9f4a7b3c5d8e1f2a9b4c7d6e3f5a8b1c4d7e2f9a" + }, + "user_code": { + "type": "string", + "description": "Short code the end user enters on the verification page.", + "x-example": "ABCD-EFGH" + }, + "verification_uri": { + "type": "string", + "description": "URL where the end user enters the user code.", + "x-example": "https:\/\/cloud.appwrite.io\/oauth2\/device" + }, + "verification_uri_complete": { + "type": "string", + "description": "Verification URL with the user code prefilled as a query parameter.", + "x-example": "https:\/\/cloud.appwrite.io\/oauth2\/device?user_code=ABCD-EFGH" + }, + "expires_in": { + "type": "integer", + "description": "Lifetime of the device code and user code in seconds.", + "x-example": 900, + "format": "int32" + }, + "interval": { + "type": "integer", + "description": "Minimum polling interval for the token endpoint in seconds.", + "x-example": 5, + "format": "int32" + } + }, + "required": [ + "device_code", + "user_code", + "verification_uri", + "verification_uri_complete", + "expires_in", + "interval" + ], + "example": { + "device_code": "5f3c8d2a1b9e4f7a6c8b2d1e9f4a7b3c5d8e1f2a9b4c7d6e3f5a8b1c4d7e2f9a", + "user_code": "ABCD-EFGH", + "verification_uri": "https:\/\/cloud.appwrite.io\/oauth2\/device", + "verification_uri_complete": "https:\/\/cloud.appwrite.io\/oauth2\/device?user_code=ABCD-EFGH", + "expires_in": 900, + "interval": 5 + } + }, + "oauth2Token": { + "description": "OAuth2 Token", + "type": "object", + "properties": { + "access_token": { + "type": "string", + "description": "OAuth2 access token.", + "x-example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..." + }, + "token_type": { + "type": "string", + "description": "OAuth2 token type.", + "x-example": "Bearer" + }, + "expires_in": { + "type": "integer", + "description": "Access token lifetime in seconds.", + "x-example": 3600, + "format": "int32" + }, + "refresh_token": { + "type": "string", + "description": "OAuth2 refresh token.", + "x-example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..." + }, + "scope": { + "type": "string", + "description": "Space-separated scopes granted to the access token.", + "x-example": "openid email profile" + }, + "authorization_details": { + "type": "string", + "description": "Granted RFC 9396 authorization details as a JSON string.", + "x-example": "[{\"type\":\"calendar\",\"identifier\":\"primary\",\"actions\":[\"read_events\"]}]", + "nullable": true + }, + "id_token": { + "type": "string", + "description": "OpenID Connect ID token. Returned when the `openid` scope is granted.", + "x-example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...", + "nullable": true + } + }, + "required": [ + "access_token", + "token_type", + "expires_in", + "refresh_token", + "scope" + ], + "example": { + "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...", + "token_type": "Bearer", + "expires_in": 3600, + "refresh_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...", + "scope": "openid email profile", + "authorization_details": "[{\"type\":\"calendar\",\"identifier\":\"primary\",\"actions\":[\"read_events\"]}]", + "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..." + } + }, "activityEventList": { "description": "Activity event list", "type": "object", @@ -79750,62 +80649,6 @@ "restorations": "" } }, - "usageEventList": { - "description": "Usage events list", - "type": "object", - "properties": { - "total": { - "type": "integer", - "description": "Total number of events that matched your query.", - "x-example": 5, - "format": "int32" - }, - "events": { - "type": "array", - "description": "List of events.", - "items": { - "$ref": "#\/components\/schemas\/usageEvent" - }, - "x-example": "" - } - }, - "required": [ - "total", - "events" - ], - "example": { - "total": 5, - "events": "" - } - }, - "usageGaugeList": { - "description": "Usage gauges list", - "type": "object", - "properties": { - "total": { - "type": "integer", - "description": "Total number of gauges that matched your query.", - "x-example": 5, - "format": "int32" - }, - "gauges": { - "type": "array", - "description": "List of gauges.", - "items": { - "$ref": "#\/components\/schemas\/usageGauge" - }, - "x-example": "" - } - }, - "required": [ - "total", - "gauges" - ], - "example": { - "total": 5, - "gauges": "" - } - }, "appsList": { "description": "Apps list", "type": "object", @@ -79938,20 +80781,29 @@ "ImpersonateUserId": { "type": "apiKey", "name": "X-Appwrite-Impersonate-User-Id", - "description": "Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data.", - "in": "header" + "description": "Impersonate a user by ID", + "in": "header", + "x-appwrite": { + "optional": true + } }, "ImpersonateUserEmail": { "type": "apiKey", "name": "X-Appwrite-Impersonate-User-Email", - "description": "Impersonate a user by email on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data.", - "in": "header" + "description": "Impersonate a user by email", + "in": "header", + "x-appwrite": { + "optional": true + } }, "ImpersonateUserPhone": { "type": "apiKey", "name": "X-Appwrite-Impersonate-User-Phone", - "description": "Impersonate a user by phone on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data.", - "in": "header" + "description": "Impersonate a user by phone", + "in": "header", + "x-appwrite": { + "optional": true + } } } },